UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines • 17.3 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2369],{18768(e,t,i){i.d(t,{b:()=>o});var s=i(5482),r=i(53966),n=i(91429),l=i(60694);const o=e=>{const t=e;let i=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,l.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,l.Jf)(e,r.A.getLogger(this)))}};return(0,s.Cg)([(0,n.MZ)()],i.prototype,"title",null),(0,s.Cg)([(0,n.MZ)({type:String})],i.prototype,"url",null),i=(0,s.Cg)([(0,n.$K)("esri.layers.mixins.ArcGISService")],i),i}},35982(e,t,i){i.d(t,{B:()=>a});var s=i(4576),r=i(36563),n=i(53966),l=i(74887),o=i(83027);class a{constructor(e,t,i,s,r={}){this._mainMethod=t,this._transferLists=i,this._listeners=[],this._promise=(0,o.h)(e,{...r,schedule:s}).then(e=>{if(void 0===this._thread){this._thread=e,this._promise=null,r.hasInitialize&&this.broadcast({},"initialize");for(const e of this._listeners)this._connectListener(e)}else e.close()}),this._promise.catch(t=>n.A.getLogger("esri.core.workers.WorkerHandle").error(`Failed to initialize ${e} worker: ${t}`))}on(e,t){const i={removed:!1,eventName:e,callback:t,threadHandle:null};return this._listeners.push(i),this._connectListener(i),(0,r.hA)(()=>{i.removed=!0,(0,s.TF)(this._listeners,i),this._thread&&null!=i.threadHandle&&i.threadHandle.remove()})}[Symbol.dispose](){this.destroy()}destroy(){this._thread&&(this._thread.close(),this._thread=null),this._promise=null,this._listeners.length=0,this._transferLists={}}invoke(e,t,i){return this.invokeMethod(this._mainMethod,e,t,i)}invokeMethod(e,t,i,s){if(this._thread){const r=this._transferLists[e],n=r?r(t):[];return this._thread.invoke(e,t,{transferList:n,signal:i,jobPriority:s})}return this._promise?this._promise.then(()=>((0,l.Te)(i),this.invokeMethod(e,t,i))):Promise.reject(null)}broadcast(e,t){return this._thread?Promise.all(this._thread.broadcast(t,e)).then(h):this._promise?this._promise.then(()=>this.broadcast(e,t)):Promise.reject()}get promise(){return this._promise}_connectListener(e){this._thread&&this._thread.on(e.eventName,e.callback).then(t=>{e.removed||(e.threadHandle=t)})}}function h(){}},54239(e,t,i){i.d(t,{A:()=>m});var s,r=i(5482),n=i(4576),l=i(66552),o=i(25482),a=i(86211),h=i(67076),c=i(91429),u=i(43937),d=i(36005);const p=(0,l.O)()({orthometric:"gravity-related-height",gravity_related_height:"gravity-related-height",ellipsoidal:"ellipsoidal"}),g=p.jsonValues.slice();(0,n.Xy)(g,"orthometric");const v=(0,l.O)()({meter:"meters",foot:"feet","us-foot":"us-feet","clarke-foot":"clarke-feet","clarke-yard":"clarke-yards","clarke-link":"clarke-links","sears-yard":"sears-yards","sears-foot":"sears-feet","sears-chain":"sears-chains","benoit-1895-b-chain":"benoit-1895-b-chains","indian-yard":"indian-yards","indian-1937-yard":"indian-1937-yards","gold-coast-foot":"gold-coast-feet","sears-1922-truncated-chain":"sears-1922-truncated-chains","50-kilometers":"50-kilometers","150-kilometers":"150-kilometers"});let m=s=class extends o.o{constructor(e){super(e),this.heightModel="gravity-related-height",this.heightUnit="meters",this.vertCRS=null}writeHeightModel(e,t,i){return p.write(e,t,i)}readHeightModel(e,t,i){return p.read(e)||(i?.messages&&i.messages.push(function(e,t){return new h.A("height-model:unsupported",`Height model of value '${e}' is not supported`,t)}(e,{context:i})),null)}readHeightUnit(e,t,i){return v.read(e)||(i?.messages&&i.messages.push(y(e,{context:i})),null)}readHeightUnitService(e,t,i){return(0,a.LA)(e)||v.read(e)||(i?.messages&&i.messages.push(y(e,{context:i})),null)}readVertCRS(e,t){return t.vertCRS||t.ellipsoid||t.geoid}clone(){return new s({heightModel:this.heightModel,heightUnit:this.heightUnit,vertCRS:this.vertCRS})}equals(e){return!!e&&(this===e||this.heightModel===e.heightModel&&this.heightUnit===e.heightUnit&&this.vertCRS===e.vertCRS)}static deriveUnitFromSR(e,t){const i=(0,a.k1)(t);return new s({heightModel:e.heightModel,heightUnit:i??void 0,vertCRS:e.vertCRS})}write(e,t){return t={origin:"web-scene",...t},super.write(e,t)}static fromJSON(e){if(!e)return null;const t=new s;return t.read(e,{origin:"web-scene"}),t}};function y(e,t){return new h.A("height-unit:unsupported",`Height unit of value '${e}' is not supported`,t)}(0,r.Cg)([(0,c.MZ)({type:p.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:g,default:"ellipsoidal",write:{isRequired:!0}}}}})],m.prototype,"heightModel",void 0),(0,r.Cg)([(0,u.K)("web-scene","heightModel")],m.prototype,"writeHeightModel",null),(0,r.Cg)([(0,d.w)(["web-scene","service"],"heightModel")],m.prototype,"readHeightModel",null),(0,r.Cg)([(0,c.MZ)({type:v.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:v.jsonValues,write:{writer:v.write,isRequired:!0}}}}})],m.prototype,"heightUnit",void 0),(0,r.Cg)([(0,d.w)("web-scene","heightUnit")],m.prototype,"readHeightUnit",null),(0,r.Cg)([(0,d.w)("service","heightUnit")],m.prototype,"readHeightUnitService",null),(0,r.Cg)([(0,c.MZ)({type:String,constructOnly:!0,json:{origins:{"web-scene":{write:!0}}}})],m.prototype,"vertCRS",void 0),(0,r.Cg)([(0,d.w)("service","vertCRS",["vertCRS","ellipsoid","geoid"])],m.prototype,"readVertCRS",null),m=s=(0,r.Cg)([(0,c.$K)("esri.geometry.HeightModelInfo")],m)},62369(e,t,i){i.r(t),i.d(t,{default:()=>j});var s=i(5482),r=i(11254),n=i(49186),l=i(97768),o=i(25728),a=i(74887),h=i(84952),c=i(91429),u=i(54239),d=i(4146),p=i(89186),g=i(18768),v=i(16131),m=i(8303),y=i(10873),f=i(87378),w=i(35982);class M extends w.B{constructor(e=null){super("LercWorker","_decode",{_decode:e=>[e.buffer]},e,{strategy:"dedicated"}),this.schedule=e,this.ref=0}decode(e,t,i){return e&&0!==e.byteLength?this.invoke({buffer:e,options:t},i):Promise.resolve(null)}release(){--this.ref<=0&&(S.forEach((e,t)=>{e===this&&S.delete(t)}),this.destroy())}}const S=new Map;var _=i(34727),x=i(19419),b=(i(44208),i(86211)),A=i(5443),C=i(86738),T=i(16930),k=i(21325),R=i(28735),L=i(91806),V=i(87045);class z{constructor(e){const t=z.checkUnsupported(e);if(null!=t)throw t;const i=e;this.spatialReference=i.spatialReference,this._isWebMercator=this.spatialReference.isWebMercator,this._isGCS=(0,k.EA)(this.spatialReference),this.origin=[i.origin.x,i.origin.y],this.pixelSize=i.size[0],this.dpi=i.dpi;const s=i.lods.reduce((e,t)=>(t.level<e.minLod.level&&(e.minLod=t),e.max=Math.max(e.max,t.level),e),{minLod:i.lods[0],max:-1/0}),r=s.minLod,n=2**r.level;let l=r.resolution*n,o=r.scale*n;this.levels=new Array(s.max+1);for(let e=0;e<this.levels.length;e++)this.levels[e]={resolution:l,scale:o,tileSize:[l*i.size[0],l*i.size[1]]},l/=2,o/=2}clone(){return new z(this.toTileInfo())}toTileInfo(){return new V.A({dpi:this.dpi,origin:new C.A({x:this.origin[0],y:this.origin[1],spatialReference:this.spatialReference}),size:[this.pixelSize,this.pixelSize],spatialReference:this.spatialReference,lods:this.levels.map((e,t)=>new L.A({level:t,scale:e.scale,resolution:e.resolution}))})}getExtent(e,t,i,s){const r=this.levels[e],n=r.tileSize[0],l=r.tileSize[1];s[0]=this.origin[0]+i*n,s[2]=this.origin[0]+(i+1)*n,s[3]=this.origin[1]-t*l,s[1]=this.origin[1]-(t+1)*l}convertExtentToRadians(e,t){this._isWebMercator?(t[0]=(0,R.yw)(e[0]),t[1]=(0,R.jg)(e[1]),t[2]=(0,R.yw)(e[2]),t[3]=(0,R.jg)(e[3])):this._isGCS&&(t[0]=(0,_.kU)(e[0]),t[1]=(0,_.kU)(e[1]),t[2]=(0,_.kU)(e[2]),t[3]=(0,_.kU)(e[3]))}getExtentGeometry(e,t,i,s=new A.A){return this.getExtent(e,t,i,U),s.spatialReference=this.spatialReference,s.xmin=U[0],s.ymin=U[1],s.xmax=U[2],s.ymax=U[3],s.zmin=void 0,s.zmax=void 0,s}ensureMaxLod(e){if(null==e)return!1;let t=!1;for(;this.levels.length<=e;){const{resolution:e,scale:i}=this.levels[this.levels.length-1],s=e/2*this.pixelSize;this.levels.push({resolution:e/2,scale:i/2,tileSize:[s,s]}),t=!0}return t}capMaxLod(e){this.levels.length>e+1&&(this.levels.length=e+1)}getMaxLod(){return this.levels.length-1}scaleAtLevel(e){return this.levels[0].scale/2**e}levelAtScale(e){const t=this.levels[0].scale;return e>=t?0:Math.log(t/e)*Math.LOG2E}resolutionAtLevel(e){return this.levels[0].resolution/2**e}compatibleWith(e,t=1/0){if(z.checkUnsupported(e))return!1;const i=new z(e);if(!i.spatialReference.equals(this.spatialReference))return!1;if(i.pixelSize!==this.pixelSize)return!1;const s=Math.min(this.levels.length-1,i.levels.length-1,t),r=this.levels[s].resolution;let n=.5*r;return!(!(0,_.Sp)(i.origin[0],this.origin[0],n)||!(0,_.Sp)(i.origin[1],this.origin[1],n))&&(n=.5*r/2**s/this.pixelSize*12,(0,_.Sp)(r,i.levels[s].resolution,n))}rootTilesInExtent(e,t=null,i=1/0){const s=new Array,r=this.levels[0].tileSize;if(null==e||0===r[0]||0===r[1])return s;z.computeRowColExtent(e,r,this.origin,U);let n=U[1],l=U[3],o=U[0],a=U[2];const h=a-o,c=l-n;if(h*c>i){const e=Math.floor(Math.sqrt(i));c>e&&(n=n+Math.floor(.5*c)-Math.floor(.5*e),l=n+e),h>e&&(o=o+Math.floor(.5*h)-Math.floor(.5*e),a=o+e)}for(let e=n;e<l;e++)for(let t=o;t<a;t++)s.push([0,e,t]);return null!=t&&(t[0]=this.origin[0]+o*r[0],t[1]=this.origin[1]-l*r[1],t[2]=this.origin[0]+a*r[0],t[3]=this.origin[1]-n*r[1]),s}static computeRowColExtent(e,t,i,s){const r=.001*(e[2]-e[0]+(e[3]-e[1]));s[0]=Math.max(0,Math.floor((e[0]+r-i[0])/t[0])),s[2]=Math.max(0,Math.ceil((e[2]-r-i[0])/t[0])),s[1]=Math.max(0,Math.floor((i[1]-e[3]+r)/t[1])),s[3]=Math.max(0,Math.ceil((i[1]-e[1]-r)/t[1]))}static isPowerOfTwo(e){const t=e.lods,i=t[0].resolution*2**t[0].level;return!t.some(e=>!(0,_.b6)(e.resolution,i/2**e.level))}static hasGapInLevels(e){const t=e.lods.map(e=>e.level);t.sort((e,t)=>e-t);for(let e=1;e<t.length;e++)if(t[e]!==t[0]+e)return!0;return!1}static tileSizeSupported(e){const t=e.size[1];return t===e.size[0]&&!(t&t-1)&&t>=128&&t<=512}static hasOriginPerLODs(e){const t=e.origin;return e.lods.some(e=>null!=e.origin&&(e.origin[0]!==t.x||e.origin[1]!==t.y))}static getMissingTileInfoError(){return new n.A("tilingscheme:tile-info-missing","Tiling scheme must have tiling information")}static checkUnsupported(e){return null==e?new n.A("tilingscheme:tile-info-missing","Tiling scheme must have tiling information"):e.lods.length<1?new n.A("tilingscheme:generic","Tiling scheme must have at least one level"):z.isPowerOfTwo(e)?z.hasGapInLevels(e)?new n.A("tilingscheme:gaps","Tiling scheme levels must not have gaps between min and max level"):z.tileSizeSupported(e)?z.hasOriginPerLODs(e)?new n.A("tilingscheme:multiple-origin","Tiling scheme levels must not have their own origin"):null:new n.A("tilingscheme:tile-size","Tiles must be square and size must be one of [128, 256, 512]"):new n.A("tilingscheme:power-of-two","Tiling scheme must be power of two")}static fromExtent(e,t){const i=e[2]-e[0],s=e[3]-e[1],r=(0,b.GA)(t),n=1.2*Math.max(i,s),l=n/256,o=l*r*(96/.0254),a=new z(new V.A({size:[256,256],origin:new C.A({x:e[0]-.5*(n-i),y:e[3]+.5*(n-s)}),lods:[new L.A({level:0,resolution:l,scale:o})],spatialReference:t}));return a.ensureMaxLod(20),a}static makeWebMercatorAuxiliarySphere(e){const t=new z(z.WebMercatorAuxiliarySphereTileInfo);return t.ensureMaxLod(e),t}static makeGCSWithTileSize(e,t=256,i=16){const s=256/t,r=new z(new V.A({size:[t,t],origin:new C.A({x:-180,y:90,spatialReference:e}),spatialReference:e,lods:[new L.A({level:0,resolution:.703125*s,scale:295497598.570834*s})]}));return r.ensureMaxLod(i),r}static{this.WebMercatorAuxiliarySphereTileInfo=new V.A({size:[256,256],origin:new C.A({x:-20037508.342787,y:20037508.342787,spatialReference:T.A.WebMercator}),spatialReference:T.A.WebMercator,lods:[new L.A({level:0,resolution:156543.03392800014,scale:591657527.591555})]})}static{this.WebMercatorAuxiliarySphere=z.makeWebMercatorAuxiliarySphere(19)}get test(){}}const U=(0,x.vt)(),D=(0,_.$8)(_.pq/10),O=(0,x.vt)();z.WebMercatorAuxiliarySphere.getExtent(0,0,0,O),(0,x.vt)([-180,-90,180,90]);var I=i(36005);let E=class extends((0,p.f)((0,g.b)((0,v.q)((0,m.A)((0,o.M)(d.A)))))){constructor(...e){super(...e),this.capabilities={operations:{supportsTileMap:!1}},this.copyright=null,this.heightModelInfo=null,this.path=null,this.minScale=void 0,this.maxScale=void 0,this.opacity=1,this.operationalLayerType="ArcGISTiledElevationServiceLayer",this.sourceJSON=null,this.type="elevation",this.url=null,this.version=null,this._lercDecoder=function(e=null){let t=S.get(e);return t||(null!=e?(t=new M(t=>e.immediate.schedule(t)),S.set(e,t)):(t=new M,S.set(null,t))),++t.ref,t}()}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this._lercDecoder=(0,l.Gz)(this._lercDecoder)}readCapabilities(e,t){const i=t.capabilities&&t.capabilities.split(",").map(e=>e.toLowerCase().trim());return i?{operations:{supportsTileMap:i.includes("tilemap")}}:{operations:{supportsTileMap:!1}}}readVersion(e,t){let i=t.currentVersion;return i||(i=9.3),i}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"],supportsData:!1,validateItem:e=>{if(e.typeKeywords)for(let t=0;t<e.typeKeywords.length;t++)if("elevation 3d layer"===e.typeKeywords[t].toLowerCase())return!0;throw new n.A("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}' ",{type:"Image Service",expectedType:"Image Service Elevation 3D Layer"})}},e).catch(a.QP).then(()=>this._fetchImageService(t))),Promise.resolve(this)}fetchTile(e,t,i,s){const n=s?.signal,l={responseType:"array-buffer",signal:n},o={noDataValue:s?.noDataValue,returnFileInfo:!0};return this.load().then(()=>this._fetchTileAvailability(e,t,i,s)).then(()=>(0,r.A)(this.getTileUrl(e,t,i),l)).then(e=>this._lercDecoder.decode(e.data,o,n)).then(e=>new f.A(e?new f.A({values:e.pixelData,width:e.width,height:e.height,noDataValue:e.noDataValue}):{values:[],width:0,height:0,noDataValue:s?.noDataValue??D}))}getTileUrl(e,t,i){const s=!this.capabilities.operations.supportsTileMap&&this.supportsBlankTile,r=(0,h.x0)({...this.parsedUrl.query,blankTile:!s&&null});return`${this.parsedUrl.path}/tile/${e}/${t}/${i}${r?"?"+r:""}`}async queryElevation(e,t){const{query:s}=await i.e(91).then(i.bind(i,90091));return(0,a.Te)(t),s(this,e,t)}async createElevationSampler(e,t){const{createSampler:s}=await i.e(91).then(i.bind(i,90091));return(0,a.Te)(t),s(this,e,t)}_fetchTileAvailability(e,t,i,s){return this.tilemapCache?this.tilemapCache.fetchAvailability(e,t,i,s):Promise.resolve("unknown")}async _fetchImageService(e){if(this.sourceJSON)return this.sourceJSON;const t={query:{f:"json",...this.parsedUrl.query},responseType:"json",signal:e},i=await(0,r.A)(this.parsedUrl.path,t);i.ssl&&(this.url=this.url?.replace(/^http:/i,"https:")),this.sourceJSON=i.data,this.read(i.data,{origin:"service",url:this.parsedUrl})}get hasOverriddenFetchTile(){return!this.fetchTile[Z]}};(0,s.Cg)([(0,c.MZ)({readOnly:!0})],E.prototype,"capabilities",void 0),(0,s.Cg)([(0,I.w)("service","capabilities",["capabilities"])],E.prototype,"readCapabilities",null),(0,s.Cg)([(0,c.MZ)({json:{read:{source:"copyrightText"}}})],E.prototype,"copyright",void 0),(0,s.Cg)([(0,c.MZ)({readOnly:!0,type:u.A})],E.prototype,"heightModelInfo",void 0),(0,s.Cg)([(0,c.MZ)({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],E.prototype,"path",void 0),(0,s.Cg)([(0,c.MZ)({type:["show","hide"]})],E.prototype,"listMode",void 0),(0,s.Cg)([(0,c.MZ)({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}},readOnly:!0})],E.prototype,"minScale",void 0),(0,s.Cg)([(0,c.MZ)({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}},readOnly:!0})],E.prototype,"maxScale",void 0),(0,s.Cg)([(0,c.MZ)({json:{read:!1,write:!1,origins:{"web-document":{read:!1,write:!1}}}})],E.prototype,"opacity",void 0),(0,s.Cg)([(0,c.MZ)({type:["ArcGISTiledElevationServiceLayer"]})],E.prototype,"operationalLayerType",void 0),(0,s.Cg)([(0,c.MZ)()],E.prototype,"sourceJSON",void 0),(0,s.Cg)([(0,c.MZ)({json:{read:!1},value:"elevation",readOnly:!0})],E.prototype,"type",void 0),(0,s.Cg)([(0,c.MZ)(y.OZ)],E.prototype,"url",void 0),(0,s.Cg)([(0,c.MZ)()],E.prototype,"version",void 0),(0,s.Cg)([(0,I.w)("version",["currentVersion"])],E.prototype,"readVersion",null),E=(0,s.Cg)([(0,c.$K)("esri.layers.ElevationLayer")],E);const Z=Symbol("default-fetch-tile");E.prototype.fetchTile[Z]=!0;const j=E},87378(e,t,i){i.d(t,{A:()=>o});var s,r=i(34275),n=i(56507);const l=Symbol("ElevationTileDataClass");class o{static{s=l}constructor({values:e,width:t,height:i,noDataValue:n}){this[s]=!0,this._hasNoDataValues=null,this._minValue=null,this._maxValue=null,this.values=(0,r.vZ)(e)?e:new Float32Array(e),this.width=t,this.height=i,this.noDataValue=n}get hasNoDataValues(){if(null==this._hasNoDataValues){const e=this.noDataValue;this._hasNoDataValues=this.values.includes(e)}return this._hasNoDataValues}get minValue(){return this._ensureBounds(),this._minValue}get maxValue(){return this._ensureBounds(),this._maxValue}get usedMemory(){return this.values.byteLength+256}_ensureBounds(){if(null!=this._minValue)return;const{noDataValue:e,values:t}=this;let i=1/0,s=-1/0,r=!0;for(const n of t)n===e?this._hasNoDataValues=!0:(i=n<i?n:i,s=n>s?n:s,r=!1);r?(this._minValue=0,this._maxValue=0):(this._minValue=i,this._maxValue=s>-3e38?s:0)}static{this.from=(0,n.qf)(o)}}}}]);