{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/layers/support/ElevationSampler.js","webpack:///./node_modules/@arcgis/core/layers/support/ElevationTile.js","webpack:///./node_modules/@arcgis/core/layers/support/ElevationQuery.js"],"names":["getLogger","m","e","h","clone","this","g","t","f","i","super","tile","noDataValue","extent","spatialReference","o","r","lodAt","level","resolution","demResolution","min","max","projectIfRequired","contains","n","xmin","ymin","xmax","ymax","warn","x","y","sample","samplers","map","length","union","Math","elevationAt","type","R","d","equals","error","wkid","s","z","hasM","hasZ","paths","a","points","samplerData","pixelData","values","width","height","safeWidth","dx","dy","x0","y1","l","floor","u","p","D","c","w","ignoreInvisibleLayers","filter","visible","slice","fromGeometry","returnSampleInfo","E","query","_queryAllContinue","geometry","export","sampleInfo","signal","load","_createGeometryDescriptor","_selectTiles","_populateElevationTiles","_sampleGeometryWithElevation","_createQueryResult","_createSampler","_createSamplerAllContinue","tileInfo","source","dest","elevationTiles","layer","options","pop","concat","coordinates","push","forEach","project","outSpatialReference","_extractSampleInfo","elevationTile","_preselectOutsideLayerExtent","_selectTilesClosestResolution","_selectTilesFinestContiguous","_selectTilesAuto","outsideExtentTile","fullExtent","_findNearestDemResolutionLODIndex","selectTilesAtLOD","lods","abs","_","minDemResolution","_selectTilesFinestContiguousAt","tilemapCache","getTilesToFetch","Promise","all","fetchAvailability","row","col","allElevationTilesFetched","clearElevationTiles","cache","async","uid","id","get","fetchTile","put","populateElevationTiles","_selectTilesAutoFinest","_reduceTilesForMaximumRequests","_selectTilesAutoPrefetchUpsample","fetchAvailabilityUpsample","ok","remapTiles","forEachTileToFetch","maximumAutoTileRequests","upsampleTile","_exporter","_cloneCoordinate","spatiaReference","tileAt","some","candidateTiles","fetchedCandidates","Set","intersection","maskExtents","_maximumLodForRequests","_selectCandidateTilesCoveringExtentAt","size","ceil","clear","add","_uniqueNonOverlappingTiles","has","sort","updateTileInfo","_tileIsMasked","findIndex"],"mappings":"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","file":"js/chunk-2d0bdf78.53eee42b.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.20/esri/copyright.txt for details.\n*/\nimport\"../../geometry.js\";import\"../../core/has.js\";import e from\"../../core/Logger.js\";import{unwrapOr as t}from\"../../core/maybe.js\";import{getMetersPerUnitForSR as n}from\"../../core/unitUtils.js\";import{toExtent as s,create as i}from\"../../geometry/support/aaBoundingRect.js\";import{extentContainsPoint as o}from\"../../geometry/support/contains.js\";import{canProject as r,project as a}from\"../../geometry/support/webMercatorUtils.js\";import l from\"../../geometry/Point.js\";const c=e.getLogger(\"esri.layers.support.ElevationSampler\");class m{queryElevation(e){return h(e.clone(),this)}on(){return g}projectIfRequired(e,t){return f(e,t)}}class p extends m{constructor(e,t,i){super(),this.tile=e,this.noDataValue=i,this.extent=s(e.tile.extent,t.spatialReference);const o=n(t.spatialReference),r=t.lodAt(e.tile.level).resolution*o;this.demResolution={min:r,max:r}}get spatialReference(){return this.extent.spatialReference}contains(e){const t=this.projectIfRequired(e,this.spatialReference);return o(this.extent,t)}elevationAt(e){const t=this.projectIfRequired(e,this.spatialReference);if(!t)return null;if(!this.contains(e)){const t=this.extent,n=`${t.xmin}, ${t.ymin}, ${t.xmax}, ${t.ymax}`;c.warn(\"#elevationAt()\",`Point used to sample elevation (${e.x}, ${e.y}) is outside of the sampler extent (${n})`)}return this.tile.sample(t.x,t.y)}}class u extends m{constructor(e,t,n){let o;super(),\"number\"==typeof t?(this.noDataValue=t,o=null):(o=t,this.noDataValue=n),this.samplers=o?e.map((e=>new p(e,o,this.noDataValue))):e;const r=this.samplers[0];if(r){this.extent=r.extent.clone();const{min:e,max:t}=r.demResolution;this.demResolution={min:e,max:t};for(let n=1;ne?e:t}export default t;export{t as ElevationTile};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.20/esri/copyright.txt for details.\n*/\nimport{result as e}from\"../../core/asyncUtils.js\";import t from\"../../core/Error.js\";import{isSome as i}from\"../../core/maybe.js\";import{whenOrAbort as o,throwIfAbortError as s,eachAlways as l}from\"../../core/promiseUtils.js\";import{getMetersPerUnitForSR as n}from\"../../core/unitUtils.js\";import a from\"../../geometry/Multipoint.js\";import r from\"../../geometry/Point.js\";import c from\"../../geometry/Polyline.js\";import{initializeProjection as u,project as h}from\"../../geometry/projection.js\";import{fromExtent as p,create as m,contains as f}from\"../../geometry/support/aaBoundingRect.js\";import{MultiTileElevationSampler as d}from\"./ElevationSampler.js\";import{ElevationTile as y}from\"./ElevationTile.js\";class T{async queryAll(e,i,o){if(!(e=o&&o.ignoreInvisibleLayers?e.filter((e=>e.visible)):e.slice()).length)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require at least one elevation layer to fetch tiles from\");const s=v.fromGeometry(i);let l=!1;o&&o.returnSampleInfo||(l=!0);const n={...E,...o,returnSampleInfo:!0},a=await this.query(e[e.length-1],s,n),r=await this._queryAllContinue(e,a,n);return r.geometry=r.geometry.export(),l&&delete r.sampleInfo,r}async query(e,i,o){if(!e)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require an elevation layer to fetch tiles from\");if(!i||!(i instanceof v)&&\"point\"!==i.type&&\"multipoint\"!==i.type&&\"polyline\"!==i.type)throw new t(\"elevation-query:invalid-geometry\",\"Only point, polyline and multipoint geometries can be used to query elevation\");const s={...E,...o},l=new g(e,i.spatialReference,s),n=s.signal;return await e.load({signal:n}),await this._createGeometryDescriptor(l,i,n),await this._selectTiles(l,n),await this._populateElevationTiles(l,n),this._sampleGeometryWithElevation(l),this._createQueryResult(l,n)}async createSampler(e,i,o){if(!e)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require an elevation layer to fetch tiles from\");if(!i||\"extent\"!==i.type)throw new t(\"elevation-query:invalid-extent\",\"Invalid or undefined extent\");const s={...E,...o};return this._createSampler(e,i,s)}async createSamplerAll(e,i,o){if(!(e=o&&o.ignoreInvisibleLayers?e.filter((e=>e.visible)):e.slice()).length)throw new t(\"elevation-query:invalid-layer\",\"Elevation queries require at least one elevation layer to fetch tiles from\");if(!i||\"extent\"!==i.type)throw new t(\"elevation-query:invalid-extent\",\"Invalid or undefined extent\");const s={...E,...o,returnSampleInfo:!0},l=await this._createSampler(e[e.length-1],i,s);return this._createSamplerAllContinue(e,i,l,s)}async _createSampler(e,t,i,o){const s=i.signal;await e.load({signal:s});const l=t.spatialReference,n=e.tileInfo.spatialReference;l.equals(n)||(await u([{source:l,dest:n}],{signal:s}),t=h(t,n));const a=new w(e,t,i,o);return await this._selectTiles(a,s),await this._populateElevationTiles(a,s),new d(a.elevationTiles,a.layer.tileInfo,a.options.noDataValue)}async _createSamplerAllContinue(e,t,i,o){if(e.pop(),!e.length)return i;const s=i.samplers.map((e=>p(e.extent))),l=await this._createSampler(e[e.length-1],t,o,s);if(0===l.samplers.length)return i;const n=i.samplers.concat(l.samplers),a=new d(n,o.noDataValue);return this._createSamplerAllContinue(e,t,a,o)}async _queryAllContinue(e,t,i){const o=e.pop(),s=t.geometry.coordinates,l=[],n=[];for(let c=0;c=0?i.source||(i.source=o):e.length&&(l.push(s[c]),n.push(c))}if(!e.length||0===l.length)return t;const a=t.geometry.clone(l),r=await this.query(e[e.length-1],a,i);return n.forEach(((e,i)=>{s[e].z=r.geometry.coordinates[i].z,t.sampleInfo[e].demResolution=r.sampleInfo[i].demResolution})),this._queryAllContinue(e,t,i)}async _createQueryResult(e,t){const i={geometry:(await e.geometry.project(e.outSpatialReference,t)).export(),noDataValue:e.options.noDataValue};return e.options.returnSampleInfo&&(i.sampleInfo=this._extractSampleInfo(e)),e.geometry.coordinates.forEach((e=>{e.tile=null,e.elevationTile=null})),i}async _createGeometryDescriptor(e,i,o){let s;const l=e.layer.tileInfo.spatialReference;if(i instanceof v?s=await i.project(l,o):(await u([{source:i.spatialReference,dest:l}],{signal:o}),s=h(i,l)),!s)throw new t(\"elevation-query:spatial-reference-mismatch\",`Cannot query elevation in '${i.spatialReference.wkid}' on an elevation service in '${l.wkid}'`);e.geometry=v.fromGeometry(s)}async _selectTiles(e,i){const o=e.options.demResolution;if(\"geometry\"===e.type&&this._preselectOutsideLayerExtent(e),\"number\"==typeof o)this._selectTilesClosestResolution(e);else if(\"finest-contiguous\"===o)await this._selectTilesFinestContiguous(e,i);else{if(\"auto\"!==o)throw new t(\"elevation-query:invalid-dem-resolution\",`Invalid dem resolution value '${o}', expected a number, \"finest-contiguous\" or \"auto\"`);await this._selectTilesAuto(e,i)}}_preselectOutsideLayerExtent(e){const t=new y(null);t.sample=()=>e.options.noDataValue,e.outsideExtentTile=t;const i=e.layer.fullExtent;e.geometry.coordinates.forEach((e=>{const o=e.x,s=e.y;(oi.xmax||si.ymax)&&(e.elevationTile=t)}))}_selectTilesClosestResolution(e){const t=e.layer.tileInfo,i=this._findNearestDemResolutionLODIndex(t,e.options.demResolution);e.selectTilesAtLOD(i)}_findNearestDemResolutionLODIndex(e,t){const i=t/n(e.spatialReference);let o=e.lods[0],s=0;for(let l=1;la.fetchAvailability(e.level,e.row,e.col,{signal:l})))),l);else if(await this._populateElevationTiles(e,l),!e.allElevationTilesFetched())throw e.clearElevationTiles(),new t(\"elevation-query:has-unavailable-tiles\")}catch(c){s(c),await this._selectTilesFinestContiguousAt(e,i-1,l)}}async _populateElevationTiles(e,t){const s=e.getTilesToFetch(),n={},a=e.options.cache,r=e.options.noDataValue,c=s.map((async o=>{const s=`${e.layer.uid}:${o.id}:${r}`,l=i(a)?a.get(s):null,c=i(l)?l:await e.layer.fetchTile(o.level,o.row,o.col,{noDataValue:r,signal:t});i(a)&&a.put(s,c),n[o.id]=new y(o,c)}));await o(l(c),t),e.populateElevationTiles(n)}async _selectTilesAuto(t,i){this._selectTilesAutoFinest(t),this._reduceTilesForMaximumRequests(t);const l=t.layer.tilemapCache;if(!l)return this._selectTilesAutoPrefetchUpsample(t,i);const n=t.getTilesToFetch(),a={},r=n.map((async t=>{const o={id:null,level:0,row:0,col:0,extent:m()},n=await e(l.fetchAvailabilityUpsample(t.level,t.row,t.col,o,{signal:i}));!1===n.ok?s(n.error):a[t.id]=o}));await o(Promise.all(r),i),t.remapTiles(a)}_reduceTilesForMaximumRequests(e){const t=e.layer.tileInfo;let i=0;const o={},s=e=>{e.id in o?o[e.id]++:(o[e.id]=1,i++)},l=e=>{const t=o[e.id];1===t?(delete o[e.id],i--):o[e.id]=t-1};e.forEachTileToFetch(s,l);let n=!0;for(;n&&(n=!1,e.forEachTileToFetch((o=>{i<=e.options.maximumAutoTileRequests||(l(o),t.upsampleTile(o)&&(n=!0),s(o))}),l),n););}_selectTilesAutoFinest(e){const t=_(e.layer.tileInfo,e.options.minDemResolution);e.selectTilesAtLOD(t,e.options.maximumAutoTileRequests)}async _selectTilesAutoPrefetchUpsample(e,t){const i=e.layer.tileInfo;await this._populateElevationTiles(e,t);let o=!1;e.forEachTileToFetch(((e,t)=>{i.upsampleTile(e)?o=!0:t()})),o&&await this._selectTilesAutoPrefetchUpsample(e,t)}_sampleGeometryWithElevation(e){e.geometry.coordinates.forEach((t=>{const i=t.elevationTile;let o=e.options.noDataValue;if(i){const e=i.sample(t.x,t.y);void 0!==e?o=e:t.elevationTile=null}t.z=o}))}_extractSampleInfo(e){const t=e.layer.tileInfo,i=n(t.spatialReference);return e.geometry.coordinates.map((o=>{let s=-1;if(o.elevationTile&&o.elevationTile!==e.outsideExtentTile){s=t.lodAt(o.elevationTile.tile.level).resolution*i}return{demResolution:s}}))}}class v{export(){return this._exporter(this.coordinates,this.spatialReference)}clone(e){const t=new v;return t.geometry=this.geometry,t.spatialReference=this.spatialReference,t.coordinates=e||this.coordinates.map((e=>this._cloneCoordinate(e))),t._exporter=this._exporter,t}async project(e,t){if(this.spatialReference.equals(e))return this.clone();await u([{source:this.spatialReference,dest:e}],{signal:t});const i=new a({spatialReference:this.spatialReference,points:this.coordinates.map((e=>[e.x,e.y]))}),o=h(i,e);if(!o)return null;const s=this.coordinates.map(((e,t)=>{const i=this._cloneCoordinate(e),s=o.points[t];return i.x=s[0],i.y=s[1],i})),l=this.clone(s);return l.spatialReference=e,l}_cloneCoordinate(e){return{x:e.x,y:e.y,z:e.z,m:e.m,tile:null,elevationTile:null}}static fromGeometry(e){const t=new v;if(t.geometry=e,t.spatialReference=e.spatialReference,e instanceof v)t.coordinates=e.coordinates.map((e=>t._cloneCoordinate(e))),t._exporter=(t,i)=>{const o=e.clone(t);return o.spatialReference=i,o};else switch(e.type){case\"point\":{const i=e,{hasZ:o,hasM:s}=i;t.coordinates=o&&s?[{x:i.x,y:i.y,z:i.z,m:i.m}]:o?[{x:i.x,y:i.y,z:i.z}]:s?[{x:i.x,y:i.y,m:i.m}]:[{x:i.x,y:i.y}],t._exporter=(t,i)=>e.hasM?new r(t[0].x,t[0].y,t[0].z,t[0].m,i):new r(t[0].x,t[0].y,t[0].z,i);break}case\"multipoint\":{const i=e,{hasZ:o,hasM:s}=i;t.coordinates=o&&s?i.points.map((e=>({x:e[0],y:e[1],z:e[2],m:e[3]}))):o?i.points.map((e=>({x:e[0],y:e[1],z:e[2]}))):s?i.points.map((e=>({x:e[0],y:e[1],m:e[2]}))):i.points.map((e=>({x:e[0],y:e[1]}))),t._exporter=(t,i)=>e.hasM?new a({points:t.map((e=>[e.x,e.y,e.z,e.m])),hasZ:!0,hasM:!0,spatiaReference:i}):new a(t.map((e=>[e.x,e.y,e.z])),i);break}case\"polyline\":{const i=e,o=[],s=[],{hasZ:l,hasM:n}=e;let a=0;for(const e of i.paths)if(s.push([a,a+e.length]),a+=e.length,l&&n)for(const t of e)o.push({x:t[0],y:t[1],z:t[2],m:t[3]});else if(l)for(const t of e)o.push({x:t[0],y:t[1],z:t[2]});else if(n)for(const t of e)o.push({x:t[0],y:t[1],m:t[2]});else for(const t of e)o.push({x:t[0],y:t[1]});t.coordinates=o,t._exporter=(t,i)=>{const o=e.hasM?t.map((e=>[e.x,e.y,e.z,e.m])):t.map((e=>[e.x,e.y,e.z])),l=s.map((e=>o.slice(e[0],e[1])));return new c({paths:l,hasM:e.hasM,hasZ:!0,spatialReference:i})};break}}return t}}class x{constructor(e,t){this.layer=e,this.options=t}}class g extends x{constructor(e,t,i){super(e,i),this.outSpatialReference=t,this.type=\"geometry\"}selectTilesAtLOD(e){if(e<0)this.geometry.coordinates.forEach((e=>e.tile=null));else{const t=this.layer.tileInfo,i=t.lods[e].level;this.geometry.coordinates.forEach((e=>{e.tile=t.tileAt(i,e.x,e.y)}))}}allElevationTilesFetched(){return!this.geometry.coordinates.some((e=>!e.elevationTile))}clearElevationTiles(){for(const e of this.geometry.coordinates)e.elevationTile!==this.outsideExtentTile&&(e.elevationTile=null)}populateElevationTiles(e){for(const t of this.geometry.coordinates)!t.elevationTile&&t.tile&&(t.elevationTile=e[t.tile.id])}remapTiles(e){for(const t of this.geometry.coordinates)t.tile=e[t.tile.id]}getTilesToFetch(){const e={},t=[];for(const i of this.geometry.coordinates){const o=i.tile;i.elevationTile||!i.tile||e[o.id]||(e[o.id]=o,t.push(o))}return t}forEachTileToFetch(e){for(const t of this.geometry.coordinates)t.tile&&!t.elevationTile&&e(t.tile,(()=>t.tile=null))}}class w extends x{constructor(e,t,i,o){super(e,i),this.type=\"extent\",this.elevationTiles=[],this.candidateTiles=[],this.fetchedCandidates=new Set,this.extent=t.intersection(e.fullExtent),this.maskExtents=o}selectTilesAtLOD(e,t){const i=this._maximumLodForRequests(t),o=Math.min(i,e);o<0?this.candidateTiles.length=0:this._selectCandidateTilesCoveringExtentAt(o)}_maximumLodForRequests(e){const t=this.layer.tileInfo;if(!e)return t.lods.length-1;const i=this.extent;for(let o=t.lods.length-1;o>=0;o--){const s=t.lods[o],l=s.resolution*t.size[0],n=s.resolution*t.size[1];if(Math.ceil(i.width/l)*Math.ceil(i.height/n)<=e)return o}return-1}allElevationTilesFetched(){return this.candidateTiles.length===this.elevationTiles.length}clearElevationTiles(){this.elevationTiles.length=0,this.fetchedCandidates.clear()}populateElevationTiles(e){for(const t of this.candidateTiles){const i=e[t.id];i&&(this.fetchedCandidates.add(t),this.elevationTiles.push(i))}}remapTiles(e){this.candidateTiles=this._uniqueNonOverlappingTiles(this.candidateTiles.map((t=>e[t.id])))}getTilesToFetch(){return this.candidateTiles}forEachTileToFetch(e,t){const i=this.candidateTiles;this.candidateTiles=[],i.forEach((i=>{if(this.fetchedCandidates.has(i))return void(t&&t(i));let o=!1;e(i,(()=>o=!0)),o?t&&t(i):this.candidateTiles.push(i)})),this.candidateTiles=this._uniqueNonOverlappingTiles(this.candidateTiles,t)}_uniqueNonOverlappingTiles(e,t){const i={},o=[];for(const l of e)i[l.id]?t&&t(l):(i[l.id]=l,o.push(l));const s=o.sort(((e,t)=>e.level-t.level));return s.filter(((e,i)=>{for(let o=0;of(t,e.extent)))}}function _(e,t){let i=e.lods.length-1;if(t>0){const o=e.lods.findIndex((e=>e.resolution0&&(i=o-1)}return i}const E={maximumAutoTileRequests:20,noDataValue:0,returnSampleInfo:!1,demResolution:\"auto\",minDemResolution:0};export default T;export{T as ElevationQuery,v as GeometryDescriptor,_ as getFinestLodIndex};\n"],"sourceRoot":""}