@arcgis/core 4.34.2 → 4.34.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{7010d1eb303a13c72f81.js → 999da9a02ecdf6129c69.js} +1 -1
- package/assets/esri/core/workers/chunks/e7689eb3c45be276acfb.js +1 -0
- package/interfaces.d.ts +12 -12
- package/kernel.js +1 -1
- package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
- package/package.json +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
- package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/2d/layers/features/sources/strategies/AFeatureLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/ALoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/Overrides.js +1 -1
- package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
- package/widgets/FeatureTable/support/templateUtils.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/assets/esri/core/workers/chunks/4a38b1402cd48ced5d0f.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7421],{563:(e,t,r)=>{r.d(t,{QueueProcessor:()=>l});var s=r(97768),i=r(74887),n=r(9775),o=r(32587),a=r(96211),u=r(44794);class h{constructor(e,t){this.item=e,this.controller=t,this.promise=null}}class l{constructor(e){this._schedule=null,this._deferreds=new o.A,this._controllers=new o.A,this._processingItems=new o.A,this._pausedSignal=(0,u.v)(!1),this.concurrency=1,e.concurrency&&(this.concurrency=e.concurrency),this._queue=new n.A(e.peeker),this.process=e.process}destroy(){this.clear(),this._schedule=(0,s.xt)(this._schedule)}get updating(){return this.running}get length(){return this._processingItems.size+this._queue.length}get running(){return!this._pausedSignal.value&&this._queue.length>0&&this._processingItems.size<this.concurrency}abort(e){const t=this._controllers.get(e);t&&t.abort()}clear(){this._queue.clear();const e=[];this._controllers.forEach(t=>e.push(t)),this._controllers.clear(),e.forEach(e=>e.abort()),this._processingItems.clear(),this._cancelNext()}forEach(e){this._deferreds.forEach((t,r)=>e(r))}get(e){const t=this._deferreds.get(e);return t?t.promise:void 0}isOngoing(e){return this._processingItems.has(e)}has(e){return this._deferreds.has(e)}pause(){this._pausedSignal.value||(this._pausedSignal.value=!0,this._cancelNext())}push(e,t){const r=this.get(e);if(r)return r;const s=new AbortController;let n=null;t&&(n=(0,i.u7)(t,()=>s.abort()));const o=()=>{a.remove(),null!=n&&n.remove(),this._removeItem(e),this._queue.remove(e),this._scheduleNext()},a=(0,i.NY)(s.signal,()=>{const t=this._processingItems.get(e);t&&t.controller.abort(),o(),u.reject((0,i.NK)())}),u=(0,i.Tw)();return this._deferreds.set(e,u),this._controllers.set(e,s),u.promise.then(o,o),this._queue.push(e),this._scheduleNext(),u.promise}last(){return this._queue.last()}lastPromise(){const e=this.last();return e?this.get(e):null}peek(){return this._queue.peek()}popLast(){const e=this._queue.popLast();return e&&(this._deferreds.get(e)?.reject((0,i.NK)()),this._removeItem(e)),e}reset(){const e=Array.from(this._processingItems.values());this._processingItems.clear();for(const t of e)this._queue.push(t.item),t.controller.abort();this._scheduleNext()}resume(){this._pausedSignal.value&&(this._pausedSignal.value=!1,this._scheduleNext())}takeAll(){const e=[];for(;this._queue.length;)e.push(this._queue.pop());return this.clear(),e}_removeItem(e){this._deferreds.delete(e),this._controllers.delete(e),this._processingItems.delete(e)}_scheduleNext(){this._pausedSignal.value||this._schedule||(this._schedule=(0,a._)(()=>{this._schedule=null,this._next()}))}_next(){for(;this._queue.length>0&&this._processingItems.size<this.concurrency;)this._process(this._queue.pop())}_cancelNext(){this._schedule&&(this._schedule.remove(),this._schedule=null)}_processResult(e,t){this._canProcessFulfillment(e)&&(this._scheduleNext(),this._deferreds.get(e.item).resolve(t))}_processError(e,t){this._canProcessFulfillment(e)&&(this._scheduleNext(),this._deferreds.get(e.item).reject(t))}_canProcessFulfillment(e){return!!this._deferreds.get(e.item)&&this._processingItems.get(e.item)===e}_process(e){if(null==e)return;let t;const r=new AbortController,s=new h(e,r);this._processingItems.set(e,s);try{t=this.process(e,r.signal)}catch(e){this._processError(s,e)}(0,i.$X)(t)?(s.promise=t,t.then(e=>this._processResult(s,e),e=>this._processError(s,e))):this._processResult(s,t)}}},2272:(e,t,r)=>{r.d(t,{Dl:()=>h,gf:()=>d,jV:()=>u,lF:()=>l});var s=r(92602),i=r(70333),n=r(4718),o=r(84952),a=r(926);function u(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function h(e){return"string"==typeof e?(0,o.An)(e):(0,n.o8)(e)}function l(e,t,r){const s={};for(const i in e){if("declaredClass"===i)continue;const n=e[i];if(null!=n&&"function"!=typeof n)if(Array.isArray(n))s[i]=n.map(e=>l(e));else if("object"==typeof n)if(n.toJSON){const e=n.toJSON(r?.[i]);s[i]=t?e:JSON.stringify(e)}else s[i]=t?n:JSON.stringify(n);else s[i]=n}return s}async function d(e,t,n){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.CG)(e)??i.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!i.id&&s.A.request.useIdentity&&await Promise.all([r.e(7330),r.e(168),r.e(3747)]).then(r.bind(r,73747));const u=await i.id.getCredential(e,n);return u?.token}},5162:(e,t,r)=>{r.d(t,{HJ:()=>o,Im:()=>l,KN:()=>u});var s=r(39516),i=r(70300),n=r(8446);class o{static async create(e){const{metadata:t,definitionExpression:r}=e,i=r?await(0,s.GP)(r,t.fieldsIndex):null;return new o(t,i,r)}constructor(e,t,r){this.metadata=e,this._clause=t,this._definitionExpression=r}get hash(){return this._definitionExpression}testFeature(e){return null==this._clause||this._clause.testFeature(e)}}class a{constructor(){this.modified=new Map,this.removed=new Set}modify(e){this.modified.set(e.objectId,e),this.removed.has(e.objectId)&&this.removed.delete(e.objectId)}remove(e){this.modified.delete(e),this.removed.add(e)}get isEmpty(){return 0===this.modified.size&&0===this.removed.size}applyWhereClause(e){const t=new a;for(const[r,s]of this.modified)e.testFeature(s)?t.modified.set(r,s):t.removed.add(s.objectId);for(const e of this.removed)t.removed.add(e);return t}}class u extends i.K{constructor(e){super(),this._reader=e,this.chunkId="override",this.normalizedChunkId="override"}static fromFeatures(e,t){const r=n.K.fromOptimizedFeatures(e,t);return new u(r)}get reader(){return this._reader}get queryInfo(){return{}}get first(){return!1}get end(){return!1}get isTiled(){return!1}getTileReader(e){if(!this._reader.getSize())return null;const t=this.queryFeaturesInBounds(e.bounds);return t.setTransformForDisplay(e.transform),t}}class h{constructor(e,t){this.inner=e,this.isWeak=t,this.lastWeak=null}get isStrong(){return!this.isWeak}}class l{constructor(e){this._parameters=e,this._overrides=new Map,this._update=new a,this._lastCleanup=0}update(e){this._parameters=e}hasOverride(e){return this._overrides.has(e)}onChunkInsert(e){if(this._overrides.size){const t=e.reader.getCursor();for(;t.next();){const e=t.getObjectId(),r=this._overrides.get(e);if(r?.lastWeak&&(r.lastWeak=null),r?.isWeak){const e=t.readOptimizedFeatureWorldSpace(),s=r.inner?.attributes??{};e.attributes={...s,...e.attributes},r.inner=e,this._update.modify(e),this.invalidate()}}}e.registerOverrides(this)}apply(e,t){const{updateWeak:r,removeWeak:s,update:i,remove:n,release:o}=e.commands;this.invalidate();for(const e of r){const t=new h(e,!0),r=this._overrides.get(e.objectId);r?.isStrong?r.lastWeak=t:(this._overrides.set(e.objectId,t),this._update.modify(e))}for(const e of i){const t=new h(e,!1),r=this._overrides.get(e.objectId);t.lastWeak=r?.isWeak?r:r?.lastWeak??null,this._overrides.set(e.objectId,t),this._update.modify(e)}for(const e of s){const t=new h(null,!0),r=this._overrides.get(e);r?.isStrong?r.lastWeak=t:(this._overrides.set(e,t),this._update.remove(e))}for(const e of n){const t=new h(null,!1),r=this._overrides.get(e);t.lastWeak=r?.isWeak?r:r?.lastWeak??null,this._overrides.set(e,t),this._update.remove(e)}if(o.length){const e=new Set;for(const t of o){const r=this._overrides.get(t);r?.lastWeak?(this._overrides.set(t,r.lastWeak),null==r.lastWeak.inner?this._update.remove(t):this._update.modify(r.lastWeak.inner)):r&&!r.isWeak&&(this._overrides.delete(t),e.add(t))}t.forEachUnsafe(t=>{const r=t.getObjectId();e.has(r)&&(this._update.modify(t.readOptimizedFeatureWorldSpace()),e.delete(r))});for(const t of e.values())this._update.remove(t)}}clearWeakOverrides(){for(const[e,t]of this._overrides.entries())t.isWeak&&this._overrides.delete(e);this.invalidate()}cleanup(e){if(this._overrides.size<1e4)return;const t=performance.now();if(t-this._lastCleanup<1e3)return;this._lastCleanup=t;const r=this._getWeakDeletions();if(!(r.size<1e4)){for(const t of e){const e=t.reader.withoutOverrides().getCursor();for(;e.next();){const t=e.getObjectId();r.delete(t)}}for(const e of r)this._overrides.delete(e);r.size&&this.invalidate()}}takeOverrideUpdate(){const e=this._update;return e.isEmpty?null:(this._update=new a,e.applyWhereClause(this._parameters))}asChunk(){const e=this._parameters;if(this._lastOverrideParametersHash!==e.hash&&(this._lastOverrideParametersHash=e.hash,this._chunk=null),!this._chunk){const t=[];for(const r of this._overrides.values())null!=r.inner&&e.testFeature(r.inner)&&t.push(r.inner);this._chunk=u.fromFeatures(t,e.metadata)}return this._chunk}invalidate(){this._chunk=null}putWeakObjectIdsFromGlobalIds(e,t,r){for(const[s,i]of this._overrides.entries()){if(i.isWeak&&null!=i.inner){const n=i.inner.attributes[r];n&&t.has(n)&&!e.has(n)&&e.set(n,s);continue}if(null!=i.lastWeak&&null!=i.lastWeak.inner){const n=i.lastWeak.inner.attributes[r];n&&t.has(n)&&!e.has(n)&&e.set(n,s)}}}_getWeakDeletions(){const e=new Set;for(const[t,r]of this._overrides.entries())r.isWeak&&null==r.inner&&e.add(t);return e}}},8446:(e,t,r)=>{r.d(t,{K:()=>a});var s=r(90708),i=r(43334),n=r(95466),o=r(99996);class a extends o.Y{static fromFeatures(e,t){const{geometryType:r}=t,i=(0,s.Di)([],e,r,!1,!1,t.featureIdInfo);for(let t=0;t<i.length;t++)i[t].displayId=e[t].displayId;return a.fromOptimizedFeatures(i,t)}static fromFeatureSet(e,t){const r=(0,s.q3)(e,t.featureIdInfo);return a.fromOptimizedFeatureSet(r,t)}static fromOptimizedFeatureSet(e,t){const r=a.fromOptimizedFeatures(e.features,t);return r._exceededTransferLimit=e.exceededTransferLimit,r._transform=e.transform,r._fieldsIndex=new n.A(e.fields),r}static fromOptimizedFeatures(e,t,r){const s=new a(e,t);return s._fieldsIndex=t.fieldsIndex,s._transform=r,s}static empty(e){return new a([],e)}constructor(e,t){super(t),this._exceededTransferLimit=!1,this._featureIndex=-1,this._fieldsIndex=null,this._geometryType=t.geometryType,this._features=e}get fields(){return this._fieldsIndex}get geometryType(){return this._geometryType}get hasFeatures(){return!!this._features.length}get hasNext(){return this._featureIndex+1<this._features.length}get exceededTransferLimit(){return this._exceededTransferLimit}get hasZ(){return!1}get hasM(){return!1}get _current(){return this._features[this._featureIndex]}get usedMemory(){return this._current.usedMemory}getSize(){return this._features.length}getCursor(){return this.copy()}getInTransform(){return this._transform}getAttributeHash(){let e="";for(const t in this._current.attributes)e+=this._current.attributes[t];return e}getIndex(){return this._featureIndex}setIndex(e){this._featureIndex=e}getObjectId(){return this._current?.objectId}getDisplayId(){return this._current.displayId}setDisplayId(e){this._current.displayId=e}copy(){const e=new a(this._features,this.metadata);return this.copyInto(e),e}next(){for(;++this._featureIndex<this._features.length&&!this._getExists(););return this._featureIndex<this._features.length}readGeometryArea(){return(0,i.N3)(this._current)?(0,s.Rk)(this._current.geometry,2):0}_readX(){return(0,i.N3)(this._current)?this._current.geometry.coords[0]:0}_readY(){return(0,i.N3)(this._current)?this._current.geometry.coords[1]:0}_readGeometry(){return(0,i.N3)(this._current)?this._current.geometry??null:null}_readServerCentroid(){return this._current.centroid}_readAttribute(e,t){if(!this._fieldsIndex){const t=this._current.attributes[e];if(void 0!==t)return t;const r=e.toLowerCase();for(const e in this._current.attributes)if(e.toLowerCase()===r)return this._current.attributes[e];return}const r=this._fieldsIndex.get(e);if(!r)return;const s=this._current.attributes[r.name];return null==s?s:t&&this.fields.isDateField(e)?new Date(s):s}_readAttributes(){return this._current.attributes}copyInto(e){super.copyInto(e),e._featureIndex=this._featureIndex,e._transform=this._transform,e._fieldsIndex=this._fieldsIndex}}},9012:(e,t,r)=>{function s(e,{timeZone:t,timeExtent:r}){return{$view:{scale:e,timeZone:t,timeProperties:{currentStart:r?.start,currentEnd:r?.end}}}}r.d(t,{N:()=>s})},9775:(e,t,r)=>{r.d(t,{A:()=>n});var s=r(62788),i=r(95488);class n{constructor(e=e=>e.values().next().value){this._peeker=e,this._observable=new i.I,this._items=new Set}get length(){return(0,s.gc)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let e;for(e of this._items);return e}peek(){if(0!==this.length)return this._peeker(this._items)}push(e){this.contains(e)||(this._items.add(e),this._observable.notify())}contains(e){return(0,s.gc)(this._observable),this._items.has(e)}pop(){if(0===this.length)return;const e=this.peek();return this._items.delete(e),this._observable.notify(),e}popLast(){if(0===this.length)return;const e=this.last();return this._items.delete(e),this._observable.notify(),e}remove(e){this.contains(e)&&(this._items.delete(e),this._observable.notify())}filter(e){const t=this.length;return this._items.forEach(t=>{e(t)||this._items.delete(t)}),t!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,s.gc)(this._observable),yield*this._items}}},16630:(e,t,r)=>{r.d(t,{s:()=>u}),r(44208);var s=r(69397),i=r(92722),n=r(57733),o=r(99996);let a;class u extends o.Y{constructor(e,t,r,i,n,o=new Uint32Array(r.size())){super(e),this._fields=t,this._inner=r,this._chunkId=i,this._fileIndex=n,this._displayIds=o,this._index=-1,this.usedMemory=s.qK,this._size=this._inner.size(),e.featureIdInfo.type,this._chunkId>65535&&console.error("Exceeded max allowed parquet reader size")}destroy(){super.destroy(),this._inner.free()}get fields(){return this._fields}get geometryType(){return this.metadata.geometryType}get hasFeatures(){return!0}get hasNext(){throw new Error("Method not implemented.")}get exceededTransferLimit(){return!1}get hasZ(){return!1}get hasM(){return!1}getInTransform(){return null}getSize(){return this._size}getCursor(){return this.copy()}getAttributeHash(){let e="";for(const t of this.fields.fields)e+=this._readAttribute(t.name,!1)+".";return e}getObjectId(){return this._fileIndex<<24|this._inner.rowId(this._index)}getDisplayId(){return this._displayIds[this._index]}setDisplayId(e){this._displayIds[this._index]=e}setIndex(e){this._index=e}getBoundsXMin(){return this._inner.boundsXMin(this._index)}getBoundsYMin(){return this._inner.boundsYMin(this._index)}getBoundsXMax(){return this._inner.boundsXMax(this._index)}getBoundsYMax(){return this._inner.boundsYMax(this._index)}setBoundsXMin(e){throw new Error("InternalError: Setting bounds is unsupported")}setBoundsYMin(e){throw new Error("InternalError: Setting bounds is unsupported")}setBoundsXMax(e){throw new Error("InternalError: Setting bounds is unsupported")}setBoundsYMax(e){throw new Error("InternalError: Setting bounds is unsupported")}getIndex(){return this._index}next(){for(;++this._index<this._size&&!this._getExists(););return this._index<this._size}readGeometryArea(){return this.readGeometryForDisplay()?.area()??0}copy(){const e=new u(this.metadata,this._fields,this._inner,this._chunkId,this._fileIndex,this._displayIds);return this.copyInto(e),e}copyInto(e){super.copyInto(e),e._index=this._index}readGeometryForDisplayTransformed(e){const[t,r]=e.translate,[s,o]=e.scale;return a||(a=n.QuantizedGeometryBuffer.new()),this._inner.transformGeometry(a,t,r,s,o,this._index)?new i.A(a.readLengthsUnsafe(),a.readCoordsUnsafe()):null}_readGeometry(e){const t=this._inner.readCoords(this._index),r=this._inner.readLengths(this._index);return t&&r?new i.A(r,t):null}_readX(){return this._inner.readX(this._index)}_readY(){return this._inner.readY(this._index)}_readServerCentroid(){return null}_readAttribute(e,t){const r=this.fields.get(e);if(!r)return;if(null==r.column)return this.getObjectId();const s=this._inner.readAttribute(this._index,r.column);if(null==s)return s;const i=this.fields.isDateField(r.name);return t?null==s?s:i?new Date(s):s:s}_readAttributes(){const e={};for(const t of this._fields.fields)null!=t.column&&(this._inner.isEmpty(t.column)||(e[t.name]=this._readAttribute(t.name,!1)));return e.__OBJECTID=this.getObjectId(),e}}},20437:(e,t,r)=>{r.d(t,{A:()=>f});var s,i=r(31635),n=r(66552),o=r(25482),a=r(10107),u=r(56507),h=(r(44208),r(87811),r(93223)),l=r(36005),d=r(64108),c=r(80451),_=r(98453);const p=new n.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",currency:"currency",dateAndTime:"date-and-time",description:"description",emailAddress:"email-address",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",phoneNumber:"phone-number",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let f=class extends o.o{static{s=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?.value??null}readValueType(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?p.fromJSON(r.fieldValueType):null}clone(){return new s({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,i.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],f.prototype,"alias",void 0),(0,i.Cg)([(0,a.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],f.prototype,"defaultValue",void 0),(0,i.Cg)([(0,a.MZ)()],f.prototype,"description",void 0),(0,i.Cg)([(0,l.w)("description")],f.prototype,"readDescription",null),(0,i.Cg)([(0,a.MZ)({types:c.gK,json:{read:{reader:c.rS},write:!0}})],f.prototype,"domain",void 0),(0,i.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"editable",void 0),(0,i.Cg)([(0,a.MZ)({type:u.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],f.prototype,"length",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],f.prototype,"name",void 0),(0,i.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"nullable",void 0),(0,i.Cg)([(0,h.e)(_.m)],f.prototype,"type",void 0),(0,i.Cg)([(0,a.MZ)()],f.prototype,"valueType",void 0),(0,i.Cg)([(0,l.w)("valueType",["description"])],f.prototype,"readValueType",null),(0,i.Cg)([(0,a.MZ)({type:Boolean,json:{read:!1}})],f.prototype,"visible",void 0),f=s=(0,i.Cg)([(0,d.$)("esri.layers.support.Field")],f)},28923:(e,t,r)=>{r.d(t,{j:()=>i});var s=r(70300);class i extends s.K{constructor(e,t,r,s,i=0){super(),this._reader=e,this._queryJSON=t,this._page=r,this._end=s,this._fileIndex=i,this.chunkId=`${this._fileIndex}.${this._page}${this.end?"e":""}`,this.normalizedChunkId=this.chunkId}get reader(){return this._reader}get first(){return 0===this._page}get end(){return this._end}get queryInfo(){return{type:"snapshot",chunkId:this.chunkId,queryJSON:this._queryJSON,page:this._page,size:this.size(),end:this.end}}get isTiled(){return!1}getTileReader(e){const t=this.queryFeaturesInBounds(e.bounds);return t.setTransformForDisplay(e.transform),t}}},30661:(e,t,r)=>{r.d(t,{Z:()=>n});var s=r(43334),i=r(8446);class n{static{this.Shared=new n}getObjectId(e){return e.getObjectId()}getAttributes(e){return e.readAttributes()}getAttribute(e,t){return e.readAttribute(t)}getAttributeAsTimestamp(e,t){return e.readAttributeAsTimestamp(t)}cloneWithGeometry(e,t){const r=e.readAttributes(),n=new s.Om(t,r,null,e.getObjectId(),e.getDisplayId()),o=i.K.fromOptimizedFeatures([n],e.metadata);return o.setIndex(0),o}getGeometry(e){return e.readGeometryWorldSpace()}getCentroid(e,t){return e.readCentroidForDisplay()}}},32011:(e,t,r)=>{r.d(t,{d:()=>h});var s=r(19419),i=r(6606),n=r(12359),o=r(95108),a=r(12176);const u=222045e-19;function h(e){if(0===e.totalSize)return null;const t=(0,i.z8)(e);if(!t)return null;const r=4*(Math.abs(t[0])+Math.abs(t[2])+Math.abs(t[1])+Math.abs(t[3])+1)*u;let o=0,a=0;e.reset();for(let t=0;e.nextPath();t++){const r=e.getCurrentRingArea();r>a&&(a=r,o=t)}if(e.seekPath(o),0===e.pathSize)return null;e.seekPathStart();const h=(0,i.B$)(e);if(Math.abs(a)<=2*r*r)return[(h[0]+h[2])/2,(h[1]+h[3])/2];e.seekPathStart();const _=(0,n.w2)(e,(0,s.vt)());if(null===_)return null;if(e.totalPoints<4)return _;const p=[[NaN,NaN],[NaN,NaN],[NaN,NaN],[NaN,NaN]],f=[NaN,NaN,NaN,NaN],g=[NaN,NaN,NaN,NaN];let m=!1,y=d(_,e,!0);0===y.distance&&(m=!0,p[0][0]=_[0],p[0][1]=_[1],y=d(_,e,!1)),f[0]=y.distance,g[0]=0;const b=[NaN,NaN];let I=!1,T=.25,F=-1,S=NaN;do{if(S=NaN,p[1]=c(e,w(h[0],h[2],T),0,t),isNaN(p[1][0])||isNaN(p[1][1])||(y=d(p[1],e,!1),S=y.distance),!isNaN(S)&&S>r&&l(p[1],e))I=!0,f[1]=S,g[1]=x(p[1],_);else if(!isNaN(S)&&S>F&&(F=S,b[0]=p[1][0],b[1]=p[1][1]),T-=.01,T<.1){if(!(F>=0))break;I=!0,f[1]=F,p[1][0]=b[0],p[1][1]=b[1],g[1]=x(p[1],_)}}while(!I);I=!1,T=.5,F=-1;let M=.01,A=1;do{if(S=NaN,p[2]=c(e,w(h[0],h[2],T),0,t),isNaN(p[2][0])||isNaN(p[2][1])||(y=d(p[2],e,!1),S=y.distance),!isNaN(S)&&S>r&&l(p[2],e))I=!0,f[2]=S,g[2]=x(p[2],_);else if(!isNaN(S)&&S>F)F=S,b[0]=p[2][0],b[1]=p[2][1];else if(S>F&&(F=S,b[0]=p[2][0],b[1]=p[2][1]),T=.5+M*A,M+=.01,A*=-1,T<.3||T>.7){if(!(F>=0))break;I=!0,f[2]=F,p[2][0]=b[0],p[2][1]=b[1],g[2]=x(p[2],_)}}while(!I);I=!1,T=.75,F=-1;do{if(S=NaN,p[3]=c(e,w(h[0],h[2],T),0,t),isNaN(p[3][0])||isNaN(p[3][1])||(y=d(p[3],e,!1),S=y.distance),!isNaN(S)&&S>r&&l(p[3],e))I=!0,f[3]=S,g[3]=x(p[3],_);else if(S>F&&(F=S,b[0]=p[3][0],b[1]=p[3][1]),T+=.01,T>.9){if(!(F>=0))break;I=!0,f[3]=F,p[3][0]=b[0],p[3][1]=b[1],g[3]=x(p[3],_)}}while(!I);const C=[0,1,2,3],k=m?0:1;let P;for(let e=k;e<4;e++)for(let e=k;e<3;e++){const t=g[e],r=g[e+1];v(t,r)>0&&(P=C[e],C[e]=C[e+1],C[e+1]=P,g[e]=r,g[e+1]=t)}let O=k,z=0,N=0;for(let e=k;e<4;e++){switch(e){case 0:N=2*f[C[e]];break;case 1:N=1.66666666*f[C[e]];break;case 2:N=1.33333333*f[C[e]];break;case 3:N=f[C[e]]}N>z&&(z=N,O=C[e])}return p[O]}function l(e,t){let r,s,i,n,o=0;for(t.reset();t.nextPath()&&t.nextPoint();)for(r=t.x,s=t.y;t.nextPoint();r=i,s=n)i=t.x,n=t.y,s>e[1]!=n>e[1]&&((i-r)*(e[1]-s)-(n-s)*(e[0]-r)>0?o++:o--);return 0!==o}function d(e,t,r){if(r&&l(e,t))return{coord:e,distance:0};let s=1/0,i=0,n=0,a=[0,0],u=[0,0];const h=[0,0];for(t.reset();t.nextPath()&&t.nextPoint();)if(!(t.pathSize<2))for(a[0]=t.x,a[1]=t.y;t.nextPoint();a=u){u=[t.x,t.y],(0,o.gR)(h,e,a,u);const r=x(e,h);r<s&&(s=r,i=h[0],n=h[1])}return{coord:[i,n],distance:Math.sqrt(s)}}function c(e,t,r,i){const n=[t,0];let o=1/0,u=1/0,h=!1,l=!1;const d=[[t,i[1]-1],[t,i[3]+1]],c=[0,0],p=[0,0],f=[0,0],g=[[0,0],[0,0]],m=(0,s.vt)();for(e.reset();e.nextPath()&&e.nextPoint();)if(!(e.pathSize<2))for(g[0][0]=e.x,g[0][1]=e.y;e.nextPoint();g[0][0]=g[1][0],g[0][1]=g[1][1]){if(g[1][0]=e.x,g[1][1]=e.y,null===_(m,g))continue;if(p[0]=d[0][0],p[1]=d[0][1],f[0]=d[1][0],f[1]=d[1][1],0===y(m,p,f))continue;if(!(0,a.Ql)(d[0],d[1],g[0],g[1],c))continue;const t=c[1];o>u?t<o&&(o=t,h=!0):t<u&&(u=t,l=!0)}return h&&l?n[1]=(o+u)/2:n[0]=n[1]=NaN,n}function _(e,t){if(t.length<2)return null;e||(e=(0,s.vt)());const[r,i]=t[0],[n,o]=t[1];return e[0]=Math.min(r,n),e[1]=Math.min(i,o),e[2]=Math.max(r,n),e[3]=Math.max(i,o),e}const p=1,f=4,g=3,m=12;function y(e,t,r){let s=b(t,e),i=b(r,e);const n=e[0],o=e[1],a=e[2],u=e[3];if(s&i)return 0;if(!(s|i))return 4;const h=(s?1:0)|(i?2:0);do{const h=r[0]-t[0],l=r[1]-t[1];if(h>l)s&g?(s&p?(t[1]+=l*(n-t[0])/h,t[0]=n):(t[1]+=l*(a-t[0])/h,t[0]=a),s=b(t,e)):i&g?(i&p?(r[1]+=l*(n-r[0])/h,r[0]=n):(r[1]+=l*(a-r[0])/h,r[0]=a),i=b(r,e)):s?(s&f?(t[0]+=h*(o-t[1])/l,t[1]=o):(t[0]+=h*(u-t[1])/l,t[1]=u),s=b(t,e)):(i&f?(r[0]+=h*(o-r[1])/l,r[1]=o):(r[0]+=h*(u-r[1])/l,r[1]=u),i=b(r,e));else if(s&m?(s&f?(t[0]+=h*(o-t[1])/l,t[1]=o):(t[0]+=h*(u-t[1])/l,t[1]=u),s=b(t,e)):i&m?(i&f?(r[0]+=h*(o-r[1])/l,r[1]=o):(r[0]+=h*(u-r[1])/l,r[1]=u),i=b(r,e)):s?(s&p?(t[1]+=l*(n-t[0])/h,t[0]=n):(t[1]+=l*(a-t[0])/h,t[0]=a),s=b(t,e)):(i&p?(r[1]+=l*(n-r[0])/h,r[0]=n):(r[1]+=l*(a-r[0])/h,r[0]=a),i=b(r,e)),s&i)return 0}while(s|i);return h}function b(e,t){return(e[0]<t[0]?1:0)|(e[0]>t[2]?1:0)<<1|(e[1]<t[1]?1:0)<<2|(e[1]>t[3]?1:0)<<3}function w(e,t,r){return e+(t-e)*r}function x(e,t){return(e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])}function v(e,t){if(e<t)return-1;if(e>t)return 1;if(e===t)return 0;const r=isNaN(e),s=isNaN(t);return r<s?-1:r>s?1:0}},32587:(e,t,r)=>{r.d(t,{A:()=>n});var s=r(62788),i=r(95488);class n{constructor(e){this._observable=new i.I,this._map=new Map(e)}get size(){return(0,s.gc)(this._observable),this._map.size}clear(){this._map.size>0&&(this._map.clear(),this._observable.notify())}delete(e){const t=this._map.delete(e);return t&&this._observable.notify(),t}entries(){return(0,s.gc)(this._observable),this._map.entries()}forEach(e,t){(0,s.gc)(this._observable),this._map.forEach((r,s)=>e.call(t,r,s,this),t)}get(e){return(0,s.gc)(this._observable),this._map.get(e)}has(e){return(0,s.gc)(this._observable),this._map.has(e)}keys(){return(0,s.gc)(this._observable),this._map.keys()}set(e,t){return this._map.set(e,t),this._observable.notify(),this}values(){return(0,s.gc)(this._observable),this._map.values()}[Symbol.iterator](){return(0,s.gc)(this._observable),this._map[Symbol.iterator]()}[Symbol.dispose](){this._observable.destroy()}get[Symbol.toStringTag](){return this._map[Symbol.toStringTag]}}},35258:(e,t,r)=>{r.d(t,{i:()=>n});var s=r(16930),i=r(95466);class n{static minimal(e,t,r=[]){return new n({geometryType:e,fieldsIndex:new i.A(r).toJSON(),featureIdInfo:{type:"object-id",fieldName:t},subtypes:null,subtypeField:null,types:null,globalIdField:null,spatialReference:null,outSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null})}static createFeature(e){return new n(e)}constructor(e){let t;this._options=e,this._fieldsIndex=i.A.fromJSON(e.fieldsIndex),e.spatialReference&&(e.spatialReference instanceof s.A?this._spatialReference=e.spatialReference:this._spatialReference=s.A.fromJSON(e.spatialReference)),e.outSpatialReference&&(e.outSpatialReference instanceof s.A?this._outSpatialReference=e.outSpatialReference:this._outSpatialReference=s.A.fromJSON(e.outSpatialReference)),"object-id"===e.featureIdInfo.type&&(t=e.featureIdInfo.fieldName),this._arcadeSchema={fields:this.fieldsIndex.fields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,objectIdField:t,globalIdField:this._options.globalIdField,spatialReference:this._spatialReference,timeInfo:this._options.timeInfo,typeIdField:this._options.typeIdField??void 0,types:this._options.types??void 0,subtypeField:this._options.subtypeField,subtypes:this._options.subtypes??void 0,datesInUnknownTimezone:this._options.timeReferenceUnknownClient??void 0,dateFieldsTimeZone:this._options.dateFieldsTimeZone??void 0}}get fieldsIndex(){return this._fieldsIndex}get geometryType(){return"esriGeometryMultiPatch"===this._options.geometryType?"esriGeometryPolygon":this._options.geometryType}get serviceGeometryType(){return this._options.geometryType}get subtypeField(){return this._options.subtypeField}get timeInfo(){return this._options.timeInfo}get featureIdInfo(){return this._options.featureIdInfo}get globalIdField(){return this._options.globalIdField}get arcadeSchema(){return this._arcadeSchema}get spatialReference(){return this._spatialReference}get outSpatialReference(){return this._outSpatialReference}get timeReferenceUnknownClient(){return this._options.timeReferenceUnknownClient}weakCloneWithAdditionalFields(e){return new n({fieldsIndex:{fields:[...this._fieldsIndex.fields,...e],timeZoneByFieldName:null},geometryType:this.geometryType,globalIdField:this.globalIdField,featureIdInfo:this.featureIdInfo,spatialReference:this.spatialReference,outSpatialReference:this.outSpatialReference,subtypeField:this.subtypeField,subtypes:this._options.subtypes,timeInfo:this.timeInfo,timeReferenceUnknownClient:this.timeReferenceUnknownClient,dateFieldsTimeZone:this._options.dateFieldsTimeZone,typeIdField:this._options.typeIdField,types:this._options.types})}}},36708:(e,t,r)=>{r.d(t,{C_:()=>c,OH:()=>f,Vh:()=>g,on:()=>d,pc:()=>m,wB:()=>u,z7:()=>h});var s=r(37955),i=r(36563),n=r(97768),o=r(74887),a=r(14012);function u(e,t,r={}){return l(e,t,r,_)}function h(e,t,r={}){return l(e,t,r,p)}function l(e,t,r={},s){let i=null;const o=r.once?(e,r)=>{s(e)&&((0,n.xt)(i),t(e,r))}:(e,r)=>{s(e)&&t(e,r)};if(i=(0,a.Cn)(e,o,r.sync,r.equals),r.initial){const t=e();o(t,t)}return i}function d(e,t,r,o={}){let a=null,h=null,l=null;function d(){a&&h&&(h.remove(),o.onListenerRemove?.(a),a=null,h=null)}function c(e){o.once&&o.once&&(0,n.xt)(l),r(e)}const _=u(e,(e,r)=>{d(),(0,s.wb)(e)&&(a=e,h=(0,s.on)(e,t,c),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return l=(0,i.hA)(()=>{_.remove(),d()}),l}function c(e,t){return function(e,t,r){if((0,o.G4)(r))return Promise.reject((0,o.NK)());const s=e();if(t?.(s))return Promise.resolve(s);let a=null;function u(){a=(0,n.xt)(a)}return new Promise((s,n)=>{a=(0,i.vE)([(0,o.u7)(r,()=>{u(),n((0,o.NK)())}),l(e,e=>{u(),s(e)},{sync:!1,once:!0},t??_)])})}(e,p,t)}function _(e){return!0}function p(e){return!!e}r(80559);const f={sync:!0},g={initial:!0},m={sync:!0,initial:!0}},36745:(e,t,r)=>{r.d(t,{z:()=>a});var s=r(4718),i=r(51118),n=r(65864),o=r(92722);class a{static fromOptimized(e,t,r=!1,s=!1,i=1){return(new u).initialize(e,t,r,s,i)}static fromJSON(e,t=!1,r=!1){const[s,i]=l(e);return(new d).initialize(s,i,t,r,1)}static fromOptimizedCIM(e,t,r=!1,s=!1,i=1){return(new c).initialize(e,t,r,s,i)}static fromJSONCIM(e,t=!1,r=!1,s=1){const[i,n]=l(e);return(new _).initialize(i,n,t,r,s)}static fromFeatureSetReader(e){const t=e.readGeometryForDisplay(),r=e.geometryType;return t&&r?this.fromOptimized(t,r):null}static fromFeatureSetReaderCIM(e){const t=e.readGeometryForDisplay(),r=e.geometryType;return t&&r?this.fromOptimizedCIM(t,r):null}static createEmptyOptimized(e,t=!1,r=!1,s=1){return(new u).initialize(new o.A,e,t,r,s)}static createEmptyJSON(e,t=!1,r=!1){return(new d).initialize([],e,t,r,1)}static createEmptyOptimizedCIM(e,t=!1,r=!1,s=1){return(new c).initialize(new o.A,e,t,r,s)}static createEmptyJSONCIM(e,t=!1,r=!1,s=1){return(new _).initialize([],e,t,r,s)}asJSON(){const e=(0,i.x)(this);return"esriGeometryEnvelope"===this.geometryType?{xmin:e[0][0][0],ymin:e[0][0][1],xmax:e[0][2][0],ymax:e[0][2][1]}:"esriGeometryMultipoint"===this.geometryType?{points:e.flat()}:"esriGeometryPoint"===this.geometryType?{x:e[0][0][0],y:e[0][0][1]}:"esriGeometryPolygon"===this.geometryType?{rings:e}:{paths:e}}getCurrentRingArea(){if(this.pathSize<3)return 0;let e,t,r=0;if(this.seekPathStart(),!this.nextPoint())return 0;e=this.x,t=this.y;const s=e,i=t;for(;this.nextPoint();)r+=(e-this.x)*(t+this.y),e=this.x,t=this.y;return r+=(e-s)*(t+i),-.5*r}invertY(){this.yFactor*=-1}}class u extends a{constructor(){super(...arguments),this._end=-1}initialize(e,t,r,s,i){return this.hasZ=r,this.hasM=s,this.geometryType=t,this._stride=2+Number(r)+Number(s),this._geometry=e,this._pathIndex=-1,this._pathOffset=0,this._pointOffset=-this._stride,this._end=-1,this.yFactor=i,this}reset(){this.initialize(this._geometry,this.geometryType,this.hasZ,this.hasM,this.yFactor)}seekPath(e){if(e>=0&&e<this.totalSize){if(this._pathIndex<e)for(;this._pathIndex<e&&this.nextPath(););else if(this._pathIndex>e)for(;this._pathIndex>e&&this.prevPath(););return!0}return!1}seekPathStart(){this._pointOffset=this._pathOffset-this._stride}seekPathEnd(){this._pointOffset=this._end}seekInPath(e){const t=this._pathOffset+e*this._stride;return t>=0&&t<this._end&&(this._pointOffset=t,!0)}nextPoint(){return(this._pointOffset+=this._stride)<this._end}prevPoint(){return(this._pointOffset-=this._stride)>=this._pathOffset}nextPath(){return!(this.pathIndex>=this.totalSize-1||(this._pathIndex>=0&&(this._pathOffset+=this._stride*this.pathSize),this._pathIndex++,this._pointOffset=this._pathOffset-this._stride,this._end=this._pointOffset+this._stride+this._stride*this.pathSize,0))}prevPath(){return!(this.pathIndex<=0||(this._pathIndex--,this._end=this._pathOffset,this._pathOffset-=this._stride*this.pathSize,this._pointOffset=this._pathOffset-this._stride,0))}getCurrentPath(){const e=this._end,t=this._geometry.coords,r=this._pathOffset;return(new u).initialize(new o.A([this.pathSize],t.slice(r,e)),this.geometryType,this.hasZ,this.hasM,this.yFactor)}pathLength(){const e=this._end,t=this._stride,r=this._geometry.coords;let s=0;for(let i=this._pathOffset+t;i<e;i+=t){const e=r[i-t],n=r[i-t+1],o=r[i]-e,a=r[i+1]-n;s+=Math.sqrt(o*o+a*a)}return s}startPath(){this._geometry.lengths.push(0)}pushPath(e){this.startPath(),this.pushPoints(e)}pushPoint(e){for(let t=0;t<this._stride;++t)this._geometry.coords.push(e[t]);this._geometry.lengths[this.totalSize-1]++}pushXY(e,t){this._geometry.coords.push(e,t),this._geometry.lengths[this.totalSize-1]++}pushPoints(e){for(const t of e)for(let e=0;e<this._stride;++e)this._geometry.coords.push(t[e]);this._geometry.lengths[this.totalSize-1]+=e.length}pushCursor(e){const t=e.asOptimized();this._geometry.coords.push(...t.coords),this._geometry.lengths.push(...t.lengths)}asOptimized(){const e=this._geometry.clone();if(1!==this.yFactor)for(let t=1;t<e.coords.length;t+=this._stride)e.coords[t]*=this.yFactor;return"esriGeometryPoint"===this.geometryType&&(e.lengths.length=0),e}isClosed(){const e=this._geometry.coords,t=this._pathOffset,r=this._end-this._stride;for(let s=0;s<this._stride;s++)if(e[t+s]!==e[r+s])return!1;return!0}clone(){return(new u).initialize(this._geometry.clone(),this.geometryType,this.hasZ,this.hasM,this.yFactor)}get totalPoints(){return this._geometry.isPoint?1:this._geometry.lengths.reduce((e,t)=>e+t)}get pathSize(){const{lengths:e}=this._geometry;return this._geometry.isPoint?1:this._pathIndex<0||this._pathIndex>e.length-1?0:e[this._pathIndex]}get totalSize(){return this._geometry.isPoint?1:this._geometry.lengths.length}get x(){return this._geometry.coords[this._pointOffset]}set x(e){this._geometry.coords[this._pointOffset]=e}get y(){return this.yFactor*this._geometry.coords[this._pointOffset+1]}set y(e){this._geometry.coords[this._pointOffset+1]=this.yFactor*e}get z(){return this._geometry.coords[this._pointOffset+2]}set z(e){this._geometry.coords[this._pointOffset+2]=e}get m(){const e=this.hasZ?3:2;return this._geometry.coords[this._pointOffset+e]}set m(e){this._geometry.coords[this._pointOffset+3]=e}get pathIndex(){return this._pathIndex}get _coordIndex(){return this._pointOffset/this._stride}}function h(e){const t=[e.x,e.y];return e.z&&t.push(e.z),e.m&&t.push(e.m),t}function l(e){return(0,n.Bi)(e)?[e.rings,"esriGeometryPolygon"]:(0,n.Rg)(e)?[e.paths,"esriGeometryPolyline"]:(0,n.U9)(e)?[[e.points],"esriGeometryMultipoint"]:(0,n.ZC)(e)?[[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]],"esriGeometryEnvelope"]:(0,n.fT)(e)?[[[h(e)]],"esriGeometryPoint"]:[[],"esriGeometryPolyline"]}class d extends a{initialize(e,t,r,s,i){return this._paths=e,this.geometryType=t,this.hasZ=r,this.hasM=s,this._pathIndex=this._pointIndex=-1,this.yFactor=i,this._mIndex=this.hasZ?3:2,this}reset(){this._pathIndex=this._pointIndex=-1}seekPath(e){return this._pathIndex=e,this._pointIndex=-1,e>=0&&e<this.totalSize&&(this._currentPath=this._paths[e],!0)}seekPathStart(){this._pointIndex=-1}seekPathEnd(){this._pointIndex=this._currentPath.length}seekInPath(e){return e>=0&&e<this._currentPath.length&&(this._pointIndex=e,this._currentPoint=this._currentPath[this._pointIndex],!0)}nextPoint(){return this._currentPoint=this._currentPath[++this._pointIndex],this._pointIndex<this._currentPath.length}prevPoint(){return this._currentPoint=this._currentPath[--this._pointIndex],this._pointIndex>=0}nextPath(){return this._pointIndex=-1,this._currentPath=this._paths[++this._pathIndex],this._pathIndex<this.totalSize}prevPath(){return this.pathIndex>0&&(this._pointIndex=-1,this._pathIndex--,this._currentPath=this._paths[this._pathIndex],!0)}pathLength(){const e=this._currentPath.length,t=this._currentPath;let r=0;for(let s=1;s<e;s++){const e=t[s-1],i=t[s],n=e[0],o=e[1],a=i[0]-n,u=i[1]-o;r+=Math.sqrt(a*a+u*u)}return r}startPath(){this._paths.push([])}getCurrentPath(){return(new d).initialize([this._currentPath],this.geometryType,this.hasZ,this.hasM,this.yFactor)}pushPath(e){this._paths.push(e)}pushPoint(e){this._paths[this.totalSize-1].push(e)}pushXY(e,t){this._paths[this.totalSize-1].push([e,t])}pushPoints(e){this._paths[this.totalSize-1].push(...e)}pushCursor(e){const t=(0,i.x)(e);for(const e of t)this.pushPath(e)}asOptimized(){const e=new o.A;if("esriGeometryPoint"===this.geometryType)e.coords.push(...this._paths[0][0]),e.lengths.length=0;else for(const t of this._paths){for(const r of t)e.coords.push(r[0]),e.coords.push(r[1]*this.yFactor),this.hasZ&&e.coords.push(r[2]),this.hasM&&e.coords.push(r[this._mIndex]);e.lengths.push(t.length)}return e}isClosed(){const e=this._currentPath[0],t=this._currentPath[this._currentPath.length-1];for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}clone(){return(new d).initialize((0,s.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}get totalPoints(){return this._paths.map(e=>e.length).reduce((e,t)=>e+t)}get pathSize(){return this._pathIndex<0||this._pathIndex>this.totalSize-1?-1:this._paths[this._pathIndex].length}get totalSize(){return this._paths.length}get x(){return this._currentPoint[0]}set x(e){this._currentPoint[0]=e}get y(){return this.yFactor*this._currentPoint[1]}set y(e){this._currentPoint[1]=this.yFactor*e}get z(){return this._currentPoint[2]}set z(e){this._currentPoint[2]=e}get m(){return this._currentPoint[this._mIndex]}set m(e){this._currentPoint[this._mIndex]=e}get pathIndex(){return this._pathIndex}}class c extends u{initialize(e,t,r,s,i){return super.initialize(e,t,r,s,i),this._controlPoints||(this._controlPoints=this._controlPoints=new Array(this.totalSize).fill(void 0).map(e=>new Set)),this}startPath(){super.startPath(),this._controlPoints.push(new Set)}clone(){const e=(new c).initialize(this._geometry.clone(),this.geometryType,this.hasZ,this.hasM,this.yFactor);return e._controlPoints=this._controlPoints,e}setControlPoint(){this._controlPoints[this.pathIndex].add(this._coordIndex)}getControlPoint(){return this._controlPoints[this.pathIndex].has(this._coordIndex)}setControlPointAt(e){this._controlPoints[this.pathIndex].add(e)}getControlPointAt(e){return this._controlPoints[this.pathIndex].has(e)}}class _ extends d{initialize(e,t,r,s,i){return super.initialize(e,t,r,s,i)}clone(){return(new _).initialize((0,s.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}setControlPoint(){this._paths[this.pathIndex][this._pointIndex][4]=1}getControlPoint(){return 1===this._paths[this.pathIndex][this._pointIndex][4]}setControlPointAt(e){this._paths[this.pathIndex][e][4]=1}getControlPointAt(e){return 1===this._paths[this.pathIndex][e][4]}}},38976:(e,t,r)=>{r.d(t,{n:()=>n});var s=r(76213),i=r(9012);class n{constructor(e){this._options=e}insert(e,t){const r=e.getCursor(),{arcadeContextInfo:s,scale:n}=this._options,o=(0,i.N)(n,s);for(;r.next();)this._insertFeature(r,o,this._options.sqlOptions,t)}_insertFeature(e,t,r,i){const{featureFilter:n}=this._options;if(null!==n&&!n.check(e,r))return;let o=0,a=0;if("esriGeometryPoint"===e.geometryType)o=e.readXWorldSpace(),a=e.readYWorldSpace();else{if(i){const t=e.readCentroidForDisplay();if(null==t)return;const[r,i]=t.coords;if(r<0||r>s.CQ||i<0||i>s.CQ)return}const t=e.readCentroidWorldSpace();if(null==t)return;o=t.coords[0],a=t.coords[1]}this._insert(e,o,a,t)}}},39357:(e,t,r)=>{r.d(t,{H:()=>u});var s,i=r(31635),n=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(64108));let u=s=class extends n.o{constructor(e){super(e),this.name=null,this.code=null}clone(){return new s({name:this.name,code:this.code})}};(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],u.prototype,"name",void 0),(0,i.Cg)([(0,o.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],u.prototype,"code",void 0),u=s=(0,i.Cg)([(0,a.$)("esri.layers.support.CodedValue")],u)},44320:(e,t,r)=>{r.d(t,{I:()=>u});var s=r(65529),i=r(44208),n=r(70328),o=r(30661),a=r(5162);class u{constructor(){this._chunks=new Map,this._chunksToRemove=[],this.events=new s.bk,this.featureAdapter=new o.Z}destroy(){this.clear()}clear(){for(const e of this._chunks.values())this._chunksToRemove.push(e);this._chunks.clear(),this._overrides?.clearWeakOverrides()}get usedMemory(){let e=0;for(const t of this._chunks.values())e+=t.usedMemory;return e}async update(e){if(this._overrides){const t=await a.HJ.create(e);this._overrides.update(t)}this._schema=e}*chunks(){this._overrides&&(yield this._overrides.asChunk()),yield*this._chunks.values()}insert(e){(0,i.A)("esri-2d-update-debug")&&console.debug(`Chunk[${e.chunkId}] SourceChunkStore.insert`),this._overrides?.onChunkInsert(e),this._chunks.set(e.chunkId,e),this.events.emit("changed")}remove(e){(0,i.A)("esri-2d-update-debug")&&console.debug(`Chunk[${e.chunkId}] SourceChunkStore.remove`),this._chunks.delete(e.chunkId),this._chunksToRemove.push(e)}removeById(e){(0,i.A)("esri-2d-update-debug")&&console.debug(`Chunk[${e}] SourceChunkStore.remove`);const t=this._chunks.get(e);this._chunks.delete(e),t&&this._chunksToRemove.push(t)}cleanup(){const e=this._chunksToRemove;return this._chunksToRemove=[],this._overrides?.cleanup(this._chunks.values()),e}async applyOverride(e){if(null==this._overrides){const e=await a.HJ.create(this._schema);this._overrides=new a.Im(e);for(const e of this._chunks.values())this._overrides.onChunkInsert(e)}this._overrides.apply(e,this),this.events.emit("changed");for(const e of this._chunks.values())e.invalidate()}takeOverrideUpdate(){return this._overrides?.takeOverrideUpdate()}refresh(){this.events.emit("refresh")}forEach(e){const t=new Set;for(const r of this.chunks()){const s=r.reader.getCursor();for(;s.next();){const r=s.getObjectId();t.has(r)||(e(s.copy()),t.add(r))}}}forEachUnsafe(e){const t=new Set;for(const r of this.chunks()){const s=r.reader.getCursor();for(;s.next();){const r=s.getObjectId();t.has(r)||(e(s),t.add(r))}}}mapObjectIdsFromGlobalIds(e,t){const r=new Map,s=new Set(e);return this._overrides?.putWeakObjectIdsFromGlobalIds(r,s,t),this._forEachUnsafeIgnoreOverrides(e=>{const i=e.readAttribute(t);if(i&&s.has(i)&&!r.has(i)){const t=e.getObjectId();r.set(i,t)}}),r}forEachInBounds(e,t){const r=new Set;for(const s of this.chunks()){const i=s.queryFeaturesInBounds(e);for(;i.next();){const e=i.getObjectId();r.has(e)||(t(i.copy()),r.add(e))}}}forEachBounds(e,t){const r=(0,n.vt)();for(const s of e)s.getBounds(r)&&t(r)}_forEachUnsafeIgnoreOverrides(e){const t=new Set;for(const r of this._chunks.values()){const s=r.reader.withoutOverrides().getCursor();for(;s.next();){const r=s.getObjectId();t.has(r)||(e(s),t.add(r))}}}}},48163:(e,t,r)=>{function s(){return[0,0]}function i(e){return[e[0],e[1]]}function n(e,t){return[e,t]}function o(){return n(1,1)}function a(){return n(1,0)}function u(){return n(0,1)}r.d(t,{Un:()=>h,fA:()=>n,o8:()=>i,vt:()=>s});const h=o(),l=a(),d=u();Object.freeze(Object.defineProperty({__proto__:null,ONES:h,UNIT_X:l,UNIT_Y:d,ZEROS:[0,0],clone:i,create:s,freeze:function(e,t){return[e,t]},fromArray:function(e,t=[0,0]){const r=Math.min(2,e.length);for(let s=0;s<r;++s)t[s]=e[s];return t},fromValues:n,ones:o,unitX:a,unitY:u,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"}))},50115:(e,t,r)=>{r.d(t,{OP:()=>o,V4:()=>i,rZ:()=>n}),r(44208);var s=r(53966);function i(e,t,r){if(null==e)return null;const i=t.readArcadeFeature();t.contextTimeZone=r.$view?.timeZone;try{return e.evaluate(i,r)}catch(e){return s.A.getLogger("esri.views.2d.support.arcadeOnDemand").warn("Feature arcade evaluation failed:",e),null}}function n(e){return null==e||e===1/0||e===-1/0||"number"==typeof e&&isNaN(e)}function o(e,t,r,s){if(null==e)return null!=s?s:null;const i=t.readArcadeFeature();t.contextTimeZone=r.$view?.timeZone;const o=e.evaluate(i,r);return n(o)?null!=s?s:null:o}},52350:(e,t,r)=>{r.d(t,{e:()=>a});var s=r(69397),i=r(62577),n=r(90708),o=r(99996);class a extends o.Y{static from(e,t){if(e instanceof this){const r=new Set(t),s=e._indices.filter(e=>r.has(e));return new a(e._reader,s)}return new a(e.copy(),t)}constructor(e,t){super(e.metadata),this._currentIndex=-1,this._displayTransform=null,this._reader=e,this._indices=t}setTransformForDisplay(e){const t=this._reader.getInTransform();if(null==t)return void(this._displayTransform=(0,i.Q1)(e));const r=(0,i.Q1)(t),s=(0,i.Q1)(e),[n,o]=r.scale,[a,u]=r.translate,[h,l]=s.scale,[d,c]=s.translate,_=n/h,p=o/l,f=(a-d)/h,g=(u-c)/l;this._displayTransform={originPosition:"lowerLeft",scale:[1/_,1/p,1,1],translate:[-f/_,-g/p,0,0]}}getInTransform(){return this._reader.getInTransform()}get fields(){return this._reader.fields}get hasNext(){return this._currentIndex+1<this._indices.length}getSize(){return this._indices.length}getCursor(){return this.copy()}copy(){const e=new a(this._reader.copy(),this._indices);return e._currentIndex=this._currentIndex,e._displayTransform=this._displayTransform,e._processorAttributes=this._processorAttributes,e}get contextTimeZone(){return this._reader.contextTimeZone}set contextTimeZone(e){this._reader.contextTimeZone=e}get usedMemory(){return s.qK+this._reader.usedMemory}setProcessorAttributes(e){this._processorAttributes=Object.assign(this._processorAttributes??{},e)}_nextIndex(){return++this._currentIndex<this._indices.length&&(this._reader.setIndex(this._indices[this._currentIndex]),!0)}next(){for(;this._nextIndex()&&!this._reader._getExists(););return this._currentIndex<this._indices.length}readXForDisplay(){return this._displayTransform?(0,i.IE)(this._displayTransform,this._reader.readXForDisplay()):this._reader.readXForDisplay()}readYForDisplay(){return this._displayTransform?(0,i.B2)(this._displayTransform,this._reader.readYForDisplay()):this._reader.readYForDisplay()}readGeometryForDisplay(){return this._displayTransform?this._reader.readGeometryForDisplayTransformed(this._displayTransform):this._reader.readGeometryForDisplay()}readCentroidForDisplay(){const e=this._reader.readCentroidForDisplay()?.clone();if(e){const[t,r]=e.coords;this._displayTransform?(e.coords[0]=(0,i.IE)(this._displayTransform,t),e.coords[1]=(0,i.B2)(this._displayTransform,r)):(e.coords[0]=t,e.coords[1]=r)}return e}get geometryType(){return this._reader.geometryType}get hasFeatures(){return this._reader.hasFeatures}get exceededTransferLimit(){return this._reader.exceededTransferLimit}get hasZ(){return this._reader.hasZ}get hasM(){return this._reader.hasM}readAttribute(e,t=!1){const r=this._reader.readAttribute(e,t);return null==r&&this._processorAttributes?this._processorAttributes[e]:r}readAttributes(){return{...this._processorAttributes,...this._reader.readAttributes()}}joinAttributes(e){return this._reader.joinAttributes(e)}getBounds(e){return this._reader.getBounds(e)}getAttributeHash(){return this._reader.getAttributeHash()}getObjectId(){return this._reader.getObjectId()}getDisplayId(){return this._reader.getDisplayId()}setDisplayId(e){return this._reader.setDisplayId(e)}setIndex(e){return this._reader.setIndex(e)}getIndex(){return this._reader.getIndex()}readXWorldSpace(){return this._reader.readXWorldSpace()}readYWorldSpace(){return this._reader.readYWorldSpace()}_readX(){return this._reader.readXForDisplay()}_readY(){return this._reader.readYForDisplay()}_readServerCentroid(){return this._reader._readServerCentroid()}readLegacyFeatureForDisplay(){const e=this.readCentroidForDisplay();return{attributes:this.readAttributes(),geometry:this.readLegacyGeometryForDisplay(),centroid:(e&&{x:e.coords[0],y:e.coords[1]})??null}}readLegacyGeometryForDisplay(){const e=this.readGeometryForDisplay();return(0,n.zv)(e,this.geometryType,!1,!1)}readGeometryArea(){return this._displayTransform?this._reader.readGeometryForDisplayTransformed(this._displayTransform)?.area()??0:this._reader.readGeometryArea()}readGeometryWorldSpace(){return this._reader.readGeometryWorldSpace()}_readGeometry(){return this._reader._readGeometry()}_readAttribute(e,t){throw new Error("Error: Should not be called. Underlying _reader should be used instead")}_readAttributes(){throw new Error("Error: Should not be called. Underlying _reader should be used instead")}readArcadeFeature(){return this._reader.readArcadeFeature()}geometry(){return this._reader.geometry()}field(e){return this._reader.field(e)}hasField(e){return this._reader.hasField(e)}setField(e,t){return this._reader.setField(e,t)}keys(){return this._reader.keys()}castToText(e=!1){return this._reader.castToText(e)}}},53177:(e,t,r)=>{r.d(t,{A:()=>d});var s,i=r(31635),n=r(4718),o=r(10107),a=(r(44208),r(53966),r(93223)),u=r(64108),h=r(39357),l=r(76357);let d=class extends l.A{static{s=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const r=String(e);this.codedValues.some(e=>(String(e.code)===r&&(t=e.name),!!t))}return t}clone(){return new s({codedValues:(0,n.o8)(this.codedValues),name:this.name})}};(0,i.Cg)([(0,o.MZ)({type:[h.H],json:{write:{isRequired:!0}}})],d.prototype,"codedValues",void 0),(0,i.Cg)([(0,a.e)({codedValue:"coded-value"})],d.prototype,"type",void 0),d=s=(0,i.Cg)([(0,u.$)("esri.layers.support.CodedValueDomain")],d)},57733:(e,t,r)=>{let s;function i(e){const t=s.__externref_table_alloc();return s.__wbindgen_export_2.set(t,e),t}function n(e,t){try{return e.apply(this,t)}catch(e){const t=i(e);s.__wbindgen_exn_store(t)}}r.r(t),r.d(t,{ColumnDescriptor:()=>W,FieldMetadata:()=>Y,GeometryInfo:()=>X,GeometryType:()=>R,MultiscaleGeometryField:()=>Z,PageEncodingDescriptor:()=>V,ParquetChunk:()=>$,ParquetFile:()=>H,PrimaryGeometryField:()=>ee,QuantizedGeometryBuffer:()=>re,RangeProviderJs:()=>ie,RowGroup:()=>oe,default:()=>de,enableTracing:()=>M,initSync:()=>le});let o=null;function a(){return null!==o&&0!==o.byteLength||(o=new Uint8Array(s.memory.buffer)),o}let u=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});u.decode();const h=2146435072;let l=0;function d(e,t){return function(e,t){return l+=t,l>=h&&(u=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),u.decode(),l=t),u.decode(a().subarray(e,e+t))}(e>>>=0,t)}function c(e,t){return e>>>=0,a().subarray(e/1,e/1+t)}let _=null;function p(){return null!==_&&0!==_.byteLength||(_=new Uint32Array(s.memory.buffer)),_}function f(e,t){return e>>>=0,p().subarray(e/4,e/4+t)}let g=0;const m=new TextEncoder;function y(e,t,r){if(void 0===r){const r=m.encode(e),s=t(r.length,1)>>>0;return a().subarray(s,s+r.length).set(r),g=r.length,s}let s=e.length,i=t(s,1)>>>0;const n=a();let o=0;for(;o<s;o++){const t=e.charCodeAt(o);if(t>127)break;n[i+o]=t}if(o!==s){0!==o&&(e=e.slice(o)),i=r(i,s,s=o+3*e.length,1)>>>0;const t=a().subarray(i+o,i+s);o+=m.encodeInto(e,t).written,i=r(i,s,o,1)>>>0}return g=o,i}"encodeInto"in m||(m.encodeInto=function(e,t){const r=m.encode(e);return t.set(r),{read:e.length,written:r.length}});let b=null;function w(){return(null===b||!0===b.buffer.detached||void 0===b.buffer.detached&&b.buffer!==s.memory.buffer)&&(b=new DataView(s.memory.buffer)),b}function x(e){return null==e}const v="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>{s.__wbindgen_export_6.get(e.dtor)(e.a,e.b)});function I(e,t,r,i){const n={a:e,b:t,cnt:1,dtor:r},o=(...e)=>{n.cnt++;const t=n.a;n.a=0;try{return i(t,n.b,...e)}finally{0===--n.cnt?(s.__wbindgen_export_6.get(n.dtor)(t,n.b),v.unregister(n)):n.a=t}};return o.original=n,v.register(o,n,n),o}function T(e,t){e>>>=0;const r=w(),i=[];for(let n=e;n<e+4*t;n+=4)i.push(s.__wbindgen_export_2.get(r.getUint32(n,!0)));return s.__externref_drop_slice(e,t),i}let F=null;function S(){return null!==F&&0!==F.byteLength||(F=new Int16Array(s.memory.buffer)),F}function M(){s.enableTracing()}let A=null;function C(){return null!==A&&0!==A.byteLength||(A=new Float64Array(s.memory.buffer)),A}function k(e,t){if(!(e instanceof t))throw new Error(`expected instance of ${t.name}`)}function P(e,t){const r=t(8*e.length,8)>>>0;return C().set(e,r/8),g=e.length,r}function O(e,t){const r=t(4*e.length,4)>>>0;for(let t=0;t<e.length;t++){const s=i(e[t]);w().setUint32(r+4*t,s,!0)}return g=e.length,r}function z(e,t){const r=t(1*e.length,1)>>>0;return a().set(e,r/1),g=e.length,r}function N(e,t){const r=t(4*e.length,4)>>>0;return p().set(e,r/4),g=e.length,r}function B(e,t,r){s.closure86_externref_shim(e,t,r)}function G(e,t,r,i){s.closure12_externref_shim(e,t,r,i)}const R=Object.freeze({Point:0,0:"Point",Polygon:1,1:"Polygon",Polyline:2,2:"Polyline",Multipoint:3,3:"Multipoint"}),D=["esriFieldTypeSmallInteger","esriFieldTypeInteger","esriFieldTypeBigInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeLong","esriFieldTypeString","esriFieldTypeDate","esriFieldTypeOID","esriFieldTypeGeometry","esriFieldTypeBlob","esriFieldTypeRaster","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeXML","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"],q="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>s.__wbg_columndescriptor_free(e>>>0,1));class W{static __wrap(e){e>>>=0;const t=Object.create(W.prototype);return t.__wbg_ptr=e,q.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,q.unregister(this),e}free(){const e=this.__destroy_into_raw();s.__wbg_columndescriptor_free(e,0)}name(){let e,t;try{const r=s.columndescriptor_name(this.__wbg_ptr);return e=r[0],t=r[1],d(r[0],r[1])}finally{s.__wbindgen_free(e,t,1)}}physicalType(){let e,t;try{const r=s.columndescriptor_physicalType(this.__wbg_ptr);return e=r[0],t=r[1],d(r[0],r[1])}finally{s.__wbindgen_free(e,t,1)}}logicalType(){const e=s.columndescriptor_logicalType(this.__wbg_ptr);let t;return 0!==e[0]&&(t=d(e[0],e[1]).slice(),s.__wbindgen_free(e[0],1*e[1],1)),t}encodings(){const e=s.columndescriptor_encodings(this.__wbg_ptr);var t=T(e[0],e[1]).slice();return s.__wbindgen_free(e[0],4*e[1],4),t}pageEncodings(){const e=s.columndescriptor_pageEncodings(this.__wbg_ptr);let t;return 0!==e[0]&&(t=T(e[0],e[1]).slice(),s.__wbindgen_free(e[0],4*e[1],4)),t}numValues(){return s.columndescriptor_numValues(this.__wbg_ptr)}compression(){let e,t;try{const r=s.columndescriptor_compression(this.__wbg_ptr);return e=r[0],t=r[1],d(r[0],r[1])}finally{s.__wbindgen_free(e,t,1)}}compressedSize(){return s.columndescriptor_compressedSize(this.__wbg_ptr)}uncompressedSize(){return s.columndescriptor_uncompressedSize(this.__wbg_ptr)}nullCount(){const e=s.columndescriptor_nullCount(this.__wbg_ptr);return 0===e[0]?void 0:e[1]}distinctCount(){const e=s.columndescriptor_distinctCount(this.__wbg_ptr);return 0===e[0]?void 0:e[1]}minValue(){return s.columndescriptor_minValue(this.__wbg_ptr)}maxValue(){return s.columndescriptor_maxValue(this.__wbg_ptr)}}Symbol.dispose&&(W.prototype[Symbol.dispose]=W.prototype.free);const j="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>s.__wbg_fieldmetadata_free(e>>>0,1));class Y{static __wrap(e){e>>>=0;const t=Object.create(Y.prototype);return t.__wbg_ptr=e,j.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,j.unregister(this),e}free(){const e=this.__destroy_into_raw();s.__wbg_fieldmetadata_free(e,0)}get column(){return s.__wbg_get_fieldmetadata_column(this.__wbg_ptr)>>>0}set column(e){s.__wbg_set_fieldmetadata_column(this.__wbg_ptr,e)}get name(){let e,t;try{const r=s.fieldmetadata_name(this.__wbg_ptr);return e=r[0],t=r[1],d(r[0],r[1])}finally{s.__wbindgen_free(e,t,1)}}get type(){const e=s.fieldmetadata_esri_type(this.__wbg_ptr);return D[e]}get physicalType(){const e=s.fieldmetadata_physical_type(this.__wbg_ptr);let t;return 0!==e[0]&&(t=d(e[0],e[1]).slice(),s.__wbindgen_free(e[0],1*e[1],1)),t}get logicalType(){const e=s.fieldmetadata_logical_type(this.__wbg_ptr);let t;return 0!==e[0]&&(t=d(e[0],e[1]).slice(),s.__wbindgen_free(e[0],1*e[1],1)),t}}Symbol.dispose&&(Y.prototype[Symbol.dispose]=Y.prototype.free);const E="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>s.__wbg_geometryinfo_free(e>>>0,1));class X{static __wrap(e){e>>>=0;const t=Object.create(X.prototype);return t.__wbg_ptr=e,E.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,E.unregister(this),e}free(){const e=this.__destroy_into_raw();s.__wbg_geometryinfo_free(e,0)}static new(e,t,r,i,n){k(i,ee);var o=i.__destroy_into_raw();const a=O(n,s.__wbindgen_malloc),u=g,h=s.geometryinfo_new(e,t,r,o,a,u);return X.__wrap(h)}}Symbol.dispose&&(X.prototype[Symbol.dispose]=X.prototype.free);const L="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>s.__wbg_multiscalegeometryfield_free(e>>>0,1));class Z{static __wrap(e){e>>>=0;const t=Object.create(Z.prototype);return t.__wbg_ptr=e,L.register(t,t.__wbg_ptr,t),t}static __unwrap(e){return e instanceof Z?e.__destroy_into_raw():0}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,L.unregister(this),e}free(){const e=this.__destroy_into_raw();s.__wbg_multiscalegeometryfield_free(e,0)}get level(){return s.__wbg_get_multiscalegeometryfield_level(this.__wbg_ptr)}set level(e){s.__wbg_set_multiscalegeometryfield_level(this.__wbg_ptr,e)}static new(e,t,r,i){const n=y(t,s.__wbindgen_malloc,s.__wbindgen_realloc),o=g,a=P(r,s.__wbindgen_malloc),u=g,h=P(i,s.__wbindgen_malloc),l=g,d=s.multiscalegeometryfield_new(e,n,o,a,u,h,l);return Z.__wrap(d)}has_field(e){const t=y(e,s.__wbindgen_malloc,s.__wbindgen_realloc),r=g;return 0!==s.multiscalegeometryfield_has_field(this.__wbg_ptr,t,r)}}Symbol.dispose&&(Z.prototype[Symbol.dispose]=Z.prototype.free);const U="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>s.__wbg_pageencodingdescriptor_free(e>>>0,1));class V{static __wrap(e){e>>>=0;const t=Object.create(V.prototype);return t.__wbg_ptr=e,U.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,U.unregister(this),e}free(){const e=this.__destroy_into_raw();s.__wbg_pageencodingdescriptor_free(e,0)}pageType(){let e,t;try{const r=s.pageencodingdescriptor_pageType(this.__wbg_ptr);return e=r[0],t=r[1],d(r[0],r[1])}finally{s.__wbindgen_free(e,t,1)}}encoding(){let e,t;try{const r=s.pageencodingdescriptor_encoding(this.__wbg_ptr);return e=r[0],t=r[1],d(r[0],r[1])}finally{s.__wbindgen_free(e,t,1)}}count(){return s.pageencodingdescriptor_count(this.__wbg_ptr)}}Symbol.dispose&&(V.prototype[Symbol.dispose]=V.prototype.free);const J="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>s.__wbg_parquetchunk_free(e>>>0,1));class ${static __wrap(e){e>>>=0;const t=Object.create($.prototype);return t.__wbg_ptr=e,J.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,J.unregister(this),e}free(){const e=this.__destroy_into_raw();s.__wbg_parquetchunk_free(e,0)}size(){return s.parquetchunk_size(this.__wbg_ptr)>>>0}isEmpty(e){return 0!==s.parquetchunk_isEmpty(this.__wbg_ptr,e)}rowId(e){return s.parquetchunk_rowId(this.__wbg_ptr,e)}readX(e){const t=s.parquetchunk_readX(this.__wbg_ptr,e);return 0===t[0]?void 0:t[1]}readY(e){const t=s.parquetchunk_readY(this.__wbg_ptr,e);return 0===t[0]?void 0:t[1]}readCoords(e){const t=s.parquetchunk_readCoords(this.__wbg_ptr,e);let r;return 0!==t[0]&&(r=function(e,t){return e>>>=0,C().subarray(e/8,e/8+t)}(t[0],t[1]).slice(),s.__wbindgen_free(t[0],8*t[1],8)),r}readLengths(e){const t=s.parquetchunk_readLengths(this.__wbg_ptr,e);let r;return 0!==t[0]&&(r=f(t[0],t[1]).slice(),s.__wbindgen_free(t[0],4*t[1],4)),r}transformGeometry(e,t,r,i,n,o){k(e,re);const a=s.parquetchunk_transformGeometry(this.__wbg_ptr,e.__wbg_ptr,t,r,i,n,o);return 16777215===a?void 0:0!==a}boundsXMin(e){const t=s.parquetchunk_boundsXMin(this.__wbg_ptr,e);return 0===t[0]?void 0:t[1]}boundsYMin(e){const t=s.parquetchunk_boundsYMin(this.__wbg_ptr,e);return 0===t[0]?void 0:t[1]}boundsXMax(e){const t=s.parquetchunk_boundsXMax(this.__wbg_ptr,e);return 0===t[0]?void 0:t[1]}boundsYMax(e){const t=s.parquetchunk_boundsYMax(this.__wbg_ptr,e);return 0===t[0]?void 0:t[1]}readAttribute(e,t){return s.parquetchunk_readAttribute(this.__wbg_ptr,e,t)}}Symbol.dispose&&($.prototype[Symbol.dispose]=$.prototype.free);const Q="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>s.__wbg_parquetfile_free(e>>>0,1));class H{static __wrap(e){e>>>=0;const t=Object.create(H.prototype);return t.__wbg_ptr=e,Q.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Q.unregister(this),e}free(){const e=this.__destroy_into_raw();s.__wbg_parquetfile_free(e,0)}static fromUrl(e,t,r,i){const n=y(e,s.__wbindgen_malloc,s.__wbindgen_realloc),o=g;let a=0;return x(i)||(k(i,X),a=i.__destroy_into_raw()),s.parquetfile_fromUrl(n,o,t,r,a)}static fromBinary(e,t){const r=z(e,s.__wbindgen_malloc),i=g;let n=0;return x(t)||(k(t,X),n=t.__destroy_into_raw()),s.parquetfile_fromBinary(r,i,n)}version(){return s.parquetfile_version(this.__wbg_ptr)}byteLength(){return s.parquetfile_byteLength(this.__wbg_ptr)}numRows(){return s.parquetfile_numRows(this.__wbg_ptr)>>>0}numFields(){return s.parquetfile_numFields(this.__wbg_ptr)>>>0}numColumns(){return s.parquetfile_numColumns(this.__wbg_ptr)>>>0}createdBy(){const e=s.parquetfile_createdBy(this.__wbg_ptr);let t;return 0!==e[0]&&(t=d(e[0],e[1]).slice(),s.__wbindgen_free(e[0],1*e[1],1)),t}keyValueMetadata(e){const t=y(e,s.__wbindgen_malloc,s.__wbindgen_realloc),r=g,i=s.parquetfile_keyValueMetadata(this.__wbg_ptr,t,r);let n;return 0!==i[0]&&(n=d(i[0],i[1]).slice(),s.__wbindgen_free(i[0],1*i[1],1)),n}keys(){const e=s.parquetfile_keys(this.__wbg_ptr);let t;return 0!==e[0]&&(t=T(e[0],e[1]).slice(),s.__wbindgen_free(e[0],4*e[1],4)),t}columnForFieldName(e){const t=y(e,s.__wbindgen_malloc,s.__wbindgen_realloc),r=g,i=s.parquetfile_columnForFieldName(this.__wbg_ptr,t,r);return 4294967297===i?void 0:i}fields(){const e=s.parquetfile_fields(this.__wbg_ptr);var t=T(e[0],e[1]).slice();return s.__wbindgen_free(e[0],4*e[1],4),t}rowGroups(){const e=s.parquetfile_rowGroups(this.__wbg_ptr);var t=T(e[0],e[1]).slice();return s.__wbindgen_free(e[0],4*e[1],4),t}ensureFields(e){const t=N(e,s.__wbindgen_malloc),r=g;return s.parquetfile_ensureFields(this.__wbg_ptr,t,r)}readFirstChunk(e){const t=N(e,s.__wbindgen_malloc),r=g;return s.parquetfile_readFirstChunk(this.__wbg_ptr,t,r)}readChunk(e,t,r,i,n){const o=N(r,s.__wbindgen_malloc),a=g;return s.parquetfile_readChunk(this.__wbg_ptr,e,t,o,a,i,n)}readChunksByRowId(e,t,r,i){const n=N(e,s.__wbindgen_malloc),o=g,a=N(t,s.__wbindgen_malloc),u=g;return s.parquetfile_readChunksByRowId(this.__wbg_ptr,n,o,a,u,r,i)}readAllChunks(e,t,r){const i=N(e,s.__wbindgen_malloc),n=g;return s.parquetfile_readAllChunks(this.__wbg_ptr,i,n,t,r)}queryZChunks(e,t,r,i){const n=N(t,s.__wbindgen_malloc),o=g;return s.parquetfile_queryZChunks(this.__wbg_ptr,e,n,o,r,i)}queryXZChunks(e,t,r){return s.parquetfile_queryXZChunks(this.__wbg_ptr,e,t,r)}}Symbol.dispose&&(H.prototype[Symbol.dispose]=H.prototype.free);const K="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>s.__wbg_primarygeometryfield_free(e>>>0,1));class ee{static __wrap(e){e>>>=0;const t=Object.create(ee.prototype);return t.__wbg_ptr=e,K.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,K.unregister(this),e}free(){const e=this.__destroy_into_raw();s.__wbg_primarygeometryfield_free(e,0)}static fromNative(e){const t=y(e,s.__wbindgen_malloc,s.__wbindgen_realloc),r=g,i=s.primarygeometryfield_fromNative(t,r);return ee.__wrap(i)}static fromWkb(e){const t=y(e,s.__wbindgen_malloc,s.__wbindgen_realloc),r=g,i=s.primarygeometryfield_fromWkb(t,r);return ee.__wrap(i)}static fromLocation(e,t){const r=y(e,s.__wbindgen_malloc,s.__wbindgen_realloc),i=g,n=y(t,s.__wbindgen_malloc,s.__wbindgen_realloc),o=g,a=s.primarygeometryfield_fromLocation(r,i,n,o);return ee.__wrap(a)}}Symbol.dispose&&(ee.prototype[Symbol.dispose]=ee.prototype.free);const te="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>s.__wbg_quantizedgeometrybuffer_free(e>>>0,1));class re{static __wrap(e){e>>>=0;const t=Object.create(re.prototype);return t.__wbg_ptr=e,te.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,te.unregister(this),e}free(){const e=this.__destroy_into_raw();s.__wbg_quantizedgeometrybuffer_free(e,0)}static new(){const e=s.quantizedgeometrybuffer_new();return re.__wrap(e)}readCoordsUnsafe(){return s.quantizedgeometrybuffer_readCoordsUnsafe(this.__wbg_ptr)}readLengthsUnsafe(){return s.quantizedgeometrybuffer_readLengthsUnsafe(this.__wbg_ptr)}}Symbol.dispose&&(re.prototype[Symbol.dispose]=re.prototype.free);const se="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>s.__wbg_rangeproviderjs_free(e>>>0,1));class ie{static __wrap(e){e>>>=0;const t=Object.create(ie.prototype);return t.__wbg_ptr=e,se.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,se.unregister(this),e}free(){const e=this.__destroy_into_raw();s.__wbg_rangeproviderjs_free(e,0)}static new(e,t){const r=s.rangeproviderjs_new(e,t);return ie.__wrap(r)}static withFetch(){const e=s.rangeproviderjs_withFetch();return ie.__wrap(e)}}Symbol.dispose&&(ie.prototype[Symbol.dispose]=ie.prototype.free);const ne="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>s.__wbg_rowgroup_free(e>>>0,1));class oe{static __wrap(e){e>>>=0;const t=Object.create(oe.prototype);return t.__wbg_ptr=e,ne.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,ne.unregister(this),e}free(){const e=this.__destroy_into_raw();s.__wbg_rowgroup_free(e,0)}columnDescriptorForAttribute(e){const t=s.rowgroup_columnDescriptorForAttribute(this.__wbg_ptr,e);return W.__wrap(t)}}Symbol.dispose&&(oe.prototype[Symbol.dispose]=oe.prototype.free);const ae=new Set(["basic","cors","default"]);function ue(){const e={wbg:{}};return e.wbg.__wbg_aborted_bbd6fc8f83561eda=function(e){return e.aborted},e.wbg.__wbg_apply_dc50eb58583d2a57=function(){return n(function(e,t,r){return e.apply(t,r)},arguments)},e.wbg.__wbg_call_13410aac570ffff7=function(){return n(function(e,t){return e.call(t)},arguments)},e.wbg.__wbg_call_a5400b25a865cfd8=function(){return n(function(e,t,r){return e.call(t,r)},arguments)},e.wbg.__wbg_error_7534b8e9a36f1ab4=function(e,t){let r,i;try{r=e,i=t,console.error(d(e,t))}finally{s.__wbindgen_free(r,i,1)}},e.wbg.__wbg_fieldmetadata_new=function(e){return Y.__wrap(e)},e.wbg.__wbg_get_458e874b43b18b25=function(){return n(function(e,t){return Reflect.get(e,t)},arguments)},e.wbg.__wbg_length_555ae304a7c78975=function(e){return e.length},e.wbg.__wbg_length_6bb7e81f9d7713e4=function(e){return e.length},e.wbg.__wbg_multiscalegeometryfield_unwrap=function(e){return Z.__unwrap(e)},e.wbg.__wbg_new_2e3c58a15f39f5f9=function(e,t){try{var r={a:e,b:t};return new Promise((e,t)=>{const s=r.a;r.a=0;try{return G(s,r.b,e,t)}finally{r.a=s}})}finally{r.a=r.b=0}},e.wbg.__wbg_new_638ebfaedbf32a5e=function(e){return new Uint8Array(e)},e.wbg.__wbg_new_8a6f238a6ece86ea=function(){return new Error},e.wbg.__wbg_newnoargs_254190557c45b4ec=function(e,t){return new Function(d(e,t))},e.wbg.__wbg_newwithlength_c2868113efe93526=function(e){return new Array(e>>>0)},e.wbg.__wbg_pageencodingdescriptor_new=function(e){return V.__wrap(e)},e.wbg.__wbg_parquetchunk_new=function(e){return $.__wrap(e)},e.wbg.__wbg_parquetfile_new=function(e){return H.__wrap(e)},e.wbg.__wbg_prototypesetcall_3d4a26c1ed734349=function(e,t,r){Uint8Array.prototype.set.call(c(e,t),r)},e.wbg.__wbg_prototypesetcall_c805289d23423a87=function(e,t,r){Uint32Array.prototype.set.call(f(e,t),r)},e.wbg.__wbg_queueMicrotask_25d0739ac89e8c88=function(e){queueMicrotask(e)},e.wbg.__wbg_queueMicrotask_4488407636f5bf24=function(e){return e.queueMicrotask},e.wbg.__wbg_resolve_4055c623acdd6a1b=function(e){return Promise.resolve(e)},e.wbg.__wbg_rowgroup_new=function(e){return oe.__wrap(e)},e.wbg.__wbg_set_90f6c0f7bd8c0415=function(e,t,r){e[t>>>0]=r},e.wbg.__wbg_stack_0ed75d68575b0f3c=function(e,t){const r=y(t.stack,s.__wbindgen_malloc,s.__wbindgen_realloc),i=g;w().setInt32(e+4,i,!0),w().setInt32(e+0,r,!0)},e.wbg.__wbg_static_accessor_GLOBAL_8921f820c2ce3f12=function(){const e="undefined"==typeof global?null:global;return x(e)?0:i(e)},e.wbg.__wbg_static_accessor_GLOBAL_THIS_f0a4409105898184=function(){const e="undefined"==typeof globalThis?null:globalThis;return x(e)?0:i(e)},e.wbg.__wbg_static_accessor_SELF_995b214ae681ff99=function(){const e="undefined"==typeof self?null:self;return x(e)?0:i(e)},e.wbg.__wbg_static_accessor_WINDOW_cde3890479c675ea=function(){const e="undefined"==typeof window?null:window;return x(e)?0:i(e)},e.wbg.__wbg_then_b33a773d723afa3e=function(e,t,r){return e.then(t,r)},e.wbg.__wbg_then_e22500defe16819f=function(e,t){return e.then(t)},e.wbg.__wbg_valueOf_f1ef20623c7bdd1c=function(e){return e.valueOf()},e.wbg.__wbg_wbindgencbdrop_eb10308566512b88=function(e){const t=e.original;return 1==t.cnt--&&(t.a=0,!0)},e.wbg.__wbg_wbindgenisfunction_8cee7dce3725ae74=function(e){return"function"==typeof e},e.wbg.__wbg_wbindgenisundefined_c4b71d073b92f3c5=function(e){return void 0===e},e.wbg.__wbg_wbindgennumberget_f74b4c7525ac05cb=function(e,t){const r="number"==typeof t?t:void 0;w().setFloat64(e+8,x(r)?0:r,!0),w().setInt32(e+0,!x(r),!0)},e.wbg.__wbg_wbindgenthrow_451ec1a8469d7eb6=function(e,t){throw new Error(d(e,t))},e.wbg.__wbindgen_cast_2241b6af4c4b2941=function(e,t){return d(e,t)},e.wbg.__wbindgen_cast_59b536ec5375efa9=function(e,t){return I(e,t,85,B)},e.wbg.__wbindgen_cast_77bc3e92745e9a35=function(e,t){var r=c(e,t).slice();return s.__wbindgen_free(e,1*t,1),r},e.wbg.__wbindgen_cast_7c316abdc43840a3=function(e,t){return f(e,t)},e.wbg.__wbindgen_cast_9ae0607507abb057=function(e){return e},e.wbg.__wbindgen_cast_b4c60c1010b00353=function(e,t){var r=T(e,t).slice();return s.__wbindgen_free(e,4*t,4),r},e.wbg.__wbindgen_cast_d6cd19b81560fd6e=function(e){return e},e.wbg.__wbindgen_cast_e47ceb6027f5c92c=function(e,t){return function(e,t){return e>>>=0,S().subarray(e/2,e/2+t)}(e,t)},e.wbg.__wbindgen_init_externref_table=function(){const e=s.__wbindgen_export_2,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)},e}function he(e,t){return s=e.exports,de.__wbindgen_wasm_module=t,b=null,A=null,F=null,_=null,o=null,s.__wbindgen_start(),s}function le(e){if(void 0!==s)return s;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?({module:e}=e):console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));const t=ue();return e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e)),he(new WebAssembly.Instance(e,t),e)}async function de(e){if(void 0!==s)return s;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?({module_or_path:e}=e):console.warn("using deprecated parameters for the initialization function; pass a single object instead"));const t=ue();("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e));const{instance:r,module:i}=await async function(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(!e.ok||!ae.has(e.type)||"application/wasm"===e.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}const r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}{const r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}(await e,t);return he(r,i)}},63664:(e,t,r)=>{r.d(t,{B:()=>s});class s{constructor(e){this._statistics=e}get statistics(){return this._statistics}}},64714:(e,t,r)=>{r.d(t,{F0:()=>a,Vx:()=>l,e2:()=>c,f:()=>_});var s=r(44208),i=r(4718),n=r(99352),o=r(93470);function a(e){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===e||"esriGeometryMultipoint"===e?o.Cb:"esriGeometryPolyline"===e?o.yM:o.WR}}}const u=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let h=1;function l(e,t){if((0,s.A)("esri-csp-restrictions"))return()=>({[t]:null,...e});try{let r=`this${d(t)} = null;`;for(const t in e)r+=`this${d(t)} = ${JSON.stringify(e[t])};`;const s=new Function(`\n return class AttributesClass$${h++} {\n constructor() {\n ${r};\n }\n }\n `)();return()=>new s}catch(r){return()=>({[t]:null,...e})}}function d(e){return u.test(e)?`.${e}`:`["${e}"]`}function c(e={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,i.o8)(e)}}]}function _(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:t,supportsDelete:t,supportsEditing:t,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:t,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:n.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:n.P,editing:{supportsGeometryUpdate:t,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},68974:(e,t,r)=>{r.d(t,{H:()=>h,p:()=>u});var s=r(69397),i=r(83047),n=r(38976),o=r(75538);const a=96;function u(e,t){return(0,i.GA)(e)*i.dy*a/t}class h extends n.n{constructor(e){super(e),this._cells=new Map,this._pixelsPerMapUnit=u(e.spatialReference,e.scale)}get usedMemory(){const e=this._cells.values().next().value;return e?(s.RS+e.usedMemory)*this._cells.size:0}put(e){for(const t of this._cells.values()){const r=e.get(t.id);r?r.merge(t):e.set(t.id,t.clone())}}putBounded(e,t,r){const s=[t.xmin,t.ymin,t.xmax,t.ymax],[i,n,o,a]=s,u=Math.floor(i*this._pixelsPerMapUnit/this._options.cellSize),h=Math.floor(n*this._pixelsPerMapUnit/this._options.cellSize),l=Math.ceil(o*this._pixelsPerMapUnit/this._options.cellSize),d=Math.ceil(a*this._pixelsPerMapUnit/this._options.cellSize);for(let t=h;t<=d;t++)for(let r=u;r<=l;r++){const s=`${r}.${t}`,i=this._cells.get(s);if(!i)continue;const n=e.get(i.id);n?i&&!e.has(i.id)&&n.merge(i):e.set(i.id,i.clone())}}_insert(e,t,r,s){const i=t*this._pixelsPerMapUnit,n=r*this._pixelsPerMapUnit,o=Math.floor(i/this._options.cellSize),a=Math.floor(n/this._options.cellSize);this._getCellOrCreate(o,a).insert(e,s,t,r)}_getCellOrCreate(e,t){const r=o.L.createId(e,t);let s=this._cells.get(r);if(!s){const i=1*this._options.cellSize/this._pixelsPerMapUnit;s=o.L.create(e,t,this._options.fields,i),this._cells.set(r,s)}return s}}},70300:(e,t,r)=>{r.d(t,{K:()=>j});var s=r(69397),i=r(11006);function n(e,t){if(!(this instanceof n))return new n(e,t);this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this.toBBox=t:this._initFormat(t)),this.clear()}function o(e,t,r){if(!r)return t.indexOf(e);for(var s=0;s<t.length;s++)if(r(e,t[s]))return s;return-1}function a(e,t){u(e,0,e.children.length,t,e)}function u(e,t,r,s,i){i||(i=y(null)),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(var n,o=t;o<r;o++)n=e.children[o],h(i,e.leaf?s(n):n);return i}function h(e,t){return e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),e}function l(e,t){return e.minX-t.minX}function d(e,t){return e.minY-t.minY}function c(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function _(e){return e.maxX-e.minX+(e.maxY-e.minY)}function p(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function f(e,t){var r=Math.max(e.minX,t.minX),s=Math.max(e.minY,t.minY),i=Math.min(e.maxX,t.maxX),n=Math.min(e.maxY,t.maxY);return Math.max(0,i-r)*Math.max(0,n-s)}function g(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function m(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function y(e){return{children:e,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function b(e,t,r,s,n){for(var o,a=[t,r];a.length;)(r=a.pop())-(t=a.pop())<=s||(o=t+Math.ceil((r-t)/s/2)*s,(0,i.q)(e,o,t,r,n),a.push(t,o,o,r))}n.prototype={all:function(){return this._all(this.data,[])},search:function(e){var t=this.data,r=[],s=this.toBBox;if(!m(e,t))return r;for(var i,n,o,a,u=[];t;){for(i=0,n=t.children.length;i<n;i++)o=t.children[i],m(e,a=t.leaf?s(o):o)&&(t.leaf?r.push(o):g(e,a)?this._all(o,r):u.push(o));t=u.pop()}return r},collides:function(e){var t=this.data,r=this.toBBox;if(!m(e,t))return!1;for(var s,i,n,o,a=[];t;){for(s=0,i=t.children.length;s<i;s++)if(n=t.children[s],m(e,o=t.leaf?r(n):n)){if(t.leaf||g(e,o))return!0;a.push(n)}t=a.pop()}return!1},load:function(e){if(!e||!e.length)return this;if(e.length<this._minEntries){for(var t=0,r=e.length;t<r;t++)this.insert(e[t]);return this}var s=this._build(e.slice(),0,e.length-1,0);if(this.data.children.length)if(this.data.height===s.height)this._splitRoot(this.data,s);else{if(this.data.height<s.height){var i=this.data;this.data=s,s=i}this._insert(s,this.data.height-s.height-1,!0)}else this.data=s;return this},insert:function(e){return null!=e&&this._insert(e,this.data.height-1),this},clear:function(){return this.data=y([]),this},remove:function(e,t){if(null==e)return this;for(var r,s,i,n,a=this.data,u=this.toBBox(e),h=[],l=[];a||h.length;){if(a||(a=h.pop(),s=h[h.length-1],r=l.pop(),n=!0),a.leaf&&-1!==(i=o(e,a.children,t)))return a.children.splice(i,1),h.push(a),this._condense(h),this;n||a.leaf||!g(a,u)?s?(r++,a=s.children[r],n=!1):a=null:(h.push(a),l.push(r),r=0,s=a,a=a.children[0])}return this},toBBox:function(e){return e},compareMinX:l,compareMinY:d,toJSON:function(){return this.data},fromJSON:function(e){return this.data=e,this},_all:function(e,t){for(var r=[];e;)e.leaf?t.push.apply(t,e.children):r.push.apply(r,e.children),e=r.pop();return t},_build:function(e,t,r,s){var i,n=r-t+1,o=this._maxEntries;if(n<=o)return a(i=y(e.slice(t,r+1)),this.toBBox),i;s||(s=Math.ceil(Math.log(n)/Math.log(o)),o=Math.ceil(n/Math.pow(o,s-1))),(i=y([])).leaf=!1,i.height=s;var u,h,l,d,c=Math.ceil(n/o),_=c*Math.ceil(Math.sqrt(o));for(b(e,t,r,_,this.compareMinX),u=t;u<=r;u+=_)for(b(e,u,l=Math.min(u+_-1,r),c,this.compareMinY),h=u;h<=l;h+=c)d=Math.min(h+c-1,l),i.children.push(this._build(e,h,d,s-1));return a(i,this.toBBox),i},_chooseSubtree:function(e,t,r,s){for(var i,n,o,a,u,h,l,d;s.push(t),!t.leaf&&s.length-1!==r;){for(l=d=1/0,i=0,n=t.children.length;i<n;i++)u=c(o=t.children[i]),(h=p(e,o)-u)<d?(d=h,l=u<l?u:l,a=o):h===d&&u<l&&(l=u,a=o);t=a||t.children[0]}return t},_insert:function(e,t,r){var s=this.toBBox,i=r?e:s(e),n=[],o=this._chooseSubtree(i,this.data,t,n);for(o.children.push(e),h(o,i);t>=0&&n[t].children.length>this._maxEntries;)this._split(n,t),t--;this._adjustParentBBoxes(i,n,t)},_split:function(e,t){var r=e[t],s=r.children.length,i=this._minEntries;this._chooseSplitAxis(r,i,s);var n=this._chooseSplitIndex(r,i,s),o=y(r.children.splice(n,r.children.length-n));o.height=r.height,o.leaf=r.leaf,a(r,this.toBBox),a(o,this.toBBox),t?e[t-1].children.push(o):this._splitRoot(r,o)},_splitRoot:function(e,t){this.data=y([e,t]),this.data.height=e.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},_chooseSplitIndex:function(e,t,r){var s,i,n,o,a,h,l,d;for(h=l=1/0,s=t;s<=r-t;s++)o=f(i=u(e,0,s,this.toBBox),n=u(e,s,r,this.toBBox)),a=c(i)+c(n),o<h?(h=o,d=s,l=a<l?a:l):o===h&&a<l&&(l=a,d=s);return d},_chooseSplitAxis:function(e,t,r){var s=e.leaf?this.compareMinX:l,i=e.leaf?this.compareMinY:d;this._allDistMargin(e,t,r,s)<this._allDistMargin(e,t,r,i)&&e.children.sort(s)},_allDistMargin:function(e,t,r,s){e.children.sort(s);var i,n,o=this.toBBox,a=u(e,0,t,o),l=u(e,r-t,r,o),d=_(a)+_(l);for(i=t;i<r-t;i++)n=e.children[i],h(a,e.leaf?o(n):n),d+=_(a);for(i=r-t-1;i>=t;i--)n=e.children[i],h(l,e.leaf?o(n):n),d+=_(l);return d},_adjustParentBBoxes:function(e,t,r){for(var s=r;s>=0;s--)h(t[s],e)},_condense:function(e){for(var t,r=e.length-1;r>=0;r--)0===e[r].children.length?r>0?(t=e[r-1].children).splice(t.indexOf(e[r]),1):this.clear():a(e[r],this.toBBox)},_initFormat:function(e){var t=["return a"," - b",";"];this.compareMinX=new Function("a","b",t.join(e[0])),this.compareMinY=new Function("a","b",t.join(e[1])),this.toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}};var w=r(70328);class x{static fromReader(e){const t=[],r=e.copy(),s=(0,w.vt)();for(;r.next();)r.getBounds(s)&&t.push(r.getIndex());const i=n(9,e=>(r.setIndex(e),{minX:r.getBoundsXMin(),minY:r.getBoundsYMin(),maxX:r.getBoundsXMax(),maxY:r.getBoundsYMax()}));return i.load(t),new x(i,t.length)}constructor(e,t){this._index=e,this._size=t}get usedMemory(){return this._size*s.RS}search(e){const t={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]};return this._index.search(t)}}r(44208);var v=r(34727),I=(r(37585),r(48163)),T=r(39829),F=r(16930),S=r(19419),M=r(79258),A=r(90708),C=r(92722),k=r(31464);function P(e,t,r,s){if(s.isWebMercator){const s=(0,v.KJ)(e/M.$O.radius),i=s-360*Math.floor((s+180)/360),n=[0,0];return O(n,0,(0,v.KJ)(Math.PI/2-2*Math.atan(Math.exp(-t/M.$O.radius))),i,r),n}const i=(0,k.Cv)({x:e,y:t},s,F.A.WGS84);if(!i)return null;const n=[0,0];return O(n,0,i.y,i.x,r),n}function O(e,t,r,s,i){i%2&&(i+=1);let n=0,o=0,a=-90,u=90,h=-180,l=180;for(let e=0;e<i/2;e++){for(let t=0;t<5;t++){const r=(h+l)/2,i=s>r?1:0;n|=i<<29-(t+5*e),h=(1-i)*h+i*r,l=(1-i)*r+i*l}for(let t=0;t<5;t++){const s=(a+u)/2,i=r>s?1:0;o|=i<<29-(t+5*e),a=(1-i)*a+i*s,u=(1-i)*s+i*u}}e[2*t]=n,e[2*t+1]=o}(0,I.vt)(),(0,I.vt)();var z=r(63664),N=r(92029);class B extends z.B{static create(e,t,r,s){const i=N.o.create(e),n=new Array(32);for(let e=0;e<n.length;e++)n[e]=null;return new B(i,t,r,s,n)}constructor(e,t,r,s,i){super(e),this.xNode=t,this.yNode=r,this.depth=s,this.children=i,this._objectIds=new Set,this._count=0,this._xWorldTotal=0,this._yWorldTotal=0,this._xGeohashTotal=0,this._yGeohashTotal=0,this.next=null}static get estimatedMemory(){let e=0;return e+=2*s.qK,e+=32*s.RS,e+=N.o.estimatedMemory,e}get id(){return`${this.xNode}.${this.yNode}`}get containedObjectIds(){return this._objectIds}get count(){return this._count}clone(){const e=new B(this._statistics.clone(),this.xNode,this.yNode,this.depth,this.children);return e._count=this._count,e._xWorldTotal=this._xWorldTotal,e._yWorldTotal=this._yWorldTotal,e._xGeohashTotal=this._xGeohashTotal,e._yGeohashTotal=this._yGeohashTotal,e.next=this.next,e._objectIds=new Set(this._objectIds),e}insert(e,t,r,s,i,n){this._count+=1,this._xWorldTotal+=t,this._yWorldTotal+=r,this._xGeohashTotal+=s,this._yGeohashTotal+=i,this._statistics.insert(e,n),this._objectIds.add(e.getObjectId())}merge(e){if(0!==e._count){this._count+=e._count,this._xWorldTotal+=e._xWorldTotal,this._yWorldTotal+=e._yWorldTotal,this._xGeohashTotal+=e._xWorldTotal,this._yGeohashTotal+=e._yWorldTotal,this._statistics.merge(e._statistics);for(const t of e._objectIds.values())this._objectIds.add(t)}}getCentroid(e){throw new Error("getCentroid not supported for GeohashNode")}getGeometry(e,t){const r=this._getLngLatBounds(),[s,i,n,o]=r,a=(0,k.Cv)({rings:[[[s,i],[s,o],[n,o],[n,i],[s,i]]]},F.A.WGS84,e),u=(0,A.Ye)(new C.A,a,!1,!1);return null!=t?(0,A.Nl)(new C.A,u,!1,!1,"esriGeometryPolygon",t,!1,!1):u}getGeometricCentroid(e,t){const r=this._getLngLatBounds(),[s,i,n,o]=r,a=(0,k.Cv)({x:(s+n)/2,y:(i+o)/2},F.A.WGS84,e),u=(0,A.qN)(new C.A,a);return null!=t?(0,A.Nl)(new C.A,u,!1,!1,"esriGeometryPoint",t,!1,!1):u}getAttributes(){const e={aggregateId:this.id};for(const t of this._statistics.values())e[t.field.name]=t.value;return e.aggregateCount=this._count,e}find(e,t,r,s,i,n){if(s>=r)return this;const o=1-s%2,a=3*o+2*(1-o),u=2*o+3*(1-o),h=30-i-a,l=30-n-u,d=((e&7*o+3*(1-o)<<h)>>h)+((t&3*o+7*(1-o)<<l)>>l)*(8*o+4*(1-o)),c=this.children[d];return null==c?null:c.find(e,t,r,s+1,i+a,n+u)}_getLngLatBounds(){const e=this.depth,t=Math.ceil(e/2),r=Math.floor(e/2),s=30-(3*t+2*r),i=30-(2*t+3*r);return function(e,t){let r=-90,s=90,i=-180,n=180;for(let o=0;o<t;o++){const t=Math.ceil((o+1)/2),a=Math.floor((o+1)/2),u=1-o%2,h=30-(3*t+2*a),l=30-(2*t+3*a),d=2*u+3*(1-u),c=(7*u+3*(1-u)<<h&e.geohashX)>>h,_=(3*u+7*(1-u)<<l&e.geohashY)>>l;for(let e=3*u+2*(1-u)-1;e>=0;e--){const t=(i+n)/2,r=c&1<<e?1:0;i=(1-r)*i+r*t,n=(1-r)*t+r*n}for(let e=d-1;e>=0;e--){const t=(r+s)/2,i=_&1<<e?1:0;r=(1-i)*r+i*t,s=(1-i)*t+i*s}}return[i,r,n,s]}({geohashX:this.xNode<<s,geohashY:this.yNode<<i},this.depth)}}class G{constructor(e){this._fields=e,this._size=0,this._depth=0,this._root=B.create(this._fields,0,0,0)}destroy(){}get size(){return this._size}get depth(){return this._depth}get usedMemory(){return this._size*B.estimatedMemory}find(e,t,r){return this._root.find(e,t,r,0,0,0)}insert(e,t,r,s,i,n,o){let a=this._root,u=0,h=0,l=0;for(;null!==a;){if(a.insert(e,t,r,s,i,o),u>=n)return;const d=Math.ceil((u+1)/2),c=Math.floor((u+1)/2),_=1-u%2,p=30-(3*d+2*c),f=30-(2*d+3*c),g=(s&7*_+3*(1-_)<<p)>>p,m=(i&3*_+7*(1-_)<<f)>>f,y=g+m*(8*_+4*(1-_));h=h<<3*_+2*(1-_)|g,l=l<<2*_+3*(1-_)|m,null==a.children[y]&&(a.children[y]=B.create(this._fields,h,l,u+1),this._depth=Math.max(this._depth,u+1),this._size+=1),u+=1,a=a.children[y]}}putBins(e,t){for(const r of this.getNodes(t)){const t=e.get(r.id);t?t.merge(r):e.set(r.id,r.clone())}}getNodes(e){const t=[],{geohashBounds:r,level:s}=e;let i=this._root;for(;null!==i;){const e=i.depth,n=i.xNode,o=i.yNode;if(e>=s){t.push(i),i=i.next;continue}const a=Math.ceil((e+1)/2),u=Math.floor((e+1)/2),h=1-e%2,l=30-(3*a+2*u),d=30-(2*a+3*u),c=~((1<<l)-1),_=~((1<<d)-1),p=(r.xLL&c)>>l,f=(r.yLL&_)>>d,g=(r.xTR&c)>>l,m=(r.yTR&_)>>d,y=n<<3*h+2*(1-h),b=o<<2*h+3*(1-h),w=y+8*h+4*(1-h),x=b+4*h+8*(1-h),v=Math.max(y,p),I=Math.max(b,f),T=Math.min(w,g),F=Math.min(x,m);let S=null,M=null;for(let e=I;e<=F;e++)for(let t=v;t<=T;t++){const r=t-y+(e-b)*(8*h+4*(1-h)),s=i.children[r];s&&(S||(S=s,S.next=i.next),M&&(M.next=s),M=s,s.next=i.next)}i=S||i.next}return t}}var R=r(38976);class D extends R.n{constructor(e){super(e),this._tree=new G(this._options.fields)}get usedMemory(){return this._tree.usedMemory}put(e){throw new Error("Geohash tree does not support put")}putBounded(e,t,r){const{geohashLevel:s,spatialReference:i}=this._options,n=function(e,t,r,s){const i=[e.xmin,e.ymin,e.xmax,e.ymax],n=T.A.fromExtent((0,S.w1)(i,s)),o=(0,k.Cv)(n,s,F.A.WGS84,{extendedParams:{densificationStep:64*t}});if(!o)return null;const a=(0,A.Ye)(new C.A,o,!1,!1),u=a.coords.filter((e,t)=>!(t%2)),h=a.coords.filter((e,t)=>t%2),l=Math.min(...u),d=Math.min(...h),c=Math.max(...u),_=Math.max(...h),p=P(l,d,r,F.A.WGS84),f=P(c,_,r,F.A.WGS84);return p&&f?{bounds:i,geohashBounds:{xLL:p[0],yLL:p[1],xTR:f[0],yTR:f[1]},level:r}:null}(t,r,s,i);null!=n&&this._tree.putBins(e,n)}_insert(e,t,r,s){const{geohashLevel:i,spatialReference:n}=this._options,o=P(t,r,i,n);o&&this._tree.insert(e,t,r,o[0],o[1],i,s)}}var q=r(68974),W=r(52350);class j{size(){return this.reader.getSize()}get fields(){return this.reader.fields}invalidate(){this._aggregateIndex=null,this._aggregateIndexHash=null,this._spatialIndex=null}get usedMemory(){let e=0;return e+=this.reader.underlyingMemory,this._aggregateIndex&&(e+=this._aggregateIndex.usedMemory),this._spatialIndex&&(e+=this._spatialIndex.usedMemory),e}registerOverrides(e){this.reader.registerOverrides(e),this.invalidate()}queryFeaturesInBounds(e){const t=this._getSpatialIndex().search(e);return W.e.from(this.reader,t)}getAggregateIndex(e){const t=JSON.stringify(e);if(t!==this._aggregateIndexHash){switch(this._aggregateIndexHash=t,e.type){case"grid":this._aggregateIndex=new q.H(e);break;case"geohash":this._aggregateIndex=new D(e)}this._aggregateIndex.insert(this.reader,this.isTiled)}return this._aggregateIndex}_getSpatialIndex(){return this._spatialIndex||(this._spatialIndex=x.fromReader(this.reader)),this._spatialIndex}}},70581:(e,t,r)=>{r.d(t,{DV:()=>p,Hj:()=>g,hD:()=>f});var s=r(78888),i=r(49186),n=(r(44208),r(563)),o=r(84952),a=r(2741);let u=null;async function h(){return u||(u=async function(){const e=await Promise.resolve().then(r.bind(r,57733));return await e.default({module_or_path:(0,a.s)("esri/libs/parquet/pkg/bundle_bg.wasm")}),e}()),u}var l=r(57733);const d=new n.QueueProcessor({concurrency:8,process:async e=>{const{data:t}=await(0,s.A)(e.url,e.options);return t}}),c=e=>async function(t,r,s,i){const n=e?.(),o=n??{};return await d.push({url:t,options:{responseType:"array-buffer",query:o,headers:{range:`bytes=${r}-${s}`}}})},_=e=>async function(t){if((0,o.w8)(t)){const{data:e}=await(0,s.A)(t,{responseType:"blob"});return e.size}const{data:r}=await(0,s.A)(t,{responseType:"native",method:"head",query:e?.()}),i=r.headers.get("Content-Length");if(null==i)throw new Error("Unable to parse content length");return parseInt(i,10)};async function p(e,t={}){const{ParquetFile:r}=await h(),s=c(t.getCustomParameters),n=_(t.getCustomParameters),o=t.geometryInfo?function(e,t){const r=e.spatialReference.wkid,s=t.wkid;if(!r||!s)throw new i.A("parquet","Unable to create ParquetFile, in and out wkid must be specified");const n=function(e){switch(e){case"esriGeometryPoint":return l.GeometryType.Point;case"esriGeometryPolygon":return l.GeometryType.Polygon;case"esriGeometryPolyline":return l.GeometryType.Polyline;case"esriGeometryMultipoint":return l.GeometryType.Multipoint;default:throw new i.A("parquet",`Found unexpected GeometryType: ${e}`)}}(e.geometryType),o=function(e){switch(e.encoding.type){case"wkb":return l.PrimaryGeometryField.fromWkb(e.encoding.primaryFieldName);case"location":{const{latitudeFieldName:t,longitudeFieldName:r}=e.encoding;return l.PrimaryGeometryField.fromLocation(t,r)}}}(e),a=[];if("xz"===e.displayOptimization?.mode){const t=e.displayOptimization.multiscale;for(const e of t.levels??[]){const[t,r]=e.transform.translate,[s,i]=e.transform.scale,n=new Float64Array([t,r]),o=new Float64Array([s,i]);a.push(l.MultiscaleGeometryField.new(e.level,e.column,n,o))}}return l.GeometryInfo.new(n,r,s,o,a)}(t.geometryInfo,t.outSpatialReference??t.geometryInfo.spatialReference):null;return r.fromUrl(e,s,n,o)}function f(e){const t=e.keyValueMetadata("geo");return null!=t?JSON.parse(t):null}function g(e){const t=e.keyValueMetadata("esri");return null!=t?JSON.parse(t):null}},73250:(e,t,r)=>{r.d(t,{y:()=>i});var s=r(69397);class i{static fromBuffer(e,t){return new i(e,t)}static create(e,t=4294967295){const r=new Uint32Array(Math.ceil(e/32));return new i(r,t)}constructor(e,t){this._mask=0,this._buf=e,this._mask=t}_getIndex(e){return Math.floor(e/32)}get usedMemory(){return(0,s.Qf)(this._buf)}has(e){const t=this._mask&e;return!!(this._buf[this._getIndex(t)]&1<<t%32)}hasRange(e,t){let r=e,s=t;for(;r%32&&r!==s;){if(this.has(r))return!0;r++}for(;s%32&&r!==s;){if(this.has(r))return!0;s--}if(r===s)return!1;for(let e=r/32;e!==s/32;e++)if(this._buf[e])return!0;return!1}set(e){const t=this._mask&e,r=this._getIndex(t),s=1<<t%32;this._buf[r]|=s}setRange(e,t){let r=e,s=t;for(;r%32&&r!==s;)this.set(r++);for(;s%32&&r!==s;)this.set(s--);if(r!==s)for(let e=r/32;e!==s/32;e++)this._buf[e]=4294967295}unset(e){const t=this._mask&e,r=this._getIndex(t),s=1<<t%32;this._buf[r]&=4294967295^s}resize(e){const t=this._buf,r=new Uint32Array(Math.ceil(e/32));r.set(t),this._buf=r}or(e){for(let t=0;t<this._buf.length;t++)this._buf[t]|=e._buf[t];return this}and(e){for(let t=0;t<this._buf.length;t++)this._buf[t]&=e._buf[t];return this}xor(e){for(let t=0;t<this._buf.length;t++)this._buf[t]^=e._buf[t];return this}ior(e){for(let t=0;t<this._buf.length;t++)this._buf[t]|=~e._buf[t];return this}iand(e){for(let t=0;t<this._buf.length;t++)this._buf[t]&=~e._buf[t];return this}ixor(e){for(let t=0;t<this._buf.length;t++)this._buf[t]^=~e._buf[t];return this}any(){for(let e=0;e<this._buf.length;e++)if(this._buf[e])return!0;return!1}copy(e){for(let t=0;t<this._buf.length;t++)this._buf[t]=e._buf[t];return this}clone(){return new i(this._buf.slice(),this._mask)}clear(){for(let e=0;e<this._buf.length;e++)this._buf[e]=0;return this}forEachSet(e){for(let t=0;t<this._buf.length;t++){let r=this._buf[t],s=32*t;if(r)for(;r;)1&r&&e(s),r>>>=1,s++}}countSet(){let e=0;return this.forEachSet(t=>{e++}),e}}},75538:(e,t,r)=>{r.d(t,{L:()=>a});var s=r(90708),i=r(92722),n=r(63664),o=r(92029);class a extends n.B{static createId(e,t){return`${e}.${t}`}static create(e,t,r,s){return new a(e,t,o.o.create(r),s)}constructor(e,t,r,s){super(r),this.gridX=e,this.gridY=t,this._worldUnitsPerCell=s,this._count=0,this._xWorldTotal=0,this._yWorldTotal=0,this._objectIds=new Set}get id(){return a.createId(this.gridX,this.gridY)}get containedObjectIds(){return this._objectIds}get count(){return this._count}get firstObjectId(){return this._objectIds.values().next().value}get centroidXWorld(){return this._xWorldTotal/this._count}get centroidYWorld(){return this._yWorldTotal/this._count}get usedMemory(){return 48}clone(){const e=new a(this.gridX,this.gridY,this._statistics.clone(),this._worldUnitsPerCell);return e._count=this._count,e._xWorldTotal=this._xWorldTotal,e._yWorldTotal=this._yWorldTotal,e._firstFeatureAttributes=this._firstFeatureAttributes,e._objectIds=new Set(this._objectIds),e}insert(e,t,r,s){0===this._count?this._firstFeatureAttributes=e.readAttributes():this._firstFeatureAttributes=null,this._count+=1,this._xWorldTotal+=r,this._yWorldTotal+=s,this._statistics.insert(e,t),this._objectIds.add(e.getObjectId())}merge(e){if(0!==e._count){this._count+=e._count,this._firstFeatureAttributes=e._firstFeatureAttributes,this._xWorldTotal+=e._xWorldTotal,this._yWorldTotal+=e._yWorldTotal,this._statistics.merge(e._statistics);for(const t of e._objectIds.values())this._objectIds.add(t)}}getCentroidX(e){return null==e?this.centroidXWorld:(0,s.IE)(e,this.centroidXWorld)}getCentroidY(e){return null==e?this.centroidYWorld:(0,s.B2)(e,this.centroidYWorld)}getGeometry(e,t){const r=this.gridX*this._worldUnitsPerCell,n=this.gridY*this._worldUnitsPerCell,o=new i.A([4],[r,n,r+this._worldUnitsPerCell,n,r+this._worldUnitsPerCell,n+this._worldUnitsPerCell,r,n+this._worldUnitsPerCell]);if(null!=t){const e=new i.A;return(0,s.Nl)(e,o,!1,!1,"esriGeometryPolygon",t)}return o}getCentroid(e){const t=new i.A([],[this.centroidXWorld,this.centroidYWorld]);if(null!=e){const r=new i.A;return(0,s.Nl)(r,t,!1,!1,"esriGeometryPoint",e)}return t}getGeometricCentroid(e,t){const r=this.gridX*this._worldUnitsPerCell+.5*this._worldUnitsPerCell,n=this.gridY*this._worldUnitsPerCell+.5*this._worldUnitsPerCell,o=new i.A([],[r,n]);if(null!=t){const e=new i.A;return(0,s.Nl)(e,o,!1,!1,"esriGeometryPoint",t)}return o}getAttributes(){const e={aggregateId:this.id};for(const t of this._statistics.values())e[t.field.name]=t.value;return null!=this._firstFeatureAttributes?{...e,...this._firstFeatureAttributes}:e}}},76213:(e,t,r)=>{r.d(t,{C2:()=>o,CQ:()=>s,DY:()=>i,GR:()=>f,Gh:()=>u,MZ:()=>c,TB:()=>p,U5:()=>a,_M:()=>h,cp:()=>g,eG:()=>n,fq:()=>_,hM:()=>d,ie:()=>l});const s=512,i=29,n=24,o=4,a=6,u=1.05,h=3,l=3,d=4,c=1,_=10,p=256,f=32,g=512},76357:(e,t,r)=>{r.d(t,{A:()=>l});var s=r(31635),i=r(66552),n=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(93223)),u=r(64108);const h=new i.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let l=class extends n.o{constructor(e){super(e),this.name=null,this.type=null}};(0,s.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],l.prototype,"name",void 0),(0,s.Cg)([(0,a.e)(h),(0,o.MZ)({json:{write:{isRequired:!0}}})],l.prototype,"type",void 0),l=(0,s.Cg)([(0,u.$)("esri.layers.support.Domain")],l)},80451:(e,t,r)=>{r.d(t,{rS:()=>p,gK:()=>_}),r(44208);var s,i=r(53177),n=r(76357),o=r(31635),a=(r(53966),r(87811),r(49186),r(93223)),u=r(64108);let h=class extends n.A{static{s=this}constructor(e){super(e),this.type="inherited"}clone(){return new s}};(0,o.Cg)([(0,a.e)({inherited:"inherited"})],h.prototype,"type",void 0),h=s=(0,o.Cg)([(0,u.$)("esri.layers.support.InheritedDomain")],h);var l,d=r(10107);let c=class extends n.A{static{l=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new l({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,o.Cg)([(0,d.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,r){t[r]=[this.minValue||0,e]},isRequired:!0}}})],c.prototype,"maxValue",void 0),(0,o.Cg)([(0,d.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,r){t[r]=[e,this.maxValue||0]},isRequired:!0}}})],c.prototype,"minValue",void 0),(0,o.Cg)([(0,a.e)({range:"range"})],c.prototype,"type",void 0),c=l=(0,o.Cg)([(0,u.$)("esri.layers.support.RangeDomain")],c);const _={key:"type",base:n.A,typeMap:{range:c,"coded-value":i.A,inherited:h}};function p(e){if(!e?.type)return null;switch(e.type){case"range":return c.fromJSON(e);case"codedValue":return i.A.fromJSON(e);case"inherited":return h.fromJSON(e)}return null}},92029:(e,t,r)=>{r.d(t,{o:()=>o});var s=r(69397),i=r(50115);const n=Math.PI/180;class o{static create(e){return new o(e.map(e=>function(e){switch(e.statisticType){case"min":return new u(e);case"max":return new h(e);case"avg":return new d(e);case"avg_angle":return new c(e);case"sum":case"count":return new l(e);case"mode":return new _(e)}}(e)))}constructor(e){this._statistics=e}static get estimatedMemory(){return s.qK+4*s.qK}values(){return this._statistics.values()}insert(e,t){for(const r of this._statistics)r.insert(e,t)}merge(e){for(let t=0;t<this._statistics.length;t++){const r=this._statistics[t],s=e._statistics[t];if(r.field.name!==s.field.name)throw new Error("InternalError: Tried to merge incompatible statistics");r.merge(s)}}clone(){return new o(this._statistics.map(e=>e.clone()))}}class a{constructor(e){this.field=e}insert(e,t){if(!this.field.computed)return;const r=this.field.computed.read(e,t);(0,i.rZ)(r)||this._insertValue(r)}}class u extends a{constructor(){super(...arguments),this.type="min",this.value=Number.MAX_VALUE}_insertValue(e){this.value=Math.min(this.value,e)}merge(e){this.value=Math.min(this.value,e.value)}clone(){const e=new u(this.field);return e.value=this.value,e}}class h extends a{constructor(){super(...arguments),this.type="max",this.value=Number.MIN_VALUE}_insertValue(e){this.value=Math.max(this.value,e)}merge(e){this.value=Math.max(this.value,e.value)}clone(){const e=new h(this.field);return e.value=this.value,e}}class l extends a{constructor(){super(...arguments),this.type="sum",this.value=0}_insertValue(e){this.value+=e}merge(e){this.value+=e.value}clone(){const e=new l(this.field);return e.value=this.value,e}}class d extends a{constructor(){super(...arguments),this.type="avg",this._total=0,this._count=0}get value(){return this._total/this._count}_insertValue(e){this._total+=e,this._count+=1}merge(e){this._total+=e._total,this._count+=e._count}clone(){const e=new d(this.field);return e._total=this._total,e._count=this._count,e}}class c extends a{constructor(){super(...arguments),this.type="avg_angle",this._x=0,this._y=0,this._count=0}get value(){const e=this._x/this._count,t=this._y/this._count,r=180/Math.PI;return Math.atan2(t,e)*r}_insertValue(e){this._x=this._x+Math.cos(e*n),this._y=this._y+Math.sin(e*n),this._count+=1}merge(e){this._x+=e._x,this._y+=e._y,this._count+=e._count}clone(){const e=new c(this.field);return e._x=this._x,e._y=this._y,e._count=this._count,e}}class _ extends a{constructor(){super(...arguments),this._frequencies=new Map}get value(){let e,t=0;for(const[r,s]of this._frequencies.entries())s>t&&(t=s,e=r);return e}_insertValue(e){const t=this._frequencies.get(e);null!=t?this._frequencies.set(e,t+1):this._frequencies.set(e,1)}merge(e){for(const[t,r]of e._frequencies.entries()){const e=this._frequencies.get(t);null!=e?this._frequencies.set(t,e+r):this._frequencies.set(t,r)}}clone(){const e=new _(this.field);return e._frequencies=new Map(this._frequencies),e}}},97633:(e,t,r)=>{r.d(t,{P:()=>n});var s=r(69397),i=r(73250);class n{constructor(e){this._valid=i.y.create(e),this._data=new Array(e)}get usedMemory(){let e=this._valid.usedMemory;if(this._data.length>0){const t="string"==typeof this._data[0]?64:s.RS;e+=this._data.length*t}return e}has(e){return this._valid.has(e)}set(e,t){this._valid.set(e),this._data[e]=t}get(e){return this._data[e]}}},98453:(e,t,r)=>{r.d(t,{m:()=>s});const s=new(r(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},99996:(e,t,r)=>{r.d(t,{Y:()=>P});var s=r(66131),i=r(44208),n=r(69397),o=r(44729),a=r(15032),u=r(36745),h=r(70328),l=r(65864),d=r(32011),c=r(62577),_=r(27647),p=r(90708),f=r(43334),g=r(92722),m=r(98623),y=r(97633);const b=(0,i.A)("featurelayer-simplify-thresholds")??[.5,.5,.5,.5],w=b[0],x=b[1],v=b[2],I=b[3],T=(0,i.A)("featurelayer-simplify-payload-size-factors")??[1,2,4],F=T[0],S=T[1],M=T[2],A=(0,i.A)("featurelayer-simplify-mobile-factor")??2,C=(0,i.A)("esri-mobile"),k=4294967295;class P{constructor(e){this.metadata=e,this.type="FeatureSetReader",this._overrides=null,this._joined=[],this._objectIdToIndex=null,this._boundsBuffer=[],this._caches=new Map,this.arcadeDeclaredClass="esri.arcade.Feature",this._contextTimeZone=null}destroy(){}[Symbol.dispose](){this.destroy()}getAreaSimplificationThreshold(e,t){let r=1;const s=C?A:1;t>4e6?r=M*s:t>1e6?r=S*s:t>5e5?r=F*s:t>1e5&&(r=s);let i=0;return e>4e3?i=I*r:e>2e3?i=v*r:e>100?i=x:e>15&&(i=w),i}getBounds(e){!function(e,t){if(!(e.length>t))for(;e.length<=t;)e.push(0)}(this._boundsBuffer,4*this.getIndex()+4);const t=this.getBoundsXMin();if(t===k||!isFinite(t))return!1;if(0===this.getBoundsXMin()){const t=this.readGeometryWorldSpace();if(t?.isPoint&&0===t.coords[0]&&0===t.coords[1])return(0,h.BI)(e,0,0,0,0),!0;if(!t)return this.setBoundsXMin(k),!1;let r=1/0,s=1/0,i=-1/0,n=-1/0;return t.forEachVertex((e,t)=>{r=Math.min(r,e),s=Math.min(s,t),i=Math.max(i,e),n=Math.max(n,t)}),this.setBoundsXMin(r),this.setBoundsYMin(s),this.setBoundsXMax(i),this.setBoundsYMax(n),(0,h.BI)(e,r,s,i,n),!0}const r=this.getBoundsXMin(),s=this.getBoundsYMin(),i=this.getBoundsXMax(),n=this.getBoundsYMax();return(0,h.BI)(e,r,s,i,n),!0}getBoundsXMin(){return this._boundsBuffer[4*this.getIndex()]}setBoundsXMin(e){this._boundsBuffer[4*this.getIndex()]=e}getBoundsYMin(){return this._boundsBuffer[4*this.getIndex()+1]}setBoundsYMin(e){this._boundsBuffer[4*this.getIndex()+1]=e}getBoundsXMax(){return this._boundsBuffer[4*this.getIndex()+2]}setBoundsXMax(e){this._boundsBuffer[4*this.getIndex()+2]=e}getBoundsYMax(){return this._boundsBuffer[4*this.getIndex()+3]}setBoundsYMax(e){this._boundsBuffer[4*this.getIndex()+3]=e}readAttributeAsTimestamp(e){const t=this.readAttribute(e);return"string"==typeof t?new Date(t).getTime():"number"==typeof t||null==t?t:null}readAttribute(e,t=!1){const r=this._readAttribute(e,t);if(void 0!==r)return r;for(const r of this._joined){r.setIndex(this.getIndex());const s=r._readAttribute(e,t);if(void 0!==s)return s}}readAttributes(){const e=this._readAttributes();for(const t of this._joined){t.setIndex(this.getIndex());const r=t._readAttributes();for(const t of Object.keys(r))e[t]=r[t]}return e}joinAttributes(e){this._joined.push(e)}registerOverrides(e){this._overrides=e}withoutOverrides(){const e=this.copy();return e._overrides=null,e}readOptimizedFeatureWorldSpace(){const e=this.readGeometryWorldSpace(),t=this.readAttributes(),r=this.readCentroidWorldSpace();return new f.Om(e,t,r,this.getObjectId(),this.getDisplayId())}readLegacyFeatureForDisplay(){const e=this.readCentroidForDisplay();return{attributes:this.readAttributes(),geometry:this.readLegacyGeometryForDisplay(),centroid:(e&&{x:e.coords[0],y:e.coords[1]})??null}}readLegacyFeatureWorldSpace(){const e=this.readCentroidWorldSpace();return{attributes:this.readAttributes(),geometry:this._readLegacyGeometryWorldSpace(),centroid:(e&&{x:e.coords[0],y:e.coords[1]})??null}}readLegacyGeometryForDisplay(){const e=this.readGeometryForDisplay();return(0,p.zv)(e,this.geometryType,!1,!1)}readXForDisplay(){return this._readX()}readYForDisplay(){return this._readY()}readXWorldSpace(){const e=this._readX(),t=this.getInTransform();return null==t?e:e*t.scale[0]+t.translate[0]}readYWorldSpace(){const e=this._readY(),t=this.getInTransform();return null==t?e:t.translate[1]-e*t.scale[1]}readGeometryForDisplay(){const e=this._readGeometryDeltaDecoded(!0);if(!e){const e=this._createDeltaQuantizedGeometryFromServerCentroid();return e?e.deltaDecode():null}return e}readGeometryForDisplayTransformed(e){let t=this.readGeometryForDisplay();if(t&&"esriGeometryPolyline"===this.metadata.geometryType&&(t=(0,p.kz)(new g.A,t,this.hasZ,this.hasM,this.metadata.geometryType,e.scale[0])),t&&(t=(0,p.hK)(t,e,this.metadata.geometryType,this.hasZ,this.hasM)),!t){const t=this.readCentroidForDisplay();if(!t)return null;const r=(0,c.IE)(e,t.coords[0]),s=(0,c.B2)(e,t.coords[1]);return this._createDeltaQuantizedExtrudedGeometry(r,s).deltaDecode()}return t}readGeometryWorldSpace(){let e=this._readGeometry();if(e||(e=this._createDeltaQuantizedGeometryFromServerCentroid()),!e)return null;const t=e.clone(),r=this.getInTransform();return null!=r&&(0,p.Ch)(t,t,this.hasZ,this.hasM,r),t}readCentroidForDisplay(){const e=this.readGeometryForDisplay();return e?this._computeDisplayCentroid(e):this._readServerCentroid()}readCentroidWorldSpace(){const e=this.readGeometryForDisplay(),t=e?this._computeDisplayCentroid(e):this._readServerCentroid();if(!t)return null;const r=t.clone(),s=this.getInTransform();return null!=s&&(0,p.Ch)(r,r,this.hasZ,this.hasM,s),r}setCache(e){let t=this._caches.get(e);null==t&&(t=new y.P(this.getSize()),this._caches.set(e,t)),this._activeCache=t}setCachedValue(e){this._activeCache.set(this.getIndex(),e)}hasCachedValue(){return this._activeCache.has(this.getIndex())}getCachedValue(){return this._activeCache.get(this.getIndex())}get underlyingMemory(){let e=0;e+=(0,n.Qf)(this._boundsBuffer);for(const t of this._caches.values())e+=t.usedMemory;return e}_readGeometryDeltaDecoded(e){const t=this._readGeometry(e);return"esriGeometryPoint"!==this.geometryType&&t&&this.getInTransform()?t.deltaDecode():t}get contextTimeZone(){return this._contextTimeZone}set contextTimeZone(e){this._contextTimeZone=e}readArcadeFeature(){return this}hasField(e){return this.fields.has(e)||this._joined.some(t=>t.hasField(e))}geometry(){const e=this.readGeometryWorldSpace(),t=(0,p.zv)(e,this.geometryType,this.hasZ,this.hasM),r=(0,l.rS)(t);if(r){if(!this.metadata.outSpatialReference)throw new Error("InternalError: Expected spatial reference to be defined");r.spatialReference=this.metadata.outSpatialReference}return r}autocastArcadeDate(e,t){return t&&t instanceof Date?this.isUnknownDateTimeField(e)?s.lY.unknownDateJSToArcadeDate(t):s.lY.dateJSAndZoneToArcadeDate(t,this.contextTimeZone??m.qU):t}isUnknownDateTimeField(e){return this.metadata.fieldsIndex.getTimeZone(e)===m.L5}field(e){let t=this.fields.get(e);if(t)switch(t.type){case"date-only":case"esriFieldTypeDateOnly":return o.n.fromReader(this.readAttribute(e,!1));case"time-only":case"esriFieldTypeTimeOnly":return a.k.fromReader(this.readAttribute(e,!1));case"esriFieldTypeTimestampOffset":case"timestamp-offset":return s.lY.fromReaderAsTimeStampOffset(this.readAttribute(e,!1));case"date":case"esriFieldTypeDate":return this.autocastArcadeDate(e,this.readAttribute(e,!0));default:return this.readAttribute(e,!1)}for(const r of this._joined)if(r.setIndex(this.getIndex()),t=r.fields.get(e),t)switch(t.type){case"date-only":case"esriFieldTypeDateOnly":return o.n.fromReader(r._readAttribute(e,!1));case"time-only":case"esriFieldTypeTimeOnly":return a.k.fromReader(r._readAttribute(e,!1));case"esriFieldTypeTimestampOffset":case"timestamp-offset":return s.lY.fromReaderAsTimeStampOffset(r._readAttribute(e,!1));case"date":case"esriFieldTypeDate":return this.autocastArcadeDate(e,r._readAttribute(e,!0));default:return this.readAttribute(e,!1)}throw new Error(`Field ${e} does not exist`)}setField(e,t){throw new Error("Unable to update feature attribute values, feature is readonly")}keys(){return this.fields.fields.map(e=>e.name)}isEmpty(){return this.fields.fields.length<=0&&null==this.geometry()}castToText(e=!1){if(!e)return JSON.stringify(this.readLegacyFeatureForDisplay());const t=this.readLegacyFeatureForDisplay();if(!t)return JSON.stringify(null);const r={geometry:t.geometry,attributes:{...t.attributes}};for(const e in r.attributes){const t=r.attributes[e];t instanceof Date&&(r.attributes[e]=t.getTime())}return JSON.stringify(r)}gdbVersion(){return null}fullSchema(){return this.metadata.arcadeSchema}castAsJson(e=null){return{attributes:this._readAttributes(),geometry:!0===e?.keepGeometryType?this.geometry():this.geometry()?.toJSON()??null}}castAsJsonAsync(e=null,t=null){return Promise.resolve(this.castAsJson(t))}_getExists(){if(this._overrides){const e=this.getObjectId();return!this._overrides.hasOverride(e)}return!0}_computeDisplayCentroid(e){if(null==this.getInTransform())return(0,_.Q)(new g.A,e,this.hasM,this.hasZ);const t=u.z.fromOptimized(e,this.geometryType);t.yFactor*=-1;const r=(0,d.d)(t);return r?(r[1]*=-1,new g.A([],r)):null}copyInto(e){e._joined=this._joined,e._overrides=this._overrides,e._objectIdToIndex=this._objectIdToIndex,e._boundsBuffer=this._boundsBuffer,e._activeCache=this._activeCache,e._caches=this._caches,e._contextTimeZone=this._contextTimeZone}_readLegacyGeometryWorldSpace(){const e=this.readGeometryWorldSpace();return(0,p.zv)(e,this.geometryType,!1,!1)}_createDeltaQuantizedGeometryFromServerCentroid(){const e=this._readServerCentroid();if(!e)return null;const[t,r]=e.coords;return this._createDeltaQuantizedExtrudedGeometry(t,r)}_createDeltaQuantizedExtrudedGeometry(e,t){return"esriGeometryPolyline"===this.geometryType?this._createDeltaQuantizedExtrudedLine(e,t):this._createDeltaQuantizedExtrudedQuad(e,t)}_createDeltaQuantizedExtrudedQuad(e,t){return new g.A([5],[e-1,t,1,-1,1,1,-1,1,-1,-1])}_createDeltaQuantizedExtrudedLine(e,t){return new g.A([2],[e-1,t+1,1,-1])}}}}]);
|
package/interfaces.d.ts
CHANGED
|
@@ -1074,8 +1074,8 @@ declare namespace __esri {
|
|
|
1074
1074
|
*/
|
|
1075
1075
|
readonly valid: boolean;
|
|
1076
1076
|
/**
|
|
1077
|
-
* The `ElevationProfileAnalysis` class enables programmatic creation and management of elevation profiles in both
|
|
1078
|
-
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html SceneView} and {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html MapView}.
|
|
1077
|
+
* The `ElevationProfileAnalysis` class enables programmatic creation and management of elevation profiles in both,
|
|
1078
|
+
* a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html SceneView} and a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html MapView}.
|
|
1079
1079
|
*
|
|
1080
1080
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-ElevationProfileAnalysis.html Read more...}
|
|
1081
1081
|
*/
|
|
@@ -53955,7 +53955,7 @@ declare namespace __esri {
|
|
|
53955
53955
|
*/
|
|
53956
53956
|
constructor(properties?: FieldsContentProperties);
|
|
53957
53957
|
/**
|
|
53958
|
-
* Array of {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-FieldInfo.html fieldInfos}.
|
|
53958
|
+
* Array of {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-FieldInfo.html `fieldInfos`}.
|
|
53959
53959
|
*
|
|
53960
53960
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-FieldsContent.html#fieldInfos Read more...}
|
|
53961
53961
|
*/
|
|
@@ -53993,7 +53993,7 @@ declare namespace __esri {
|
|
|
53993
53993
|
*/
|
|
53994
53994
|
description?: string | nullish;
|
|
53995
53995
|
/**
|
|
53996
|
-
* Array of {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-FieldInfo.html fieldInfos}.
|
|
53996
|
+
* Array of {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-FieldInfo.html `fieldInfos`}.
|
|
53997
53997
|
*
|
|
53998
53998
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-FieldsContent.html#fieldInfos Read more...}
|
|
53999
53999
|
*/
|
|
@@ -96954,13 +96954,13 @@ declare namespace __esri {
|
|
|
96954
96954
|
*/
|
|
96955
96955
|
readonly error: ElevationProfileError | nullish;
|
|
96956
96956
|
/**
|
|
96957
|
-
* Points
|
|
96957
|
+
* Points in the view that are computed from the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-ElevationProfileAnalysisView2D.html#hoveredPosition hoveredPosition} property (in the view's spatial reference).
|
|
96958
96958
|
*
|
|
96959
96959
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-ElevationProfileAnalysisView2D.html#hoveredPoints Read more...}
|
|
96960
96960
|
*/
|
|
96961
96961
|
readonly hoveredPoints: (Point | nullish)[];
|
|
96962
96962
|
/**
|
|
96963
|
-
* Property
|
|
96963
|
+
* Property that indicates a relative position along a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-analysis-ElevationProfile-ElevationProfileResult.html result's} profile line, in [0, 1].
|
|
96964
96964
|
*
|
|
96965
96965
|
* @default null
|
|
96966
96966
|
*
|
|
@@ -97733,13 +97733,13 @@ declare namespace __esri {
|
|
|
97733
97733
|
*/
|
|
97734
97734
|
readonly error: ElevationProfileError | nullish;
|
|
97735
97735
|
/**
|
|
97736
|
-
* Points
|
|
97736
|
+
* Points in the view that are computed from the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-ElevationProfileAnalysisView3D.html#hoveredPosition hoveredPosition} property (in the view's spatial reference).
|
|
97737
97737
|
*
|
|
97738
97738
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-ElevationProfileAnalysisView3D.html#hoveredPoints Read more...}
|
|
97739
97739
|
*/
|
|
97740
97740
|
readonly hoveredPoints: (Point | nullish)[];
|
|
97741
97741
|
/**
|
|
97742
|
-
* Property
|
|
97742
|
+
* Property that indicates a relative position along a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-analysis-ElevationProfile-ElevationProfileResult.html result's} profile line, in [0, 1].
|
|
97743
97743
|
*
|
|
97744
97744
|
* @default null
|
|
97745
97745
|
*
|
|
@@ -115859,7 +115859,7 @@ declare namespace __esri {
|
|
|
115859
115859
|
*/
|
|
115860
115860
|
label: string;
|
|
115861
115861
|
/**
|
|
115862
|
-
* Controls the speed of the daytime
|
|
115862
|
+
* Controls the speed of the daytime animation.
|
|
115863
115863
|
*
|
|
115864
115864
|
* @default 1.0
|
|
115865
115865
|
*
|
|
@@ -115930,7 +115930,7 @@ declare namespace __esri {
|
|
|
115930
115930
|
*/
|
|
115931
115931
|
label?: string;
|
|
115932
115932
|
/**
|
|
115933
|
-
* Controls the speed of the daytime
|
|
115933
|
+
* Controls the speed of the daytime animation.
|
|
115934
115934
|
*
|
|
115935
115935
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight.html#playSpeedMultiplier Read more...}
|
|
115936
115936
|
*/
|
|
@@ -115987,7 +115987,7 @@ declare namespace __esri {
|
|
|
115987
115987
|
*/
|
|
115988
115988
|
directShadowsEnabled: boolean;
|
|
115989
115989
|
/**
|
|
115990
|
-
* Controls the daytime
|
|
115990
|
+
* Controls the daytime animation speed.
|
|
115991
115991
|
*
|
|
115992
115992
|
* @default 1.0
|
|
115993
115993
|
*
|
|
@@ -116087,7 +116087,7 @@ declare namespace __esri {
|
|
|
116087
116087
|
*/
|
|
116088
116088
|
localDate?: DateProperties;
|
|
116089
116089
|
/**
|
|
116090
|
-
* Controls the daytime
|
|
116090
|
+
* Controls the daytime animation speed.
|
|
116091
116091
|
*
|
|
116092
116092
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight-DaylightViewModel.html#playSpeedMultiplier Read more...}
|
|
116093
116093
|
*/
|
package/kernel.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="4.34";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="4.34.
|
|
5
|
+
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="4.34";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="4.34.4",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{isArrayLike as e}from"../../../core/arrayUtils.js";import{deg2rad as t}from"../../../core/mathUtils.js";import{clone as a,zeros as r}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import i from"../../../geometry/Point.js";import{isElevationSource as n}from"../core/ElevationSourceDefinitions.js";import{rectifyMapPointPanoramic as o,rectifyMapPoint as c}from"./rectifyMapPoint.js";import{getWebMercatorScalingFactor as s,hasAngles as f,convertPixelToHeadingPitch as l,isElevationSampler as m,reducerFn as p,validatePixelsToTransform as h,validateRotationMatrix as u,computeFarplaneVertices as y,computeHFOVAndVFOV as d,vecToPoint as w,or as g,isUpdateElevationWithElevationSource as v,scaleAndAddWithFactor as x,computeNewReferenceCoordinates as M,projectiveTransform as R}from"./utils.js";import{worldToImage as A}from"./worldToImage.js";import{viewingLimit as P}from"../../../widgets/OrientedImageryViewer/constants.js";async function V(e,t,a){const{verticalFieldOfView:r,imageBoundaries:i,scalingFactor:n,farPlaneVertices:o,cameraLocation:c,pixelsToTransform:s,vecToPoint:f,pixelDepths:l}=S(e,t),m=new Array;return await j(s,o,i,f,t,m,c,n,r,a,l),Array.isArray(e)?m:m[0]}async function j(e,t,a,r,n,o,s,f,l,p
|
|
5
|
+
import{isArrayLike as e}from"../../../core/arrayUtils.js";import{deg2rad as t}from"../../../core/mathUtils.js";import{clone as a,zeros as r}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import i from"../../../geometry/Point.js";import{isElevationSource as n}from"../core/ElevationSourceDefinitions.js";import{rectifyMapPointPanoramic as o,rectifyMapPoint as c}from"./rectifyMapPoint.js";import{getWebMercatorScalingFactor as s,hasAngles as f,convertPixelToHeadingPitch as l,isElevationSampler as m,reducerFn as p,validatePixelsToTransform as h,validateRotationMatrix as u,computeFarplaneVertices as y,computeHFOVAndVFOV as d,vecToPoint as w,or as g,isUpdateElevationWithElevationSource as v,scaleAndAddWithFactor as x,computeNewReferenceCoordinates as M,projectiveTransform as R}from"./utils.js";import{worldToImage as A}from"./worldToImage.js";import{viewingLimit as P}from"../../../widgets/OrientedImageryViewer/constants.js";async function V(e,t,a){const{verticalFieldOfView:r,imageBoundaries:i,scalingFactor:n,farPlaneVertices:o,cameraLocation:c,pixelsToTransform:s,vecToPoint:f,pixelDepths:l}=S(e,t),m=new Array;return await j(s,o,i,f,t,m,c,n,r,a,l),Array.isArray(e)?m:m[0]}async function j(e,t,a,r,n,o,s,f,l,m,p){let h=n.averageElevation;const u=e.length;for(let y=0;y<u;y+=1){const u=e.at(y),d=L(t,a,u,r,n),w=p?.at(y);if("number"==typeof w){const e=F(d,s,f),t=w*f,a=[s[0]+e[0]*t,s[1]+e[1]*t,s[2]+e[2]*w];o.push(new i(a,n.cameraLocation.spatialReference));continue}if(m&&g("elevationSample"in m,v(m))){h=(await c(r(d),{x:u[0],y:u[1]},{...n,...m,farPlaneVertices:t.map(r)}))[2]}o.push(r(b(d,s,f,h,n.cameraPitch,l)))}}function F(e,t,a){const i=e[0]-t[0],n=e[1]-t[1],o=e[2]-t[2],c=Math.hypot(i,n)/a,s=Math.hypot(o,c)*a,f=r();return f[0]=i/s,f[1]=n/s,f[2]=o/s,f[2]=f[2]*a,f}function b(e,t,r,i,n,o){let c=a(e);const s=F(e,t,r);if(T(e[2],i,n,o)){const e=Math.abs((t[2]-i)/-s[2])*r;c=x(t,s,e,r)}else c[2]=i;return c}function T(e,t,a,r){return e<t||a+r/2<P}function L(e,t,a,r,i){let n=null;const o=9;let c,s=0,f=e,l=t;for(;s<=o;){const e=D(a,l,f,i);if(c=e.error,n=e.transformedPoint,g(c<=1,s===o))break;f=M(f,c,a,t),l=O(f,r,i),s++}return n}function O(e,t,a){return A(e.map(t),a).map(({x:e,y:t})=>[e,t,1])}function D(e,t,a,r){const{cameraLocation:n}=r,o=R(e,t,a),{x:c,y:s}=A(new i(o,n.spatialReference),r);return{transformedPoint:o,error:E(e,[c,s,1])}}function E(e,t){return Math.abs(e[0]-t[0])+Math.abs(e[1]-t[1])}function S(t,a){const r=e(t)||"items"in t?t:[t],{cameraLocation:n,rotationMatrix:o}=a;if(h(r,n),u(o),9!==o?.length)throw new Error("Rotation matrix is not provided or is not a valid 3x3 matrix");const c=s(n.y,n.spatialReference),f=y({...a,scalingFactor:c}),l=A(f.map(e=>new i(e,n.spatialReference)),a),{vfov:m}=d(a.horizontalFieldOfView,a.verticalFieldOfView,a.cameraRoll);return{cameraLocation:n.toArray(),imageBoundaries:l.map(({x:e,y:t})=>[e,t,1]),verticalFieldOfView:m,farPlaneVertices:f,scalingFactor:c,pixelsToTransform:r.map(e=>[e.x,e.y,1]),vecToPoint:w(n.spatialReference),pixelDepths:r.map(e=>B(e)?e.depth:void 0)}}function B(e){return"depth"in e&&"number"==typeof e.depth}async function H(e,a,r){const{cameraHeading:c,cameraLocation:h,farDistance:u,imageHeight:y,imageWidth:d,verticalFieldOfView:w}=a,g=s(h.y,h.spatialReference),v=u*g,x=new Array,[M,R,A]=h.toArray(),P=Array.isArray(e)?e:[e];for(const s of P){let e,P;const V=B(s),j=V?s.depth*g:v;if(f(s))e=s.heading,P=s.pitch;else{const t=l({x:s.x,y:s.y},d,y);e=t.heading,P=t.pitch}e=(e+c)%360;const F=[M+Math.sin(t(e))*Math.sin(t(P))*j,R+Math.cos(t(e))*Math.sin(t(P))*j,A+-Math.cos(t(P))*(V?s.depth:u)];if(V){x.push(new i(F,h.spatialReference));continue}let T=a.averageElevation;if(r&&(n(r)||m(r.elevationSample))){T=(await o(new i(F,h.spatialReference),{heading:e,pitch:P},{...a,...r,farPlaneVertices:p(u,u).map(([e,t])=>new i([h.x+e,h.y+t],h.spatialReference))}))[2]}x.push(new i(b(F,h.toArray(),g,T,P,w),h.spatialReference))}return Array.isArray(e)?x:x[0]}export{V as imageToWorld,H as imageToWorldPanoramic};
|
package/package.json
CHANGED
package/support/revision.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const d="
|
|
5
|
+
const d="20251027",c="26599f343444df08e98f820ddc479c2553d14403";export{d as buildDate,c as commitHash};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{Technique as t}from"../Technique.js";import{TextureStatisticsTechnique as i}from"../TextureStatisticsTechnique.js";import{getInterpolationDefines as s}from"./processor/textureUtils.js";import{RasterColorizerLUTShader as o}from"../shaders/raster/RasterColorizerLUTShader.js";import{RasterColorizerShadedReliefShader as r}from"../shaders/raster/RasterColorizerShadedReliefShader.js";import{RasterColorizerStretchShader as n}from"../shaders/raster/RasterColorizerStretchShader.js";import{SizedPixelFormat as a,PixelType as u}from"../../../../../../webgl/enums.js";import{FramebufferObject as c}from"../../../../../../webgl/FramebufferObject.js";import{Texture as m}from"../../../../../../webgl/Texture.js";import{TextureDescriptor as l}from"../../../../../../webgl/TextureDescriptor.js";
|
|
5
|
+
import has from"../../../../../../../core/has.js";import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{Technique as t}from"../Technique.js";import{TextureStatisticsTechnique as i}from"../TextureStatisticsTechnique.js";import{getInterpolationDefines as s}from"./processor/textureUtils.js";import{RasterColorizerLUTShader as o}from"../shaders/raster/RasterColorizerLUTShader.js";import{RasterColorizerShadedReliefShader as r}from"../shaders/raster/RasterColorizerShadedReliefShader.js";import{RasterColorizerStretchShader as n}from"../shaders/raster/RasterColorizerStretchShader.js";import{SizedPixelFormat as a,PixelType as u}from"../../../../../../webgl/enums.js";import{FramebufferObject as c}from"../../../../../../webgl/FramebufferObject.js";import{Texture as m}from"../../../../../../webgl/Texture.js";import{TextureDescriptor as l}from"../../../../../../webgl/TextureDescriptor.js";const h=160,p=new Set(["f32","f64","u16","s16","u32","s32"]);class f extends t{constructor(){super(...arguments),this.name="BrushRasterColorizer",this.type=0,this.shaders={lut:new o,stretch:new n,shadedRelief:new r},this._mosaicFbo=null,this._statisticsTechnique=null,this._draTimer=0}shutdown(t){super.shutdown(t),this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique)}render(t,i){const s=i.bitmaps.some(g);s||(this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique));const o=s?this._computeStatisticsTextures(t,i):void 0;for(const e of i.bitmaps){if(!e.source||e.suspended)continue;t.timeline.begin(this.name);const{painter:i}=t;i.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}}),e.updateTexture(t),e.updateProcessedTexture();const{type:s}=e.symbolizerParameters,r="stretch"===s?this._getStretchOptions(e,o):"lut"===s?this._getLutOptions(e):this._getShadedReliefOptions(e);"bilinear"!==e.interpolation||t.context.capabilities.textureFloatLinear||(r.defines.bilinear=!0),i.submitDrawMesh(t.context,r,i.quadMesh,e),t.timeline.end(this.name)}}_computeStatisticsTextures(e,t){this._statisticsTechnique??=new i;const s=this._statisticsTechnique;let o=has("esri-2d-dra-delay");if(null==o){const e=t.bitmaps.find(g),{stretchType:i,bandCount:s}=e.symbolizerParameters,{pixelType:r}=e.source;"minMax"===i&&s>=3&&p.has(r)&&(o=h)}if(o){const i=performance.now();(i-this._draTimer>=o||e.stationary||!s.minValuesTexture)&&(this._mosaic(e,t),s.render(e,{fbo:this._mosaicFbo}),this._draTimer=i)}else this._mosaic(e,t),s.render(e,{fbo:this._mosaicFbo});return{minTexture:s.minValuesTexture,maxTexture:s.maxValuesTexture,meanTexture:s.meanValuesTexture,stddevTexture:s.stdDevValuesTexture}}_mosaic(e,t){const{context:i,painter:s}=e,o=i.getBoundFramebufferObject();if(this._mosaicFbo)this._mosaicFbo.resize(o.width,o.height);else{const e=d(i,o.width,o.height);this._mosaicFbo=new c(i,e)}i.bindFramebuffer(this._mosaicFbo);const r="RasterColorizerMosaic";for(const n of t.bitmaps){if(!g(n))continue;e.timeline.begin(r),s.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}});const t=n.interpolation;n.interpolation="nearest",n.updateTexture(e),n.updateProcessedTexture();const i=this._getStretchOptions(n);i.defines.noOp=!0,s.submitDrawMesh(e.context,i,s.quadMesh,n),n.interpolation=t,e.timeline.end(r)}i.bindFramebuffer(o)}_getLutOptions(e){const{config:t,projectionConfig:i,colormapConfig:o,pixelMaskConfig:r,highlightConfig:n,projectionDefines:a}=this._getCommonConfig(e),u=s(e);return{shader:this.shaders.lut,uniforms:{projectionConfig:i,config:t,colormapConfig:o,pixelMaskConfig:r,highlightConfig:n},defines:{...a,...u,applyPixelMask:!!r,applyPixelHighlights:!!n},optionalAttributes:null,useComputeBuffer:!1}}_getStretchOptions(e,t){const i=e.symbolizerParameters,{config:o,projectionConfig:r,colormapConfig:n,pixelMaskConfig:a,highlightConfig:u,projectionDefines:c,textureUnit:m}=this._getCommonConfig(e),l=s(e),h=t?{minTexture:{texture:t.minTexture,unit:m},maxTexture:{texture:t.maxTexture,unit:m+1},meanTexture:{texture:t.meanTexture,unit:m+2},stddevTexture:{texture:t.stddevTexture,unit:m+3},numberOfStandardDeviations:i.numberOfStandardDeviations||2}:void 0,p=t?"standardDeviation"===i.stretchType?2:1:0;return{shader:this.shaders.stretch,uniforms:{projectionConfig:r,config:o,stretchConfig:i,colormapConfig:n,pixelMaskConfig:a,highlightConfig:u,statisticsConfig:h},defines:{...c,...l,isMultiband:i.bandCount>1,applyColormap:!!n,useGamma:i.useGamma,noOp:e.isRendereredSource&&!e.processed,applyPixelMask:!!a,applyPixelHighlights:!!u,draStretchType:p},optionalAttributes:null,useComputeBuffer:!1}}_getShadedReliefOptions(e){const t=e.symbolizerParameters,{config:i,projectionConfig:o,colormapConfig:r,pixelMaskConfig:n,highlightConfig:a,projectionDefines:u}=this._getCommonConfig(e),c=s(e);return{shader:this.shaders.shadedRelief,uniforms:{projectionConfig:o,config:i,hillshadeConfig:t,colormapConfig:r,pixelMaskConfig:n,highlightConfig:a},defines:{...u,...c,isMultidirectional:t.hillshadeType>0,applyColormap:!!r,applyPixelMask:!!n,applyPixelHighlights:!!a},optionalAttributes:null,useComputeBuffer:!1}}_getCommonConfig(e){const{coordScale:t,computedOpacity:i,transforms:s}=e,{names:o,textures:r}=e.getTextures({useProcessedTexture:e.processed}),n=r[o.indexOf("u_image")],a=e.getRasterTextureSize();let u=0;const c={texture:{texture:n,unit:u++},dvsMat3:s.displayViewScreenMat3,coordScale:t,srcImageSize:a,opacity:i},m=r[o.indexOf("u_transformGrid")],{transformGrid:l}=e,h=!(!m||!l),p=h?{transformTexture:{texture:m,unit:u++},targetImageSize:[e.width,e.height],transformSpacing:l.spacing,transformGridSize:l.size}:void 0,f=r[o.indexOf("u_colormap")],{colormap:d,colormapOffset:g}=e.symbolizerParameters,x=f&&d?{colormapTexture:{texture:f,unit:u++},colormapOffset:g??0,colormapMaxIndex:d.length/4-1}:void 0,T=r[o.indexOf("u_mask")],b=T?{maskTexture:{texture:T,unit:u++}}:void 0,{highlightTexture:C}=e;return{config:c,projectionConfig:p,colormapConfig:x,pixelMaskConfig:b,highlightConfig:C?{highlightTexture:{texture:C,unit:u++}}:void 0,projectionDefines:{applyProjection:h,lookupProjection:h&&1===l.spacing[0]},textureUnit:u}}}function d(e,t,i){const s=new l(t,i);return s.internalFormat=a.RGBA32F,s.samplingMode=9728,s.dataType=u.FLOAT,s.wrapMode=33071,new m(e,s)}function g(e){return!e.suspended&&null!=e.source&&!e.isRendereredSource&&"stretch"===e.symbolizerParameters.type&&!!e.symbolizerParameters.dynamicRangeAdjustment}export{f as RasterColorizerTechnique};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{isSome as t}from"../../../../../core/arrayUtils.js";import e from"../../../../../core/Logger.js";import{assertIsSome as s}from"../../../../../core/maybe.js";import{isLoaded as r,load as i,execute as a}from"../../../../../geometry/operators/gx/operatorGeodeticDensify.js";import{geodeticCurveType as o}from"../../../../../geometry/operators/support/geodeticCurveType.js";import{intersectsWithMargin as n,fromValues as l,intersects as c,empty as d,expandPointInPlace as u}from"../../../../../geometry/support/aaBoundingRect.js";import{getClosestDenormalizedXToReference as h}from"../../../../../geometry/support/normalizeUtils.js";import{normalizeCentralMeridianForDisplay as p}from"../../../../../geometry/support/normalizeUtilsSync.js";import{quantizeOptimizedGeometry as m,convertToGeometry as f,convertFromNestedArray as b}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as _}from"../../../../../layers/graphics/OptimizedFeature.js";import g from"../../../../../layers/graphics/OptimizedGeometry.js";import{internalTrackPartField as y,externalTrackLineOidPrefix as I,internalTimeReceivedField as v}from"../../../../../layers/support/streamLayerUtils.js";import{tileSize as k}from"../../../engine/webgl/definitions.js";import{AccumulatedStatistics as F}from"../aggregation/AccumulatedStatistics.js";import{ComputedAggregateField as O}from"../aggregation/ComputedAggregateField.js";import{AAggregateStrategy as j}from"./AAggregateStrategy.js";import{ASendState as x}from"./AProcessorStrategy.js";import{FeatureTileAppendMessage as S}from"../sources/FeatureSourceMessage.js";import{createArcadeEvaluationOptions as T}from"../support/arcadeUtils.js";import{ComputedAttributeStorage as R}from"../support/ComputedAttributeStorage.js";import D from"../support/FeatureFilterEvaluator.js";import{FeatureMetadata as w}from"../support/FeatureMetadata.js";import{FeatureSetReaderIndirect as L}from"../support/FeatureSetReaderIndirect.js";import{FeatureSetReaderJSON as A}from"../support/FeatureSetReaderJSON.js";let G;const C=()=>e.getLogger("esri.views.2d.layers.features.processor.TrackStrategy"),P=32;class W{constructor(t,e,s,r,i){this.chunkIndex=t,this.featureIndex=e,this.objectId=s,this.displayId=r,this.time=i}}class z{static getOid(t){return I+t}constructor(t,e,s,r,i,a,o,n){this._schema=t,this.trackId=e,this.objectId=s,this.displayId=r,this._fields=i,this._spatialReference=a,this._metadata=o,this._isStream=n,this._maxDisplayDuration=this._schema.maxDisplayDuration>0?this._schema.maxDisplayDuration:1/0,this._maxDisplayObservationsPerTrack=this._schema.maxDisplayObservationsPerTrack>=1?this._schema.maxDisplayObservationsPerTrack:1/0,this._observationRecords=[],this._nextObservationRecords=[],this._trackLinePath=[],this._bounds=[],this._trackLineGeometry=new g}get _trackLineAttributes(){const t={...this._latestObservationFeature?.attributes,aggregateId:this.objectId,[y]:0};if(null!=this._statistics)for(const e of this._statistics.values())t[e.field.name]=e.value;return t}get _startTimeField(){return this._metadata.timeInfo?.startTimeField}get length(){return this._observationRecords.length}*observations(){yield*this._observationRecords}*previousObservations(){for(let t=0;t<this._observationRecords.length-1;t++)yield this._observationRecords[t]}get latestObservationFeature(){return this._latestObservationFeature}get latestObservationRecord(){return this._latestObservationRecord}stageObservation(t,e){this._nextObservationRecords.push(new W(t,e.getIndex(),e.getObjectId(),e.getDisplayId(),null!=this._startTimeField?e.readAttributeAsTimestamp(this._startTimeField):null))}commitObservations(t,e,r){const i=new Set(this._nextObservationRecords.map(t=>t.objectId)),a=this._observationRecords.filter(t=>!i.has(t.objectId)).map(t=>t.objectId);let o,n;switch(this._observationRecords=[],this._trackLinePath=[],this._isStream||null==this._startTimeField||this._nextObservationRecords.sort((t,e)=>{const s=t.time,r=e.time;return null!=s&&null!=r?s-r:0}),this._schema.timeField){case"startTimeField":o=this._metadata.timeInfo?.startTimeField;break;case"endTimeField":o=this._metadata.timeInfo?.endTimeField;break;case"timeReceived":o=this._isStream?v:null}n=this._isStream?r?.end??Date.now():r?.end??-1/0;const l=e.map(t=>t.reader.getCursor());let c;for(let d=this._nextObservationRecords.length-1;d>=0&&!(this._observationRecords.length>=this._maxDisplayObservationsPerTrack);d--){const t=this._nextObservationRecords[d],e=l[t.chunkIndex];s(e),e.setIndex(t.featureIndex);const r=null!=o?e.readAttributeAsTimestamp(o):null;(null!=r?n-r:0)>=this._maxDisplayDuration||(this._commitObservation(t,e),c??=t)}if(null!=c){const{chunkIndex:e,featureIndex:r}=c,i=`${c.objectId}.latest`,o=t.createDisplayIdForObjectId(i),n=l[e];s(n),n.setIndex(r);const d=new _(n.readGeometryWorldSpace(),{...n.readAttributes(),[y]:1},null,i,o);this._latestObservationFeature&&a.push(this._latestObservationFeature.objectId),this._latestObservationFeature=d,this._latestObservationRecord=c}else this._latestObservationFeature=null;return this._trackLineGeometry=q(this._trackLineGeometry,this._trackLinePath,this._spatialReference),this._bounds=N(this._trackLineGeometry),this._nextObservationRecords=[],a}updateStatistics(t,e){this._statistics=F.create(this._fields);const r=t.map(t=>t.reader.getCursor());for(const{chunkIndex:i,featureIndex:a}of this._observationRecords){const t=r[i];s(t),t.setIndex(a),this._statistics.insert(t,e)}}overlapsTile(t){for(const e of this._bounds)if(n(e,t.bounds,P))return!0;return!1}getLatestObservationFeatureForTile(t){if(null==this._latestObservationFeature)return null;const{objectId:e,displayId:s,geometry:r,attributes:i}=this._latestObservationFeature,a=new g;m(a,r,!1,!1,this._metadata.geometryType,t.subscription.tile.transform);const o=l(1/0,1/0,-1/0,-1/0);E(a,(t,e)=>u(o,[t,e]));if(!c(o,l(0,0,k,k)))return null;return new _(a,i,null,e,s)}getTrackLineFeatureForTile(t){const e=new g;m(e,this._trackLineGeometry,!1,!1,"esriGeometryPolyline",t.subscription.tile.transform);return new _(e,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineOptimizedFeature(){return new _(this._trackLineGeometry,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineDisplayFeature(){const{_trackLineGeometry:t,_trackLineAttributes:e,displayId:s}=this;return{geometry:f(t,"esriGeometryPolyline",!1,!1),attributes:e,displayId:s}}_commitObservation(t,e){const s=e.readCentroidWorldSpace();let r=s?.coords[0],i=s?.coords[1];null==s&&(r=e.readXWorldSpace(),i=e.readYWorldSpace()),null!=r&&null!=i&&(this._observationRecords.unshift(t),this._trackLinePath.unshift([r,i]))}}class M extends x{constructor(t){super(t),this.done=!1}}class U extends j{static async create(t,e,s,a,o){const n=e.metadata.outSpatialReference,l=new R({spatialReference:n}),c=await Promise.all(t.fields.map(async t=>O.create(l,t))),d=t.featureFilter?await D.create({geometryType:e.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:e.metadata.timeInfo,fieldsIndex:e.metadata.fieldsIndex,spatialReference:n,filterJSON:t.featureFilter}):null;return n.isWrappable||r()||await Promise.all([import("../../../../../geometry/operators/support/apiConverter.js"),import("../../../../../geometry/operators/support/jsonConverter.js"),i()]).then(([t,e,s])=>{G={fromGeometryToGXGeometry:e.fromGeometryToGXGeometry,toGeometry:e.toGeometry,fromSpatialReference:t.fromSpatialReference}}),new U(t,e,s,n,c,d,a,o)}constructor(t,e,s,r,i,a,o,n){super(e,s,r,i,n),this._schema=t,this._featureFilter=a,this._arcadeContextInfo=o,this._tracks=new Map,this._handledChunks=new Set,this._metadata=e.metadata.weakCloneWithAdditionalFields([{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"}]),this._trackLineMetadata=w.createFeature({geometryType:"esriGeometryPolyline",featureIdInfo:{type:"object-id",fieldName:"aggregateId"},fieldsIndex:{fields:[...this._source.metadata.fieldsIndex.fields,...this.aggregateFields,{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"},{name:"aggregateId",alias:"aggregateId",type:"esriFieldTypeOID"}],timeZoneByFieldName:null},globalIdField:null,spatialReference:e.metadata.spatialReference,outSpatialReference:e.metadata.outSpatialReference,subtypeField:null,subtypes:null,timeInfo:e.metadata.timeInfo,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}destroy(){super.destroy();for(const t of this._tracks.values())this._removeTrack(t);this._tracks.clear()}get _isStream(){return this._source.isStream}get enablePixelBuffering(){return!0}get isAggregate(){return!1}requiresInvalidation(){return!0}invalidate(){this._handledChunks.clear(),super.invalidate()}createState(t){return new M(t)}async*applyOverrideUpdate(t){C().error("Applying override to tracks is not supported")}displayMap(t,e,s){const r=new Map(t.map(t=>[e(t),t])),i=[];for(const a of this._tracks.values()){const t=r.get(a.objectId);if(null!=t){const e=s(a.displayId,t,a.objectId);i.push(e),r.delete(a.objectId);continue}const e=a.latestObservationFeature;if(e?.objectId){const t=r.get(e.objectId);if(null!=t){const a=s(e.displayId,t,e.objectId);i.push(a),r.delete(e.objectId);continue}}for(const o of a.observations()){const t=r.get(o.objectId);if(null!=t){const e=s(o.displayId,t,o.objectId);i.push(e),r.delete(o.objectId)}}}return i}getDisplayFeatures(t){const e=new Set(t),s=[],r=[],i=this._source.chunks().map(t=>t.reader.getCursor());for(const a of this._tracks.values()){if(e.has(a.displayId)&&r.push(a.getTrackLineDisplayFeature()),null!=a.latestObservationFeature&&e.has(a.latestObservationFeature.displayId)){const{displayId:t,chunkIndex:e,featureIndex:r}=a.latestObservationRecord,o=i[e];o.setIndex(r),s.push({displayId:t,...o.readLegacyFeatureWorldSpace()})}for(const{displayId:t,chunkIndex:r,featureIndex:o}of a.observations())if(e.has(t)){const e=i[r];e.setIndex(o),s.push({displayId:t,...e.readLegacyFeatureWorldSpace()})}}return{features:s,aggregates:[],tracks:r}}getFeatureObjectIdsForAggregate(t){for(const e of this._tracks.values())if(e.objectId===t)return Array.from(e.observations(),t=>t.objectId);return[]}async*updateChunks(){0===this._handledChunks.size&&this._rebuildTracks();for(const t of this._sendStates.values())yield*this._update(t)}forEachAggregateWorldSpace(t){for(const e of this._tracks.values())t(e.getTrackLineOptimizedFeature())}_rebuildTracks(){const t=this._source.chunks();if(!t.length)return;const e=this._metadata.timeInfo?.trackIdField;if(null==e)return;const s=new Set;for(let r=0;r<t.length;r++){const i=t[r];this._handledChunks.add(i.chunkId);const a=i.reader.getCursor();for(;a.next();){const t=a.readAttribute(e),i=a.getObjectId();if(null!=t&&null!=i&&(null===this._featureFilter||this._featureFilter.check(a,this._sqlOptions))){if(a.getDisplayId()||a.setDisplayId(this._attributeStore.createDisplayIdForObjectId(i)),!this._tracks.has(t)){const e=z.getOid(t),s=this._attributeStore.createDisplayIdForObjectId(e),r=new z(this._schema,t,e,s,this.aggregateFields,this.spatialReference,this._source.metadata,this._isStream);this._tracks.set(t,r)}this._tracks.get(t).stageObservation(r,a),s.add(t)}}}for(const r of this._tracks.values())if(s.has(r.trackId)){const e=r.commitObservations(this._attributeStore,t,this._featureFilter?.timeExtent);for(const t of e)this._attributeStore.releaseDisplayIdForObjectId(t);r.updateStatistics(t,T(1,this._arcadeContextInfo))}else this._removeTrack(r)}_removeTrack(t){this._tracks.delete(t.trackId),this._attributeStore.releaseDisplayIdForObjectId(t.objectId);for(const{objectId:e}of t.observations())this._attributeStore.releaseDisplayIdForObjectId(e);null!=t.latestObservationFeature&&this._attributeStore.releaseDisplayIdForObjectId(t.latestObservationFeature.objectId)}*_update(e){if(e.done)return;e.done=!this._source.updateTracking.updating;const s=[],r=[];for(const t of this._tracks.values())if(t.length>0){if(this._schema.showLatestObservation){const r=t.getLatestObservationFeatureForTile(e);null!=r&&s.push(r)}this._schema.showTrackLine&&t.overlapsTile(e.subscription.tile)&&r.push(t.getTrackLineFeatureForTile(e))}const i=A.fromOptimizedFeatures(s,this._metadata,e.subscription.tile.transform),a=A.fromOptimizedFeatures(r,this._trackLineMetadata,e.subscription.tile.transform);let o=[];if(this._schema.showPreviousObservations){const s=this._source.chunks().map(()=>[]);for(const t of this._tracks.values())for(const{chunkIndex:e,featureIndex:r}of t.previousObservations())s[e].push(r);o=this._source.chunks().map((t,r)=>{const i=t.getTileReader(e.subscription.tile);if(null==i)return null;const a=L.from(i,s[r]);return a.setProcessorAttributes({[y]:2}),"esriGeometryPoint"!==a.geometryType&&null!=a.getInTransform()||a.setTransformForDisplay(e.subscription.tile.transform),a}).filter(t)}this.events.emit("changed");const n=e.subscription.tile.createArcadeEvaluationOptions(this._arcadeContextInfo),l=a.getCursor();for(;l.next();)this._attributeStore.setAttributeData(l.getDisplayId(),l,n,this._sqlOptions);for(const t of o){const e=t.getCursor();for(;e.next();)this._attributeStore.setAttributeData(e.getDisplayId(),e,n,this._sqlOptions)}const c=i.getCursor();for(;c.next();)this._attributeStore.setAttributeData(c.getDisplayId(),c,n,this._sqlOptions);yield new S(e.subscription,a,!1,!1,{});for(const t of o)yield new S(e.subscription,t,!1,!1,{});yield new S(e.subscription,i,!1,e.done,{})}}function q(t,e,s){if(e.length<2)return b(t,[e],!1,!1);if(s.isWrappable){let r=!1;for(let t=1;t<e.length;t++){const i=e[t][0],a=h(i,e[t-1][0],s);i!==a&&(e[t][0]=a,r=!0)}if(r){const r=p({paths:[e],spatialReference:s});if(null!=r)return b(t,r.paths,!1,!1)}return b(t,[e],!1,!1)}const r=G.fromGeometryToGXGeometry({hasM:!1,hasZ:!1,paths:[e]}),i=G.fromSpatialReference(s);if(null!=i){const e=a(r,1e6,i,o.geodesic);if(null!=e){const s=G.toGeometry(e,i);if(null!=s&&"paths"in s)return b(t,s.paths,!1,!1)}}return b(t,[e],!1,!1)}function E(t,e){const s=2,{coords:r,lengths:i}=t;if(!i.length)return void e(r[0],r[1]);let a=0;for(let o=0;o<i.length;o++){const t=i[o];let n=0,l=0;for(let i=0;i<t;i++)n+=r[s*(i+a)],l+=r[s*(i+a)+1],e(n,l);a+=t}}function N(t){const{lengths:e,coords:s}=t,r=2;if(!e.length)return[d()];const i=[];let a=0;for(let o=0;o<e.length;o++){const t=e[o],n=d();i.push(n);for(let e=0;e<t;e++){const t=s[r*(e+a)],i=s[r*(e+a)+1];u(n,[t,i])}a+=t}return i}export{U as TrackStrategy};
|
|
5
|
+
import{isSome as t}from"../../../../../core/arrayUtils.js";import e from"../../../../../core/Logger.js";import{assertIsSome as s}from"../../../../../core/maybe.js";import{isLoaded as r,load as i,execute as a}from"../../../../../geometry/operators/gx/operatorGeodeticDensify.js";import{geodeticCurveType as o}from"../../../../../geometry/operators/support/geodeticCurveType.js";import{intersectsWithMargin as n,fromValues as l,intersects as c,empty as d,expandPointInPlace as u}from"../../../../../geometry/support/aaBoundingRect.js";import{getClosestDenormalizedXToReference as h}from"../../../../../geometry/support/normalizeUtils.js";import{normalizeCentralMeridianForDisplay as p}from"../../../../../geometry/support/normalizeUtilsSync.js";import{quantizeOptimizedGeometry as m,convertToGeometry as f,convertFromNestedArray as _}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as b}from"../../../../../layers/graphics/OptimizedFeature.js";import g from"../../../../../layers/graphics/OptimizedGeometry.js";import{internalTrackPartField as y,externalTrackLineOidPrefix as I,internalTimeReceivedField as v}from"../../../../../layers/support/streamLayerUtils.js";import{tileSize as k}from"../../../engine/webgl/definitions.js";import{AccumulatedStatistics as F}from"../aggregation/AccumulatedStatistics.js";import{ComputedAggregateField as O}from"../aggregation/ComputedAggregateField.js";import{AAggregateStrategy as j}from"./AAggregateStrategy.js";import{ASendState as x}from"./AProcessorStrategy.js";import{FeatureTileAppendMessage as S}from"../sources/FeatureSourceMessage.js";import{createArcadeEvaluationOptions as T}from"../support/arcadeUtils.js";import{ComputedAttributeStorage as R}from"../support/ComputedAttributeStorage.js";import D from"../support/FeatureFilterEvaluator.js";import{FeatureMetadata as w}from"../support/FeatureMetadata.js";import{FeatureSetReaderIndirect as L}from"../support/FeatureSetReaderIndirect.js";import{FeatureSetReaderJSON as A}from"../support/FeatureSetReaderJSON.js";let C;const G=()=>e.getLogger("esri.views.2d.layers.features.processor.TrackStrategy"),P=32;class W{constructor(t,e,s,r,i){this.chunkIndex=t,this.featureIndex=e,this.objectId=s,this.displayId=r,this.time=i}}class z{static getOid(t){return I+t}constructor(t,e,s,r,i,a,o,n){this._schema=t,this.trackId=e,this.objectId=s,this.displayId=r,this._fields=i,this._spatialReference=a,this._metadata=o,this._isStream=n,this._maxDisplayDuration=this._schema.maxDisplayDuration>0?this._schema.maxDisplayDuration:1/0,this._maxDisplayObservationsPerTrack=this._schema.maxDisplayObservationsPerTrack>=1?this._schema.maxDisplayObservationsPerTrack:1/0,this._observationRecords=[],this._nextObservationRecords=[],this._trackLinePath=[],this._bounds=[],this._trackLineGeometry=new g}get _trackLineAttributes(){const t={...this._latestObservationFeature?.attributes,aggregateId:this.objectId,[y]:0};if(null!=this._statistics)for(const e of this._statistics.values())t[e.field.name]=e.value;return t}get _startTimeField(){return this._metadata.timeInfo?.startTimeField}get length(){return this._observationRecords.length}*observations(){yield*this._observationRecords}*previousObservations(){for(let t=0;t<this._observationRecords.length-1;t++)yield this._observationRecords[t]}get latestObservationFeature(){return this._latestObservationFeature}get latestObservationRecord(){return this._latestObservationRecord}stageObservation(t,e){this._nextObservationRecords.push(new W(t,e.getIndex(),e.getObjectId(),e.getDisplayId(),null!=this._startTimeField?e.readAttributeAsTimestamp(this._startTimeField):null))}commitObservations(t,e,r){const i=new Set(this._nextObservationRecords.map(t=>t.objectId)),a=this._observationRecords.filter(t=>!i.has(t.objectId)).map(t=>t.objectId);let o,n;switch(this._observationRecords=[],this._trackLinePath=[],this._isStream||null==this._startTimeField||this._nextObservationRecords.sort((t,e)=>{const s=t.time,r=e.time;return null!=s&&null!=r?s-r:0}),this._schema.timeField){case"startTimeField":o=this._metadata.timeInfo?.startTimeField;break;case"endTimeField":o=this._metadata.timeInfo?.endTimeField;break;case"timeReceived":o=this._isStream?v:null}n=this._isStream?r?.end??Date.now():r?.end??-1/0;const l=e.map(t=>t.reader.getCursor());let c;for(let d=this._nextObservationRecords.length-1;d>=0&&!(this._observationRecords.length>=this._maxDisplayObservationsPerTrack);d--){const t=this._nextObservationRecords[d],e=l[t.chunkIndex];s(e),e.setIndex(t.featureIndex);const r=null!=o?e.readAttributeAsTimestamp(o):null;(null!=r?n-r:0)>=this._maxDisplayDuration||(this._commitObservation(t,e),c??=t)}if(null!=c){const{chunkIndex:e,featureIndex:r}=c,i=`${c.objectId}.latest`,o=t.createDisplayIdForObjectId(i),n=l[e];s(n),n.setIndex(r);const d=new b(n.readGeometryWorldSpace(),{...n.readAttributes(),[y]:1},null,i,o);this._latestObservationFeature&&a.push(this._latestObservationFeature.objectId),this._latestObservationFeature=d,this._latestObservationRecord=c}else this._latestObservationFeature=null;return this._trackLineGeometry=q(this._trackLineGeometry,this._trackLinePath,this._spatialReference),this._bounds=N(this._trackLineGeometry),this._nextObservationRecords=[],a}updateStatistics(t,e){this._statistics=F.create(this._fields);const r=t.map(t=>t.reader.getCursor());for(const{chunkIndex:i,featureIndex:a}of this._observationRecords){const t=r[i];s(t),t.setIndex(a),this._statistics.insert(t,e)}}overlapsTile(t){for(const e of this._bounds)if(n(e,t.bounds,P))return!0;return!1}getLatestObservationFeatureForTile(t){if(null==this._latestObservationFeature)return null;const{objectId:e,displayId:s,geometry:r,attributes:i}=this._latestObservationFeature,a=new g;m(a,r,!1,!1,this._metadata.geometryType,t.subscription.tile.transform);const o=l(1/0,1/0,-1/0,-1/0);E(a,(t,e)=>u(o,[t,e]));if(!c(o,l(0,0,k,k)))return null;return new b(a,i,null,e,s)}getTrackLineFeatureForTile(t){const e=new g;m(e,this._trackLineGeometry,!1,!1,"esriGeometryPolyline",t.subscription.tile.transform);return new b(e,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineOptimizedFeature(){return new b(this._trackLineGeometry,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineDisplayFeature(){const{_trackLineGeometry:t,_trackLineAttributes:e,displayId:s}=this;return{geometry:f(t,"esriGeometryPolyline",!1,!1),attributes:e,displayId:s}}_commitObservation(t,e){const s=e.readCentroidWorldSpace();let r=s?.coords[0],i=s?.coords[1];null==s&&(r=e.readXWorldSpace(),i=e.readYWorldSpace()),null!=r&&null!=i&&(this._observationRecords.unshift(t),this._trackLinePath.unshift([r,i]))}}class M extends x{constructor(t){super(t),this.done=!1}}class U extends j{static async create(t,e,s,a,o){const n=e.metadata.outSpatialReference,l=new R({spatialReference:n}),c=await Promise.all(t.fields.map(async t=>O.create(l,t))),d=t.featureFilter?await D.create({geometryType:e.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:e.metadata.timeInfo,fieldsIndex:e.metadata.fieldsIndex,spatialReference:n,filterJSON:t.featureFilter}):null;return n.isWrappable||r()||await Promise.all([import("../../../../../geometry/operators/support/apiConverter.js"),import("../../../../../geometry/operators/support/jsonConverter.js"),i()]).then(([t,e,s])=>{C={fromGeometryToGXGeometry:e.fromGeometryToGXGeometry,toGeometry:e.toGeometry,fromSpatialReference:t.fromSpatialReference}}),new U(t,e,s,n,c,d,a,o)}constructor(t,e,s,r,i,a,o,n){super(e,s,r,i,n),this._schema=t,this._featureFilter=a,this._arcadeContextInfo=o,this._tracks=new Map,this._handledChunks=new Set,this._metadata=e.metadata.weakCloneWithAdditionalFields([{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"}]),this._trackLineMetadata=w.createFeature({geometryType:"esriGeometryPolyline",featureIdInfo:{type:"object-id",fieldName:"aggregateId"},fieldsIndex:{fields:[...this._source.metadata.fieldsIndex.fields,...this.aggregateFields,{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"},{name:"aggregateId",alias:"aggregateId",type:"esriFieldTypeOID"}],timeZoneByFieldName:null},globalIdField:null,spatialReference:e.metadata.spatialReference,outSpatialReference:e.metadata.outSpatialReference,subtypeField:null,subtypes:null,timeInfo:e.metadata.timeInfo,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}destroy(){super.destroy(),this._clear()}get _isStream(){return this._source.isStream}get enablePixelBuffering(){return!0}get isAggregate(){return!1}requiresInvalidation(){return!0}invalidate(){super.invalidate(),this._clear()}createState(t){return new M(t)}async*applyOverrideUpdate(t){G().error("Applying override to tracks is not supported")}displayMap(t,e,s){const r=new Map(t.map(t=>[e(t),t])),i=[];for(const a of this._tracks.values()){const t=r.get(a.objectId);if(null!=t){const e=s(a.displayId,t,a.objectId);i.push(e),r.delete(a.objectId);continue}const e=a.latestObservationFeature;if(e?.objectId){const t=r.get(e.objectId);if(null!=t){const a=s(e.displayId,t,e.objectId);i.push(a),r.delete(e.objectId);continue}}for(const o of a.observations()){const t=r.get(o.objectId);if(null!=t){const e=s(o.displayId,t,o.objectId);i.push(e),r.delete(o.objectId)}}}return i}getDisplayFeatures(t){const e=new Set(t),s=[],r=[],i=this._source.chunks().map(t=>t.reader.getCursor());for(const a of this._tracks.values()){if(e.has(a.displayId)&&r.push(a.getTrackLineDisplayFeature()),null!=a.latestObservationFeature&&e.has(a.latestObservationFeature.displayId)){const{displayId:t,chunkIndex:e,featureIndex:r}=a.latestObservationRecord,o=i[e];o.setIndex(r),s.push({displayId:t,...o.readLegacyFeatureWorldSpace()})}for(const{displayId:t,chunkIndex:r,featureIndex:o}of a.observations())if(e.has(t)){const e=i[r];e.setIndex(o),s.push({displayId:t,...e.readLegacyFeatureWorldSpace()})}}return{features:s,aggregates:[],tracks:r}}getFeatureObjectIdsForAggregate(t){for(const e of this._tracks.values())if(e.objectId===t)return Array.from(e.observations(),t=>t.objectId);return[]}async*updateChunks(){0===this._handledChunks.size&&this._rebuildTracks();for(const t of this._sendStates.values())yield*this._update(t)}forEachAggregateWorldSpace(t){for(const e of this._tracks.values())t(e.getTrackLineOptimizedFeature())}_clear(){for(const t of this._source.chunks())if(this._handledChunks.has(t.chunkId)){const e=t.reader.getCursor();for(;e.next();){const t=e.getObjectId();this._attributeStore.releaseDisplayIdForObjectId(t)}}this._handledChunks.clear();for(const t of this._tracks.values())this._removeTrack(t);this._tracks.clear()}_rebuildTracks(){const t=this._source.chunks();if(!t.length)return;const e=this._metadata.timeInfo?.trackIdField;if(null==e)return;const s=new Set;for(let r=0;r<t.length;r++){const i=t[r];if(this._handledChunks.has(i.chunkId))continue;this._handledChunks.add(i.chunkId);const a=i.reader.getCursor();for(;a.next();){const t=a.getObjectId();a.setDisplayId(this._attributeStore.createDisplayIdForObjectId(t));const i=a.readAttribute(e);if(null!=i&&null!=t&&(null===this._featureFilter||this._featureFilter.check(a,this._sqlOptions))){if(!this._tracks.has(i)){const t=z.getOid(i),e=this._attributeStore.createDisplayIdForObjectId(t),s=new z(this._schema,i,t,e,this.aggregateFields,this.spatialReference,this._source.metadata,this._isStream);this._tracks.set(i,s)}this._tracks.get(i).stageObservation(r,a),s.add(i)}}}for(const r of this._tracks.values())if(s.has(r.trackId)){const e=r.commitObservations(this._attributeStore,t,this._featureFilter?.timeExtent);for(const t of e)this._attributeStore.releaseDisplayIdForObjectId(t);r.updateStatistics(t,T(1,this._arcadeContextInfo))}else this._removeTrack(r)}_removeTrack(t){this._tracks.delete(t.trackId),this._attributeStore.releaseDisplayIdForObjectId(t.objectId),null!=t.latestObservationFeature&&this._attributeStore.releaseDisplayIdForObjectId(t.latestObservationFeature.objectId)}*_update(e){if(e.done)return;e.done=!this._source.updateTracking.updating;const s=[],r=[];for(const t of this._tracks.values())if(t.length>0){if(this._schema.showLatestObservation){const r=t.getLatestObservationFeatureForTile(e);null!=r&&s.push(r)}this._schema.showTrackLine&&t.overlapsTile(e.subscription.tile)&&r.push(t.getTrackLineFeatureForTile(e))}const i=A.fromOptimizedFeatures(s,this._metadata,e.subscription.tile.transform),a=A.fromOptimizedFeatures(r,this._trackLineMetadata,e.subscription.tile.transform);let o=[];if(this._schema.showPreviousObservations){const s=this._source.chunks().map(()=>[]);for(const t of this._tracks.values())for(const{chunkIndex:e,featureIndex:r}of t.previousObservations())s[e].push(r);o=this._source.chunks().map((t,r)=>{const i=t.getTileReader(e.subscription.tile);if(null==i)return null;const a=L.from(i,s[r]);return a.setProcessorAttributes({[y]:2}),"esriGeometryPoint"!==a.geometryType&&null!=a.getInTransform()||a.setTransformForDisplay(e.subscription.tile.transform),a}).filter(t)}this.events.emit("changed");const n=e.subscription.tile.createArcadeEvaluationOptions(this._arcadeContextInfo),l=a.getCursor();for(;l.next();)this._attributeStore.setAttributeData(l.getDisplayId(),l,n,this._sqlOptions);for(const t of o){const e=t.getCursor();for(;e.next();)this._attributeStore.setAttributeData(e.getDisplayId(),e,n,this._sqlOptions)}const c=i.getCursor();for(;c.next();)this._attributeStore.setAttributeData(c.getDisplayId(),c,n,this._sqlOptions);yield new S(e.subscription,a,!1,!1,{});for(const t of o)yield new S(e.subscription,t,!1,!1,{});yield new S(e.subscription,i,!1,e.done,{})}}function q(t,e,s){if(e.length<2)return _(t,[e],!1,!1);if(s.isWrappable){let r=!1;for(let t=1;t<e.length;t++){const i=e[t][0],a=h(i,e[t-1][0],s);i!==a&&(e[t][0]=a,r=!0)}if(r){const r=p({paths:[e],spatialReference:s});if(null!=r)return _(t,r.paths,!1,!1)}return _(t,[e],!1,!1)}const r=C.fromGeometryToGXGeometry({hasM:!1,hasZ:!1,paths:[e]}),i=C.fromSpatialReference(s);if(null!=i){const e=a(r,1e6,i,o.geodesic);if(null!=e){const s=C.toGeometry(e,i);if(null!=s&&"paths"in s)return _(t,s.paths,!1,!1)}}return _(t,[e],!1,!1)}function E(t,e){const s=2,{coords:r,lengths:i}=t;if(!i.length)return void e(r[0],r[1]);let a=0;for(let o=0;o<i.length;o++){const t=i[o];let n=0,l=0;for(let i=0;i<t;i++)n+=r[s*(i+a)],l+=r[s*(i+a)+1],e(n,l);a+=t}}function N(t){const{lengths:e,coords:s}=t,r=2;if(!e.length)return[d()];const i=[];let a=0;for(let o=0;o<e.length;o++){const t=e[o],n=d();i.push(n);for(let e=0;e<t;e++){const t=s[r*(e+a)],i=s[r*(e+a)+1];u(n,[t,i])}a+=t}return i}export{U as TrackStrategy};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import has from"../../../../../core/has.js";import{destroyMaybe as e}from"../../../../../core/maybe.js";import{notDeepEqual as t}from"../../../../../core/object.js";import{ignoreAbortErrors as r,throwIfNotAbortError as s}from"../../../../../core/promiseUtils.js";import{OptimizedFeature as a}from"../../../../../layers/graphics/OptimizedFeature.js";import{QueryEngine as i}from"../../../../../layers/graphics/data/QueryEngine.js";import{FeatureStoreStatistics as n}from"../FeatureStoreStatistics.js";import{StreamMessenger as o}from"./StreamMessenger.js";import{UpdateStatus as c}from"./strategies/ALoadStrategy.js";import{FeatureDrillDownTileLoadStrategy as d}from"./strategies/FeatureDrillDownTileLoadStrategy.js";import{FeaturePagedTileLoadStrategy as h}from"./strategies/FeaturePagedTileLoadStrategy.js";import{FeatureSnapshotLoadStrategy as u}from"./strategies/FeatureSnapshotLoadStrategy.js";import{ParquetSnapshotLoadStrategy as p}from"./strategies/ParquetSnapshotLoadStrategy.js";import{ParquetTileLoadStrategy as m}from"./strategies/ParquetTileLoadStrategy.js";import{StreamLoadStrategy as y}from"./strategies/StreamLoadStrategy.js";import{FeatureSourceChunkStore as g}from"./strategies/chunks/SourceChunkStore.js";import{UpdateTracking2D as l}from"../../support/UpdateTracking2D.js";class _{constructor(e,t,r,s){this._aggregateAdapter=e,this._subscriptions=t,this._connection=r,this._cachedObjectIds=s,this._updateTracking=new l({debugName:"FeatureSource"}),this.store=new g}destroy(){this._strategy?.destroy(),this._streamMessenger?.destroy(),this._updateTracking?.destroy(),this.store.destroy()}get metadata(){return this._strategy.metadata}get streamMessenger(){return null==this._streamMessenger&&this._initStreamMessenger(),this._streamMessenger}get statistics(){return n.from(this.store)}get updateTracking(){return this._updateTracking}get usedMemory(){return this.store.usedMemory}get queryEngine(){if(!this._queryEngine){if(!this.store||!this._strategy)return null;this._queryEngine=new i({featureStore:this.store,fieldsIndex:this.metadata.fieldsIndex,geometryType:this.metadata.geometryType,featureIdInfo:this.metadata.featureIdInfo,hasM:!1,hasZ:!1,spatialReference:this.metadata.outSpatialReference,aggregateAdapter:this._aggregateAdapter,timeInfo:this.metadata.timeInfo,definitionExpression:this._strategy?.definitionExpression,availableFields:this._strategy?.availableFields})}return this._queryEngine}get isStream(){return"stream"===this._schema.type}get hasQueryDisplayFilter(){if(!this._schema)return!1;switch(this._schema.type){case"feature":return null!=this._schema.strategy.full.displayFilterInfo;case"parquet":case"stream":return!1}}chunks(){return Array.from(this.store.chunks())}prepareCacheUpdate(e,t){const r=new Set,s=new Set;for(const a of e)this._cachedObjectIds.has(a)||(this._cachedObjectIds.add(a),r.add(a));for(const a of t)this._cachedObjectIds.delete(a),s.add(a);this.hasQueryDisplayFilter&&this._strategy.prepareCacheUpdate(r,s)}async applyCacheUpdate(){this.hasQueryDisplayFilter&&await this._updateTracking.addPromise(this._strategy.applyCacheUpdate())}cleanup(){return this.store.cleanup()}onSubscribe(e){if(this._connection.onEvent({type:"subscribe",tile:e.tile.id}),!this._strategy)return;const t=this._strategy.load(e);t.then(()=>this._connection.onEvent({type:"loaded",tile:e.tile.id})).catch(t=>this._connection.onEvent({type:"error",tile:e.tile.id,error:t})),this._updateTracking.addPromise(t)}onResume(e){this._updateTracking.addPromise(r(this._strategy?.load(e)))}onUnsubscribe(e){this._connection.onEvent({type:"unsubscribe",tile:e.tile.id}),this._strategy?.unload(e)}async applyOverride(e){await(this._strategy?.applyOverride(e))}takeOverrideUpdate(){return this._strategy?.takeOverrideUpdate()}async update(r,s){const a=this._schema;if(this._schema=r,this._queryEngine=e(this._queryEngine),a&&a.type!==r.type)throw new Error("InternalError: Reconfiguring source types is not supported.");const i=new c;return!a||t(a.service,r.service)||a.strategy.type!==r.strategy.type||t(r.strategy.full,a.strategy.full)||!await this._strategy.tryUpdate(i,r.strategy.partial)?(await this._updateStrategyType(this._schema.service,r,s),await this.store.update({metadata:this.metadata,definitionExpression:this._schema.strategy.full.definitionExpression}),!0):i.requiresInvalidation}unsafeSetQueryHistoricMoment(e){"feature"===this._schema.type&&(this._schema.strategy.full.historicMoment=e,this._strategy.unsafeSetQueryHistoricMoment(new Date(e)))}_initStreamMessenger(){null==this._streamMessenger&&(this._streamMessenger=new o(this._connection))}async normalizeOverrides(e){const t={historicMoment:e.historicMoment,commands:{updateWeak:e.commands.updateWeak.map(a.fromJSON),removeWeak:e.commands.removeWeak,update:e.commands.update.map(a.fromJSON),remove:e.commands.remove,release:e.commands.release}},r=e.commands.updateByIdWeak,s=await this._queryOptimizedFeatures(r);if(s.length!==r.length){const e=new Set(s.map(e=>e.objectId));for(const s of r)e.has(s)||t.commands.removeWeak.push(s)}return t.commands.updateWeak.push(...s),t}async _queryOptimizedFeatures(e){if(0===e.length)return[];const t=[],r=(await this._strategy.queryByObjectId(e)).getCursor();for(;r.next();)t.push(r.readOptimizedFeatureWorldSpace());return t}getObjectIdsFromGlobalIds(e){const t=this.metadata.globalIdField;if(null==t)throw new Error("InternalError: Recieved an edit with globalIds, but not supported by the service");const r=this.store.mapObjectIdsFromGlobalIds(e,t).values();return Array.from(r)}async _updateStrategyType(e,t,r){const a=this._createStrategy(e,t);this._connection.onEvent({type:"updateStrategyStart",about:a.about});const i=!!this._strategy;this.store.clear(),this._strategy?.destroy(),this._strategy=a,has("esri-2d-update-debug")&&console.debug(`Version[${r}] FeatureSource.updateStrategy`,{strategy:a});const n=Array.from(this._subscriptions.values());if(!n.length)return void this._connection.onEvent({type:"updateStrategyEnd"});const o=Promise.all(n.map(e=>this._strategy.load(e).then(()=>this._connection.onEvent({type:"loaded",tile:e.tile.id})).catch(t=>this._connection.onEvent({type:"error",tile:e.tile.id,error:t}))));this._updateTracking.addPromise(o),this._strategy.prepareCacheUpdate(this._cachedObjectIds);try{i&&await o}catch(c){s(c)}this._connection.onEvent({type:"updateStrategyEnd"}),has("esri-2d-update-debug")&&console.debug(`Version[${r}] FeatureSource.updateStrategyEnd`,{strategy:a})}_createStrategy(e,t){const r={connection:this._connection,store:this.store};switch(t.type){case"feature":return this._createFeatureLoadStrategy(e,t.strategy,r);case"parquet":return this._createParquetLoadStrategy(e,t.strategy,r);case"stream":return this._createStreamLoadStrategy(e,t.strategy,r)}}_createFeatureLoadStrategy(e,t,r){switch(t.type){case"drill-down":return new d(e,t,r);case"paged-tile":return new h(e,t,r);case"snapshot":return new u(e,t,r)}}_createParquetLoadStrategy(e,t,r){switch(t.type){case"xz":return new m(e,t,r);case"snapshot":return new p(e,t,r)}}_createStreamLoadStrategy(e,t,r){const s=new y(e,t,r);return this.streamMessenger.strategy=s,s}}export{_ as FeatureSource};
|
|
5
|
+
import has from"../../../../../core/has.js";import{destroyMaybe as e}from"../../../../../core/maybe.js";import{notDeepEqual as t}from"../../../../../core/object.js";import{ignoreAbortErrors as r,throwIfNotAbortError as s}from"../../../../../core/promiseUtils.js";import{OptimizedFeature as a}from"../../../../../layers/graphics/OptimizedFeature.js";import{QueryEngine as i}from"../../../../../layers/graphics/data/QueryEngine.js";import{FeatureStoreStatistics as n}from"../FeatureStoreStatistics.js";import{StreamMessenger as o}from"./StreamMessenger.js";import{UpdateStatus as c}from"./strategies/ALoadStrategy.js";import{FeatureDrillDownTileLoadStrategy as d}from"./strategies/FeatureDrillDownTileLoadStrategy.js";import{FeaturePagedTileLoadStrategy as h}from"./strategies/FeaturePagedTileLoadStrategy.js";import{FeatureSnapshotLoadStrategy as u}from"./strategies/FeatureSnapshotLoadStrategy.js";import{ParquetSnapshotLoadStrategy as p}from"./strategies/ParquetSnapshotLoadStrategy.js";import{ParquetTileLoadStrategy as m}from"./strategies/ParquetTileLoadStrategy.js";import{StreamLoadStrategy as y}from"./strategies/StreamLoadStrategy.js";import{FeatureSourceChunkStore as g}from"./strategies/chunks/SourceChunkStore.js";import{UpdateTracking2D as l}from"../../support/UpdateTracking2D.js";class _{constructor(e,t,r,s){this._aggregateAdapter=e,this._subscriptions=t,this._connection=r,this._cachedObjectIds=s,this._updateTracking=new l({debugName:"FeatureSource"}),this.store=new g}destroy(){this._strategy?.destroy(),this._streamMessenger?.destroy(),this._updateTracking?.destroy(),this.store.destroy()}get metadata(){return this._strategy.metadata}get streamMessenger(){return null==this._streamMessenger&&this._initStreamMessenger(),this._streamMessenger}get statistics(){return n.from(this.store)}get updateTracking(){return this._updateTracking}get usedMemory(){return this.store.usedMemory}get queryEngine(){if(!this._queryEngine){if(!this.store||!this._strategy)return null;this._queryEngine=new i({featureStore:this.store,fieldsIndex:this.metadata.fieldsIndex,geometryType:this.metadata.geometryType,featureIdInfo:this.metadata.featureIdInfo,hasM:!1,hasZ:!1,spatialReference:this.metadata.outSpatialReference,aggregateAdapter:this._aggregateAdapter,timeInfo:this.metadata.timeInfo,definitionExpression:this._strategy?.definitionExpression,availableFields:this._strategy?.availableFields})}return this._queryEngine}get isStream(){return"stream"===this._schema.type}get hasQueryDisplayFilter(){if(!this._schema)return!1;switch(this._schema.type){case"feature":return null!=this._schema.strategy.full.displayFilterInfo;case"parquet":case"stream":return!1}}chunks(){return Array.from(this.store.chunks())}prepareCacheUpdate(e,t){const r=new Set,s=new Set;for(const a of e)this._cachedObjectIds.has(a)||(this._cachedObjectIds.add(a),r.add(a));for(const a of t)this._cachedObjectIds.delete(a),s.add(a);this.hasQueryDisplayFilter&&this._strategy.prepareCacheUpdate(r,s)}async applyCacheUpdate(){this.hasQueryDisplayFilter&&await this._updateTracking.addPromise(this._strategy.applyCacheUpdate())}cleanup(){return this.store.cleanup()}onSubscribe(e){if(this._connection.onEvent({type:"subscribe",tile:e.tile.id}),!this._strategy)return;const t=this._strategy.load(e);t.then(()=>this._connection.onEvent({type:"loaded",tile:e.tile.id})).catch(t=>this._connection.onEvent({type:"error",tile:e.tile.id,error:t})),this._updateTracking.addPromise(t)}onResume(e){this._updateTracking.addPromise(r(this._strategy?.load(e)))}onUnsubscribe(e){this._connection.onEvent({type:"unsubscribe",tile:e.tile.id}),this._strategy?.unload(e)}async applyOverride(e){await(this._strategy?.applyOverride(e))}takeOverrideUpdate(){return this._strategy?.takeOverrideUpdate()}async update(r,s){const a=this._schema;if(this._schema=r,this._queryEngine=e(this._queryEngine),a&&a.type!==r.type)throw new Error("InternalError: Reconfiguring source types is not supported.");const i=new c;return!a||t(a.service,r.service)||a.strategy.type!==r.strategy.type||t(r.strategy.full,a.strategy.full)||!await this._strategy.tryUpdate(i,r.strategy.partial)?(await this._updateStrategyType(this._schema.service,r,s),await this.store.update({metadata:this.metadata,definitionExpression:this._schema.strategy.full.definitionExpression}),!0):i.requiresInvalidation}unsafeSetQueryHistoricMoment(e){"feature"===this._schema.type&&(this._schema.strategy.full.historicMoment=e,this._strategy.unsafeSetQueryHistoricMoment(new Date(e)))}_initStreamMessenger(){null==this._streamMessenger&&(this._streamMessenger=new o(this._connection))}async normalizeOverrides(e){const t={historicMoment:e.historicMoment,commands:{updateWeak:e.commands.updateWeak.map(a.fromJSON),removeWeak:e.commands.removeWeak,update:e.commands.update.map(a.fromJSON),remove:e.commands.remove,release:e.commands.release}},r=e.commands.updateByIdWeak,s=await this._queryOptimizedFeatures(r);if(s.length!==r.length){const e=new Set(s.map(e=>e.objectId));for(const s of r)e.has(s)||t.commands.removeWeak.push(s)}return t.commands.updateWeak.push(...s),t}async _queryOptimizedFeatures(e){if(0===e.length)return[];const t=[],r=(await this._strategy.queryByObjectId(e,["*"])).getCursor();for(;r.next();)t.push(r.readOptimizedFeatureWorldSpace());return t}getObjectIdsFromGlobalIds(e){const t=this.metadata.globalIdField;if(null==t)throw new Error("InternalError: Recieved an edit with globalIds, but not supported by the service");const r=this.store.mapObjectIdsFromGlobalIds(e,t).values();return Array.from(r)}async _updateStrategyType(e,t,r){const a=this._createStrategy(e,t);this._connection.onEvent({type:"updateStrategyStart",about:a.about});const i=!!this._strategy;this.store.clear(),this._strategy?.destroy(),this._strategy=a,has("esri-2d-update-debug")&&console.debug(`Version[${r}] FeatureSource.updateStrategy`,{strategy:a});const n=Array.from(this._subscriptions.values());if(!n.length)return void this._connection.onEvent({type:"updateStrategyEnd"});const o=Promise.all(n.map(e=>this._strategy.load(e).then(()=>this._connection.onEvent({type:"loaded",tile:e.tile.id})).catch(t=>this._connection.onEvent({type:"error",tile:e.tile.id,error:t}))));this._updateTracking.addPromise(o),this._strategy.prepareCacheUpdate(this._cachedObjectIds);try{i&&await o}catch(c){s(c)}this._connection.onEvent({type:"updateStrategyEnd"}),has("esri-2d-update-debug")&&console.debug(`Version[${r}] FeatureSource.updateStrategyEnd`,{strategy:a})}_createStrategy(e,t){const r={connection:this._connection,store:this.store};switch(t.type){case"feature":return this._createFeatureLoadStrategy(e,t.strategy,r);case"parquet":return this._createParquetLoadStrategy(e,t.strategy,r);case"stream":return this._createStreamLoadStrategy(e,t.strategy,r)}}_createFeatureLoadStrategy(e,t,r){switch(t.type){case"drill-down":return new d(e,t,r);case"paged-tile":return new h(e,t,r);case"snapshot":return new u(e,t,r)}}_createParquetLoadStrategy(e,t,r){switch(t.type){case"xz":return new m(e,t,r);case"snapshot":return new p(e,t,r)}}_createStreamLoadStrategy(e,t,r){const s=new y(e,t,r);return this.streamMessenger.strategy=s,s}}export{_ as FeatureSource};
|