{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/EphemeralBlockCache.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/RawBlockCache.js","webpack:///./node_modules/@arcgis/core/layers/support/TilemapCache.js","webpack:///./node_modules/@arcgis/core/layers/support/Tilemap.js","webpack:///./node_modules/@arcgis/core/layers/mixins/ImageryTileMixin.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/BaseRaster.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/DBFParser.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/CloudRaster.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/InMemoryRaster.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/xmlUtilities.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/pamParser.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/ImageAuxRaster.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/ImageServerRaster.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/MRFRaster.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/TIFFRaster.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/RasterFactory.js","webpack:///./node_modules/@arcgis/core/layers/ImageryTileLayer.js","webpack:///./node_modules/@arcgis/core/layers/support/serviceTileInfoProperty.js"],"names":["t","constructor","e","this","_timer","_cachedBlocks","Map","_size","_duration","_interval","Math","min","decreaseRefCount","s","r","has","get","refCount","delete","controller","abort","getBlock","ts","Date","now","set","block","putBlock","i","c","_trim","_updateTimer","deleteBlock","updateMaxSize","empty","clear","_clearTimer","getCurrentSize","size","setInterval","Array","from","length","clearInterval","a","n","extent","rasterInfo","cache","push","u","some","h","o","m","l","x","isResolved","isRejected","then","catch","d","y","g","f","xmin","xmax","ymin","ymax","clone","normalize","spatialReference","p","transform","k","M","Set","inverseTransform","pyramidLevel","pyramidResolution","excessiveReading","storageInfo","R","origin","C","j","max","floor","v","ceil","B","b","pyramidBlockWidth","blockWidth","w","pyramidBlockHeight","blockHeight","$","I","H","E","P","add","forEach","T","location","left","top","width","height","_allAvailability","byteSize","getAvailability","_tileAvailabilityBitSet","_updateFromData","Uint8Array","service","request","row","col","query","data","details","httpStatus","valid","response","definition","fromJSON","_validateJSON","Object","freeze","isArray","level","type","url","tileServers","getLogger","z","super","_pendingTilemapRequests","_availableLevels","levels","cacheByteSize","MEGABYTES","_prefetchingEnabled","initialize","_tilemapCache","own","layer","parsedUrl","apiKey","customParameters","_initializeTilemapDefinition","tileInfo","lods","_initializeAvailableLevels","castLevels","error","fetchTilemap","Promise","reject","_tmpTilemapDefinition","_tilemapFromCache","resolve","signal","fromDefinition","put","fetchAvailability","fetchAvailabilityUpsample","updateTileInfo","upsampleTile","_fetchAvailabilityUpsamplePrefetch","id","handles","AbortController","remove","_prefetches","_maxPrefetch","removeUnordered","path","token","hasTilemap","initialSize","constructOnly","Number","prototype","_","readOnly","arguments","_rasterJobHandler","instance","connectionPromise","bandIds","copyright","fullExtent","interpolation","multidimensionalDefinition","raster","sourceJSON","symbolizer","_set","updateRenderer","dataType","convertVectorFieldData","pixelBlock","createFlowMesh","meshType","simulationSettings","flowData","normalizeRasterFetchOptions","multidimensionalInfo","timeExtent","start","end","map","variables","find","name","variableName","dimensions","dimensionName","getTime","values","filter","sort","abs","hasRegularIntervals","loaded","JSON","stringify","_cachedRendererJson","renderer","rendererJSON","toJSON","bind","updateSymbolizer","pixels","symbolize","simpleStretchParams","getTileUrl","datasetFormat","getCompatibleTileInfo","equals","create","getCompatibleFullExtent","_compatibleFullExtent","computeExtent","requestAsImageElement","responseType","refreshParameters","ioConfig","customFetchParameters","getTileExtentFromTileInfo","_initJobHandler","buffer","cols","rows","fetchTile","fetchPixels","hasMultidimensionalTranspose","transposedVariableName","identify","value","increaseRasterJobHandlerUsage","decreaseRasterJobHandlerUsage","_shutdownJobHandler","hasStandardTime","getStandardTimeValue","toString","_configDefaultSettings","_configDefaultInterpolation","_configDefaultRenderer","rasterJobHandler","destroy","tileType","defaultResamplingMethod","J","statistics","dynamicRangeAdjustment","stretchType","success","warn","json","origins","read","source","S","types","q","G","datasetName","sampling","W","addResolvingPromise","when","normalizeCtorArgs","resolution","declaredClass","_getRequestOptionsWithSliceId","datumTransformation","intersects","nativeExtent","srcResolution","computeBestPyramidLevelForLocation","identifyPixelLocation","rowOffset","colOffset","sliceId","fetchRawTile","_processIdentifyResult","srcLocation","position","useTransposedTile","requestSomeSlices","identifyOptions","requestRawData","_fetchPixels","_isGlobalWrappableSource","round","O","disableWrapAround","all","mosaicAndTransform","srcPixelBlocks","srcMosaicSize","destDimension","coefs","sampleSpacing","alignmentInfo","blockWidths","srcExtent","_fetchRawTiles","nativePixelSize","pixelBlocks","mosaicSize","clipOffset","clipSize","decodePixelBlock","useCanvas","decode","options","range","headers","retryCount","Range","to","getSliceIndex","lodAt","getTileExtent","pixelSize","maximumPyramidLevel","scale","N","isVirtualTileInfo","createRemoteDatasetStorageInfo","log","LN2","computeBlockBoundary","firstPyramidLevel","blockBoundary","minCol","maxCol","minRow","maxRow","getPyramidPixelSize","pyramidResolutions","pyramidScalingFactor","transposeInfo","tileSize","getBlockWidthHeight","isBlockOutside","_getSourceDataInfo","srcWidth","srcHeight","wrapCount","requestProjectedLocalDirections","startsWith","getProjectionOffsetGrid","projectedExtent","srcBufferExtent","rasterTransform","hasWrapAround","isAdaptive","optimizeProjectionAccuracy","includeGCSGrid","L","D","spacing","F","_getRasterTileAlignmentInfo","isPartiallyFilled","coefficients","projectDirections","gcsGrid","isUV","localNorthDirections","A","transformGrid","worldColumnCountFromOrigin","originColumnOffset","rightPadding","allowPartialFill","_fetchRawTile","registryId","_computeMagDirValues","bandCount","_rasterTileAlighmentInfo","pyramidsInfo","startX","halfWorldWidth","hasGCSSShiftTransform","_updateSourceDataInfo","mask","magdirValue","slice","call","dataSeries","dimensionValues","String","write","fields","records","toLowerCase","alias","concat","typeName","attributes","displayFieldName","features","DataView","getUint8","header","version","recordSet","getUint32","getUint16","recordCount","headerByteCount","recordByteCount","fromCharCode","trim","indexOf","byteLength","parseInt","apply","parseFloat","substring","init","_validateHeader","lastIndexOf","_parseHeader","_fetchAuxiliaryInformation","attributeTable","_buildCacheFilePath","_getIndexRecordFromBundle","headerSize","_getTileEndAndContentType","recordSize","_getTileSize","planes","pixelType","returnPixelInterleavedDims","histograms","colormap","avg","mean","stddev","standardDeviation","median","mode","geodataXform","wkid","wkt","pixelSizeX","pixelSizeY","_parseTransform","forwardTransform","properties","format","replace","colors","LODInfos","resolutions","dpi","packetSize","mdInfo","_yxs","PacketSize","TileXSize","TileYSize","keyProperties","forwardCoefficients","inverseCoefficients","parse","_getPackageSize","_toHexString4","_getVariableFolderName","subarray","isPseudoSpatialReference","_buildInMemoryRaster","_pixelBlockTiles","split","estimateStatisticsHistograms","includes","getElementsByTagNameNS","item","textContent","nodeValue","nodeName","getAttribute","polynomialOrder","toUpperCase","noDataValue","histogram","counts","sourceBandIndex","isNaN","vcsWkid","endsWith","documentElement","tagName","metadata","rasterBands","childNodes","nodeType","_fetchData","_fetchAuxiliaryData","DateType","open","_inMemoryRaster","hasNoZlibMask","skipExtensions","aborted","_levelOffset","_slices","ssl","_fixScaleInServiceInfo","cacheType","_fetchRasterInfo","maxScale","minScale","compression","_fixGCSShift","capabilities","variable","isPoint","DataType","hasMultidimensions","slices","isGeographic","blobExtension","isOneSegment","decoderFormat","_files","_storageIndex","files","index","_parseIndex","_getBandSegmentCount","ranges","actualTileWidth","actualTileHeight","_getTileLocation","validPixelCount","reduce","ArrayBuffer","Uint32Array","U","mrf","_headerInfo","_bufferSize","littleEndian","firstIFD","isBigTiff","_readIFDs","tileWidth","tileHeight","tileBoundary","affine","BandProperties","bandProperties","ifds","isSupported","message","ifd","customOptions","headerInfo","offsets","sizes","_readIFD","TIFF_TAGS","nextIFD","offlineOffsetSize","valueOffset","GEO_KEYS","valueCount","requiredBufferSize","desc","supportedFormats","enableCRF","keys","legendEnabled","isReference","listMode","title","operationalLayerType","popupEnabled","popupTemplate","load","loadFromPortal","supportedTypes","_openRaster","createPopupTemplate","domain","editable","unit","readRenderer","layerDefinition","drawingInfo","rasterFields","test","messages","layerContainerType","minLOD","maxLOD","overridePolicy","enabled","join","Boolean","reader","disablePopup","target","writer","useGamma","ignoreMinMaxLOD"],"mappings":"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","file":"js/chunk-1b354235.9d401f6a.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass t{constructor(t=15e3,e=5e3){this._timer=null,this._cachedBlocks=new Map,this._size=-1,this._duration=t,this._interval=Math.min(t,e)}decreaseRefCount(t,e){const s=t+\"/\"+e,r=this._cachedBlocks;if(r.has(s)){const t=r.get(s);return t.refCount--,t.refCount<=0&&(r.delete(s),t.controller&&t.controller.abort()),t.refCount}return 0}getBlock(t,e){const s=t+\"/\"+e,r=this._cachedBlocks;if(r.has(s)){const t=r.get(s);return t.ts=Date.now(),t.refCount++,r.delete(s),r.set(s,t),t.block}return null}putBlock(t,e,s,r=null){const i=this._cachedBlocks,c=t+\"/\"+e;if(i.has(c)){const t=i.get(c);t.ts=Date.now(),t.refCount++}else i.set(c,{block:s,ts:Date.now(),refCount:1,controller:r});this._trim(),this._updateTimer()}deleteBlock(t,e){const s=this._cachedBlocks,r=t+\"/\"+e;s.has(r)&&s.delete(r)}updateMaxSize(t){this._size=t,this._trim()}empty(){this._cachedBlocks.clear(),this._clearTimer()}getCurrentSize(){return this._cachedBlocks.size}_updateTimer(){if(null!=this._timer)return;const t=this._cachedBlocks;this._timer=setInterval((()=>{const e=Array.from(t),s=Date.now();for(let r=0;r=t.size)return;const e=Array.from(t);for(let s=0;snull!=e))||c.delete(e)}}function f(e){c.delete(e)}function h(e,t,n){if(!c.has(e))return null==t?a.decreaseRefCount(e,n):0;const o=c.get(e);if(null==o[t])return a.decreaseRefCount(e,n);const r=o[t].cache;if(r.has(n)){const e=r.get(n);if(e.refCount--,0===e.refCount){r.delete(n);for(let e=0;ei.isResolved=!0)).catch((()=>i.isRejected=!0)),l[t].cache.set(n,i)}function d(e,t,n){if(!c.has(e))return void(null==t&&a.deleteBlock(e,n));const o=c.get(e);null!=o[t]?o[t].cache.delete(n):a.deleteBlock(e,n)}function y(e,t){if(!c.has(e))return null;const n=c.get(e);return null==n[t]?null:n[t]}function g(t,c,a,i,s,u,f=null){const h=y(t,c),m=h.extent,{cache:x,rasterInfo:d}=h;if(m&&m.xmin===a.xmin&&m.xmax===a.xmax&&m.ymin===a.ymin&&m.ymax===a.ymax)return;const g=a.clone().normalize(),{spatialReference:p,transform:k}=d,M=new Set;for(let y=0;y0?R.pyramidBlockWidth:R.blockWidth,w=h>0?R.pyramidBlockHeight:R.blockHeight,$=1,I=Math.max(0,Math.floor(j.x/b)-$),H=Math.max(0,Math.floor(j.y/w)-$),E=Math.floor((j.x+v-1)/b)+$,P=Math.floor((j.y+B-1)/w)+$;for(let e=H;e<=P;e++)for(let t=I;t<=E;t++)M.add(`${h}/${e}/${t}`)}x.forEach(((e,t)=>{if(!M.has(t)){const e=x.get(t);(null==e||e.isResolved||e.isRejected)&&x.delete(t)}})),h.extent={xmin:a.xmin,ymin:a.ymin,xmax:a.xmax,ymax:a.ymax}}export{h as decreaseRefCount,d as deleteBlock,f as deleteRaster,m as getBlock,i as getRasterId,x as putBlock,s as register,u as unregister,g as update};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import t from\"../../request.js\";import i from\"../../core/Accessor.js\";import{ByteSizeUnit as r}from\"../../core/byteSizeEstimations.js\";import s from\"../../core/Error.js\";import{HandleOwnerMixin as l}from\"../../core/HandleOwner.js\";import a from\"../../core/Logger.js\";import o from\"../../core/LRUCache.js\";import n from\"../../core/PooledArray.js\";import{onAbort as c,isAbortError as h,isAborted as p,createAbortError as m}from\"../../core/promiseUtils.js\";import{watch as f,syncAndInitial as u}from\"../../core/reactiveUtils.js\";import{waitTicks as v}from\"../../core/scheduling.js\";import{objectToQuery as y}from\"../../core/urlUtils.js\";import{property as b}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/arrayUtils.js\";import\"../../core/has.js\";import{cast as _}from\"../../core/accessorSupport/decorators/cast.js\";import{subclass as d}from\"../../core/accessorSupport/decorators/subclass.js\";import{tilemapDefinitionId as g,Tilemap as w}from\"./Tilemap.js\";var T;const j=a.getLogger(\"esri.layers.support.TilemapCache\");let z=T=class extends(l(i)){constructor(e){super(e),this._pendingTilemapRequests={},this._availableLevels={},this.levels=5,this.cacheByteSize=2*r.MEGABYTES,this.request=t,this._prefetchingEnabled=!0}initialize(){this._tilemapCache=new o(this.cacheByteSize),this.own([f((()=>{const{layer:e}=this;return[e?.parsedUrl,e?.tileServers,e?.apiKey,e?.customParameters]}),(()=>this._initializeTilemapDefinition())),f((()=>this.layer?.tileInfo?.lods),(e=>this._initializeAvailableLevels(e)),u)]),this._initializeTilemapDefinition()}castLevels(e){return e<=2?(j.error(\"Minimum levels for Tilemap is 3, but got \",e),3):e}get size(){return 1<{c(o,(()=>t(m())));const i=g(l);let s=this._pendingTilemapRequests[i];if(!s){s=w.fromDefinition(l,r).then((e=>(this._tilemapCache.put(i,e,e.byteSize),e)));const e=()=>delete this._pendingTilemapRequests[i];this._pendingTilemapRequests[i]=s,s.then(e,e)}s.then(e,t)}))}getAvailability(e,t,i){if(!this._availableLevels[e])return\"unavailable\";const r=this._tilemapFromCache(e,t,i,this._tmpTilemapDefinition);return r?r.getAvailability(t,i):\"unknown\"}fetchAvailability(e,t,i,r){return this._availableLevels[e]?this.fetchTilemap(e,t,i,r).catch((e=>e)).then((r=>{if(r instanceof w){const l=r.getAvailability(t,i);if(\"unavailable\"===l)throw new s(\"tile-map:tile-unavailable\",\"Tile is not available\",{level:e,row:t,col:i});return l}if(h(r))throw r;return\"unknown\"})):Promise.reject(new s(\"tilemap-cache:level-unavailable\",`Level ${e} is unavailable in the service`))}fetchAvailabilityUpsample(e,t,i,r,s){r.level=e,r.row=t,r.col=i;const l=this.layer.tileInfo;l.updateTileInfo(r);const a=this.fetchAvailability(e,t,i,s).catch((e=>{if(h(e))throw e;if(l.upsampleTile(r))return this.fetchAvailabilityUpsample(r.level,r.row,r.col,r);throw e}));return this._fetchAvailabilityUpsamplePrefetch(r.id,e,t,i,s,a),a}async _fetchAvailabilityUpsamplePrefetch(e,t,i,r,s,l){if(!this._prefetchingEnabled)return;const a=`prefetch-${e}`;if(this.handles.has(a))return;const o=new AbortController;l.then((()=>o.abort()),(()=>o.abort()));let n=!1;const c={remove(){n||(n=!0,o.abort())}};if(this.handles.add(c,a),await v(10,o.signal).catch((()=>{})),n||(n=!0,this.handles.remove(a)),p(o))return;const h={id:e,level:t,row:i,col:r},m={...s,signal:o.signal},f=this.layer.tileInfo;for(let p=0;T._prefetches.length{T._prefetches.removeUnordered(e)};e.then(t,t)}}_initializeTilemapDefinition(){if(!this.layer.parsedUrl)return;const{parsedUrl:e,apiKey:t,customParameters:i}=this.layer;this._tilemapCache.clear(),this._tmpTilemapDefinition={service:{url:e.path,query:y({...e.query,...i,token:t??e.query?.token}),tileServers:this.layer.tileServers,request:this.request,type:this.layer.type},width:this.size,height:this.size,level:0,row:0,col:0}}_tilemapFromCache(e,t,i,r){r.level=e,r.row=t-t%this.size,r.col=i-i%this.size;const s=g(r);return this._tilemapCache.get(s)}_initializeAvailableLevels(e){this._availableLevels={},e&&e.forEach((e=>this._availableLevels[e.level]=!0))}get test(){const e=this;return{get prefetchingEnabled(){return e._prefetchingEnabled},set prefetchingEnabled(t){e._prefetchingEnabled=t},hasTilemap:(t,i,r)=>!!e._tilemapFromCache(t,i,r,e._tmpTilemapDefinition)}}};z._maxPrefetch=4,z._prefetches=new n({initialSize:T._maxPrefetch}),e([b({constructOnly:!0,type:Number})],z.prototype,\"levels\",void 0),e([_(\"levels\")],z.prototype,\"castLevels\",null),e([b({readOnly:!0,type:Number})],z.prototype,\"size\",null),e([b({constructOnly:!0,type:Number})],z.prototype,\"cacheByteSize\",void 0),e([b({constructOnly:!0})],z.prototype,\"layer\",void 0),e([b({constructOnly:!0})],z.prototype,\"request\",void 0),z=T=e([d(\"esri.layers.support.TilemapCache\")],z);export{z as TilemapCache};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport t from\"../../request.js\";import{constant as i}from\"../../core/arrayUtils.js\";import e from\"../../core/Error.js\";import{clone as a}from\"../../core/lang.js\";class l{constructor(){this.location={left:0,top:0,width:0,height:0},this._allAvailability=\"unknown\",this.byteSize=40}getAvailability(t,i){if(\"unknown\"!==this._allAvailability)return this._allAvailability;const e=(t-this.location.top)*this.location.width+(i-this.location.left),a=e%8,l=e>>3,o=this._tileAvailabilityBitSet;return l<0||l>o.length?\"unknown\":o[l]&1<t.data)).catch((t=>{if(t&&t.details&&422===t.details.httpStatus)return{location:{top:s,left:h,width:c,height:m},valid:!0,data:i(c*m,0)};throw t})).then((t=>{if(t.location&&(t.location.top!==s||t.location.left!==h||t.location.width!==c||t.location.height!==m))throw new e(\"tilemap:location-mismatch\",\"Tilemap response for different location than requested\",{response:t,definition:{top:s,left:h,width:c,height:m}});return l.fromJSON(t)}))}static fromJSON(t){l._validateJSON(t);const i=new l;return i.location=Object.freeze(a(t.location)),i._updateFromData(t.data),Object.freeze(i)}static _validateJSON(t){if(!t||!t.location)throw new e(\"tilemap:missing-location\",\"Location missing from tilemap response\");if(!1===t.valid)throw new e(\"tilemap:invalid\",\"Tilemap response was marked as invalid\");if(!t.data)throw new e(\"tilemap:missing-data\",\"Data missing from tilemap response\");if(!Array.isArray(t.data))throw new e(\"tilemap:data-mismatch\",\"Data must be an array of numbers\");if(t.data.length!==t.location.width*t.location.height)throw new e(\"tilemap:data-mismatch\",\"Number of data items does not match width/height of tilemap\")}}function o(t){return`${t.level}/${t.row}/${t.col}/${t.width}/${t.height}`}function n(t){let i;if(\"vector-tile\"===t.service.type)i=`${t.service.url}/tilemap/${t.level}/${t.row}/${t.col}/${t.width}/${t.height}`;else{const e=t.service.tileServers;i=`${e&&e.length?e[t.row%e.length]:t.service.url}/tilemap/${t.level}/${t.row}/${t.col}/${t.width}/${t.height}`}const e=t.service.query;return e&&(i=`${i}?${e}`),i}export{l as Tilemap,o as tilemapDefinitionId};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import{rasterRendererTypes as t}from\"../../rasterRenderers.js\";import r from\"../../request.js\";import i from\"../../core/Logger.js\";import{isNone as s,isSome as n}from\"../../core/maybe.js\";import{aliasOf as o}from\"../../core/accessorSupport/decorators/aliasOf.js\";import\"../../core/arrayUtils.js\";import\"../../core/has.js\";import\"../../core/accessorSupport/ensureType.js\";import{property as a}from\"../../core/accessorSupport/decorators/property.js\";import{subclass as l}from\"../../core/accessorSupport/decorators/subclass.js\";import{getInfo as m}from\"../../geometry/support/spatialReferenceUtils.js\";import{sanitizeUrl as d}from\"../support/arcgisLayerUrl.js\";import{url as u}from\"../support/commonProperties.js\";import p from\"../support/DimensionalDefinition.js\";import h from\"../support/RasterJobHandler.js\";import c from\"../support/TileInfo.js\";import{getDefaultMultidimensionalDefinition as f,isMultiSliceOrRangeDefinition as y}from\"../support/rasterDatasets/multidimensionalUtils.js\";import{convertVectorFieldData as b}from\"../support/rasterFunctions/vectorFieldUtils.js\";import{normalizeRendererJSON as g,getDefaultInterpolation as I,getDefaultBandCombination as J,createDefaultRenderer as _}from\"../../renderers/support/rasterRendererHelper.js\";import x from\"../../renderers/support/RasterSymbolizer.js\";import{createFlowMesh as v}from\"../../views/2d/engine/flow/dataUtils.js\";import R from\"../../geometry/Extent.js\";import S from\"../../geometry/SpatialReference.js\";const j=i.getLogger(\"esri.layers.mixins.ImageryTileMixin\"),H=i=>{let H=class extends i{constructor(){super(...arguments),this._rasterJobHandler={instance:null,refCount:0,connectionPromise:null},this.bandIds=null,this.copyright=null,this.fullExtent=null,this.interpolation=\"nearest\",this.multidimensionalDefinition=null,this.raster=null,this.rasterInfo=null,this.sourceJSON=null,this.spatialReference=null,this.tileInfo=null,this.symbolizer=null}set url(e){this._set(\"url\",d(e,j))}set renderer(e){this._set(\"renderer\",e),this.updateRenderer()}async convertVectorFieldData(e,t){if(s(e))return null;const r=this._rasterJobHandler.instance,i=this.rasterInfo.dataType;return r?r.convertVectorFieldData({pixelBlock:e,dataType:i},t):b(e,i)}async createFlowMesh(e,t){const r=this._rasterJobHandler.instance;return r?r.createFlowMesh(e,t):v(e.meshType,e.simulationSettings,e.flowData,n(t.signal)?t.signal:(new AbortController).signal)}normalizeRasterFetchOptions(e){const{multidimensionalInfo:t}=this.rasterInfo;if(s(t))return e;let r=e.multidimensionalDefinition||this.multidimensionalDefinition;!s(r)&&r.length||(r=f(this.raster.rasterInfo));const i=e.timeExtent||this.timeExtent;if(n(r)&&n(i)&&(n(i.start)||n(i.end))){r=r.map((e=>e.clone()));const o=t.variables.find((({name:e})=>e===r[0].variableName))?.dimensions?.find((({name:e})=>\"StdTime\"===e)),a=r.find((({dimensionName:e})=>\"StdTime\"===e));if(!o||!a)return{...e,multidimensionalDefinition:null};const{start:l,end:m}=i,d=s(l)?null:l.getTime(),u=s(m)?null:m.getTime(),p=d??u,h=u??d;if(n(o.values)){const e=o.values.filter((e=>{if(Array.isArray(e)){if(p===h)return e[0]<=p&&e[1]>=p;const t=e[0]<=p&&e[1]>p||e[0]=h,r=e[0]>=p&&e[1]<=h||e[0]h;return t||r}return p===h?e===p:e>=p&&e<=h}));if(e.length){const t=e.sort(((e,t)=>{if(p===h)return(e[0]??e)-(t[0]??t);return Math.abs((e[1]??e)-h)-Math.abs((t[1]??t)-h)}))[0];a.values=[t]}else r=null}else if(o.hasRegularIntervals&&o.extent){const[e,t]=o.extent;p>t||h0))return null;let i;await this.updateRenderer();const s=this._rasterJobHandler.instance,{bandIds:o}=this;return i=s?await s.symbolize({...e,simpleStretchParams:t,bandIds:o}):this.symbolizer.symbolize({...e,simpleStretchParams:t,bandIds:o}),i}getTileUrl(e,t,r){return\"RasterTileServer\"===this.raster.datasetFormat?`${this.url}/tile/${e}/${t}/${r}`:\"\"}getCompatibleTileInfo(e,t,r=!1){if(!this.loaded||s(t))return null;if(r&&e.equals(this.spatialReference))return this.tileInfo;const i=m(e);return c.create({size:256,spatialReference:e,origin:i?{x:i.origin[0],y:i.origin[1]}:{x:t.xmin,y:t.ymax}})}getCompatibleFullExtent(e){return this.loaded?(this._compatibleFullExtent&&this._compatibleFullExtent.spatialReference.equals(e)||(this._compatibleFullExtent=this.raster.computeExtent(e)),this._compatibleFullExtent):null}async fetchTile(e,t,i,o={}){if(o.requestAsImageElement){const s=this.getTileUrl(e,t,i);return r(s,{responseType:\"image\",query:{...this.refreshParameters,...this.raster.ioConfig.customFetchParameters},signal:o.signal}).then((e=>e.data))}if(n(this.rasterInfo.multidimensionalInfo)&&(o=this.normalizeRasterFetchOptions(o),s(o.multidimensionalDefinition))){const r=o.tileInfo||this.rasterInfo.storageInfo.tileInfo;return{extent:this.raster.getTileExtentFromTileInfo(e,t,i,r),pixelBlock:null}}return await this._initJobHandler(),\"raster-shaded-relief\"===this.renderer.type&&(o={...o,buffer:{cols:1,rows:1}}),this.raster.fetchTile(e,t,i,o)}async fetchPixels(e,t,r,i={}){return n(this.rasterInfo.multidimensionalInfo)&&(i=this.normalizeRasterFetchOptions(i),s(i.multidimensionalDefinition))?{extent:e,pixelBlock:null}:(await this._initJobHandler(),this.raster.fetchPixels(e,t,r,i))}async identify(e,t={}){if(n(this.rasterInfo.multidimensionalInfo)){if(!(this.rasterInfo.hasMultidimensionalTranspose&&!!(y(t.multidimensionalDefinition)||t.transposedVariableName||t.timeExtent))&&(t=this.normalizeRasterFetchOptions(t),s(t.multidimensionalDefinition)))return{location:e,value:null}}return this.raster.identify(e,t)}increaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount--,this._rasterJobHandler.refCount<=0&&this._shutdownJobHandler()}hasStandardTime(){const e=this.rasterInfo.multidimensionalInfo;if(s(e)||\"standard-time\"!==this.rasterInfo.dataType)return!1;const t=this.multidimensionalDefinition[0]?.variableName;return e.variables.some((e=>e.name===t&&e.dimensions.some((e=>\"StdTime\"===e.name))))}getStandardTimeValue(e){return new Date(24*(e-25569)*3600*1e3).toString()}_configDefaultSettings(){this._configDefaultInterpolation(),this.multidimensionalDefinition||(this.multidimensionalDefinition=f(this.raster.rasterInfo)),this._configDefaultRenderer()}_initJobHandler(){if(null!=this._rasterJobHandler.connectionPromise)return this._rasterJobHandler.connectionPromise;const e=new h;return this._rasterJobHandler.connectionPromise=e.initialize().then((()=>{this._rasterJobHandler.instance=e,this.raster.rasterJobHandler=e,this.renderer&&this.updateRenderer()})).catch((()=>null)),this._rasterJobHandler.connectionPromise}_shutdownJobHandler(){this._rasterJobHandler.instance&&this._rasterJobHandler.instance.destroy(),this._rasterJobHandler.instance=null,this._rasterJobHandler.connectionPromise=null,this._rasterJobHandler.refCount=0,this.raster.rasterJobHandler=null,this._cachedRendererJson=null}_configDefaultInterpolation(){if(null==this.interpolation){const e=I(this.rasterInfo,this.raster.tileType,this.sourceJSON?.defaultResamplingMethod);this._set(\"interpolation\",e)}}_configDefaultRenderer(){const e=this.raster.rasterInfo;if(this.bandIds||(this.bandIds=J(e)),!this.renderer){const t=_(e,{bandIds:this.bandIds,variableName:n(this.multidimensionalDefinition)?this.multidimensionalDefinition[0]?.variableName:null});\"WCSServer\"===this.raster.datasetFormat&&\"raster-stretch\"===t.type&&(e.statistics?.[0].max>1e24||e.statistics?.[0].min<-1e24)&&(t.dynamicRangeAdjustment=!0,t.statistics=null,\"none\"===t.stretchType&&(t.stretchType=\"min-max\")),this.renderer=t}this.symbolizer?(this.symbolizer.rendererJSON=g(this.renderer.toJSON()),this.symbolizer.rasterInfo=e):this.symbolizer=new x({rendererJSON:this.renderer.toJSON(),rasterInfo:e});const t=this.symbolizer.bind();t.success||j.warn(\"imagery-tile-mixin\",t.error||\"The given renderer is not supported by the layer.\")}};return e([a()],H.prototype,\"_cachedRendererJson\",void 0),e([a()],H.prototype,\"_compatibleFullExtent\",void 0),e([a()],H.prototype,\"_rasterJobHandler\",void 0),e([a()],H.prototype,\"bandIds\",void 0),e([a({json:{origins:{service:{read:{source:\"copyrightText\"}}}}})],H.prototype,\"copyright\",void 0),e([a({type:R,json:{read:!1}}),o(\"rasterInfo.extent\")],H.prototype,\"fullExtent\",void 0),e([a()],H.prototype,\"interpolation\",void 0),e([a()],H.prototype,\"ioConfig\",void 0),e([a({type:[p]})],H.prototype,\"multidimensionalDefinition\",void 0),e([a()],H.prototype,\"raster\",void 0),e([a({readOnly:!0}),o(\"raster.rasterInfo\")],H.prototype,\"rasterInfo\",void 0),e([a()],H.prototype,\"sourceJSON\",void 0),e([a({type:S,json:{read:!1}}),o(\"rasterInfo.spatialReference\")],H.prototype,\"spatialReference\",void 0),e([a({type:c,json:{read:!1}}),o(\"rasterInfo.storageInfo.tileInfo\")],H.prototype,\"tileInfo\",void 0),e([a(u)],H.prototype,\"url\",null),e([a({types:t})],H.prototype,\"renderer\",null),e([a()],H.prototype,\"symbolizer\",void 0),H=e([l(\"esri.layers.ImageryTileMixin\")],H),H};export{H as ImageryTileMixin};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import\"../../../geometry.js\";import e from\"../../../request.js\";import i from\"../../../core/Error.js\";import{JSONSupport as o}from\"../../../core/JSONSupport.js\";import r from\"../../../core/Logger.js\";import{isSome as n,unwrap as s,isNone as a}from\"../../../core/maybe.js\";import{EsriPromiseMixin as l}from\"../../../core/Promise.js\";import{onAbort as c}from\"../../../core/promiseUtils.js\";import{property as m}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/ensureType.js\";import{subclass as f}from\"../../../core/accessorSupport/decorators/subclass.js\";import{sanitizeUrl as h}from\"../arcgisLayerUrl.js\";import{url as u}from\"../commonProperties.js\";import p from\"../RasterStorageInfo.js\";import d from\"../TileInfo.js\";import{isMultiSliceOrRangeDefinition as x,getSliceIndex as g,createSlices as y,getSliceIds as I}from\"./multidimensionalUtils.js\";import{getRasterId as R,getBlock as w,putBlock as k,deleteBlock as b,decreaseRefCount as v}from\"./RawBlockCache.js\";import{decode as S}from\"../rasterFormats/RasterCodec.js\";import{mosaic as T,approximateTransform as B,getLocalArithmeticNorthRotations as P}from\"../rasterFunctions/pixelUtils.js\";import{load as W,getWorldWidth as M,projectPoint as C,snapPyramid as _,snapExtent as j,getWorldWrapCount as H,projectExtent as E,getProjectionOffsetGrid as L,getRasterDatasetAlignmentInfo as D,projectResolution as z}from\"../rasterFunctions/rasterProjectionHelper.js\";import{convertToLocalDirections as A,uvComponentToVector as F}from\"../rasterFunctions/vectorFieldUtils.js\";import O from\"../../../geometry/Extent.js\";import N from\"../../../geometry/Point.js\";const q=8;let G=class extends(l(o)){constructor(){super(...arguments),this.rasterJobHandler=null,this.datasetName=null,this.datasetFormat=null,this.rasterInfo=null,this.ioConfig={sampling:\"closest\"}}async init(){const t=W();this.addResolvingPromise(t),await this.when()}normalizeCtorArgs(t){return t&&t.ioConfig&&(t={...t,ioConfig:{resolution:null,bandIds:null,sampling:\"closest\",tileInfo:d.create(),...t.ioConfig}}),t}get _isGlobalWrappableSource(){const{rasterInfo:t}=this,e=M(t.spatialReference);return n(e)&&t.extent.width>=e/2}set url(t){this._set(\"url\",h(t,r.getLogger(this.declaredClass)))}async open(t){throw new i(\"BaseRaster:open-not-implemented\",\"open() is not implemented\")}async fetchTile(t,e,i,o={}){const r=o.tileInfo||this.rasterInfo.storageInfo.tileInfo,n=this.getTileExtentFromTileInfo(t,e,i,r);return this.fetchPixels(n,r.size[0],r.size[1],o)}async identify(t,e={}){const{multidimensionalDefinition:i,timeExtent:o}=e,{hasMultidimensionalTranspose:r,multidimensionalInfo:l}=this.rasterInfo;let{transposedVariableName:c}=e;const m=n(l)&&r&&(null!=o||x(i));if(m&&!c){c=n(i)&&i.length>0?i[0].variableName:l.variables[0].name,e={...e,transposedVariableName:c}}e=this._getRequestOptionsWithSliceId(e);const{spatialReference:f,extent:h}=this.rasterInfo,{datumTransformation:u}=e;let p=C(t,f,u);if(!h.intersects(p))return{location:p,value:null};if(n(this.rasterInfo.transform)){const t=this.rasterInfo.transform.inverseTransform(p);if(!this.rasterInfo.nativeExtent.intersects(t))return{location:t,value:null};p=t}let d=0;const g=c&&n(l)&&this.rasterInfo.hasMultidimensionalTranspose;if(!g)if(e.srcResolution){d=_(e.srcResolution,this.rasterInfo,this.ioConfig.sampling).pyramidLevel}else if(d=await this.computeBestPyramidLevelForLocation(t,e),null==d)return{location:p,value:null};const y=this.identifyPixelLocation(p,d,null,g);if(null===y)return{location:p,value:null};const{row:I,col:b,rowOffset:v,colOffset:S,blockWidth:T}=y,B=c??s(e.sliceId),P=R(this.url,B),W=`${d}/${I}/${b}`;let M=w(P,null,W);a(M)&&(M=this.fetchRawTile(d,I,b,e),k(P,null,W,M));const j=await M;if(a(j)||!j.pixels?.length)return{location:p,value:null};const H=v*T+S;return this._processIdentifyResult(j,{srcLocation:p,position:H,pyramidLevel:d,useTransposedTile:g,requestSomeSlices:m,identifyOptions:e})}async fetchPixels(t,e,i,o={}){if(t=j(t),(o=this._getRequestOptionsWithSliceId(o)).requestRawData)return this._fetchPixels(t,e,i,o);const r=M(t.spatialReference),n=H(t);if(a(r)||0===n||1===n&&this._isGlobalWrappableSource)return this._fetchPixels(t,e,i,o);if(n>=3)return{extent:t,pixelBlock:null};const s=[],{xmin:l,xmax:c}=t,m=Math.round(r/(c-l)*e),f=m-Math.round((r/2-l)/(c-l)*e);let h=0;const u=[];for(let a=0;a<=n;a++){const p=new O({xmin:0===a?l:-r/2,xmax:a===n?c-r*a:r/2,ymin:t.ymin,ymax:t.ymax,spatialReference:t.spatialReference}),d=0===a?m-f:a===n?e-h:m;h+=d,u.push(d);const x=o.disableWrapAround&&a>0?null:this._fetchPixels(p,d,i,o);s.push(x)}const p=(await Promise.all(s)).map((t=>t?.pixelBlock));let d=null;const x={width:e,height:i};if(this.rasterJobHandler){d=(await this.rasterJobHandler.mosaicAndTransform({srcPixelBlocks:p,srcMosaicSize:x,destDimension:null,coefs:null,sampleSpacing:null,interpolation:\"nearest\",alignmentInfo:null,blockWidths:u},o)).pixelBlock}else d=T(p,x,{blockWidths:u});return{extent:t,srcExtent:E(t,this.rasterInfo.spatialReference,o.datumTransformation),pixelBlock:d}}async fetchRawPixels(t,e,i,o={}){e={x:Math.floor(e.x),y:Math.floor(e.y)};const r=await this._fetchRawTiles(t,e,i,o),{nativeExtent:s,nativePixelSize:a,storageInfo:l}=this.rasterInfo,c=2**t,m=a.x*c,f=a.y*c,h=new O({xmin:s.xmin+m*e.x,xmax:s.xmin+m*(e.x+i.width-1),ymin:s.ymax-f*(e.y+i.height-1),ymax:s.ymax-f*e.y,spatialReference:s.spatialReference});if(!r)return{extent:h,srcExtent:h,pixelBlock:null};const{pixelBlocks:u,mosaicSize:p}=r;if(1===u.length&&n(u[0])&&u[0].width===i.width&&u[0].height===i.height)return{extent:h,srcExtent:h,pixelBlock:r.pixelBlocks[0]};const d=t>0?l.pyramidBlockWidth:l.blockWidth,x=t>0?l.pyramidBlockHeight:l.blockHeight,g={x:e.x%d,y:e.y%x};let y;if(this.rasterJobHandler){y=(await this.rasterJobHandler.mosaicAndTransform({srcPixelBlocks:u,srcMosaicSize:p,destDimension:i,clipOffset:g,clipSize:i,coefs:null,sampleSpacing:null,interpolation:o.interpolation,alignmentInfo:null,blockWidths:null},o)).pixelBlock}else y=T(u,p,{clipOffset:g,clipSize:i});return{extent:h,srcExtent:h,pixelBlock:y}}fetchRawTile(t,e,o,r){throw new i(\"BaseRaster:read-not-implemented\",\"fetchRawTile() is not implemented\")}computeExtent(t){return E(this.rasterInfo.extent,t)}decodePixelBlock(t,e){return!this.rasterJobHandler||e.useCanvas?S(t,e):this.rasterJobHandler.decode({data:t,options:e})}async request(t,i,o){const{customFetchParameters:r}=this.ioConfig,{range:n,query:s,headers:a}=i;o=o??i.retryCount??this.ioConfig.retryCount;const l=n?{Range:`bytes=${n.from}-${n.to}`}:null;try{return await e(t,{...i,query:{...s,...r},headers:{...a,...l}})}catch(c){if(o>0)return o--,this.request(t,i,o);throw c}}getSliceIndex(t){const{multidimensionalInfo:e}=this.rasterInfo;return a(e)||a(t)||0===t.length?null:g(t,e)}getTileExtentFromTileInfo(t,e,i,o){const r=o.lodAt(t);return this.getTileExtent({x:r.resolution,y:r.resolution},e,i,o.origin,o.spatialReference,o.size)}updateTileInfo(){const{storageInfo:t,spatialReference:e,extent:i,pixelSize:o}=this.rasterInfo;if(!t.tileInfo){const r=[],n=t.maximumPyramidLevel||0;let s=Math.max(o.x,o.y),a=1/.0254*96*s;for(let t=0;t<=n;t++)r.push({level:n-t,resolution:s,scale:a}),s*=2,a*=2;const l=new N({x:i.xmin,y:i.ymax,spatialReference:e});t.tileInfo=new d({origin:l,size:[t.blockWidth,t.blockHeight],spatialReference:e,lods:r}),t.isVirtualTileInfo=!0}}createRemoteDatasetStorageInfo(t,e=512,i=512,o){const{width:r,height:n,nativeExtent:s,pixelSize:a,spatialReference:l}=t,c=new N({x:s.xmin,y:s.ymax,spatialReference:l});null==o&&(o=Math.max(0,Math.round(Math.log(Math.max(r,n))/Math.LN2-8)));const m=this.computeBlockBoundary(s,512,512,{x:s.xmin,y:s.ymax},[a],o);t.storageInfo=new p({blockWidth:e,blockHeight:i,pyramidBlockWidth:e,pyramidBlockHeight:i,origin:c,firstPyramidLevel:1,maximumPyramidLevel:o,blockBoundary:m})}async computeBestPyramidLevelForLocation(t,e={}){return 0}computeBlockBoundary(t,e,i,o,r,n=0,s=2){if(1===r.length&&n>0){r=[...r];let{x:t,y:e}=r[0];for(let i=0;il)return null;const p=this.getPyramidPixelSize(e),{x:d,y:x}=p,g=(c.y-u.y)/x/h,y=(u.x-c.x)/d/f,I=Math.min(h-1,Math.floor((g-Math.floor(g))*h)),R=Math.min(f-1,Math.floor((y-Math.floor(y))*f));return{pyramidLevel:e,row:Math.floor(g),col:Math.floor(y),rowOffset:I,colOffset:R,blockWidth:f,srcLocation:u}}getTileExtent(t,e,i,o,r,n){const[s,a]=n,l=o.x+i*s*t.x,c=l+s*t.x,m=o.y-e*a*t.y,f=m-a*t.y;return new O({xmin:l,xmax:c,ymin:f,ymax:m,spatialReference:r})}getBlockWidthHeight(t){return{blockWidth:t>0?this.rasterInfo.storageInfo.pyramidBlockWidth:this.rasterInfo.storageInfo.blockWidth,blockHeight:t>0?this.rasterInfo.storageInfo.pyramidBlockHeight:this.rasterInfo.storageInfo.blockHeight}}isBlockOutside(t,e,i){const o=this.rasterInfo.storageInfo.blockBoundary[t];return!o||o.maxRowe||o.minCol>i}async _fetchPixels(t,e,i,o={}){let r=H(t);if(r>=2)return{extent:t,pixelBlock:null};const a=this._getSourceDataInfo(t,e,i,o),{pyramidLevel:l,pyramidResolution:c,srcResolution:m,srcExtent:f,srcWidth:h,srcHeight:u}=a;if(0===h||0===u)return{extent:t,srcExtent:f,pixelBlock:null};const p=s(this.rasterInfo.transform),d=\"gcs-shift\"===p?.type,x=n(M(t.spatialReference));!d&&x||(r=H(a.srcExtent,d));const g=this.rasterInfo.storageInfo,y={x:Math.floor((f.xmin-g.origin.x)/c.x+.1),y:Math.floor((g.origin.y-f.ymax)/c.y+.1)},I=await this._fetchRawTiles(l,y,{width:h,height:u,wrapCount:r},o);if(!I)return{extent:t,srcExtent:f,pixelBlock:null};const R=l>0?g.pyramidBlockWidth:g.blockWidth,w=l>0?g.pyramidBlockHeight:g.blockHeight,k=R===h&&w===u&&y.x%R==0&&y.y%w==0,b=new N({x:(t.xmax-t.xmin)/e,y:(t.ymax-t.ymin)/i,spatialReference:t.spatialReference}),v=!t.spatialReference.equals(this.rasterInfo.spatialReference),{datumTransformation:S}=o;if(!v&&k&&1===I.pixelBlocks.length&&R===e&&w===i&&m.x===b.x&&m.y===b.y)return{extent:t,srcExtent:f,pixelBlock:I.pixelBlocks[0]};const C=x&&n(M(f.spatialReference)),_=o.requestProjectedLocalDirections&&this.rasterInfo.dataType.startsWith(\"vector\");_&&!this.rasterJobHandler&&await W();const j=this.rasterJobHandler?await this.rasterJobHandler.getProjectionOffsetGrid({projectedExtent:t,srcBufferExtent:I.extent,pixelSize:b.toJSON(),datumTransformation:S,rasterTransform:p,hasWrapAround:r>0||C,isAdaptive:!1!==this.ioConfig.optimizeProjectionAccuracy,includeGCSGrid:_},o):L({projectedExtent:t,srcBufferExtent:I.extent,pixelSize:b,datumTransformation:S,rasterTransform:p,hasWrapAround:r>0||C,isAdaptive:!1,includeGCSGrid:_});let E;const D=!o.requestRawData,z={rows:j.spacing[0],cols:j.spacing[1]},F=s(this._getRasterTileAlignmentInfo(l,I.extent.xmin)),{pixelBlocks:O,mosaicSize:q,isPartiallyFilled:G}=I;let J=null;if(this.rasterJobHandler){const t=await this.rasterJobHandler.mosaicAndTransform({srcPixelBlocks:O,srcMosaicSize:q,destDimension:D?{width:e,height:i}:null,coefs:D?j.coefficients:null,sampleSpacing:D?z:null,projectDirections:_,gcsGrid:_?j.gcsGrid:null,isUV:\"vector-uv\"===this.rasterInfo.dataType,interpolation:o.interpolation,alignmentInfo:F,blockWidths:null},o);({pixelBlock:E,localNorthDirections:J}=t)}else{const t=T(O,q,{alignmentInfo:F});E=D?B(t,{width:e,height:i},j.coefficients,z,o.interpolation):t,_&&j.gcsGrid&&(J=P({width:e,height:i},j.gcsGrid),E=A(E,this.rasterInfo.dataType,J))}return o.requestRawData||_?{srcExtent:f,pixelBlock:E,transformGrid:j,localNorthDirections:J,extent:t,isPartiallyFilled:G}:{srcExtent:f,extent:t,pixelBlock:E}}async _fetchRawTiles(t,e,i,o){const{origin:r,blockBoundary:s}=this.rasterInfo.storageInfo,{blockWidth:a,blockHeight:l}=this.getBlockWidthHeight(t);let{x:c,y:m}=e,{width:f,height:h,wrapCount:u}=i;const p=this._getRasterTileAlignmentInfo(t,0);o.buffer&&(c-=o.buffer.cols,m-=o.buffer.rows,f+=2*o.buffer.cols,h+=2*o.buffer.rows);let d=0,x=0,g=0;if(u&&n(p)){({worldColumnCountFromOrigin:x,originColumnOffset:g,rightPadding:d}=p);x*p.blockWidth-d>=c+f&&(d=0)}const y=Math.floor(c/a),I=Math.floor(m/l),R=Math.floor((c+f+d-1)/a),w=Math.floor((m+h+d-1)/l),k=s[t];if(!k)return null;const{minRow:b,minCol:v,maxCol:S,maxRow:T}=k;if(0===u&&(wT||y>S))return null;const B=new Array;let P=!1;const W=null==this.ioConfig.allowPartialFill?o.allowPartialFill:this.ioConfig.allowPartialFill;for(let L=I;L<=w;L++)for(let e=y;e<=R;e++){let i=e;if(!o.disableWrapAround&&u&&n(p)&&x<=e&&(i=e-x-g),L>=b&&i>=v&&T>=L&&S>=i){const e=this._fetchRawTile(t,L,i,o);W?B.push(new Promise((t=>{e.then((e=>t(e))).catch((()=>{P=!0,t(null)}))}))):B.push(e)}else B.push(null)}if(0===B.length)return null;const M=await Promise.all(B),C={height:(w-I+1)*l,width:(R-y+1)*a},{spatialReference:_}=this.rasterInfo,j=this.getPyramidPixelSize(t),{x:H,y:E}=j;return{extent:new O({xmin:r.x+y*a*H,xmax:r.x+(R+1)*a*H,ymin:r.y-(w+1)*l*E,ymax:r.y-I*l*E,spatialReference:_}),pixelBlocks:M,mosaicSize:C,isPartiallyFilled:P}}_fetchRawTile(t,e,i,o){const r=this.rasterInfo.storageInfo.blockBoundary[t];if(!r)return Promise.resolve(null);const{minRow:n,minCol:s,maxCol:l,maxRow:m}=r;if(em||i>l)return Promise.resolve(null);const f=R(this.url,o.sliceId),h=`${t}/${e}/${i}`;let u=w(f,o.registryId,h);if(a(u)){const r=new AbortController;u=this.fetchRawTile(t,e,i,{...o,signal:r.signal}),k(f,o.registryId,h,u,r),u.catch((()=>b(f,o.registryId,h)))}return o.signal&&c(o,(()=>{v(f,o.registryId,h)})),u}_computeMagDirValues(t){const{bandCount:e,dataType:i}=this.rasterInfo;if(!(2===e&&\"vector-magdir\"===i||\"vector-uv\"===i)||2!==t?.length||!t[0]?.length)return null;const o=t[0].length;if(\"vector-magdir\"===i){const e=t[1].map((t=>(t+360)%360));return[t[0],e]}const[r,n]=t,s=[],a=[];for(let l=0;l=16;if(f||l===n&&(c>q||m>q)||(0===s||0===a)){const s=new N({x:(t.xmax-t.xmin)/e,y:(t.ymax-t.ymin)/i,spatialReference:t.spatialReference});let a=z(s,this.rasterInfo.spatialReference,t,r.datumTransformation);const h=!a||o.srcResolution&&a.x+a.y=t){const e=2**t;a={x:o.srcResolution.x*e,y:o.srcResolution.y*e}}}a&&(r.srcResolution=a,this._updateSourceDataInfo(t,r))}return(r.srcWidth/e>q||r.srcHeight/i>q)&&(r.srcWidth=0,r.srcHeight=0),r}_updateSourceDataInfo(t,e){e.srcWidth=0,e.srcHeight=0;const i=this.rasterInfo.spatialReference,{srcResolution:o,datumTransformation:r}=e,{pyramidLevel:n,pyramidResolution:a,excessiveReading:l}=_(o,this.rasterInfo,this.ioConfig.sampling);if(l)return;let c=e.srcExtent||E(t,i,r);if(null==c)return;const m=s(this.rasterInfo.transform);m&&(c=m.inverseTransform(c)),e.srcExtent=c;const f=Math.ceil((c.xmax-c.xmin)/a.x-.1),h=Math.ceil((c.ymax-c.ymin)/a.y-.1);e.pyramidLevel=n,e.pyramidResolution=a,e.srcWidth=f,e.srcHeight=h}_getRequestOptionsWithSliceId(t){return n(this.rasterInfo.multidimensionalInfo)&&null==t.sliceId&&(t={...t,sliceId:this.getSliceIndex(t.multidimensionalDefinition)}),t}_processIdentifyResult(t,e){const{srcLocation:i,position:o,pyramidLevel:r,useTransposedTile:n}=e,l=t.pixels[0].length/t.width/t.height;if(!(!t.mask||t.mask[o]))return{location:i,value:null};const{multidimensionalInfo:c}=this.rasterInfo;if(a(c)||!n){const e=t.pixels.map((t=>t[o])),n={location:i,value:e,pyramidLevel:r},s=this._computeMagDirValues(e.map((t=>[t])));return s?.length&&(n.magdirValue=s.map((t=>t[0]))),n}let m=t.pixels.map((t=>Array.prototype.slice.call(t,o*l,o*l+l))),f=this._computeMagDirValues(m);const{requestSomeSlices:h,identifyOptions:u}=e;let p=y(c,u.transposedVariableName);if(h){const t=I(p,s(u.multidimensionalDefinition),s(u.timeExtent));m=m.map((e=>t.map((t=>e[t])))),f=f?.map((e=>t.map((t=>e[t])))),p=t.map((t=>p[t]))}return{location:i,value:null,dataSeries:p.map(((t,e)=>{const i={value:m.map((t=>t[e])),multidimensionalDefinition:t.multidimensionalDefinition,variableName:t.multidimensionalDefinition[0].variableName,dimensionValues:{}};return f?.length&&(i.magdirValue=[f[0][e],f[1][e]]),t.multidimensionalDefinition.forEach((t=>i.dimensionValues[t.dimensionName]=t.values[0])),i})),pyramidLevel:r}}};t([m()],G.prototype,\"_rasterTileAlighmentInfo\",void 0),t([m({readOnly:!0})],G.prototype,\"_isGlobalWrappableSource\",null),t([m(u)],G.prototype,\"url\",null),t([m({type:String,json:{write:!0}})],G.prototype,\"datasetName\",void 0),t([m({type:String,json:{write:!0}})],G.prototype,\"datasetFormat\",void 0),t([m()],G.prototype,\"rasterInfo\",void 0),t([m()],G.prototype,\"ioConfig\",void 0),t([m()],G.prototype,\"sourceJSON\",void 0),G=t([f(\"esri.layers.support.rasterDatasets.BaseRaster\")],G);const J=G;export{J as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{bytesToUTF8 as e}from\"./byteStreamUtils.js\";function t(e){const t=e.fields,r=e.records,n=t.some((e=>\"oid\"===e.name.toLowerCase()))?\"OBJECTID\":\"OID\",i=[{name:n,type:\"esriFieldTypeOID\",alias:\"OID\"}].concat(t.map((e=>({name:e.name,type:\"esriFieldType\"+e.typeName,alias:e.name})))),s=i.map((e=>e.name)),a=[];let o=0,l=0;return r.forEach((e=>{const t={};for(t[n]=o++,l=1;l0)for(;u.lengtho;){const t=[];32===n.getUint8(p)?(p+=1,g.forEach((n=>{if(\"C\"===n.type)t.push(e(new Uint8Array(r,p,n.length)).trim());else if(\"N\"===n.type)t.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(r,p,n.length)).trim(),10));else if(\"F\"===n.type)t.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(r,p,n.length)).trim()));else if(\"D\"===n.type){const e=String.fromCharCode.apply(null,new Uint8Array(r,p,n.length)).trim();t.push(new Date(parseInt(e.substring(0,4),10),parseInt(e.substring(4,6),10)-1,parseInt(e.substring(6,8),10)))}p+=n.length})),u.push(t)):p+=o}}return{header:l,fields:g,records:u,recordSet:t({fields:g,records:u})}}}export{r as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import\"../../../geometry.js\";import t from\"../../../core/Error.js\";import{isNone as r,isSome as i}from\"../../../core/maybe.js\";import{property as o}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/ensureType.js\";import{subclass as s}from\"../../../core/accessorSupport/decorators/subclass.js\";import a from\"../RasterInfo.js\";import n from\"../RasterStorageInfo.js\";import l from\"../TileInfo.js\";import f from\"./BaseRaster.js\";import m from\"./DBFParser.js\";import{isTransformSupported as c,readTransform as p}from\"../rasterTransforms/utils.js\";import d from\"../../../rest/support/FeatureSet.js\";import u from\"../../../geometry/SpatialReference.js\";import h from\"../../../geometry/Extent.js\";import g from\"../../../geometry/Point.js\";const y=new Map;y.set(\"int16\",\"esriFieldTypeSmallInteger\"),y.set(\"int32\",\"esriFieldTypeInteger\"),y.set(\"int64\",\"esriFieldTypeInteger\"),y.set(\"float32\",\"esriFieldTypeSingle\"),y.set(\"float64\",\"esriFieldTypeDouble\"),y.set(\"text\",\"esriFieldTypeString\");const x=8;let S=class extends f{constructor(){super(...arguments),this.storageInfo=null,this.datasetFormat=\"CRF\"}async open(e){await this.init();const{data:r}=await this.request(this.url+\"/conf.json\",{signal:e?.signal});if(!this._validateHeader(r))throw new t(\"cloudraster:open\",\"Invalid or unsupported conf.json.\");this.datasetName=this.url.slice(this.url.lastIndexOf(\"/\")+1);const{storageInfo:i,rasterInfo:o}=this._parseHeader(r);if(\"thematic\"===o.dataType){const e=await this._fetchAuxiliaryInformation();o.attributeTable=e}this._set(\"storageInfo\",i),this._set(\"rasterInfo\",o),this.ioConfig.retryCount=this.ioConfig.retryCount||0}async fetchRawTile(e,t,r,i={}){const{transposeInfo:o}=this.rasterInfo.storageInfo,{transposedVariableName:s}=i,a=!(!o||!s),n=a?0:this.rasterInfo.storageInfo.maximumPyramidLevel-e;if(n<0)return null;const l=this._buildCacheFilePath(n,t,r,i.multidimensionalDefinition,s),f=this._getIndexRecordFromBundle(t,r,a),m=await this.request(l,{range:{from:0,to:this.storageInfo.headerSize-1},responseType:\"array-buffer\",signal:i.signal});if(!m)return null;const c=new Uint8Array(m.data),p=this._getTileEndAndContentType(c,f);if(0===p.recordSize)return null;const d=await this.request(l,{range:{from:p.position,to:p.position+p.recordSize},responseType:\"array-buffer\",signal:i.signal});if(!d)return null;const[u,h]=this._getTileSize(a);return this.decodePixelBlock(d.data,{width:u,height:h,planes:null,pixelType:null,returnPixelInterleavedDims:a})}_validateHeader(e){const t=[\"origin\",\"extent\",\"geodataXform\",\"LODInfos\",\"blockWidth\",\"blockHeight\",\"bandCount\",\"pixelType\",\"pixelSizeX\",\"pixelSizeY\",\"format\",\"packetSize\"];return e&&\"RasterInfo\"===e.type&&!t.some((t=>!e[t]))}_parseHeader(e){const t=[\"u1\",\"u2\",\"u4\",\"u8\",\"s8\",\"u16\",\"s16\",\"u32\",\"s32\",\"f32\",\"f64\"][e.pixelType],{bandCount:r,histograms:i,colormap:o,blockWidth:s,blockHeight:f,firstPyramidLevel:m,maximumPyramidLevel:c}=e,p=e.statistics&&e.statistics.map((e=>({min:e.min,max:e.max,avg:e.mean,stddev:e.standardDeviation,median:e.median,mode:e.mode}))),d=e.extent.spatialReference,y=e.geodataXform?.spatialReference,S=new u(d?.wkid||d?.wkt?d:y);let I=new h({xmin:e.extent.xmin,ymin:e.extent.ymin,xmax:e.extent.xmax,ymax:e.extent.ymax,spatialReference:S});const w=new g({x:e.pixelSizeX,y:e.pixelSizeY,spatialReference:S}),_=Math.round((I.xmax-I.xmin)/w.x),v=Math.round((I.ymax-I.ymin)/w.y),b=this._parseTransform(e.geodataXform),z=b?I:null;b&&(I=b.forwardTransform(I),w.x=(I.xmax-I.xmin)/_,w.y=(I.ymax-I.ymin)/v);const T=e.properties??{},k=e.format.toLowerCase().replace(\"cache/\",\"\"),j=new g(e.origin.x,e.origin.y,S);let C,R,F,P;if(o&&o.colors)for(C=[],R=0;R>>24,F<<8>>>24,F>>>24]);const H=e.LODInfos,D=[];for(R=0;R0)for(R=0;Re.data)).catch((()=>null)),r=this.request(this.url+\"/conf.vat.dbf\",{responseType:\"array-buffer\",signal:e}).then((e=>e.data)).catch((()=>null)),i=await Promise.all([t,r]);let o;if(i[0]){let e=i[0].fields;const t=i[0].values;if(e&&t){e=e.map((e=>({type:\"OID\"===e.name?\"esriFieldTypeOID\":y.get(e.type),name:e.name,alias:e.alias||e.name})));const r=t.map((e=>({attributes:e})));e&&t&&(o={fields:e,features:r})}}if(!o&&i[1]){o=m.parse(i[1]).recordSet}return d.fromJSON(o)}_buildCacheFilePath(e,t,i,o,s){const a=this._getPackageSize(!!s),n=Math.floor(t/a)*a,l=Math.floor(i/a)*a,f=\"R\"+this._toHexString4(n)+\"C\"+this._toHexString4(l);let m=\"L\";m+=e>=10?e.toString():\"0\"+e.toString();const{multidimensionalInfo:c}=this.rasterInfo,p=o?.[0];if(r(c)||!p)return`${this.url}/_alllayers/${m}/${f}.bundle`;let d=\"_yxs\";if(!s){d=c.variables.find((e=>e.name===p.variableName)).dimensions[0].values.indexOf(p.values[0]).toString(16);const e=4-d.length;for(let t=0;t0;)t=\"0\"+t}return t}};e([o({readOnly:!0})],S.prototype,\"storageInfo\",void 0),e([o({type:String,json:{write:!0}})],S.prototype,\"datasetFormat\",void 0),S=e([s(\"esri.layers.support.rasterDatasets.CloudRaster\")],S);const I=S;export{I as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import\"../../../geometry.js\";import e from\"../../../core/Error.js\";import{isSome as s}from\"../../../core/maybe.js\";import{eachAlways as r}from\"../../../core/promiseUtils.js\";import{property as i}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/ensureType.js\";import{subclass as o}from\"../../../core/accessorSupport/decorators/subclass.js\";import a from\"../RasterInfo.js\";import m from\"./BaseRaster.js\";import{split as n}from\"../rasterFunctions/pixelUtils.js\";import{estimateStatisticsHistograms as l}from\"../rasterFunctions/stretchUtils.js\";import p from\"../../../geometry/Extent.js\";import c from\"../../../geometry/SpatialReference.js\";let h=class extends m{constructor(){super(...arguments),this.datasetFormat=\"MEMORY\"}async open(t){await this.init();const{pixelBlock:e,statistics:s,histograms:r,name:i,keyProperties:o,nativeExtent:m,transform:n}=this.data,{width:l,height:h,pixelType:f}=e,d=this.data.extent||new p({xmin:-.5,ymin:.5,xmax:l-.5,ymax:h-.5,spatialReference:new c({wkid:3857})}),u=this.data.isPseudoSpatialReference??!this.data.extent,y={x:d.width/l,y:d.height/h},x=new a({width:l,height:h,pixelType:f,extent:d,nativeExtent:m,transform:n,pixelSize:y,spatialReference:d.spatialReference,bandCount:3,keyProperties:o||{},statistics:s,isPseudoSpatialReference:u,histograms:r});this.createRemoteDatasetStorageInfo(x,512,512),this._set(\"rasterInfo\",x),this.updateTileInfo(),await this._buildInMemoryRaster(e,{width:512,height:512},t),this.datasetName=i,this.url=\"/InMemory/\"+i}fetchRawTile(t,e,s,r={}){const i=this._pixelBlockTiles.get(`${t}/${e}/${s}`);return Promise.resolve(i)}async _buildInMemoryRaster(t,i,o){const a=this.rasterInfo.storageInfo.maximumPyramidLevel,m=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:t,tileSize:i,maximumPyramidLevel:a},o):Promise.resolve(n(t,i,a)),p=s(this.rasterInfo.statistics),c=s(this.rasterInfo.histograms),h=p?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:t},o):Promise.resolve(l(t)),f=await r([m,h]);if(!f[0].value&&f[1].value)throw new e(\"inmemory-raster:open\",\"failed to build in memory raster\");this._pixelBlockTiles=f[0].value,p||(this.rasterInfo.statistics=f[1].value?.statistics),c||(this.rasterInfo.histograms=f[1].value?.histograms)}};t([i({type:String,json:{write:!0}})],h.prototype,\"datasetFormat\",void 0),t([i()],h.prototype,\"data\",void 0),h=t([o(\"esri.layers.support.rasterDatasets.InMemoryRaster\")],h);const f=h;export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nfunction n(e,t){if(!e||!t)return[];let l=t;t.includes(\"/\")?(l=t.slice(0,t.indexOf(\"/\")),t=t.slice(t.indexOf(\"/\")+1)):t=\"\";const r=[];if(t){const u=n(e,l);for(let e=0;er.push(n)))}return r}const u=e.getElementsByTagNameNS(\"*\",l);if(!u||0===u.length)return[];for(let n=0;n0?l?e(u[0],l):u[0]:null}function t(n,t=null){const l=t?e(n,t):n;let r;return l?(r=l.textContent||l.nodeValue,r?r.trim():null):null}function l(e,t){const l=n(e,t),r=[];let u;for(let n=0;nNumber(n)))}function u(n,e){return l(n,e).map((n=>Number(n)))}function o(n,e){const l=t(n,e);return Number(l)}function i(n,e){const t=n?.nodeName?.toLowerCase(),l=e.toLowerCase();return t.slice(t.lastIndexOf(\":\")+1)===l}function c(n){return n.nodeName.slice(n.nodeName.lastIndexOf(\":\")+1)}export{e as getElement,o as getElementNumericValue,u as getElementNumericValues,t as getElementValue,l as getElementValues,n as getElements,c as getNodeNameIgnoreNS,r as getSpaceDelimitedNumericValues,i as isSameTagIgnoreNS};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../../geometry.js\";import{isSameTagIgnoreNS as e,getElementValue as t,getElements as n,getElement as s,getElementNumericValue as r,getElementNumericValues as a}from\"./xmlUtilities.js\";import i from\"../rasterTransforms/PolynomialTransform.js\";import l from\"../../../geometry/SpatialReference.js\";function o(e,t){if(!e||!t)return null;const n=[];for(let s=0;sNumber(e)));let c,m,d,p;n(e,\"Metadata/MDI\").forEach((e=>{const t=Number(e.textContent??e.nodeValue);switch(e.getAttribute(\"key\").toUpperCase()){case\"STATISTICS_MINIMUM\":c=t;break;case\"STATISTICS_MAXIMUM\":m=t;break;case\"STATISTICS_MEAN\":d=t;break;case\"STATISTICS_STDDEV\":p=t}}));const S=r(e,\"Metadata/SourceBandIndex\");return{noDataValue:a,histogram:f?.length&&null!=c&&null!=m?{min:l,max:o,size:u||f.length,counts:f}:null,sourceBandIndex:S,statistics:null!=c&&null!=m?{min:c,max:m,avg:d,stddev:p}:null}}function c(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new l({wkid:t});if((e=String(e)).startsWith(\"COMPD_CS\")){if(!e.includes(\"VERTCS\")||!e.includes(\"GEOGCS\")&&!e.startsWith(\"PROJCS\"))return null;const n=e.indexOf(\"VERTCS\"),s=e.indexOf(\"PROJCS\"),r=s>-1?s:e.indexOf(\"GEOGCS\");if(-1===r)return null;const a=e.slice(r,e.lastIndexOf(\"]\",n)+1).trim(),i=e.slice(n,e.lastIndexOf(\"]\")).trim();t=m(a);const o=new l(t?{wkid:t}:{wkt:a}),u=m(i);return u&&(o.vcsWkid=u),o}return e.startsWith(\"GEOGCS\")||e.startsWith(\"PROJCS\")?(t=m(e),new l(0!==t?{wkid:t}:{wkt:e})):null}function m(e){const t=e.replace(/\\]/g,\"[\").replace(/\\\"/g,\"\").split(\"[\").map((e=>e.trim())).filter((e=>\"\"!==e)),n=t[t.length-1].split(\",\"),s=n[0]?.toLowerCase();if((\"epsg\"===s||\"esri\"===s)&&e.endsWith('\"]]')){const e=Number(n[1]);if(!isNaN(e)&&0!==e)return e}return 0}function d(s){if(\"pamdataset\"!==s?.documentElement.tagName?.toLowerCase())return{};const r={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};s.documentElement.childNodes.forEach((s=>{if(1===s.nodeType)if(e(s,\"SRS\")){if(!r.spatialReference){const e=t(s);r.spatialReference=c(e)}}else if(e(s,\"Metadata\"))if(\"xml:ESRI\"===s.getAttribute(\"domain\")){const{spatialReference:e,transform:t}=u(s);r.transform=t,r.spatialReference||(r.spatialReference=e)}else{n(s,\"MDI\").forEach((e=>r.metadata[e.getAttribute(\"key\")]=t(e)))}else if(e(s,\"PAMRasterBand\")){const e=f(s);null!=e.sourceBandIndex&&null==r.rasterBands[e.sourceBandIndex]?r.rasterBands[e.sourceBandIndex]=e:r.rasterBands.push(e)}}));const a=r.rasterBands;if(a){const e=!!a[0].statistics;r.statistics=e?a.map((e=>e.statistics)):null;const t=!!a[0].histogram;r.histograms=t?a.map((e=>e.histogram)):null}return r}export{d as parsePAMInfo,c as parseSpatialReference};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import\"../../../geometry.js\";import s from\"../../../core/Error.js\";import e from\"../../../core/has.js\";import{unwrap as r}from\"../../../core/maybe.js\";import{eachAlways as a,createAbortError as o}from\"../../../core/promiseUtils.js\";import{property as i}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/accessorSupport/ensureType.js\";import{subclass as n}from\"../../../core/accessorSupport/decorators/subclass.js\";import m from\"./BaseRaster.js\";import l from\"./InMemoryRaster.js\";import{parsePAMInfo as p}from\"./pamParser.js\";import{getFormat as c}from\"../rasterFormats/RasterCodec.js\";import{estimateStatisticsFromHistograms as f}from\"../rasterFunctions/stretchUtils.js\";import u from\"../rasterTransforms/PolynomialTransform.js\";import h from\"../../../geometry/SpatialReference.js\";import d from\"../../../geometry/Extent.js\";let y=class extends m{async open(t){await this.init();const s=await this._fetchData(t);let{spatialReference:e,statistics:r,histograms:a,transform:o}=await this._fetchAuxiliaryData(t);const i=!e;i&&(e=new h({wkid:3857})),a?.length&&null==r&&(r=f(a));const{width:n,height:m}=s;let p=new d({xmin:-.5,ymin:.5-m,xmax:n-.5,ymax:.5,spatialReference:e});const c=o?o.forwardTransform(p):p;let u=!0;if(o){const t=o.forwardCoefficients;u=t&&0===t[1]&&0===t[2],u&&(o=null,p=c)}const y=new l({data:{extent:c,nativeExtent:p,transform:o,pixelBlock:s,statistics:r,histograms:a,keyProperties:{DateType:\"Processed\"},isPseudoSpatialReference:i}});await y.open(),y.data=null,this._set(\"rasterInfo\",y.rasterInfo),this._inMemoryRaster=y}fetchRawTile(t,s,e,r={}){return this._inMemoryRaster.fetchRawTile(t,s,e,r)}async _fetchData(t){const{data:r}=await this.request(this.url,{responseType:\"array-buffer\",signal:t?.signal}),a=c(r).toUpperCase();if(\"JPG\"!==a&&\"PNG\"!==a&&\"GIF\"!==a&&\"BMP\"!==a)throw new s(\"image-aux-raster:open\",\"the data is not a supported format\");this._set(\"datasetFormat\",a);const o=a.toLowerCase(),i=\"gif\"===o||\"bmp\"===o||!e(\"ios\");return await this.decodePixelBlock(r,{format:o,useCanvas:i,hasNoZlibMask:!0})}async _fetchAuxiliaryData(t){const s=r(t?.signal),e=this.ioConfig.skipExtensions??[],i=e.includes(\"aux.xml\")?null:this.request(this.url+\".aux.xml\",{responseType:\"xml\",signal:s}),n=this.datasetFormat,m=\"JPG\"===n?\"jgw\":\"PNG\"===n?\"pgw\":\"BMP\"===n?\"bpw\":null,l=e.includes(m)?null:this.request(this.url.slice(0,this.url.lastIndexOf(\".\"))+\".\"+m,{responseType:\"text\",signal:s}),c=await a([i,l]);if(s?.aborted)throw o();const f=p(c[0].value?.data);if(!f.transform){const t=c[1].value?c[1].value.data.split(\"\\n\").slice(0,6).map((t=>Number(t))):null;f.transform=6===t?.length?new u({forwardCoefficients:[t[4],t[5],t[0],-t[1],t[2],-t[3]]}):null}return f}};t([i({type:String,json:{write:!0}})],y.prototype,\"datasetFormat\",void 0),y=t([n(\"esri.layers.support.rasterDatasets.ImageAuxRaster\")],y);const w=y;export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import\"../../../geometry.js\";import t from\"../../../core/Error.js\";import{isSome as i,isNone as s,unwrap as a}from\"../../../core/maybe.js\";import{urlToObject as r}from\"../../../core/urlUtils.js\";import{property as l}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/ensureType.js\";import{subclass as o}from\"../../../core/accessorSupport/decorators/subclass.js\";import n from\"../RasterInfo.js\";import c from\"../RasterStorageInfo.js\";import{readServiceTileInfo as m}from\"../serviceTileInfoProperty.js\";import h from\"../TileInfo.js\";import{TilemapCache as p}from\"../TilemapCache.js\";import f from\"./BaseRaster.js\";import{setValidBoundary as u}from\"../rasterFunctions/pixelUtils.js\";import y from\"../rasterTransforms/GCSShiftTransform.js\";import{fetchServiceRasterInfo as d}from\"../../../rest/imageService/fetchRasterInfo.js\";import x from\"../../../geometry/SpatialReference.js\";import g from\"../../../geometry/Point.js\";import v from\"../../../geometry/Extent.js\";let S=class extends f{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat=\"RasterTileServer\"}async open(e){await this.init();const s=e&&e.signal,a=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:\"json\"},signal:s});a.ssl&&(this.url=this.url.replace(/^http:/i,\"https:\"));const l=a.data;if(this.sourceJSON=l,!l)throw new t(\"imageserverraster:open\",\"cannot initialize tiled image service, missing service info\");if(!l.tileInfo)throw new t(\"imageserverraster:open\",\"use ImageryLayer to open non-tiled image services\");this._fixScaleInServiceInfo();const o=[\"jpg\",\"jpeg\",\"png\",\"png8\",\"png24\",\"png32\",\"mixed\"];this.tileType=l.cacheType,null==this.tileType&&(o.includes(l.tileInfo.format.toLowerCase())?this.tileType=\"Map\":\"lerc\"===l.tileInfo.format.toLowerCase()?this.tileType=\"Elevation\":this.tileType=\"Raster\"),this.datasetName=l.name.slice(l.name.indexOf(\"/\")+1);const n=await this._fetchRasterInfo({signal:s});if(!i(n))throw new t(\"image-server-raster:open\",\"cannot initialize image service\");{const e=\"Map\"===this.tileType?m(l.tileInfo,l):h.fromJSON(l.tileInfo),{extent:t,pixelSize:i}=n,s=.5/n.width*i.x;let a,r;const o=e.lodAt(Math.max.apply(null,e.lods.map((e=>e.level))));\"Map\"!==this.tileType&&0!==l.maxScale&&(\"Raster\"===this.tileType?(a=e.lods.find((e=>e.resolution===i.x)),a||(a=e.lods[e.lods.length-1])):(a=e.lods.find((e=>Math.abs(e.scale-l.maxScale)e.scale>l.maxScale)).sort(((e,t)=>e.scale>t.scale?1:-1))[0])),i.x=i.y=a.resolution,n.width=Math.ceil((t.xmax-t.xmin)/i.x-.1),n.height=Math.ceil((t.ymax-t.ymin)/i.y-.1)),a||(a=o);const p=e.lodAt(Math.min.apply(null,e.lods.map((e=>e.level))));\"Map\"===this.tileType?this._levelOffset=e.lods[0].level:0!==l.minScale&&\"Elevation\"===this.tileType&&(r=e.lods.find((e=>Math.abs(e.scale-l.minScale)s||!e.lods.some((e=>Math.abs(e.resolution-f){e.level>=r.level&&e.level<=a.level&&x.push({x:e.resolution,y:e.resolution})})),x.sort(((e,t)=>e.x-t.x));const g=this.computeBlockBoundary(t,y,d,e.origin,x,u),v=x.length>1?x.slice(1):null;let S;l.transposeInfo&&(S={tileSize:[l.transposeInfo.rows,l.transposeInfo.cols],packetSize:n.keyProperties?._yxs.PacketSize??0}),n.storageInfo=new c({blockWidth:e.size[0],blockHeight:e.size[1],pyramidBlockWidth:e.size[0],pyramidBlockHeight:e.size[1],pyramidResolutions:v,compression:e.format,origin:e.origin,firstPyramidLevel:1,maximumPyramidLevel:u,tileInfo:e,transposeInfo:S,blockBoundary:g}),this._fixGCSShift(n),this._set(\"rasterInfo\",n)}if(l.capabilities.toLowerCase().includes(\"tilemap\")){const e={tileInfo:n.storageInfo.tileInfo,parsedUrl:r(this.url),url:this.url,tileServers:[],type:\"tile\"};this._tilemapCache=new p({layer:e})}}async fetchRawTile(e,t,s,a={}){const{storageInfo:r,extent:l}=this.rasterInfo,{transposeInfo:o}=r,n=i(o)&&!!a.transposedVariableName;if(this._slices&&!n&&null==a.sliceId)return null;const c=n?0:r.maximumPyramidLevel-e+this._levelOffset,m=`${this.url}/tile/${c}/${t}/${s}`,h=this._slices?n?{variable:a.transposedVariableName}:{sliceId:a.sliceId||0}:null,{data:p}=await this.request(m,{query:h,responseType:\"array-buffer\",signal:a.signal});if(!p)return null;const f=n?o.tileSize:r.tileInfo.size,y=await this.decodePixelBlock(p,{width:f[0],height:f[1],planes:null,pixelType:null,isPoint:\"Elevation\"===this.tileType,returnPixelInterleavedDims:n}),d=r.blockBoundary[e];if(\"jpg\"!==r.compression||s>d.minCol&&sd.minRow&&t{const i=t.find((t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName));if(!i)return!0;return(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(i.values[0])?`${i.values[0][0]}-${i.values[0][1]}`:i.values[0])})))return i}return null}async fetchVariableStatisticsHistograms(e,t){const i=this.request(this.url+\"/statistics\",{query:{variable:e,f:\"json\"},signal:t}).then((e=>e.data?.statistics)),s=this.request(this.url+\"/histograms\",{query:{variable:e,f:\"json\"},signal:t}).then((e=>e.data?.histograms)),a=await Promise.all([i,s]);return a[0]&&a[0].forEach((e=>{e.avg=e.mean,e.stddev=e.standardDeviation})),{statistics:a[0]||null,histograms:a[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let i=this.identifyPixelLocation(e,0,a(t.datumTransformation));if(null===i)return null;let s=0;const{maximumPyramidLevel:r}=this.rasterInfo.storageInfo;let l=r-s+this._levelOffset;const o=i.srcLocation;for(;l>=0;){try{if(\"available\"===await this._tilemapCache.fetchAvailability(l,i.row,i.col,t))break}catch{}if(l--,s++,i=this.identifyPixelLocation(o,s,a(t.datumTransformation)),null===i)return null}return-1===l||null==i?null:s}async _fetchRasterInfo(e){const t=this.sourceJSON;if(\"Map\"===this.tileType){const e=Math.ceil((t.extent.xmax-t.extent.xmin)/t.pixelSizeX-.1),i=Math.ceil((t.extent.ymax-t.extent.ymin)/t.pixelSizeY-.1),s=x.fromJSON(t.spatialReference||t.extent.spatialReference),a=new g({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:s});return new n({width:e,height:i,bandCount:3,extent:v.fromJSON(t.extent),spatialReference:s,pixelSize:a,pixelType:\"u8\",statistics:null,keyProperties:{DataType:\"processed\"}})}const{signal:i}=e,s=d(this.url,this.sourceJSON,{signal:i,query:this.ioConfig.customFetchParameters}),a=t.hasMultidimensions?this.request(`${this.url}/slices`,{query:{f:\"json\"},signal:i}).then((e=>e.data&&e.data.slices)).catch((()=>null)):null,r=await Promise.all([s,a]);return this._slices=r[1],r[0]}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_fixGCSShift(e){const{extent:t,spatialReference:i}=e;0===t.xmin&&360===t.xmax&&i.wkid&&i.isGeographic&&(e.nativeExtent=e.extent,e.transform=new y,e.extent=e.transform.forwardTransform(t))}};e([l({type:String,json:{write:!0}})],S.prototype,\"datasetFormat\",void 0),e([l()],S.prototype,\"tileType\",void 0),S=e([o(\"esri.layers.support.rasterDatasets.ImageServerRaster\")],S);const I=S;export{I as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import\"../../../geometry.js\";import e from\"../../../core/Error.js\";import{unwrap as r,isNone as s,isSome as o}from\"../../../core/maybe.js\";import{property as i}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/ensureType.js\";import{subclass as a}from\"../../../core/accessorSupport/decorators/subclass.js\";import n from\"../PixelBlock.js\";import l from\"../RasterInfo.js\";import f from\"../RasterStorageInfo.js\";import c from\"./BaseRaster.js\";import{parseSpatialReference as m,parsePAMInfo as p}from\"./pamParser.js\";import{getElement as h,getElementValue as u}from\"./xmlUtilities.js\";import{isPlatformLittleEndian as g}from\"../rasterFormats/utils.js\";import{estimateStatisticsFromHistograms as d}from\"../rasterFunctions/stretchUtils.js\";import y from\"../../../geometry/SpatialReference.js\";import x from\"../../../geometry/Extent.js\";import w from\"../../../geometry/Point.js\";const I=new Map;I.set(\"Int8\",\"s8\"),I.set(\"UInt8\",\"u8\"),I.set(\"Int16\",\"s16\"),I.set(\"UInt16\",\"u16\"),I.set(\"Int32\",\"s32\"),I.set(\"UInt32\",\"u32\"),I.set(\"Float32\",\"f32\"),I.set(\"Float64\",\"f32\"),I.set(\"Double64\",\"f32\");const b=new Map;b.set(\"none\",{blobExtension:\".til\",isOneSegment:!0,decoderFormat:\"bip\"}),b.set(\"lerc\",{blobExtension:\".lrc\",isOneSegment:!1,decoderFormat:\"lerc\"}),b.set(\"deflate\",{blobExtension:\".pzp\",isOneSegment:!0,decoderFormat:\"deflate\"}),b.set(\"jpeg\",{blobExtension:\".pjg\",isOneSegment:!0,decoderFormat:\"jpg\"});let A=class extends c{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this.datasetFormat=\"MRF\"}async open(t){await this.init(),this.datasetName=this.url.slice(this.url.lastIndexOf(\"/\")+1);const e=t?r(t.signal):null,o=await this.request(this.url,{responseType:\"xml\",signal:e}),{rasterInfo:i,files:a}=this._parseHeader(o.data);if(-1===this.ioConfig.skipExtensions?.indexOf(\"aux.xml\")){const e=await this._fetchAuxiliaryData(t);null!=e&&(i.statistics=e.statistics??i.statistics,i.histograms=e.histograms,e.histograms&&s(i.statistics)&&(i.statistics=d(e.histograms)))}this._set(\"rasterInfo\",i),this._files=a;const n=await this.request(a.index,{responseType:\"array-buffer\",signal:e});this._storageIndex=this._parseIndex(n.data);const{blockWidth:l,blockHeight:f}=this.rasterInfo.storageInfo,c=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:m,height:p}=this.rasterInfo,h=[],u=this._getBandSegmentCount();let g=0,y=-1;for(;g0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=y),this.updateTileInfo()}async fetchRawTile(t,e,r,s={}){const{blockWidth:i,blockHeight:a,blockBoundary:l}=this.rasterInfo.storageInfo,f=l[t];if(!f||f.maxRowe||f.minCol>r)return null;const{bandCount:c,pixelType:m}=this.rasterInfo,{ranges:p,actualTileWidth:h,actualTileHeight:u}=this._getTileLocation(t,e,r);if(!p||0===p.length)return null;if(0===p[0].from&&0===p[0].to){const t=new Uint8Array(i*a);return new n({width:i,height:a,pixels:null,mask:t,validPixelCount:0})}const{bandIds:g}=this.ioConfig,d=this._getBandSegmentCount(),y=[];let x=0;for(x=0;x-1)&&y.push(this.request(this._files.data,{range:{from:p[x].from,to:p[x].to},responseType:\"array-buffer\",signal:s.signal}));const w=await Promise.all(y),I=w.map((t=>t.data.byteLength)).reduce(((t,e)=>t+e)),A=new Uint8Array(I);let F=0;for(x=0;x1e24)for(x=0;x1e-6&&(r[x]=1);else for(x=0;x0)throw\"invalid array buffer must be multiples of 16\";let e,r,s,o,i,a;if(g){for(r=new Uint8Array(t),o=new ArrayBuffer(t.byteLength),s=new Uint8Array(o),i=0;iparseFloat(t)))));if(h(t,\"MRF_META/CachedSource\"))throw new e(\"mrf:open\",\"currently does not support MRF referencing other data files\");const j=h(t,\"MRF_META/GeoTags\"),k=h(j,\"BoundingBox\");let M,S=!1;if(null!=k){const t=parseFloat(k.getAttribute(\"minx\")),e=parseFloat(k.getAttribute(\"miny\")),r=parseFloat(k.getAttribute(\"maxx\")),s=parseFloat(k.getAttribute(\"maxy\")),o=u(j,\"Projection\")||\"\";let i;if(\"LOCAL_CS[]\"!==o)if(o.toLowerCase().startsWith(\"epsg:\")){const t=Number(o.slice(5));isNaN(t)||0===t||(i=new y({wkid:t}))}else i=m(o);else S=!0,i=new y({wkid:3857});M=new x(t,e,r,s),M.spatialReference=i}else S=!0,M=new x({xmin:-.5,ymin:.5-i,xmax:o-.5,ymax:.5,spatialReference:new y({wkid:3857})});const T=h(t,\"MRF_META/Rsets\"),C=parseInt(T&&T.getAttribute(\"scale\")||\"2\",10),U=M.spatialReference,B=new f({origin:new w({x:M.xmin,y:M.ymax,spatialReference:U}),blockWidth:d,blockHeight:A,pyramidBlockWidth:d,pyramidBlockHeight:A,compression:n,pyramidScalingFactor:C}),L=new w({x:M.width/o,y:M.height/i,spatialReference:U}),E=new l({width:o,height:i,extent:M,isPseudoSpatialReference:S,spatialReference:U,bandCount:a,pixelType:p,pixelSize:L,noDataValue:_,storageInfo:B}),P=u(t,\"datafile\"),O=u(t,\"IndexFile\");return{rasterInfo:E,files:{mrf:this.url,index:O||this.url.replace(\".mrf\",\".idx\"),data:P||this.url.replace(\".mrf\",b.get(n).blobExtension)}}}async _fetchAuxiliaryData(t){try{const{data:e}=await this.request(this.url+\".aux.xml\",{responseType:\"xml\",signal:t?.signal});return p(e)}catch{return null}}};t([i()],A.prototype,\"_files\",void 0),t([i()],A.prototype,\"_storageIndex\",void 0),t([i({type:String,json:{write:!0}})],A.prototype,\"datasetFormat\",void 0),A=t([a(\"esri.layers.support.rasterIO.MRFRaster\")],A);const F=A;export{F as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import\"../../../geometry.js\";import t from\"../../../core/Error.js\";import{unwrap as r,isNone as i}from\"../../../core/maybe.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/ensureType.js\";import{subclass as a}from\"../../../core/accessorSupport/decorators/subclass.js\";import n from\"../RasterInfo.js\";import o from\"../RasterStorageInfo.js\";import f from\"./BaseRaster.js\";import{parseSpatialReference as l,parsePAMInfo as m}from\"./pamParser.js\";import{parseSignature as u,getImageInfo as p,parseIFD as c,parseFieldValues as h,isBSQConfig as d}from\"../rasterFormats/TiffDecoder.js\";import y from\"../rasterFormats/TiffTags.js\";import{estimateStatisticsFromHistograms as g}from\"../rasterFunctions/stretchUtils.js\";import x from\"../rasterTransforms/PolynomialTransform.js\";import T from\"../../../geometry/SpatialReference.js\";import I from\"../../../geometry/Extent.js\";import w from\"../../../geometry/Point.js\";const _=(e,t)=>{const r=e.get(t);return r&&r.values},b=(e,t)=>{const r=e.get(t);return r&&r.values[0]};let E=class extends f{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this.datasetFormat=\"TIFF\"}async open(e){await this.init();const s=e?r(e.signal):null,{data:a}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:\"array-buffer\",signal:s});if(!a)throw new t(\"tiffraster:open\",\"failed to open url \"+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf(\"/\")+1);const{littleEndian:f,firstIFD:m,isBigTiff:c}=u(a),h=[];await this._readIFDs(h,a,f,m,0,c?8:4,s);const d=p(h),{width:y,height:_,tileWidth:b,tileHeight:E,planes:S,pixelType:F,compression:R,firstPyramidLevel:k,maximumPyramidLevel:v,pyramidBlockWidth:j,pyramidBlockHeight:B,tileBoundary:D,affine:L,metadata:z}=d,O=d.extent.spatialReference?.wkt||d.extent.spatialReference?.wkid;let P=l(O),H=!1;null==P&&(H=!0,P=new T({wkid:3857}));const A=new I({...d.extent,spatialReference:P}),G=new w(A?{x:A.xmin,y:A.ymax,spatialReference:P}:{x:0,y:0}),q=new o({blockWidth:b,blockHeight:E,pyramidBlockWidth:j,pyramidBlockHeight:B,compression:R,origin:G,firstPyramidLevel:k,maximumPyramidLevel:v,blockBoundary:D}),C=new w({x:(A.xmax-A.xmin)/y,y:(A.ymax-A.ymin)/_,spatialReference:P}),W=z?{BandProperties:z.bandProperties,DataType:z.dataType}:{},U=new n({width:y,height:_,bandCount:S,pixelType:F,compression:R,pixelSize:C,storageInfo:q,spatialReference:P,isPseudoSpatialReference:H,keyProperties:W,extent:A,statistics:z?z.statistics:null});if(L?.length&&(U.nativeExtent=new I({xmin:-.5,ymin:.5-_,xmax:y-.5,ymax:.5,spatialReference:P}),U.transform=new x({polynomialOrder:1,forwardCoefficients:[L[2]+L[0]/2,L[5]-L[3]/2,L[0],L[3],-L[1],-L[4]]}),U.extent=U.transform.forwardTransform(U.nativeExtent),U.pixelSize=new w({x:(A.xmax-A.xmin)/y,y:(A.ymax-A.ymin)/_,spatialReference:P}),q.origin.x=-.5,q.origin.y=.5),!this.ioConfig.skipExtensions?.includes(\"aux.xml\")){const t=await this._fetchAuxiliaryData(e);if(null!=t){if(U.statistics=t.statistics??U.statistics,U.histograms=t.histograms,t.histograms&&i(U.statistics)&&(U.statistics=g(t.histograms)),t.transform&&!L){U.transform=t.transform,U.nativeExtent=U.extent;const e=U.transform.forwardTransform(U.nativeExtent);U.pixelSize=new w({x:(e.xmax-e.xmin)/y,y:(e.ymax-e.ymin)/_,spatialReference:P}),U.extent=e}U.spatialReference||(U.spatialReference=t.spatialReference)}}if(this._set(\"rasterInfo\",U),this._headerInfo={littleEndian:f,isBigTiff:c,ifds:h,...d},!this._headerInfo.isSupported)throw new t(\"tiffraster:open\",\"this tiff is not supported: \"+this._headerInfo.message);this.updateTileInfo()}async fetchRawTile(e,t,r,i={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,r))return null;const s=this._getTileLocation(e,t,r);if(!s)return null;const{ranges:a,actualTileWidth:n,actualTileHeight:o,ifd:f}=s,l=a.map((e=>this.request(this.url,{range:e,responseType:\"array-buffer\",signal:i.signal}))),m=await Promise.all(l),u=m.map((e=>e.data.byteLength)).reduce(((e,t)=>e+t)),p=1===m.length?m[0].data:new ArrayBuffer(u),c=[0],h=[0];if(m.length>1){const e=new Uint8Array(p);for(let t=0,r=0;t=t.byteLength||i<0){t=(await this.request(this.url,{range:{from:i+s,to:i+s+this._bufferSize},responseType:\"array-buffer\",signal:n})).data,s=i+s,i=0}const o=await this._readIFD(t,r,i,s,y.TIFF_TAGS,a,n);if(e.push(o.ifd),!o.nextIFD)return null;await this._readIFDs(e,t,r,o.nextIFD-s,s,a,n)}async _readIFD(e,t,r,i,s=y.TIFF_TAGS,a=4,n){if(!e)return null;const o=c(e,t,r,i,s,a);if(o.success){const r=[];if(o.ifd.forEach((e=>{e.values||r.push(e)})),r.length>0){const s=r.map((e=>e.offlineOffsetSize)),a=Math.min.apply(null,s.map((e=>e[0])));if(Math.min.apply(null,s.map((e=>e[0]+e[1])))-a<=this._bufferSize){const{data:s}=await this.request(this.url,{range:{from:a,to:a+this._bufferSize},responseType:\"array-buffer\",signal:n});e=s,i=a,r.forEach((r=>h(e,t,r,i)))}}if(o.ifd.has(\"GEOKEYDIRECTORY\")){const r=o.ifd.get(\"GEOKEYDIRECTORY\"),s=r.values;if(s&&s.length>4){const a=s[0]+\".\"+s[1]+\".\"+s[2],o=await this._readIFD(e,t,r.valueOffset+6-i,i,y.GEO_KEYS,2,n);r.data=o.ifd,r.data&&r.data.set(\"GEOTIFFVersion\",{id:0,type:2,valueCount:1,valueOffset:null,values:[a]})}}return o}if(o.requiredBufferSize&&o.requiredBufferSize!==e.byteLength){const r=await this.request(this.url,{range:{from:i,to:i+o.requiredBufferSize+4},responseType:\"array-buffer\",signal:n});return(e=r.data).byteLengthp||r>c||tt.add(r))),t}static async open(e){const{url:r,ioConfig:s,sourceJSON:o}=e;let a=e.datasetFormat;null==a&&r.lastIndexOf(\".\")&&(a=r.slice(r.lastIndexOf(\".\")+1).toUpperCase()),\"OVR\"===a||\"TIF\"===a?a=\"TIFF\":\"JPG\"!==a&&\"JPEG\"!==a&&\"JFIF\"!==a||(a=\"JPG\"),r.toLowerCase().includes(\"/imageserver\")&&!r.toLowerCase().includes(\"/wcsserver\")&&(a=\"RasterTileServer\");const n={url:r,sourceJSON:o,datasetFormat:a,ioConfig:s||{bandIds:null,sampling:null}};let l,i;if(this.supportedFormats.has(a)){if(\"CRF\"===a&&!s.enableCRF)throw new t(\"rasterfactory:open\",`cannot open raster: ${r}`);return l=c.get(a).constructor,i=new l(n),await i.open({signal:e.signal}),i}if(a)throw new t(\"rasterfactory:open\",\"not a supported format \"+a);const u=Array.from(c.keys());let F=0;const m=()=>(a=u[F++],a&&(\"CRF\"!==a||s.enableCRF)?(l=c.get(a).constructor,i=new l(n),i.open({signal:e.signal}).then((()=>i)).catch((()=>m()))):null);return m()}static register(t,e,r){c.has(t.toUpperCase())||c.set(t.toUpperCase(),{desc:e,constructor:r})}}export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import r from\"../PopupTemplate.js\";import{read as t,rasterRendererTypes as o,websceneRasterRendererTypes as i}from\"../rasterRenderers.js\";import s from\"../core/Error.js\";import{isSome as a}from\"../core/maybe.js\";import{MultiOriginJSONMixin as n}from\"../core/MultiOriginJSONSupport.js\";import{throwIfAbortError as l}from\"../core/promiseUtils.js\";import{watch as p}from\"../core/reactiveUtils.js\";import{property as d}from\"../core/accessorSupport/decorators/property.js\";import\"../core/arrayUtils.js\";import\"../core/has.js\";import{Integer as m}from\"../core/accessorSupport/ensureType.js\";import{enumeration as u}from\"../core/accessorSupport/decorators/enumeration.js\";import{reader as c}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as y}from\"../core/accessorSupport/decorators/subclass.js\";import h from\"./Layer.js\";import{BlendLayer as f}from\"./mixins/BlendLayer.js\";import{CustomParametersMixin as v}from\"./mixins/CustomParametersMixin.js\";import{ImageryTileMixin as g}from\"./mixins/ImageryTileMixin.js\";import{OperationalLayer as j}from\"./mixins/OperationalLayer.js\";import{PortalLayer as b}from\"./mixins/PortalLayer.js\";import{RefreshableLayer as S}from\"./mixins/RefreshableLayer.js\";import{ScaleRangeLayer as w}from\"./mixins/ScaleRangeLayer.js\";import{TemporalLayer as T}from\"./mixins/TemporalLayer.js\";import{legendEnabled as P}from\"./support/commonProperties.js\";import I from\"./support/Field.js\";import{interpolationKebab as R}from\"./support/rasterEnums.js\";import O from\"./support/rasterDatasets/RasterFactory.js\";import{createPopupTemplate as x}from\"../support/popupUtils.js\";let L=class extends(f(w(j(b(v(g(T(S(n(h)))))))))){constructor(...e){super(...e),this.bandIds=null,this.interpolation=null,this.legendEnabled=!0,this.isReference=null,this.listMode=\"show\",this.sourceJSON=null,this.version=null,this.title=null,this.type=\"imagery-tile\",this.operationalLayerType=\"ArcGISTiledImageServiceLayer\",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null}normalizeCtorArgs(e,r){return\"string\"==typeof e?{url:e,...r}:e}load(e){const r=a(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:[\"Image Service\"]},e).catch(l).then((()=>this._openRaster(r)))),Promise.resolve(this)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){let e=[new I({name:\"Raster.ServicePixelValue\",alias:\"Pixel Value\",domain:null,editable:!1,length:50,type:\"string\"})];const r=this.rasterInfo?.attributeTable?.fields,t=\"Raster.\";if(r){const o=r.filter((e=>\"oid\"!==e.type&&\"value\"!==e.name.toLowerCase())).map((e=>{const r=e.clone();return r.name=t+e.name,r}));e=e.concat(o)}const o=this.rasterInfo.dataType;if((\"vector-magdir\"===o||\"vector-uv\"===o)&&a(this.rasterInfo.multidimensionalInfo)){const r=this.rasterInfo.multidimensionalInfo.variables[0].unit?.trim(),t=\"Magnitude\"+(r?` (${r})`:\"\");e.push(new I({name:\"Raster.Magnitude\",alias:t,domain:null,editable:!1,type:\"double\"})),e.push(new I({name:\"Raster.Direction\",alias:\"Direction (°)\",domain:null,editable:!1,type:\"double\"}))}return e}set renderer(e){this._set(\"renderer\",e),this.updateRenderer()}readRenderer(e,r,o){const i=r&&r.layerDefinition&&r.layerDefinition.drawingInfo&&r.layerDefinition.drawingInfo.renderer,s=t(i,o)||void 0;if(null!=s)return s}createPopupTemplate(e){return x({fields:this.rasterFields,title:this.title},e)}write(e,r){const{raster:t}=this;if(this.loaded?\"RasterTileServer\"===t.datasetFormat&&(\"Raster\"===t.tileType||\"Map\"===t.tileType):this.url&&/\\/ImageServer(\\/|\\/?$)/i.test(this.url))return super.write(e,r);if(r&&r.messages){const e=`${r.origin}/${r.layerContainerType||\"operational-layers\"}`;r.messages.push(new s(\"layer:unsupported\",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this}))}return null}async _openRaster(e){this.raster?(this.raster.rasterInfo||await this.raster.open(),this.url=this.raster.url):this.raster=await O.open({url:this.url,sourceJSON:this.sourceJSON,ioConfig:{sampling:\"closest\",...this.ioConfig,customFetchParameters:this.customParameters},signal:e});const{rasterInfo:r}=this.raster;if(!r)throw new s(\"imagery-tile-layer:load\",\"cannot load resources on \"+this.url);if(this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON){const e=\"Map\"===this.raster.tileType&&null!=this.sourceJSON.minLOD&&null!=this.sourceJSON.maxLOD?this.sourceJSON:{...this.sourceJSON,minScale:0,maxScale:0};this.read(e,{origin:\"service\"})}null==this.title&&(this.title=this.raster.datasetName),\"Map\"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.own(p((()=>this.customParameters),(e=>{this.raster.ioConfig.customFetchParameters=e})))}};e([d({type:[m],json:{write:{overridePolicy(){return{enabled:!this.loaded||\"Raster\"===this.raster.tileType||\"0,1,2\"!==this.bandIds?.join(\",\")}}}}})],L.prototype,\"bandIds\",void 0),e([d({json:{write:{overridePolicy(){return{enabled:!this.loaded||\"Raster\"===this.raster.tileType||\"bilinear\"!==this.interpolation}}}}}),u(R)],L.prototype,\"interpolation\",void 0),e([d({json:{write:!0}})],L.prototype,\"multidimensionalDefinition\",void 0),e([d(P)],L.prototype,\"legendEnabled\",void 0),e([d({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],L.prototype,\"isReference\",void 0),e([d({type:[\"show\",\"hide\"]})],L.prototype,\"listMode\",void 0),e([d({json:{read:!0,write:!0}})],L.prototype,\"blendMode\",void 0),e([d()],L.prototype,\"sourceJSON\",void 0),e([d({readOnly:!0,json:{origins:{service:{read:{source:\"currentVersion\"}}}}})],L.prototype,\"version\",void 0),e([d()],L.prototype,\"title\",void 0),e([d({readOnly:!0,json:{read:!1}})],L.prototype,\"type\",void 0),e([d({type:[\"ArcGISTiledImageServiceLayer\"]})],L.prototype,\"operationalLayerType\",void 0),e([d({type:Boolean,value:!0,json:{read:{source:\"disablePopup\",reader:(e,r)=>!r.disablePopup},write:{target:\"disablePopup\",overridePolicy(){return{enabled:!this.loaded||\"Raster\"===this.raster.tileType}},writer(e,r,t){r[t]=!e}}}})],L.prototype,\"popupEnabled\",void 0),e([d({type:r,json:{read:{source:\"popupInfo\"},write:{target:\"popupInfo\",overridePolicy(){return{enabled:!this.loaded||\"Raster\"===this.raster.tileType}}}}})],L.prototype,\"popupTemplate\",void 0),e([d({readOnly:!0})],L.prototype,\"defaultPopupTemplate\",null),e([d({readOnly:!0,type:[I]})],L.prototype,\"fields\",void 0),e([d({readOnly:!0,type:[I]})],L.prototype,\"rasterFields\",null),e([d({types:o,json:{name:\"layerDefinition.drawingInfo.renderer\",write:{overridePolicy(){const e=\"raster-stretch\"===this.renderer?.type&&\"none\"===this.renderer.stretchType&&!this.renderer.useGamma;return{enabled:!this.loaded||\"Raster\"===this.raster.tileType||!e}}},origins:{\"web-scene\":{types:i,name:\"layerDefinition.drawingInfo.renderer\",write:{overridePolicy:e=>({enabled:e&&\"vector-field\"!==e.type&&\"flow\"!==e.type})}}}}})],L.prototype,\"renderer\",null),e([c(\"renderer\")],L.prototype,\"readRenderer\",null),L=e([y(\"esri.layers.ImageryTileLayer\")],L);const N=L;export{N as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport e from\"./TileInfo.js\";const r={type:e,json:{origins:{service:{read:{source:[\"tileInfo\",\"minScale\",\"maxScale\",\"minLOD\",\"maxLOD\"],reader:n}}}}};function n(r,n,l,o){if(!r)return null;const{minScale:i,maxScale:t,minLOD:m,maxLOD:s}=n;if(null!=m&&null!=s)return o&&o.ignoreMinMaxLOD?e.fromJSON(r):e.fromJSON({...r,lods:r.lods.filter((({level:e})=>null!=e&&e>=m&&e<=s))});if(0!==i&&0!==t){const n=e=>Math.round(1e4*e)/1e4,l=i?n(i):1/0,o=t?n(t):-1/0;return e.fromJSON({...r,lods:r.lods.filter((e=>{const r=n(e.scale);return r<=l&&r>=o}))})}return e.fromJSON(r)}export{n as readServiceTileInfo,r as serviceTileInfoProperty};\n"],"sourceRoot":""}