(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d237932"],{fc65:function(e,t,i){"use strict";i.r(t),i.d(t,"default",(function(){return zt}));var r,a=i("a4ee"),n=i("4856"),s=i("b2b2"),o=i("e694"),l=i("f4cc"),c=i("59b2"),u=(i("b50f"),i("c120"),i("cea0")),p=i("d386"),m=i("09db"),d=i("a6a3"),b=i("e06a"),h=i("8d60"),y=i("ba40"),f=i("2eab"),g=i("ce50"),O=i("fa8a"),j=i("7ffa"),v=i("e92d"),R=i("e041"),w=i("4adc"),S=i("afcf"),x=i("22f4"),I=i("b627"),F=i("6a0ed"),N=i("448d");const T=new Set(["raster","raster2","dem","fillraster"]),D=new Set(["rasters"]),P=e=>e&&e.rasterFunction?A.fromJSON(e):e,_=e=>e&&e instanceof A?e.toJSON():e,C=e=>(null==e?void 0:e.functionName)&&!e.declaredClass,V=e=>C(e)?new A(e):e,M=e=>{if(null==e)return null;e=Object(j["a"])(e);const t={};for(const i of Object.keys(e))T.has(i.toLowerCase())?t[i]=P(e[i]):D.has(i.toLowerCase())&&Array.isArray(e[i])?t[i]=e[i].map(P):t[i]=e[i];return t};let A=r=class extends F["a"]{constructor(e){super(e),this.functionName=null,this.outputPixelType="unknown",this.variableName=null,this.rasterFunctionDefinition=null}set functionArguments(e){if(e){const t=Object.keys(e);if(t.some(t=>T.has(t.toLowerCase())&&C(e[t]))||t.some(t=>D.has(t.toLowerCase())&&Array.isArray(e[t])&&e[t].some(e=>C(e)))){e=Object(j["a"])(e);for(const i of t)T.has(i.toLowerCase())?e[i]=V(e[i]):D.has(i.toLowerCase())&&Array.isArray(e[i])&&(e[i]=e[i].map(e=>V(e)))}}this._set("functionArguments",e)}readFunctionArguments(e){return M(e)}writeFunctionArguments(e,t,i){const r={};for(const a of Object.keys(e))T.has(a.toLowerCase())?r[a]=_(e[a]):D.has(a.toLowerCase())&&Array.isArray(e[a])?r[a]=e[a].map(_):r[a]=_(e[a]);t[i]=r}readFunctionName(e,t){const i=t.rasterFunctionInfos,r=t.name;return r||(i&&i.length&&"None"!==i[0].name?i[0].name:t.rasterFunctionDefinition?t.rasterFunctionDefinition.name:t.rasterFunction)}clone(){return new r({functionName:this.functionName,functionArguments:Object(j["a"])(this.functionArguments),outputPixelType:this.outputPixelType,variableName:this.variableName,rasterFunctionDefinition:Object(j["a"])(this.rasterFunctionDefinition)})}};Object(a["a"])([Object(c["b"])({json:{type:Object,name:"rasterFunctionArguments"}})],A.prototype,"functionArguments",null),Object(a["a"])([Object(S["a"])("functionArguments")],A.prototype,"readFunctionArguments",null),Object(a["a"])([Object(m["a"])("functionArguments")],A.prototype,"writeFunctionArguments",null),Object(a["a"])([Object(c["b"])({json:{type:String,write:{target:"rasterFunction"}}})],A.prototype,"functionName",void 0),Object(a["a"])([Object(S["a"])("functionName",["rasterFunction","rasterFunctionInfos","rasterFunctionDefinition"])],A.prototype,"readFunctionName",null),Object(a["a"])([Object(N["a"])({C128:"c128",C64:"c64",F32:"f32",F64:"f64",S16:"s16",S32:"s32",S8:"s8",U1:"u1",U16:"u16",U2:"u2",U32:"u32",U4:"u4",U8:"u8",UNKNOWN:"unknown"},{ignoreUnknown:!1}),Object(c["b"])({json:{default:"unknown"}})],A.prototype,"outputPixelType",void 0),Object(a["a"])([Object(c["b"])({type:String,json:{read:!0,write:!0}})],A.prototype,"variableName",void 0),Object(a["a"])([Object(c["b"])({type:Object,json:{name:"rasterFunctionDefinition"}})],A.prototype,"rasterFunctionDefinition",void 0),A=r=Object(a["a"])([Object(p["a"])("esri.layers.support.RasterFunction")],A);const J=A,E={StretchFunction:{arguments:{ComputeGamma:{isDataset:!1,isPublic:!1,name:"ComputeGamma",type:"RasterFunctionVariable",value:!1},DRA:{isDataset:!1,isPublic:!1,name:"DRA",type:"RasterFunctionVariable",value:!1},EstimateStatsHistogram:{isDataset:!1,isPublic:!1,name:"EstimateStatsHistogram",type:"RasterFunctionVariable",value:!1},Gamma:{displayName:"Gamma",isDataset:!1,isPublic:!1,name:"Gamma",type:"RasterFunctionVariable"},Histograms:{isDataset:!1,isPublic:!1,name:"Histograms",type:"RasterFunctionVariable"},Max:{isDataset:!1,isPublic:!1,name:"Max",type:"RasterFunctionVariable",value:255},MaxPercent:{isDataset:!1,isPublic:!1,name:"MaxPercent",type:"RasterFunctionVariable",value:.5},Min:{isDataset:!1,isPublic:!1,name:"Min",type:"RasterFunctionVariable",value:0},MinPercent:{isDataset:!1,isPublic:!1,name:"MinPercent",type:"RasterFunctionVariable",value:.25},NumberOfStandardDeviations:{isDataset:!1,isPublic:!1,name:"NumberOfStandardDeviation",type:"RasterFunctionVariable",value:2},Raster:{isDataset:!0,isPublic:!1,name:"Raster",type:"RasterFunctionVariable"},SigmoidStrengthLevel:{isDataset:!1,isPublic:!1,name:"SigmoidStrengthLevel",type:"RasterFunctionVariable",value:2},Statistics:{isDataset:!1,isPublic:!1,name:"Statistics",type:"RasterFunctionVariable"},StretchType:{isDataset:!1,isPublic:!1,name:"StretchType",type:"RasterFunctionVariable",value:0},type:"StretchFunctionArguments",UseGamma:{isDataset:!1,isPublic:!1,name:"UseGamma",type:"RasterFunctionVariable",value:!1}},description:"Enhances an image by adjusting the range of values displayed. This does not alter the underlying pixel values. If a pixel has a value outside of the specified range, it will appear as either the minimum or maximum value.",function:{description:"Enhances an image by adjusting the range of values displayed. This does not alter the underlying pixel values. If a pixel has a value outside of the specified range, it will appear as either the minimum or maximum value.",name:"Stretch",pixelType:"UNKNOWN",type:"StretchFunction"},functionType:0,name:"Stretch",thumbnail:""},RemapFunction:{name:"Remap",description:"Changes pixel values by assigning new values to ranges of pixel values or using an external table.",function:{type:"RemapFunction",pixelType:"UNKNOWN",name:"Remap",description:"Changes pixel values by assigning new values to ranges of pixel values or using an external table."},arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},UseTable:{name:"UseTable",isPublic:!1,isDataset:!1,value:!1,type:"RasterFunctionVariable"},InputRanges:{name:"InputRanges",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable",displayName:"Input Ranges"},OutputValues:{name:"OutputValues",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable",displayName:"Output Values"},NoDataRanges:{name:"NoDataRanges",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable",displayName:"NoData Ranges"},Table:{name:"Table",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},InputField:{name:"InputField",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},OutputField:{name:"OutputField",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},InputMaxField:{name:"InputMaxField",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},RemapTableType:{name:"RemapTableType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},AllowUnmatched:{name:"AllowUnmatched",isPublic:!1,isDataset:!1,value:!0,type:"RasterFunctionVariable"},type:"RemapFunctionArguments"},functionType:0,thumbnail:""},ColormapFunction:{name:"Colormap",description:"Changes pixel values to display the raster data as either a grayscale or a red, green, blue (RGB) image, based on a colormap or a color ramp.",function:{type:"ColormapFunction",pixelType:"UNKNOWN",name:"Colormap",description:"Changes pixel values to display the raster data as either a grayscale or a red, green, blue (RGB) image, based on a colormap or a color ramp."},arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},ColorSchemeType:{name:"ColorSchemeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},Colormap:{name:"Colormap",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},ColormapName:{name:"ColormapName",isPublic:!1,isDataset:!1,value:"Gray",type:"RasterFunctionVariable"},ColorRamp:{name:"ColorRamp",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},type:"ColormapFunctionArguments"},functionType:0,thumbnail:""},ShadedReliefFunction:{name:"Shaded Relief",description:"Creates a multiband, color coded, 3D representation of the surface, with the sun's relative position taken into account for shading the image.",function:{type:"ShadedReliefFunction",pixelType:"UNKNOWN",name:"Shaded Relief",description:"Creates a multiband, color coded, 3D representation of the surface, with the sun's relative position taken into account for shading the image."},arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},ColorSchemeType:{name:"ColorSchemeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},ColorRamp:{name:"ColorRamp",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},HillshadeType:{name:"HillshadeType",isPublic:!1,isDataset:!1,value:0,type:"RasterFunctionVariable"},Colormap:{name:"Colormap",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},Azimuth:{name:"Azimuth",isPublic:!1,isDataset:!1,value:315,type:"RasterFunctionVariable"},Altitude:{name:"Altitude",isPublic:!1,isDataset:!1,value:45,type:"RasterFunctionVariable"},SlopeType:{name:"SlopeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},ZFactor:{name:"ZFactor",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},PSPower:{name:"PSPower",isPublic:!1,isDataset:!1,value:.664,type:"RasterFunctionVariable"},PSZFactor:{name:"PSZFactor",isPublic:!1,isDataset:!1,value:.024,type:"RasterFunctionVariable"},RemoveEdgeEffect:{name:"RemoveEdgeEffect",isPublic:!1,isDataset:!1,value:!1,type:"RasterFunctionVariable"},type:"ShadedReliefFunctionArguments"},functionType:0,thumbnail:""},HillshadeFunction:{name:"Hillshade",description:"Creates a 3D representation of the surface, with the sun's relative position taken into account for shading the image",function:{type:"HillshadeFunction",pixelType:"UNKNOWN",name:"Hillshade",description:"Creates a 3D representation of the surface, with the sun's relative position taken into account for shading the image"},arguments:{DEM:{name:"DEM",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},HillshadeType:{name:"HillshadeType",isPublic:!1,isDataset:!1,value:0,type:"RasterFunctionVariable"},Azimuth:{name:"Azimuth",isPublic:!1,isDataset:!1,value:315,type:"RasterFunctionVariable"},Altitude:{name:"Altitude",isPublic:!1,isDataset:!1,value:45,type:"RasterFunctionVariable"},SlopeType:{name:"SlopeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},ZFactor:{name:"ZFactor",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},PSPower:{name:"PSPower",isPublic:!1,isDataset:!1,value:.664,type:"RasterFunctionVariable"},PSZFactor:{name:"PSZFactor",isPublic:!1,isDataset:!1,value:.024,type:"RasterFunctionVariable"},RemoveEdgeEffect:{name:"RemoveEdgeEffect",isPublic:!1,isDataset:!1,value:!1,type:"RasterFunctionVariable"},type:"HillshadeFunctionArguments"},functionType:0,thumbnail:""},ResampleFunction:{name:"Resample",description:"Changes the cell size of a raster.",function:{type:"ResampleFunction",pixelType:"UNKNOWN",name:"Resample",description:"Changes the cell size of a raster."},arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},ResamplingType:{name:"ResamplingType",isPublic:!1,isDataset:!1,value:0,type:"RasterFunctionVariable"},InputCellSize:{name:"InputCellsize",isPublic:!1,isDataset:!1,value:{x:0,y:0},type:"RasterFunctionVariable"},OutputCellSize:{name:"OutputCellsize",isPublic:!1,isDataset:!1,value:{x:0,y:0},type:"RasterFunctionVariable"},type:"ResampleFunctionArguments"},functionType:0,thumbnail:""}};var z=i("7c6e"),k=i("6557"),L=i("c3fcb");const q={u1:[0,1],u2:[0,3],u4:[0,15],u8:[0,255],s8:[-128,127],u16:[0,65535],s16:[-32768,32767]},U={simple_scalar:"Simple Scalar",wind_barb:"Wind Barb",single_arrow:"Single Arrow",beaufort_kn:"Beaufort Wind (Knots)",beaufort_m:"Beaufort Wind (MetersPerSecond)",ocean_current_m:"Ocean Current (MetersPerSecond)",ocean_current_kn:"Ocean Current (Knots)"},H=new Set(["raster-stretch","unique-value","class-breaks","raster-shaded-relief","vector-field","raster-colormap"]);function Q(e){return H.has(e.type)}function G(e,t){if(!e||!t)return Object(j["a"])(e||t);const i=Object(j["a"])(e);if(t.rasterFunctionDefinition){const e=t.rasterFunctionDefinition;(e.thumbnail||e.thumbnailEx)&&(e.thumbnail=e.thumbnailEx=null),B(i.rasterFunctionDefinition.arguments,t)}else"none"!==t.functionName.toLowerCase()&&(X(i.functionArguments).Raster=t);return i}function B(e,t){for(const i in e)"raster"===i.toLowerCase()&&("RasterFunctionVariable"===e[i].type?(e[i]=t.rasterFunctionDefinition,e[i].type="RasterFunctionTemplate"):"RasterFunctionTemplate"===e[i].type&&B(e[i].arguments,t))}function W(e){const t=Object(j["a"])(E[e.functionName+"Function"]),i=e.functionArguments;for(const r in i)"raster"===r.toLowerCase()?(t.arguments[r]=W(i[r]),t.arguments[r].type="RasterFunctionTemplate"):"colormap"===r.toLowerCase()?(t.arguments[r].value=oe(i[r]),t.arguments.ColorSchemeType.value=0):t.arguments[r].value=i[r];return t}function K(e,t){switch(t=t||{},e.type){case"raster-stretch":return ee(e,t);case"class-breaks":return te(e,t);case"unique-value":return ae(e,t);case"raster-colormap":return ne(e,t);case"vector-field":return Y(e,t);case"raster-shaded-relief":return $(e,t);case"flow":throw new Error("Unsupported rendering rule.")}}function X(e){const t=e.Raster;return t&&"esri.layers.support.RasterFunction"===t.declaredClass?X(t.functionArguments):e}const Z={none:0,standardDeviation:3,histogramEqualization:4,minMax:5,percentClip:6,sigmoid:9};function Y(e,t){const i=new J;i.functionName="VectorFieldRenderer";const{dataType:r,bandProperties:a}=t,n="vector-uv"===r;let s,o;a&&2===a.length&&(s=a.map(e=>e.BandName.toLowerCase()).indexOf("magnitude"),o=a.map(e=>e.BandName.toLowerCase()).indexOf("direction")),-1!==s&&null!==s||(s=0,o=1);const l="arithmetic"===e.rotationType?1:2,c="flow-from"===e.flowRepresentation?0:1,u=e.visualVariables?e.visualVariables.find(e=>"Magnitude"===e.field):new L["a"],p={magnitudeBandID:s,directionBandID:o,isUVComponents:n,referenceSystem:l,massFlowAngleRepresentation:c,symbolTileSize:50,symbolTileSizeUnits:100,calculationMethod:"Vector Average",symbologyName:U[e.style.toLowerCase().replace("-","_")],minimumMagnitude:u.minDataValue,maximumMagnitude:u.maxDataValue,minimumSymbolSize:u.minSize,maximumSymbolSize:u.maxSize};return i.functionArguments=p,t.convertToRFT?new J({rasterFunctionDefinition:W(i)}):i}function $(e,t){const i=t.convertToRFT;if("elevation"!==t.dataType)return new J;const r=new J;r.functionName="Hillshade";const a="traditional"===e.hillshadeType?0:1,n="none"===e.scalingType?1:3,s={HillshadeType:a,SlopeType:n,ZFactor:e.zFactor};return 0===a&&(s.Azimuth=e.azimuth,s.Altitude=e.altitude),3===n&&(s.PSPower=e.pixelSizePower,s.PSZFactor=e.pixelSizeFactor),r.functionArguments=s,r.variableName="Raster",e.colorRamp&&(r.functionName="ShadedRelief",i?s.ColorRamp=Object(z["d"])(e.colorRamp):s.Colormap=Object(z["b"])(e.colorRamp,256)),i?new J({rasterFunctionDefinition:W(r)}):r}function ee(e,t){const i=t.convertToRFT,r=new J;r.functionName="Stretch";const a=Z[k["b"].toJSON(e.stretchType)],n="u8",s={StretchType:a,Statistics:se(e.statistics),DRA:e.dynamicRangeAdjustment,UseGamma:e.useGamma,Gamma:e.gamma,ComputeGamma:e.computeGamma};if(null!=e.outputMin&&(s.Min=e.outputMin),null!=e.outputMax&&(s.Max=e.outputMax),a===Z.standardDeviation?(s.NumberOfStandardDeviations=e.numberOfStandardDeviations,r.outputPixelType=n):a===Z.percentClip?(s.MinPercent=e.minPercent,s.MaxPercent=e.maxPercent,r.outputPixelType=n):a===Z.minMax?r.outputPixelType=n:a===Z.sigmoid&&(s.SigmoidStrengthLevel=e.sigmoidStrengthLevel),r.functionArguments=s,r.variableName="Raster",e.colorRamp){const a=e.colorRamp,n=new J;if(i)n.functionArguments={ColorRamp:Object(z["d"])(a)};else{const i=Object(z["c"])(a);i?n.functionArguments={colorRamp:i}:!t.convertColorRampToColormap||"algorithmic"!==a.type&&"multipart"!==a.type?n.functionArguments={colorRamp:e.colorRamp.toJSON()}:n.functionArguments={Colormap:Object(z["b"])(a,256)}}return n.variableName="Raster",n.functionName="Colormap",n.functionArguments.Raster=r,i?new J({rasterFunctionDefinition:W(n)}):n}return i?new J({rasterFunctionDefinition:W(r)}):r}function te(e,t){const i=[],r=[],a=[],n=[],s=1e-6,{pixelType:o,rasterAttributeTable:l}=t,c=l&&l.features,u=re(l);if(c&&Array.isArray(c)&&e.classBreakInfos){e.classBreakInfos.forEach((t,i)=>{const r=t.symbol.color;let a;r.a&&c.forEach(s=>{a=s.attributes[e.field],(a>=t.minValue&&a=t.minValue)&&n.push([s.attributes[u],r.r,r.g,r.b])})});const i=o?ie(n,o):n,r=new J;return r.functionName="Colormap",r.functionArguments={},r.functionArguments.Colormap=i,r.variableName="Raster",t.convertToRFT?new J({rasterFunctionDefinition:W(r)}):r}e.classBreakInfos.forEach((e,t)=>{const o=e.symbol&&e.symbol.color;o.a?(0===t?i.push(e.minValue,e.maxValue+s):i.push(e.minValue+s,e.maxValue+s),r.push(t),n.push([t,o.r,o.g,o.b])):a.push(e.minValue,e.maxValue)});const p=o?ie(n,o):n,m=new J;m.functionName="Remap",m.functionArguments={InputRanges:i,OutputValues:r,NoDataRanges:a},m.variableName="Raster";const d=new J;return d.functionName="Colormap",d.functionArguments={Colormap:p,Raster:m},t.convertToRFT?new J({rasterFunctionDefinition:W(d)}):d}function ie(e,t){const i=q[String(t).toLowerCase()];return i&&e.push([Math.floor(i[0]-1),0,0,0],[Math.ceil(i[1]+1),0,0,0]),e}function re(e){if(!e)return;const{fields:t}=e,i=t&&t.find(e=>e&&e.name&&"value"===e.name.toLowerCase());return i&&i.name}function ae(e,t){var i,r;const a=[],{pixelType:n,rasterAttributeTable:s}=t,o=s&&s.features,l=re(s),c=null==(i=e.defaultSymbol)||null==(r=i.color)?void 0:r.toRgb(),u=e.uniqueValueInfos;if(u)if(o){const t=new Map;u.forEach(e=>{var i;const r=e.value,a=null==(i=e.symbol.color)?void 0:i.toRgb();null!=r&&a&&t.set(String(r),a)});const i=e.field;o.forEach(({attributes:e})=>{const r=String(e[i]),n=e[l];if(t.has(r)){const e=t.get(r);a.push([n,...e])}else c&&a.push([n,...c])})}else for(let d=0;d0?ie(a,n):a,m=new J;return m.functionName="Colormap",m.functionArguments={},m.functionArguments.Colormap=p,m.variableName="Raster",t.convertToRFT?new J({rasterFunctionDefinition:W(m)}):m}function ne(e,t){const i=e.extractColormap();if(!i||0===i.length)return;const{pixelType:r}=t,a=r?ie(i,r):i,n=new J;return n.functionName="Colormap",n.functionArguments={},n.functionArguments.Colormap=a,t.convertToRFT?new J({rasterFunctionDefinition:W(n)}):n}function se(e){const t=[];return e.forEach(e=>{const i=e;if(Array.isArray(i))t.push(i);else{if(null==i.min||null==i.max)return;const e=[i.min,i.max,i.avg||0,i.stddev||0];t.push(e)}}),t}function oe(e){const t=[],i=[];return e.forEach(e=>{t.push(e[0]),i.push(Object(z["e"])([...e.slice(1),255]))}),{type:"RasterColormap",values:t,colors:i}}var le,ce=i("1a3e"),ue=i("4ae5");const pe=Object(O["b"])()({MT_FIRST:"first",MT_LAST:"last",MT_MIN:"min",MT_MAX:"max",MT_MEAN:"mean",MT_BLEND:"blend",MT_SUM:"sum"}),me=Object(O["b"])()({esriMosaicNone:"none",esriMosaicCenter:"center",esriMosaicNadir:"nadir",esriMosaicViewpoint:"viewpoint",esriMosaicAttribute:"attribute",esriMosaicLockRaster:"lock-raster",esriMosaicNorthwest:"northwest",esriMosaicSeamline:"seamline"});function de(e){let t;switch(e?e.toLowerCase().replace("esrimosaic",""):""){case"byattribute":case"attribute":t="esriMosaicAttribute";break;case"lockraster":t="esriMosaicLockRaster";break;case"center":t="esriMosaicCenter";break;case"northwest":t="esriMosaicNorthwest";break;case"nadir":t="esriMosaicNadir";break;case"viewpoint":t="esriMosaicViewpoint";break;case"seamline":t="esriMosaicSeamline";break;default:t="esriMosaicNone"}return me.fromJSON(t)}let be=le=class extends F["a"]{constructor(e){super(e),this.ascending=!0,this.itemRenderingRule=null,this.lockRasterIds=null,this.method=null,this.multidimensionalDefinition=null,this.objectIds=null,this.operation=null,this.sortField=null,this.sortValue=null,this.viewpoint=null,this.where=null}readAscending(e,t){return null!=t.ascending?t.ascending:null==t.sortAscending||t.sortAscending}readMethod(e,t){return de(t.mosaicMethod||t.defaultMosaicMethod)}readOperation(e,t){const i=t.mosaicOperation,r=t.mosaicOperator&&t.mosaicOperator.toLowerCase(),a=i||(r?pe.toJSON(r):null);return pe.fromJSON(a)||"first"}castSortValue(e){return null==e||"string"==typeof e||"number"==typeof e?e:""+e}clone(){return new le({ascending:this.ascending,itemRenderingRule:Object(j["a"])(this.itemRenderingRule),lockRasterIds:Object(j["a"])(this.lockRasterIds),method:this.method,multidimensionalDefinition:Object(j["a"])(this.multidimensionalDefinition),objectIds:Object(j["a"])(this.objectIds),operation:this.operation,sortField:this.sortField,sortValue:this.sortValue,viewpoint:Object(j["a"])(this.viewpoint),where:this.where})}};Object(a["a"])([Object(c["b"])({type:Boolean,json:{write:!0}})],be.prototype,"ascending",void 0),Object(a["a"])([Object(S["a"])("ascending",["ascending","sortAscending"])],be.prototype,"readAscending",null),Object(a["a"])([Object(c["b"])({type:J,json:{write:!0}})],be.prototype,"itemRenderingRule",void 0),Object(a["a"])([Object(c["b"])({type:[u["a"]],json:{write:{overridePolicy(){return{enabled:"lock-raster"===this.method}}}}})],be.prototype,"lockRasterIds",void 0),Object(a["a"])([Object(c["b"])({type:String,json:{type:me.jsonValues,write:{target:"mosaicMethod",writer:me.write}}})],be.prototype,"method",void 0),Object(a["a"])([Object(S["a"])("method",["mosaicMethod","defaultMosaicMethod"])],be.prototype,"readMethod",null),Object(a["a"])([Object(c["b"])({type:[I["a"]],json:{write:!0}})],be.prototype,"multidimensionalDefinition",void 0),Object(a["a"])([Object(c["b"])({type:[u["a"]],json:{name:"fids",write:!0}})],be.prototype,"objectIds",void 0),Object(a["a"])([Object(c["b"])({json:{type:pe.jsonValues,read:{reader:pe.read},write:{target:"mosaicOperation",writer:pe.write}}})],be.prototype,"operation",void 0),Object(a["a"])([Object(S["a"])("operation",["mosaicOperation","mosaicOperator"])],be.prototype,"readOperation",null),Object(a["a"])([Object(c["b"])({type:String,json:{write:{overridePolicy(){return{enabled:"attribute"===this.method}}}}})],be.prototype,"sortField",void 0),Object(a["a"])([Object(c["b"])({type:[String,Number],json:{write:{allowNull:!0,overridePolicy(){return{enabled:"attribute"===this.method,allowNull:!0}}}}})],be.prototype,"sortValue",void 0),Object(a["a"])([Object(ce["a"])("sortValue")],be.prototype,"castSortValue",null),Object(a["a"])([Object(c["b"])({type:ue["a"],json:{write:!0}})],be.prototype,"viewpoint",void 0),Object(a["a"])([Object(c["b"])({type:String,json:{write:!0}})],be.prototype,"where",void 0),be=le=Object(a["a"])([Object(p["a"])("esri.layers.support.MosaicRule")],be);const he=be;var ye=i("4607");let fe=class extends F["a"]{constructor(){super(...arguments),this.layer=null,this.adjustAspectRatio=void 0,this.bandIds=void 0,this.compression=void 0,this.compressionQuality=void 0,this.compressionTolerance=.01,this.format=null,this.interpolation=null,this.noData=null,this.noDataInterpretation=void 0,this.pixelType=void 0,this.lercVersion=2}writeAdjustAspectRatio(e,t,i){this.layer.version<10.3||(t[i]=e)}writeCompressionQuality(e,t,i){this.format&&this.format.toLowerCase().indexOf("jpg")>-1&&null!=e&&(t[i]=e)}writeCompressionTolerance(e,t,i){"lerc"===this.format&&null!=e&&(t[i]=e)}writeLercVersion(e,t,i){"lerc"===this.format&&this.layer.version>=10.5&&(t[i]=e)}get version(){const e=this.layer;return e.commitProperty("bandIds"),e.commitProperty("format"),e.commitProperty("compressionQuality"),e.commitProperty("compressionTolerance"),e.commitProperty("interpolation"),e.commitProperty("noData"),e.commitProperty("noDataInterpretation"),e.commitProperty("mosaicRule"),e.commitProperty("renderingRule"),e.commitProperty("adjustAspectRatio"),e.commitProperty("pixelFilter"),e.commitProperty("renderer"),e.commitProperty("definitionExpression"),(this._get("version")||0)+1}set version(e){this._set("version",e)}get mosaicRule(){const e=this.layer;let t=e.mosaicRule;const i=e.definitionExpression;return t?i&&i!==t.where&&(t=t.clone(),t.where=i):i&&(t=new he({where:i})),t}get renderingRule(){const e=this.layer;let t=e.renderingRule;const i=e.pixelFilter,r=!e.format||e.format.indexOf("jpg")>-1||e.format.indexOf("png")>-1;return t=this._addResampleRasterFunction(t),r&&!i&&(t=this.combineRendererWithRenderingRule()),t}combineRendererWithRenderingRule(){var e;const t=this.layer,{rasterInfo:i,renderingRule:r,renderer:a}=t;return a&&Q(a)?G(K(a,{rasterAttributeTable:i.attributeTable,pixelType:i.pixelType,dataType:i.dataType,bandProperties:null==(e=i.keyProperties)?void 0:e.BandProperties,convertColorRampToColormap:t.version<10.6,convertToRFT:!(null==r||!r.rasterFunctionDefinition)}),r):r}_addResampleRasterFunction(e){var t;if("vector-field"!==(null==(t=this.layer.renderer)?void 0:t.type)||"Resample"===(null==e?void 0:e.functionName))return e;const i="esriImageServiceDataTypeVector-UV"===this.layer.serviceDataType?7:10;let r=new J({functionName:"Resample",functionArguments:{ResamplingType:i,InputCellSize:{x:this.layer.pixelSizeX,y:this.layer.pixelSizeY}}});return r=null!=e&&e.rasterFunctionDefinition?new J({rasterFunctionDefinition:W(r)}):r,G(r,e)}};Object(a["a"])([Object(c["b"])()],fe.prototype,"layer",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],fe.prototype,"adjustAspectRatio",void 0),Object(a["a"])([Object(m["a"])("adjustAspectRatio")],fe.prototype,"writeAdjustAspectRatio",null),Object(a["a"])([Object(c["b"])({json:{write:!0}}),Object(w["a"])("layer.bandIds")],fe.prototype,"bandIds",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],fe.prototype,"compression",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}}),Object(w["a"])("layer.compressionQuality")],fe.prototype,"compressionQuality",void 0),Object(a["a"])([Object(m["a"])("compressionQuality")],fe.prototype,"writeCompressionQuality",null),Object(a["a"])([Object(c["b"])({json:{write:!0}}),Object(w["a"])("layer.compressionTolerance")],fe.prototype,"compressionTolerance",void 0),Object(a["a"])([Object(m["a"])("compressionTolerance")],fe.prototype,"writeCompressionTolerance",null),Object(a["a"])([Object(c["b"])({json:{write:!0}}),Object(w["a"])("layer.format")],fe.prototype,"format",void 0),Object(a["a"])([Object(c["b"])({type:String,json:{read:{reader:ye["a"].read},write:{writer:ye["a"].write}}}),Object(w["a"])("layer.interpolation")],fe.prototype,"interpolation",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}}),Object(w["a"])("layer.noData")],fe.prototype,"noData",void 0),Object(a["a"])([Object(c["b"])({type:String,json:{read:{reader:ye["b"].read},write:{writer:ye["b"].write}}}),Object(w["a"])("layer.noDataInterpretation")],fe.prototype,"noDataInterpretation",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],fe.prototype,"pixelType",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],fe.prototype,"lercVersion",void 0),Object(a["a"])([Object(m["a"])("lercVersion")],fe.prototype,"writeLercVersion",null),Object(a["a"])([Object(c["b"])({type:Number})],fe.prototype,"version",null),Object(a["a"])([Object(c["b"])({json:{write:!0}})],fe.prototype,"mosaicRule",null),Object(a["a"])([Object(c["b"])({json:{write:!0}})],fe.prototype,"renderingRule",null),fe=Object(a["a"])([Object(p["a"])("esri.layers.mixins.ExportImageServiceParameters")],fe);var ge=i("a1f3"),Oe=i("80b7"),je=i("3e27"),ve=i("a4f3"),Re=i("da6b"),we=i("1451"),Se=i("19db"),xe=i("1ccd"),Ie=i("7220"),Fe=i("a8d5"),Ne=i("bb72"),Te=i("5996");let De=class extends F["a"]{constructor(){super(...arguments),this.north=null,this.up=null,this.spatialReference=null}};Object(a["a"])([Object(c["b"])({type:Number,json:{write:!0}})],De.prototype,"north",void 0),Object(a["a"])([Object(c["b"])({type:Number,json:{write:!0}})],De.prototype,"up",void 0),Object(a["a"])([Object(c["b"])({type:Te["a"],json:{write:!0}})],De.prototype,"spatialReference",void 0),De=Object(a["a"])([Object(p["a"])("esri.rest.support.ImageAngleResult")],De);const Pe=De;var _e=i("2edc");let Ce=class extends F["a"]{constructor(){super(...arguments),this.catalogItemVisibilities=null,this.catalogItems=null,this.location=null,this.name=null,this.objectId=null,this.processedValues=null,this.properties=null,this.value=null}};Object(a["a"])([Object(c["b"])({json:{write:!0}})],Ce.prototype,"catalogItemVisibilities",void 0),Object(a["a"])([Object(c["b"])({type:_e["default"],json:{write:!0}})],Ce.prototype,"catalogItems",void 0),Object(a["a"])([Object(c["b"])({type:ue["a"],json:{write:!0}})],Ce.prototype,"location",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],Ce.prototype,"name",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],Ce.prototype,"objectId",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],Ce.prototype,"processedValues",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],Ce.prototype,"properties",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],Ce.prototype,"value",void 0),Ce=Object(a["a"])([Object(p["a"])("esri.rest.support.ImageIdentifyResult")],Ce);const Ve=Ce;let Me=class extends F["a"]{constructor(){super(...arguments),this.attributes=null,this.location=null,this.locationId=null,this.rasterId=null,this.resolution=null,this.pixelValue=null}};Object(a["a"])([Object(c["b"])({json:{write:!0}})],Me.prototype,"attributes",void 0),Object(a["a"])([Object(c["b"])({type:ue["a"],json:{write:!0}})],Me.prototype,"location",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],Me.prototype,"locationId",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],Me.prototype,"rasterId",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],Me.prototype,"resolution",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],Me.prototype,"pixelValue",void 0),Me=Object(a["a"])([Object(p["a"])("esri.rest.support.ImageSample")],Me);const Ae=Me;let Je=class extends F["a"]{constructor(){super(...arguments),this.samples=null}};Object(a["a"])([Object(c["b"])({type:[Ae],json:{write:!0}})],Je.prototype,"samples",void 0),Je=Object(a["a"])([Object(p["a"])("esri.rest.support.ImageSampleResult")],Je);const Ee=Je;let ze=class extends F["a"]{constructor(){super(...arguments),this.geometries=null}};Object(a["a"])([Object(c["b"])({json:{write:!0}})],ze.prototype,"geometries",void 0),ze=Object(a["a"])([Object(p["a"])("esri.rest.support.ImagePixelLocationResult")],ze);const ke=ze;function Le(e){const t=null==e?void 0:e.time;if(t&&(null!=t.start||null!=t.end)){const i=[];null!=t.start&&i.push(t.start),null!=t.end&&-1===i.indexOf(t.end)&&i.push(t.end),e.time=i.join(",")}}async function qe(e,t,i){const r=Object(Ne["c"])(e),a=t.geometry?[t.geometry]:[],n=await Object(Fe["a"])(a),o=t.toJSON();Le(o);const l=n&&n[0];Object(s["k"])(l)&&(o.geometry=l.toJSON());const c=Object(Ne["b"])({...r.query,f:"json",...o});return Object(Ne["a"])(c,i)}async function Ue(e,t,i){var r;const a=t.toJSON();Object(s["k"])(a.angleName)&&(a.angleName=a.angleName.join(",")),Object(s["k"])(t.point)&&null!=(r=t.point.spatialReference)&&r.imageCoordinateSystem&&(a.point.spatialReference=Ke(t.point.spatialReference)),Object(s["k"])(t.spatialReference)&&t.spatialReference.imageCoordinateSystem&&(a.spatialReference=Xe(t.spatialReference));const n=Object(Ne["c"])(e),o=Object(Ne["b"])({...n.query,f:"json",...a}),l=Object(Ne["a"])(o,i),{data:c}=await Object(f["default"])(n.path+"/computeAngles",l);return c.spatialReference=c.spatialReference?null!=c.spatialReference.geodataXform?new Te["a"]({wkid:0,imageCoordinateSystem:c.spatialReference}):Te["a"].fromJSON(c.spatialReference):null,"NaN"===c.north&&(c.north=null),"NaN"===c.up&&(c.up=null),new Pe(c)}async function He(e,t,i){const r=t.toJSON(),{geometries:a}=t;for(let u=0;u{e.avg=e.mean,e.stddev=e.standardDeviation}),{statistics:s,histograms:n.histograms}}async function Ge(e,t,i){const r=await qe(e,t,i),a=Object(Ne["c"])(e),{data:n}=await Object(f["default"])(a.path+"/computeHistograms",r);return{histograms:n.histograms}}async function Be(e,t,i){var r,a;const n=t.toJSON();Le(n),null!=(r=n.outFields)&&r.length&&(n.outFields=n.outFields.join(","));const o=await Object(Fe["a"])(t.geometry),l=null==o?void 0:o[0];Object(s["k"])(l)&&(n.geometry=l.toJSON());const c=Object(Ne["c"])(e),u=Object(Ne["b"])({...c.query,f:"json",...n}),p=Object(Ne["a"])(u,i),{data:m}=await Object(f["default"])(c.path+"/getSamples",p),d=null==m||null==(a=m.samples)?void 0:a.map(e=>{const t="NaN"===e.value||""===e.value?null:e.value.split(" ").map(e=>Number(e));return{...e,pixelValue:t}});return Ee.fromJSON({samples:d})}async function We(e,t,i){const r=Object(Ne["c"])(e),a=t.geometry?[t.geometry]:[];return Object(Fe["a"])(a).then(e=>{const a=t.toJSON(),n=e&&e[0];Object(s["k"])(n)&&(a.geometry=JSON.stringify(n.toJSON()));const o=Object(Ne["b"])({...r.query,f:"json",...a}),l=Object(Ne["a"])(o,i);return Object(f["default"])(r.path+"/identify",l)}).then(e=>Ve.fromJSON(e.data))}function Ke(e){const{imageCoordinateSystem:t}=e;if(t){const{id:e,referenceServiceName:i}=t;return null!=e?i?{icsid:e,icsns:i}:{icsid:e}:{ics:t}}return e.toJSON()}function Xe(e,t){const i=Ke(e),{icsid:r,icsns:a,wkid:n}=i;return null!=r?null==a||null!=t&&t.toLowerCase().includes("/"+a.toLowerCase()+"/")?"0:"+r:JSON.stringify(i):n?n.toString():JSON.stringify(i)}i("8048"),i("f7be"),i("c8d6"),i("ebb2");var Ze,Ye=i("c89c"),$e=i("3af1"),et=(i("3760"),i("57dc")),tt=i("1219"),it=(i("521c"),i("013b"),i("7f83"),i("69dd")),rt=i("b745"),at=i("a1d1");i("6655"),i("b742"),i("7949");let nt=Ze=class extends F["a"]{constructor(){super(...arguments),this.angleNames=null,this.point=null,this.spatialReference=null,this.rasterId=null}clone(){return new Ze(Object(j["a"])({angleNames:this.angleNames,point:this.point,spatialReference:this.spatialReference,rasterId:this.rasterId}))}};Object(a["a"])([Object(c["b"])({type:[String],json:{name:"angleName",write:!0}})],nt.prototype,"angleNames",void 0),Object(a["a"])([Object(c["b"])({type:ue["a"],json:{write:!0}})],nt.prototype,"point",void 0),Object(a["a"])([Object(c["b"])({type:Te["a"],json:{write:!0}})],nt.prototype,"spatialReference",void 0),Object(a["a"])([Object(c["b"])({type:u["a"],json:{write:!0}})],nt.prototype,"rasterId",void 0),nt=Ze=Object(a["a"])([Object(p["a"])("esri.rest.support.ImageAngleParameters")],nt);const st=nt;var ot,lt=i("658b"),ct=i("a9ab");let ut=ot=class extends F["a"]{constructor(){super(...arguments),this.geometry=null,this.mosaicRule=null,this.renderingRule=null,this.pixelSize=null,this.raster=void 0,this.timeExtent=null}writeGeometry(e,t,i){null!=e&&(t.geometryType=Object(ct["c"])(e),t[i]=e.toJSON())}clone(){return new ot(Object(j["a"])({geometry:this.geometry,mosaicRule:this.mosaicRule,renderingRule:this.renderingRule,pixelSize:this.pixelSize,raster:this.raster,timeExtent:this.timeExtent}))}};Object(a["a"])([Object(c["b"])({types:b["a"],json:{read:ct["a"]}})],ut.prototype,"geometry",void 0),Object(a["a"])([Object(m["a"])("geometry")],ut.prototype,"writeGeometry",null),Object(a["a"])([Object(c["b"])({type:he,json:{write:!0}})],ut.prototype,"mosaicRule",void 0),Object(a["a"])([Object(c["b"])({type:J,json:{write:!0}})],ut.prototype,"renderingRule",void 0),Object(a["a"])([Object(c["b"])({type:ue["a"],json:{write:!0}})],ut.prototype,"pixelSize",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],ut.prototype,"raster",void 0),Object(a["a"])([Object(c["b"])({type:lt["a"],json:{read:{source:"time"},write:{target:"time"}}})],ut.prototype,"timeExtent",void 0),ut=ot=Object(a["a"])([Object(p["a"])("esri.rest.support.ImageHistogramParameters")],ut);const pt=ut;var mt;let dt=mt=class extends F["a"]{constructor(){super(...arguments),this.geometry=null,this.renderingRules=null,this.pixelSize=null,this.returnGeometry=!0,this.returnCatalogItems=!0,this.returnPixelValues=!0,this.maxItemCount=null,this.timeExtent=null,this.raster=void 0,this.viewId=void 0,this.processAsMultidimensional=!1}writeGeometry(e,t,i){null!=e&&(t.geometryType=Object(ct["c"])(e),t[i]=JSON.stringify(e.toJSON()))}set mosaicRule(e){let t=e;t&&t.mosaicMethod&&(t=he.fromJSON({...t.toJSON(),mosaicMethod:t.mosaicMethod,mosaicOperation:t.mosaicOperation})),this._set("mosaicRule",t)}writeMosaicRule(e,t,i){null!=e&&(t[i]=JSON.stringify(e.toJSON()))}set renderingRule(e){let t=e;t&&t.rasterFunction&&(t=J.fromJSON({...t.toJSON(),rasterFunction:t.rasterFunction,rasterFunctionArguments:t.rasterFunctionArguments})),this._set("renderingRule",t)}writeRenderingRule(e,t,i){null!=e&&(t[i]=JSON.stringify(e.toJSON())),e.rasterFunctionDefinition&&(t[i]=JSON.stringify(e.rasterFunctionDefinition))}writeRenderingRules(e,t,i){null!=e&&(t[i]=JSON.stringify(e.map(e=>e.rasterFunctionDefinition||e.toJSON())))}writePixelSize(e,t,i){null!=e&&(t[i]=JSON.stringify(e))}writeTimeExtent(e,t,i){if(null!=e){const r=Object(s["k"])(e.start)?e.start.getTime():null,a=Object(s["k"])(e.end)?e.end.getTime():null;t[i]=null!=r?null!=a?`${r},${a}`:""+r:null}}clone(){return new mt(Object(j["a"])({geometry:this.geometry,mosaicRule:this.mosaicRule,renderingRule:this.renderingRule,pixelSize:this.pixelSize,returnGeometry:this.returnGeometry,returnCatalogItems:this.returnCatalogItems,returnPixelValues:this.returnPixelValues,maxItemCount:this.maxItemCount,processAsMultidimensional:this.processAsMultidimensional,raster:this.raster,viewId:this.viewId,timeExtent:this.timeExtent}))}};Object(a["a"])([Object(c["b"])({json:{write:!0}})],dt.prototype,"geometry",void 0),Object(a["a"])([Object(m["a"])("geometry")],dt.prototype,"writeGeometry",null),Object(a["a"])([Object(c["b"])({type:he,json:{write:!0}})],dt.prototype,"mosaicRule",null),Object(a["a"])([Object(m["a"])("mosaicRule")],dt.prototype,"writeMosaicRule",null),Object(a["a"])([Object(c["b"])({type:J,json:{write:!0}})],dt.prototype,"renderingRule",null),Object(a["a"])([Object(m["a"])("renderingRule")],dt.prototype,"writeRenderingRule",null),Object(a["a"])([Object(c["b"])({type:[J],json:{write:!0}})],dt.prototype,"renderingRules",void 0),Object(a["a"])([Object(m["a"])("renderingRules")],dt.prototype,"writeRenderingRules",null),Object(a["a"])([Object(c["b"])({type:ue["a"],json:{write:!0}})],dt.prototype,"pixelSize",void 0),Object(a["a"])([Object(m["a"])("pixelSize")],dt.prototype,"writePixelSize",null),Object(a["a"])([Object(c["b"])({type:Boolean,json:{write:!0}})],dt.prototype,"returnGeometry",void 0),Object(a["a"])([Object(c["b"])({type:Boolean,json:{write:!0}})],dt.prototype,"returnCatalogItems",void 0),Object(a["a"])([Object(c["b"])({type:Boolean,json:{write:!0}})],dt.prototype,"returnPixelValues",void 0),Object(a["a"])([Object(c["b"])({type:Number,json:{write:!0}})],dt.prototype,"maxItemCount",void 0),Object(a["a"])([Object(c["b"])({type:lt["a"],json:{write:{target:"time"}}})],dt.prototype,"timeExtent",void 0),Object(a["a"])([Object(m["a"])("timeExtent")],dt.prototype,"writeTimeExtent",null),Object(a["a"])([Object(c["b"])({json:{write:!0}})],dt.prototype,"raster",void 0),Object(a["a"])([Object(c["b"])({json:{write:!0}})],dt.prototype,"viewId",void 0),Object(a["a"])([Object(c["b"])({type:Boolean,json:{write:!0}})],dt.prototype,"processAsMultidimensional",void 0),dt=mt=Object(a["a"])([Object(p["a"])("esri.rest.support.ImageIdentifyParameters")],dt);const bt=dt;var ht;let yt=ht=class extends F["a"]{constructor(){super(...arguments),this.geometries=null,this.rasterId=null}writeGeometry(e,t,i){t.geometries={geometryType:"esriGeometryPoint",geometries:e.map(e=>e.toJSON())}}clone(){return new ht({geometries:this.geometries.map(e=>e.clone()),rasterId:this.rasterId})}};Object(a["a"])([Object(c["b"])({type:[ue["a"]],json:{write:!0}})],yt.prototype,"geometries",void 0),Object(a["a"])([Object(m["a"])("geometries")],yt.prototype,"writeGeometry",null),Object(a["a"])([Object(c["b"])({type:u["a"],json:{write:!0}})],yt.prototype,"rasterId",void 0),yt=ht=Object(a["a"])([Object(p["a"])("esri.rest.support.ImagePixelLocationParameters")],yt);const ft=yt;var gt;let Ot=gt=class extends F["a"]{constructor(){super(...arguments),this.geometry=null,this.interpolation="nearest",this.mosaicRule=null,this.outFields=null,this.pixelSize=null,this.returnFirstValueOnly=!0,this.sampleDistance=null,this.sampleCount=null,this.sliceId=null,this.timeExtent=null}writeGeometry(e,t,i){null!=e&&(t.geometryType=Object(ct["c"])(e),t[i]=e.toJSON())}set locations(e){if(null!=e&&e.length){const t=new et["a"]({spatialReference:e[0].spatialReference});t.points=e.map(e=>[e.x,e.y]),this._set("locations",e),this.geometry=t}}clone(){return new gt(Object(j["a"])({geometry:this.geometry,locations:this.locations,interpolation:this.interpolation,mosaicRule:this.mosaicRule,outFields:this.outFields,raster:this.raster,returnFirstValueOnly:this.returnFirstValueOnly,sampleDistance:this.sampleDistance,sampleCount:this.sampleCount,sliceId:this.sliceId,pixelSize:this.pixelSize,timeExtent:this.timeExtent}))}};Object(a["a"])([Object(c["b"])({types:b["a"],json:{read:ct["a"]}})],Ot.prototype,"geometry",void 0),Object(a["a"])([Object(m["a"])("geometry")],Ot.prototype,"writeGeometry",null),Object(a["a"])([Object(c["b"])()],Ot.prototype,"locations",null),Object(a["a"])([Object(c["b"])({type:String,json:{type:ye["a"].jsonValues,read:ye["a"].read,write:ye["a"].write}})],Ot.prototype,"interpolation",void 0),Object(a["a"])([Object(c["b"])({type:he,json:{write:!0}})],Ot.prototype,"mosaicRule",void 0),Object(a["a"])([Object(c["b"])({type:[String],json:{write:!0}})],Ot.prototype,"outFields",void 0),Object(a["a"])([Object(c["b"])({type:ue["a"],json:{write:!0}})],Ot.prototype,"pixelSize",void 0),Object(a["a"])([Object(c["b"])({type:String,json:{write:!0}})],Ot.prototype,"raster",void 0),Object(a["a"])([Object(c["b"])({type:Boolean,json:{write:!0}})],Ot.prototype,"returnFirstValueOnly",void 0),Object(a["a"])([Object(c["b"])({type:Number,json:{write:!0}})],Ot.prototype,"sampleDistance",void 0),Object(a["a"])([Object(c["b"])({type:Number,json:{write:!0}})],Ot.prototype,"sampleCount",void 0),Object(a["a"])([Object(c["b"])({type:Number,json:{write:!0}})],Ot.prototype,"sliceId",void 0),Object(a["a"])([Object(c["b"])({type:lt["a"],json:{read:{source:"time"},write:{target:"time"}}})],Ot.prototype,"timeExtent",void 0),Ot=gt=Object(a["a"])([Object(p["a"])("esri.rest.support.ImageSampleParameters")],Ot);const jt=Ot;var vt=i("2616");const Rt=v["a"].getLogger("esri.layers.mixins.ArcGISImageService"),wt=Object(O["b"])()({U1:"u1",U2:"u2",U4:"u4",U8:"u8",S8:"s8",U16:"u16",S16:"s16",U32:"u32",S32:"s32",F32:"f32",F64:"f64",C64:"c64",C128:"c128",UNKNOWN:"unknown"}),St=new Set(["png","png8","png24","png32","jpg","bmp","gif","jpgpng","lerc","tiff"]),xt=Object(c["a"])(u["i"],{min:0,max:255});function It(e){if(!e)return null;const t=JSON.stringify(e).match(/"rasterFunction":"(.*?")/gi),i=null==t?void 0:t.map(e=>e.replace('"rasterFunction":"',"").replace('"',""));return i?i.join("/"):null}const Ft=e=>{let t=class extends e{constructor(){super(...arguments),this._functionRasterInfos={},this._rasterJobHandler={instance:null,refCount:0,connectionPromise:null},this._defaultServiceMosaicRule=null,this._serviceSourceType=null,this._serviceSupportsMosaicRule=null,this.rasterAttributeTableFieldPrefix="Raster.",this.adjustAspectRatio=null,this.bandCount=null,this.bandIds=void 0,this.capabilities=null,this.compressionQuality=void 0,this.compressionTolerance=.01,this.copyright=null,this.definitionExpression=null,this.exportImageServiceParameters=null,this.rasterInfo=null,this.fields=null,this.fullExtent=null,this.hasMultidimensions=!1,this.imageMaxHeight=4100,this.imageMaxWidth=4100,this.interpolation=void 0,this.minScale=0,this.maxScale=0,this.multidimensionalInfo=null,this.noData=null,this.noDataInterpretation=void 0,this.objectIdField=null,this.geometryType="polygon",this.typeIdField=null,this.types=[],this.pixelSizeX=null,this.pixelSizeY=null,this.pixelFilter=null,this.raster=void 0,this.viewId=void 0,this.symbolizer=null,this.rasterAttributeTable=null,this.rasterFunctionInfos=null,this.serviceDataType=null,this.spatialReference=null,this.pixelType=null,this.serviceRasterInfo=null,this.sourceJSON=null,this.url=null,this.version=void 0}initialize(){this._set("exportImageServiceParameters",new fe({layer:this}))}readDefaultServiceMosaicRule(e,t){return this._serviceSupportsMosaicRule?he.fromJSON(t):null}readServiceSourceType(e,t){return this._isMosaicDataset(t)?"mosaic-dataset":"raster-dataset"}readServiceSupportsMosaicRule(e,t){return this._isMosaicRuleSupported(t)}get rasterFunctionNamesIndex(){const e=new Map;return!this.rasterFunctionInfos||Object(s["k"])(this.rasterFunctionInfos)&&this.rasterFunctionInfos.length<1||Object(s["k"])(this.rasterFunctionInfos)&&this.rasterFunctionInfos.forEach(t=>{e.set(t.name.toLowerCase().replace(/ /gi,"_"),t.name)}),e}readBandIds(e,t){if(Array.isArray(e)&&e.length>0&&e.every(e=>"number"==typeof e))return e}readCapabilities(e,t){return this._readCapabilities(t)}writeCompressionQuality(e,t,i){null!=e&&"lerc"!==this.format&&(t[i]=e)}writeCompressionTolerance(e,t,i){"lerc"===this.format&&null!=e&&(t[i]=e)}get fieldsIndex(){return this.fields?new Oe["a"](this.fields):null}set format(e){e&&St.has(e.toLowerCase())&&this._set("format",e.toLowerCase())}readFormat(e,t){return"esriImageServiceDataTypeVector-UV"===t.serviceDataType||"esriImageServiceDataTypeVector-MagDir"===t.serviceDataType||null!=this.pixelFilter?"lerc":"jpgpng"}readMinScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}readMaxScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}set mosaicRule(e){let t=e;t&&t.mosaicMethod&&(t=he.fromJSON({...t.toJSON(),mosaicMethod:t.mosaicMethod,mosaicOperation:t.mosaicOperation})),this._set("mosaicRule",t)}readMosaicRule(e,t){const i=e||t.mosaicRule;return i?he.fromJSON(i):this._isMosaicRuleSupported(t)?he.fromJSON(t):null}writeMosaicRule(e,t,i){let r=this.mosaicRule;const a=this.definitionExpression;r?a&&a!==r.where&&(r=r.clone(),r.where=a):a&&(r=new he({where:a})),this._isValidCustomizedMosaicRule(r)&&(t[i]=r.toJSON())}writeNoData(e,t,i){null!=e&&"number"==typeof e&&(t[i]=xt(e))}readObjectIdField(e,t){if(!e){const i=t.fields.filter(e=>"esriFieldTypeOID"===e.type||"oid"===e.type);e=i&&i[0]&&i[0].name}return e}get parsedUrl(){return this.url?Object(R["M"])(this.url):null}set renderer(e){this.loaded&&(e=this._configRenderer(e)),this._set("renderer",e)}readRenderer(e,t,i){var r,a;const n=null==t||null==(r=t.layerDefinition)||null==(a=r.drawingInfo)?void 0:a.renderer,s=Object(y["b"])(n,i);return null==s?null:("vector-field"===s.type&&t.symbolTileSize&&!n.symbolTileSize&&(s.symbolTileSize=t.symbolTileSize),Q(s)||Rt.warn("ArcGISImageService","Imagery layer doesn't support given renderer type."),s)}writeRenderer(e,t,i){t.layerDefinition=t.layerDefinition||{},t.layerDefinition.drawingInfo=t.layerDefinition.drawingInfo||{},t.layerDefinition.drawingInfo.renderer=e.toJSON(),"vector-field"===e.type&&(t.symbolTileSize=e.symbolTileSize)}get rasterFields(){const e=this.rasterAttributeTableFieldPrefix||"Raster.",t=new ge["a"]({name:"Raster.ItemPixelValue",alias:"Item Pixel Value",domain:null,editable:!1,length:50,type:"string"}),i=new ge["a"]({name:"Raster.ServicePixelValue",alias:"Service Pixel Value",domain:null,editable:!1,length:50,type:"string"}),r=new ge["a"]({name:"Raster.ServicePixelValue.Raw",alias:"Raw Service Pixel Value",domain:null,editable:!1,length:50,type:"string"});let a=this.fields?Object(j["a"])(this.fields):[];a.push(i),this.capabilities.operations.supportsQuery&&this.fields&&this.fields.length>0&&a.push(t),this.version>=10.4&&Object(s["k"])(this.rasterFunctionInfos)&&this.rasterFunctionInfos.some(e=>"none"===e.name.toLowerCase())&&a.push(r),Object(s["k"])(this.rasterFunctionInfos)&&this.rasterFunctionInfos.filter(e=>"none"!==e.name.toLowerCase()).forEach(e=>{a.push(new ge["a"]({name:"Raster.ServicePixelValue."+e.name,alias:e.name,domain:null,editable:!1,length:50,type:"string"}))}),null==this.pixelFilter||"esriImageServiceDataTypeVector-UV"!==this.serviceDataType&&"esriImageServiceDataTypeVector-MagDir"!==this.serviceDataType||(a.push(new ge["a"]({name:"Raster.Magnitude",alias:"Magnitude",domain:null,editable:!1,type:"double"})),a.push(new ge["a"]({name:"Raster.Direction",alias:"Direction",domain:null,editable:!1,type:"double"})));const n=this.rasterInfo.attributeTable&&this.rasterInfo.attributeTable.fields||null;if(n&&n.length>0){const t=n.filter(e=>"esriFieldTypeOID"!==e.type&&"value"!==e.name.toLowerCase()).map(t=>{const i=Object(j["a"])(t);return i.name=e+t.name,i});a=a.concat(t)}return a}set renderingRule(e){let t=e;t&&t.rasterFunction&&(t=J.fromJSON({...t.toJSON(),rasterFunction:t.rasterFunction,rasterFunctionArguments:t.rasterFunctionArguments})),this._set("renderingRule",t)}readRenderingRule(e,t){const i=t.rasterFunctionInfos;return t.renderingRule||i&&i.length&&"None"!==i[0].name?this._isRFTJson(t.renderingRule)?J.fromJSON({rasterFunctionDefinition:t.renderingRule}):J.fromJSON(t.renderingRule||{rasterFunctionInfos:t.rasterFunctionInfos}):null}writeRenderingRule(e,t,i){const r=e.toJSON();r.rasterFunctionDefinition?t[i]=r.rasterFunctionDefinition:t[i]=r}readSpatialReference(e,t){const i=e||t.extent.spatialReference;return i?Te["a"].fromJSON(i):null}readPixelType(e){return wt.fromJSON(e)||e}writePixelType(e,t,i){(Object(s["j"])(this.serviceRasterInfo)||this.pixelType!==this.serviceRasterInfo.pixelType)&&(t[i]=wt.toJSON(e))}readVersion(e,t){let i=t.currentVersion;return i||(i=t.hasOwnProperty("fields")||t.hasOwnProperty("timeInfo")?10:9.3),i}applyFilter(e){let t=e;return this.pixelFilter&&(t=this._clonePixelData(e),this.pixelFilter(t)),t}async applyRenderer(e,t){let i=e;if(!this._isPicture()&&this.renderer&&this.symbolizer&&!this.pixelFilter){const r=JSON.stringify(this._cachedRendererJson)!==JSON.stringify(this.renderer.toJSON()),a=this._rasterJobHandler.instance,{bandIds:n}=this;if(a){r&&(this.symbolizer.bind(),await a.updateSymbolizer(this.symbolizer,t),this._cachedRendererJson=this.renderer.toJSON());const s=await a.symbolize({bandIds:n,...e},t);i={extent:e.extent,pixelBlock:s}}else i={extent:e.extent,pixelBlock:this.symbolizer.symbolize({bandIds:n,...e})}}return i}destroy(){this._shutdownJobHandler()}increaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount--,this._rasterJobHandler.refCount<=0&&this._shutdownJobHandler()}async computeAngles(e,t){if(await this._fetchCapabilities(null==t?void 0:t.signal),!this.capabilities.operations.supportsComputeAngles)throw new g["a"]("imagery-layer:compute-angles","this operation is not supported on the input image service");return e=Object(u["d"])(st,e).clone(),Ue(this.url,e,this._getRequestOptions(t))}async computePixelSpaceLocations(e,t){if(await this._fetchCapabilities(null==t?void 0:t.signal),!this.capabilities.operations.supportsComputePixelLocation)throw new g["a"]("imagery-layer:compute-pixel-space-locations","this operation is not supported on the input image service");return e=Object(u["d"])(ft,e).clone(),He(this.url,e,this._getRequestOptions(t))}async computeHistograms(e,t){if(await this._fetchCapabilities(null==t?void 0:t.signal),!this.capabilities.operations.supportsComputeHistograms)throw new g["a"]("imagery-layer:compute-histograms","this operation is not supported on the input image service");e=Object(u["d"])(pt,e).clone();const{raster:i,mosaicRule:r,renderingRule:a}=this;return a&&null==e.renderingRule&&(e.renderingRule=a),r&&null==e.mosaicRule&&(e.mosaicRule=r),i&&null==e.raster&&(e.raster=i),Ge(this.url,e,this._getRequestOptions(t))}async computeStatisticsHistograms(e,t){if(await this._fetchCapabilities(null==t?void 0:t.signal),!this.capabilities.operations.supportsComputeStatisticsHistograms)throw new g["a"]("imagery-layer:compute-statistics-histograms","this operation is not supported on the input image service");e=Object(u["d"])(pt,e).clone();const{raster:i,mosaicRule:r,renderingRule:a}=this;return a&&null==e.renderingRule&&(e.renderingRule=a),r&&null==e.mosaicRule&&(e.mosaicRule=r),i&&null==e.raster&&(e.raster=i),Qe(this.url,e,this._getRequestOptions(t))}getField(e){const{fieldsIndex:t}=this;return Object(s["k"])(t)?t.get(e):void 0}getFieldDomain(e,t){const i=this.getField(e);return i?i.domain:null}fetchImage(e,t,i,r={}){if(null==e||null==t||null==i)return Promise.reject(new g["a"]("imagery-layer:fetch-image","Insufficient parameters for requesting an image. A valid extent, width and height values are required."));const a=this.renderer||this.symbolizer?this.generateRasterInfo(this.renderingRule,{signal:r.signal}):null;return Object(l["y"])(a).then(a=>{a&&(this.rasterInfo=a);const n={imageServiceParameters:this.getExportImageServiceParameters(e,t,i,r.timeExtent),imageProps:{extent:e,width:t,height:i,format:this.format},requestAsImageElement:r.requestAsImageElement&&!this.pixelFilter||!1,signal:r.signal};return this._requestArrayBuffer(n)})}fetchKeyProperties(e){return Object(f["default"])(this.parsedUrl.path+"/keyProperties",{query:this._getQueryParams({renderingRule:this.version>=10.3?null==e?void 0:e.renderingRule:null})}).then(e=>e.data)}fetchRasterAttributeTable(e){return this.version<10.1?Promise.reject(new g["a"]("#fetchRasterAttributeTable()","Failed to get rasterAttributeTable")):Object(f["default"])(this.parsedUrl.path+"/rasterAttributeTable",{query:this._getQueryParams({renderingRule:this.version>=10.3?null==e?void 0:e.renderingRule:null})}).then(e=>_e["default"].fromJSON(e.data))}async getCatalogItemRasterInfo(e,t){const i=Object(f["default"])(this.parsedUrl.path+"/"+e+"/info",{query:this._getQueryParams(),...t}).then(e=>e.data),r=Object(f["default"])(this.parsedUrl.path+"/"+e+"/info/keyProperties",{query:this._getQueryParams(),...t}).then(e=>e.data).catch(()=>{}),a=await Promise.all([i,r]);if(!a[0])return;const n=$e["a"].fromJSON(a[0].extent),s=a[0].statistics?a[0].statistics.map(e=>({min:e[0],max:e[1],avg:e[2],stddev:e[3]})):null;return new ve["a"]({bandCount:a[0].bandCount,extent:n,spatialReference:n.sr,pixelSize:new ue["a"]({x:a[0].pixelSizeX,y:a[0].pixelSizeY,spatialReference:n.sr}),pixelType:a[0].pixelType.toLowerCase(),statistics:s,histograms:a[0].histograms,keyProperties:a[1]||{}})}async getCatalogItemICSInfo(e,t){const{data:i}=await Object(f["default"])(this.parsedUrl.path+"/"+e+"/info/ics",{query:this._getQueryParams(),...t}),r=i&&i.ics;if(!r)return;let a=null;try{a=(await Object(f["default"])(this.parsedUrl.path+"/"+e+"/info",{query:this._getQueryParams(),...t})).data.extent}catch{}if(!a||!a.spatialReference)return{ics:r,icsToPixelTransform:null,icsExtent:null,northDirection:null};const n=this.version>=10.7?Object(f["default"])(this.parsedUrl.path+"/"+e+"/info/icstopixel",{query:this._getQueryParams(),...t}).then(e=>e.data).catch(()=>({})):{},s=a.spatialReference,o={geometries:JSON.stringify({geometryType:"esriGeometryEnvelope",geometries:[a]}),inSR:s.wkid||JSON.stringify(s),outSR:"0:"+e},l=Object(f["default"])(this.parsedUrl.path+"/project",{query:this._getQueryParams(o),...t}).then(e=>e.data).catch(()=>({})),c=5,u=(a.xmin+a.xmax)/2,p=(a.ymax-a.ymin)/(c+1),m=a.ymin+p,d=[];for(let f=0;fe.data).catch(()=>({})),y=await Promise.all([n,l,h]);let g=y[0].ipxf;if(null==g){var O,j,v;const e=null==(O=r.geodataXform)?void 0:O.xf_0;"topup"===(null==e||null==(j=e.name)?void 0:j.toLowerCase())&&6===(null==e||null==(v=e.coefficients)?void 0:v.length)&&(g={affine:{name:"ics [sensor: Frame] to pixel (column, row) transformation",coefficients:e.coefficients,cellsizeRatio:0,type:"GeometricXform"}})}const R=$e["a"].fromJSON(y[1]&&y[1].geometries&&y[1].geometries[0]);R&&(R.spatialReference=new Te["a"]({wkid:0,imageCoordinateSystem:r}));const w=y[2].geometries?y[2].geometries.filter(e=>null!=e&&null!=e.x&&null!=e.y&&"NaN"!==e.x&&"NaN"!==e.y):[],S=w.length;if(S<3)return{ics:r,icsToPixelTransform:g,icsExtent:R,northDirection:null};let x=0,I=0,F=0,N=0;for(let f=0;fw[0].x,_=w[c-1].y>w[0].y;return T===1/0?D=_?90:270:0===T?D=P?0:180:T>0?D=P?180*Math.atan(T)/Math.PI:180*Math.atan(T)/Math.PI+180:T<0&&(D=_?180+180*Math.atan(T)/Math.PI:360+180*Math.atan(T)/Math.PI),{ics:r,icsToPixelTransform:g,icsExtent:R,northDirection:D}}async generateRasterInfo(e,t){var i;if((!e||"none"===(null==e||null==(i=e.functionName)?void 0:i.toLowerCase())||this._isVectorFieldResampleFunction(e))&&Object(s["k"])(this.serviceRasterInfo))return this.serviceRasterInfo;const r=It(e);if(this._functionRasterInfos[r])return this._functionRasterInfos[r];const a=this._generateRasterInfo(e,t);this._functionRasterInfos[r]=a;try{return await a}catch{return this._functionRasterInfos[r]=null,null}}getExportImageServiceParameters(e,t,i,r){var a;e=e.clone().shiftCentralMeridian();const n=Xe(e.spatialReference,this.parsedUrl.path);Object(s["k"])(this.serviceRasterInfo)&&this.pixelType!==this.serviceRasterInfo.pixelType&&(this.exportImageServiceParameters.pixelType=this.pixelType);const o=this.exportImageServiceParameters.toJSON(),{bandIds:l,noData:c}=o;let{renderingRule:u}=o;const p=null==(a=this.renderingRule)?void 0:a.rasterFunctionDefinition,m=!this.renderer||"raster-stretch"===this.renderer.type;if(null!=l&&l.length&&this._hasRenderingRule(this.renderingRule)&&!p&&m){const e={rasterFunction:"ExtractBand",rasterFunctionArguments:{BandIds:l}};if("Stretch"===u.rasterFunction)e.rasterFunctionArguments.Raster=u.rasterFunctionArguments.Raster,u.rasterFunctionArguments.Raster=e;else if("Colormap"===u.rasterFunction){const t=u.rasterFunctionArguments.Raster;"Stretch"===(null==t?void 0:t.rasterFunction)?(e.rasterFunctionArguments.Raster=t.rasterFunctionArguments.Raster,t.rasterFunctionArguments.Raster=e):(e.rasterFunctionArguments.Raster=t,u.rasterFunctionArguments.Raster=e)}else e.rasterFunctionArguments.Raster=u,u=e;o.bandIds=void 0}else o.bandIds=null==l?void 0:l.join(",");c instanceof Array&&c.length>0&&(o.noData=c.join(","));const d=this._serviceSupportsMosaicRule?this._combineMosaicRuleWithTimeExtent(this.exportImageServiceParameters.mosaicRule,r):null;o.mosaicRule=d&&JSON.stringify(d),o.renderingRule=this._getRenderingRuleString(J.fromJSON(u));const b={};if(r){const{start:e,end:t}=r.toJSON();e&&t&&e===t?b.time=""+e:null==e&&null==t||(b.time=`${null==e?"null":e},${null==t?"null":t}`)}return{bbox:e.xmin+","+e.ymin+","+e.xmax+","+e.ymax,bboxSR:n,imageSR:n,size:t+","+i,...o,...b}}async getSamples(e,t){if(await this._fetchCapabilities(null==t?void 0:t.signal),!this.capabilities.operations.supportsGetSamples)throw new g["a"]("imagery-layer:get-samples","getSamples operation is not supported on the input image service");e=Object(u["d"])(jt,e).clone();const{raster:i}=this;return i&&null==e.raster&&(e.raster=i),Be(this.url,e,this._getRequestOptions(t))}async identify(e,t){if(await this._fetchCapabilities(null==t?void 0:t.signal),!this.capabilities.operations.supportsIdentify)throw new g["a"]("imagery-layer:query-rasters","query operation is not supported on the input image service");e=Object(u["d"])(bt,e).clone();const{raster:i,mosaicRule:r,renderingRule:a}=this;if(a&&null==e.renderingRule&&(e.renderingRule=a),r&&null==e.mosaicRule){const t=this._combineMosaicRuleWithTimeExtent(r,e.timeExtent);e.mosaicRule=Object(s["t"])(t)}return i&&null==e.raster&&(e.raster=i),We(this.url,e,this._getRequestOptions(t))}createQuery(){const e=new it["a"];return e.outFields=["*"],e.returnGeometry=!0,e.where=this.definitionExpression||"1=1",e}async queryRasters(e,t){return({query:e,requestOptions:t}=await this._prepareForQuery(e,t)),Object(at["a"])(this.url,e,t)}async queryObjectIds(e,t){return({query:e,requestOptions:t}=await this._prepareForQuery(e,t)),Object(rt["a"])(this.url,e,t)}async queryRasterCount(e,t){return({query:e,requestOptions:t}=await this._prepareForQuery(e,t)),Object(Ye["a"])(this.url,e,t)}async queryVisibleRasters(e,t){if(!e)throw new g["a"]("imagery-layer: query-visible-rasters","missing query parameter");const{pixelSize:i,returnDomainValues:r,returnTopmostRaster:a,showNoDataRecords:n}=t||{pixelSize:null,returnDomainValues:!1,returnTopmostRaster:!1,showNoDataRecords:!1};let o=!1,l=null,c=null;const u="raster.servicepixelvalue",p=this.rasterFunctionNamesIndex;if(Object(s["k"])(e.outFields)&&(o=e.outFields.some(e=>-1===e.toLowerCase().indexOf(u)),this.version>=10.4)){const t=e.outFields.filter(e=>e.toLowerCase().indexOf(u)>-1&&e.length>u.length).map(e=>{const t=e.slice(u.length+1);return[this._updateRenderingRulesFunctionName(t,p),t]});l=t.map(e=>new J({functionName:e[0]})),c=t.map(e=>e[1]),0===l.length?this.renderingRule?(l.push(this.renderingRule),c.push(this.renderingRule.functionName)):l=null:this.renderingRule&&!l.some(e=>e.functionName===this.renderingRule.functionName)&&(l.push(this.renderingRule),c.push(this.renderingRule.functionName))}const m=Object(s["j"])(e.outSpatialReference)||e.outSpatialReference.equals(this.spatialReference),d=e.timeExtent||this.timeExtent,b=this._combineMosaicRuleWithTimeExtent(this.exportImageServiceParameters.mosaicRule,d),h=this._getQueryParams({geometry:e.geometry,timeExtent:d,mosaicRule:b,renderingRule:this.version<10.4?this.renderingRule:null,renderingRules:l,pixelSize:i,returnCatalogItems:o,returnGeometry:m,raster:this.raster,maxItemCount:a?1:null});delete h.f;const y=new bt(h);try{var f,O;await this.generateRasterInfo(this.renderingRule);const i=await We(this.url,y,{signal:null==t?void 0:t.signal,query:{...this.customParameters}}),a=e.outFields,l=i.value.toLowerCase().indexOf("nodata")>-1;if(!o||m||!(null==i||null==(f=i.catalogItems)?void 0:f.features.length)||!n&&l)return this._processVisibleRastersResponse(i,{returnDomainValues:r,templateRRFunctionNames:c,showNoDataRecords:n,templateFields:a});const u=this.objectIdField||"ObjectId",p=i.catalogItems.features,d=p.map(e=>{var t;return null==(t=e.attributes)?void 0:t[u]}),b=new it["a"]({objectIds:d,returnGeometry:!0,outSpatialReference:e.outSpatialReference,outFields:[u]}),h=await this.queryRasters(b);return null!=h&&null!=(O=h.features)&&O.length&&h.features.forEach(t=>{p.forEach(i=>{i.attributes[u]===t.attributes[u]&&(i.geometry=new tt["a"](t.geometry),Object(s["k"])(e.outSpatialReference)&&(i.geometry.spatialReference=e.outSpatialReference))})}),this._processVisibleRastersResponse(i,{returnDomainValues:r,templateRRFunctionNames:c,showNoDataRecords:n,templateFields:a})}catch{throw new g["a"]("imagery-layer:query-visible-rasters","encountered error when querying visible rasters")}}async fetchVariableStatisticsHistograms(e,t){const i=Object(f["default"])(this.parsedUrl.path+"/statistics",{query:this._getQueryParams({variable:e}),signal:t}).then(e=>{var t;return null==(t=e.data)?void 0:t.statistics}),r=Object(f["default"])(this.parsedUrl.path+"/histograms",{query:this._getQueryParams({variable:e}),signal:t}).then(e=>{var t;return null==(t=e.data)?void 0:t.histograms}),a=await Promise.all([i,r]);return a[0]&&a[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),{statistics:a[0]||null,histograms:a[1]||null}}async createStreamlinesMesh(e,t){const i=this._rasterJobHandler.instance;return i?i.createStreamlinesMesh(e,t):Object(vt["a"])(e.rendererSettings,e.flowData,Object(s["k"])(t.signal)?t.signal:(new AbortController).signal)}async _fetchService(e){await this._fetchServiceInfo(e),Object(s["k"])(this.serviceRasterInfo)&&!this.rasterInfo&&(this.rasterInfo=this.serviceRasterInfo);const t=this.sourceJSON,i=Object(s["k"])(this.serviceRasterInfo)?Promise.resolve(this.serviceRasterInfo):this._fetchAuxiliaryRasterInfo({serviceInfo:t,signal:e}).then(e=>(this._set("serviceRasterInfo",e),e)),r=this._hasRenderingRule(this.renderingRule)?this.generateRasterInfo(this.renderingRule,{signal:e}):null,a=this._getRasterFunctionInfos();return Promise.all([i,r,a]).then(e=>{e[1]?this._set("rasterInfo",e[1]):this._set("rasterInfo",e[0]),e[2]&&this._set("rasterFunctionInfos",e[2]),this.renderer&&!this._isSupportedRenderer(this.renderer)&&(this._set("renderer",null),Rt.warn("ArcGISImageService","Switching to the default renderer. Renderer applied is not valid for this Imagery Layer")),this._set("renderer",this._configRenderer(this.renderer)),this.watch("renderingRule",e=>{(this.renderer||this.symbolizer||this.popupEnabled&&this.popupTemplate)&&this.generateRasterInfo(e).then(e=>{e&&(this.rasterInfo=e)})});const t=Object(s["k"])(this.serviceRasterInfo)&&this.serviceRasterInfo.multidimensionalInfo;t&&this._updateMultidimensionalDefinition(t)})}_combineMosaicRuleWithTimeExtent(e,t){const i=this.timeInfo;if(Object(s["j"])(e)||Object(s["j"])(this.multidimensionalInfo)||Object(s["j"])(t)||Object(s["j"])(null==i?void 0:i.startField))return e;const{startField:r}=i;var a;if(e=e.clone(),"mosaic-dataset"===this._serviceSourceType)return e.multidimensionalDefinition=null==(a=e.multidimensionalDefinition)?void 0:a.filter(e=>e.dimensionName!==r),this._cleanupMultidimensionalDefinition(e);e.multidimensionalDefinition=e.multidimensionalDefinition||[];const n=e.multidimensionalDefinition.filter(e=>e.dimensionName===r),o=Object(s["k"])(t.start)?t.start.getTime():null,l=Object(s["k"])(t.end)?t.end.getTime():null,c=null==o||null==l||o===l,u=c?[o||l]:[[o,l]],p=this.version>=10.8;if(n.length)n.forEach(e=>{e.dimensionName===r&&(p?(e.dimensionName=null,e.isSlice=null,e.values=null):(e.isSlice=c,e.values=u))});else if(!p){const t=e.multidimensionalDefinition.filter(e=>null!=e.variableName&&null==e.dimensionName);t.length?t.forEach(e=>{e.dimensionName=r,e.isSlice=c,e.values=u}):e.multidimensionalDefinition.push(new I["a"]({variableName:"",dimensionName:r,isSlice:c,values:u}))}return this._cleanupMultidimensionalDefinition(e)}_cleanupMultidimensionalDefinition(e){return Object(s["j"])(e)?null:(e.multidimensionalDefinition&&(e.multidimensionalDefinition=e.multidimensionalDefinition.filter(e=>!(!e.variableName&&!e.dimensionName)),0===e.multidimensionalDefinition.length&&(e.multidimensionalDefinition=null)),"mosaic-dataset"!==this._serviceSourceType&&null==e.multidimensionalDefinition?null:e)}async _prepareForQuery(e,t){var i;if(await this._fetchCapabilities(null==(i=t)?void 0:i.signal),!this.capabilities.operations.supportsQuery)throw new g["a"]("imagery-layer:query-rasters","query operation is not supported on the input image service");return e=Object(s["k"])(e)?Object(u["d"])(it["a"],e):this.createQuery(),t=this._getRequestOptions(t),this.raster&&(t.query={...t.query,raster:this.raster}),{query:e,requestOptions:t}}async _initJobHandler(){if(null!=this._rasterJobHandler.connectionPromise)return this._rasterJobHandler.connectionPromise;const e=new Re["a"];this._rasterJobHandler.connectionPromise=e.initialize().then(()=>{this._rasterJobHandler.instance=e},()=>null),await this._rasterJobHandler.connectionPromise}_shutdownJobHandler(){this._rasterJobHandler.instance&&this._rasterJobHandler.instance.destroy(),this._rasterJobHandler.instance=null,this._rasterJobHandler.connectionPromise=null,this._rasterJobHandler.refCount=0}_isSupportedRenderer(e){const{rasterInfo:t,renderingRule:i}=this;return"unique-value"===e.type&&this._hasRenderingRule(i)&&1===t.bandCount&&["u8","s8"].includes(t.pixelType)||Object(xe["d"])(this.rasterInfo).includes(this.renderer.type)}async _fetchCapabilities(e){return this.capabilities||await this._fetchServiceInfo(e),this.capabilities}async _fetchServiceInfo(e){var t;let i=this.sourceJSON;if(!i){const{data:t,ssl:r}=await Object(f["default"])(this.parsedUrl.path,{query:this._getQueryParams(),signal:e});i=t,this.sourceJSON=i,r&&(this.url=this.url.replace(/^http:/i,"https:"))}if((null==(t=i.capabilities)?void 0:t.toLowerCase().split(",").map(e=>e.trim()).indexOf("tilesonly"))>-1)throw new g["a"]("imagery-layer:fetch-service-info","use ImageryTileLayer to open tiles-only image services");this.read(i,{origin:"service",url:this.parsedUrl})}_isMosaicDataset(e){var t;return e.serviceSourceType?"esriImageServiceSourceTypeMosaicDataset"===e.serviceSourceType:(null==(t=e.fields)?void 0:t.length)>0}_isMosaicRuleSupported(e){var t;if(!e)return!1;const i=this._isMosaicDataset(e),r=e.currentVersion>=10.71&&e.hasMultidimensions&&e.timeInfo&&!(e.objectIdField&&(null==(t=e.fields)?void 0:t.length)>1);return i||r}_isVectorFieldResampleFunction(e){if(!Object(s["k"])(e))return!1;const{functionName:t,functionArguments:i}=e,r="resample"===(null==t?void 0:t.toLowerCase()),a=(null==i?void 0:i.ResampleType)||(null==i?void 0:i.resampleType);return r&&(7===a||10===a)}_isPicture(){return!this.format||this.format.indexOf("jpg")>-1||this.format.indexOf("png")>-1}_configRenderer(e){if(!this._isPicture()&&!this.pixelFilter){if(!this.bandIds&&this.rasterInfo.bandCount>=3){const e=Object(xe["b"])(this.rasterInfo);!e||3===this.rasterInfo.bandCount&&0===e[0]&&1===e[1]&&2===e[2]||(this.bandIds=e)}var t,i;e||(e=Object(xe["a"])(this.rasterInfo,{bandIds:this.bandIds,variableName:this.renderingRule?null:null==(t=this.mosaicRule)||null==(i=t.multidimensionalDefinition)?void 0:i[0].variableName}));const r=Object(xe["e"])(e.toJSON());this.symbolizer?(this.symbolizer.rendererJSON=r,this.symbolizer.rasterInfo=this.rasterInfo):this.symbolizer=new Ie["a"]({rendererJSON:r,rasterInfo:this.rasterInfo}),this.symbolizer.bind().success||(this.symbolizer=null)}return e}_clonePixelData(e){return null==e?e:{extent:e.extent&&e.extent.clone(),pixelBlock:Object(s["k"])(e.pixelBlock)&&e.pixelBlock.clone()}}_getQueryParams(e){Object(s["k"])(null==e?void 0:e.renderingRule)&&"string"!=typeof e.renderingRule&&(e.renderingRule=this._getRenderingRuleString(e.renderingRule));const{raster:t,viewId:i}=this;return{raster:t,viewId:i,f:"json",...e,...this.customParameters}}_getRequestOptions(e){return{...e,query:{...null==e?void 0:e.query,...this.customParameters}}}_decodePixelBlock(e,t,i){return this._rasterJobHandler.instance?this._rasterJobHandler.instance.decode({data:e,options:t}):Object(we["a"])(e,t,i)}async _fetchMultidimensionalInfo(e){var t;const i=await Object(f["default"])(this.parsedUrl.path+"/multidimensionalInfo",{query:this._getQueryParams(),signal:e}).then(e=>{var t;return null==(t=e.data)?void 0:t.multidimensionalInfo});return null!=(t=i.variables)&&t.length&&i.variables.forEach(e=>{var t;null!=(t=e.statistics)&&t.length&&e.statistics.forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation})}),i}async _getRasterFunctionInfos(e){const t=this.sourceJSON.rasterFunctionInfos;return this.serviceRasterInfo?t:t&&this.version>=10.3?1===t.length&&"none"===t[0].name.toLowerCase()?t:null==(i=(await Object(f["default"])(this.parsedUrl.path+"/rasterFunctionInfos",{query:this._getQueryParams(),signal:e})).data)?void 0:i.rasterFunctionInfos:null;var i}async _fetchAuxiliaryRasterInfo(e){const t=e&&e.serviceInfo;if(!t)return Promise.reject(new g["a"]("imagery-layer:fetch-metadata","valid serviceInfo is required"));const i=e.signal,r=!!(t.hasRasterAttributeTable&&this.version>=10.1)&&Object(f["default"])(this.parsedUrl.path+"/rasterAttributeTable",{query:this._getQueryParams({renderingRule:this.version>=10.1?null==e?void 0:e.renderingRule:null}),signal:i}).then(e=>_e["default"].fromJSON(e.data)).catch(()=>null),a=!!(t.hasColormap&&this.version>=10.1)&&Object(f["default"])(this.parsedUrl.path+"/colormap",{query:this._getQueryParams({renderingRule:this.version>=10.6?null==e?void 0:e.renderingRule:null}),signal:i}).then(e=>{var t;return null==(t=e.data)?void 0:t.colormap}),n=!!(t.hasHistograms&&this.version>=10.1)&&Object(f["default"])(this.parsedUrl.path+"/histograms",{query:this._getQueryParams({renderingRule:this.version>=10.1?null==e?void 0:e.renderingRule:null}),signal:i}).then(e=>{var t;return null==(t=e.data)?void 0:t.histograms}),s=this.version>=10.3&&Object(f["default"])(this.parsedUrl.path+"/keyProperties",{query:this._getQueryParams({renderingRule:null==e?void 0:e.renderingRule}),signal:i}).then(e=>e.data).catch(()=>{}),o=!!(t.hasMultidimensions&&this.version>=10.3)&&this._fetchMultidimensionalInfo(),l=await Promise.all([r,a,n,s,o]);let c=null;if(t.minValues&&t.minValues.length===t.bandCount){c=[];for(let e=0;e-1)return{imageElement:(await Object(f["default"])(this.parsedUrl.path+"/exportImage",{responseType:"image",query:this._getQueryParams({f:"image",...e.imageServiceParameters}),signal:a})).data,params:i};const n=this._initJobHandler(),s=Object(f["default"])(this.parsedUrl.path+"/exportImage",{responseType:"array-buffer",query:this._getQueryParams({f:"image",...e.imageServiceParameters}),signal:a}),o=(await Promise.all([s,n]))[0].data,l=i.format||"jpgpng";let c=l;if("bsq"!==c&&"bip"!==c&&(c=Object(we["b"])(o)),!c)throw new g["a"]("imagery-layer:fetch-image","unsupported format signature "+String.fromCharCode.apply(null,new Uint8Array(o)));const u={signal:a},p="gif"===l||"bmp"===l||l.indexOf("png")>-1&&("png"===c||"jpg"===c)?Object(we["a"])(o,{useCanvas:!0,...i},u):this._decodePixelBlock(o,{width:i.width,height:i.height,planes:null,pixelType:null,noDataValue:null,format:l},u);return{pixelData:{pixelBlock:await p,extent:i.extent},params:i}}async _generateRasterInfo(e,t){const{data:i}=await Object(f["default"])(this.parsedUrl.path,{query:this._getQueryParams({renderingRule:e}),...t});return await this._fetchAuxiliaryRasterInfo({serviceInfo:i,renderingRule:e,...t})}_isValidCustomizedMosaicRule(e){var t;return e&&JSON.stringify(e.toJSON())!==JSON.stringify(null==(t=this._defaultServiceMosaicRule)?void 0:t.toJSON())}_updateMultidimensionalDefinition(e){if(this._isValidCustomizedMosaicRule(this.mosaicRule))return;const t=e.variables[0].dimensions,i="",r=[];for(const a in t)if(t.hasOwnProperty(a)){const e=t[a],n=e.extent;let s=!0,o=[n[0]];e.hasRanges&&!0===e.hasRanges?(s=!1,o=[e.values[0]]):"stdz"===e.name.toLowerCase()&&Math.abs(n[1])<=Math.abs(n[0])&&(o=[n[1]]),r.push(new I["a"]({variableName:i,dimensionName:t[a].name,isSlice:s,values:o}))}if(r.length>0){this.mosaicRule=this.mosaicRule||new he;const e=this.mosaicRule.multidimensionalDefinition;(!e||e&&e.length<=0)&&(this.mosaicRule.multidimensionalDefinition=r)}}_formatAttributeValue(e,t){if("string"==typeof e){const i=this.popupTemplate&&this.popupTemplate.fieldInfos,r=this._getFieldInfo(i,t),a=r&&r.format;if(a){let t,i;return e.trim().indexOf(",")>-1?(t=",",i=t+" ",this._formatDelimitedString(e,t,i,a)):e.trim().indexOf(";")>-1?(t=";",i=t+" ",this._formatDelimitedString(e,t,i,a)):e.trim().indexOf(" ")>-1?(t=i=" ",this._formatDelimitedString(e,t,i,a)):this._formatNumberFromString(e,a)}}return e}_getFieldInfo(e,t){if(!e||!e.length||!t)return;const i=t.toLowerCase();let r;return e.some(e=>!(!e.fieldName||e.fieldName.toLowerCase()!==i&&e.fieldName.toLowerCase()!==i.replace(/ /g,"_"))&&(r=e,!0)),r}_formatDelimitedString(e,t,i,r){return e&&t&&i&&r?e.trim().split(t).map(e=>this._formatNumberFromString(e,r)).join(i):e}_formatNumberFromString(e,t){if(!e||!t)return e;const i=Number(e);return isNaN(i)?e:t.format(i)}_processVisibleRastersResponse(e,t){t=t||{};const i=e.value,{templateRRFunctionNames:r,showNoDataRecords:a,returnDomainValues:n,templateFields:o}=t,l=e.processedValues;let c=e.catalogItems&&e.catalogItems.features,u=e.properties&&e.properties.Values&&e.properties.Values.map(e=>e.replace(/ /gi,", "))||[];const p=this.objectIdField||"ObjectId",m="string"==typeof i&&i.toLowerCase().indexOf("nodata")>-1,d=[];if(i&&!c&&!m){const e={};e[p]=0,u=[i],c=[new h["a"](this.fullExtent,null,e)]}if(!c)return[];let b,y,f;this._updateResponseFieldNames(c,o),m&&!a&&(c=[]);for(let h=0;h0&&r&&r.length>0&&r.indexOf(this.renderingRule.functionName)>-1?l[r.indexOf(this.renderingRule.functionName)]:i,"nodata"===y.toLowerCase()&&!a)continue;const e="Raster.ItemPixelValue",t="Raster.ServicePixelValue";b.attributes[e]=this._formatAttributeValue(y,e),b.attributes[t]=this._formatAttributeValue(f,t),this._updateFeatureWithMagDirValues(b,y);const n=this.fields&&this.fields.length>0;let o=this.renderingRule&&Object(s["k"])(this.serviceRasterInfo)&&this.serviceRasterInfo.attributeTable?n?y:i:f;this.renderingRule||(o=n?y:i),this._updateFeatureWithRasterAttributeTableValues(b,o)}if(b.sourceLayer=b.layer=this,n&&this._updateFeatureWithDomainValues(b),r&&l&&r.length===l.length)for(let e=0;ee.name).filter(e=>"value"===e.toLowerCase()),o=n&&n[0];if(!o)return;const l=r.filter(e=>e.attributes[o]===(null!=t?parseInt(t,10):null));l&&l[0]&&a.forEach(t=>{const i=this.rasterAttributeTableFieldPrefix+t.name;e.attributes[i]=this._formatAttributeValue(l[0].attributes[t.name],i)})}_updateFeatureWithMagDirValues(e,t){if("esriImageServiceDataTypeVector-UV"!==this.serviceDataType&&"esriImageServiceDataTypeVector-MagDir"!==this.serviceDataType)return;const i=t.split(/,\s*/).map(e=>parseFloat(e)),r=i.map(e=>[e]),a=i.map(e=>({minValue:e,maxValue:e,noDataValue:null})),n=new je["a"]({height:1,width:1,pixelType:"f32",pixels:r,statistics:a});null!=this.pixelFilter&&this.pixelFilter({pixelBlock:n,extent:new $e["a"](0,0,0,0,this.spatialReference)});const s="esriImageServiceDataTypeVector-MagDir"===this.serviceDataType?[n.pixels[0][0],n.pixels[1][0]]:Object(Se["j"])([n.pixels[0][0],n.pixels[1][0]]);e.attributes["Raster.Magnitude"]=s[0],e.attributes["Raster.Direction"]=s[1]}_updateFeatureWithDomainValues(e){const t=this.fields&&this.fields.filter(e=>e.domain&&"coded-value"===e.domain.type);null!=t&&t.forEach(t=>{const i=e.attributes[t.name];if(null!=i){const r=t.domain.codedValues.find(e=>e.code===i);r&&(e.attributes[t.name]=r.name)}})}_updateResponseFieldNames(e,t){if(!t||t.length<1)return;const i=this.fieldsIndex;Object(s["k"])(i)&&e.forEach(e=>{if(e&&e.attributes)for(const r of t)if(i.has(r)){const t=i.get(r).name;t!==r&&(e.attributes[r]=e.attributes[t],delete e.attributes[t])}})}_getRenderingRuleString(e){if(this._hasRenderingRule(e)){var t;let i=e.toJSON();return i=null!=(t=i.rasterFunctionDefinition)?t:i,(i.thumbnail||i.thumbnailEx)&&(i.thumbnail=i.thumbnailEx=null),JSON.stringify(i)}return null}_hasRenderingRule(e){return e&&e.functionName&&"none"!==e.functionName.toLowerCase()}_updateRenderingRulesFunctionName(e,t){if(!e||e.length<1)return;if("Raw"===e)return e.replace("Raw","None");const i=e.toLowerCase().replace(/ /gi,"_");return t.has(i)?t.get(i):e}_isRFTJson(e){return e&&e.name&&e.arguments&&e.function&&e.hasOwnProperty("functionType")}_readCapabilities(e){const t=e.capabilities?e.capabilities.toLowerCase().split(",").map(e=>e.trim()):["image","catalog"],{currentVersion:i,advancedQueryCapabilities:r,maxRecordCount:a}=e,n=t.indexOf("image")>-1,s="esriImageServiceDataTypeElevation"===e.serviceDataType,o=!!(e.spatialReference||e.extent&&e.extent.spatialReference),l=t.includes("edit");return{data:{supportsAttachment:!1},operations:{supportsComputeHistograms:n,supportsExportImage:n,supportsIdentify:n,supportsMeasure:t.indexOf("mensuration")>-1&&o,supportsDownload:t.indexOf("download")>-1,supportsQuery:t.indexOf("catalog")>-1&&e.fields&&e.fields.length>0,supportsGetSamples:i>=10.2&&n,supportsProject:i>=10.3&&n,supportsComputeStatisticsHistograms:i>=10.4&&n,supportsQueryBoundary:i>=10.6&&n,supportsCalculateVolume:i>=10.7&&s,supportsComputePixelLocation:i>=10.7&&t.indexOf("catalog")>-1,supportsComputeAngles:i>=10.91,supportsAdd:l,supportsDelete:l,supportsEditing:l,supportsUpdate:l,supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsChangeTracking:!1,supportsQueryAttachments:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsExceedsLimitStatistics:!1},query:{maxRecordCount:a,maxRecordCountFactor:void 0,supportsStatistics:!(null==r||!r.supportsStatistics),supportsOrderBy:!(null==r||!r.supportsOrderBy),supportsDistinct:!(null==r||!r.supportsDistinct),supportsPagination:!(null==r||!r.supportsPagination),supportsStandardizedQueriesOnly:!(null==r||!r.useStandardizedQueries),supportsPercentileStatistics:!(null==r||!r.supportsPercentileStatistics),supportsCentroid:!(null==r||!r.supportsReturningGeometryCentroid),supportsDistance:!(null==r||!r.supportsQueryWithDistance),supportsExtent:!(null==r||!r.supportsReturningQueryExtent),supportsGeometryProperties:!(null==r||!r.supportsReturningGeometryProperties),supportsHavingClause:!(null==r||!r.supportsHavingClause),supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsMaxRecordCountFactor:!1,supportsSqlExpression:!1,supportsTopFeaturesQuery:!1,supportsQueryByOthers:!1,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!1,supportsCacheHint:!1,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!(null==r||!r.supportsDefaultSR),supportsCompactGeometry:!1,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0}}}};return Object(a["a"])([Object(c["b"])()],t.prototype,"_functionRasterInfos",void 0),Object(a["a"])([Object(c["b"])()],t.prototype,"_rasterJobHandler",void 0),Object(a["a"])([Object(c["b"])({dependsOn:["_serviceSupportsMosaicRule"]})],t.prototype,"_defaultServiceMosaicRule",void 0),Object(a["a"])([Object(S["a"])("_defaultServiceMosaicRule",["defaultMosaicMethod"])],t.prototype,"readDefaultServiceMosaicRule",null),Object(a["a"])([Object(c["b"])()],t.prototype,"_cachedRendererJson",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0})],t.prototype,"_serviceSourceType",void 0),Object(a["a"])([Object(S["a"])("_serviceSourceType",["serviceSourceType","fields"])],t.prototype,"readServiceSourceType",null),Object(a["a"])([Object(c["b"])({readOnly:!0})],t.prototype,"_serviceSupportsMosaicRule",void 0),Object(a["a"])([Object(S["a"])("_serviceSupportsMosaicRule",["currentVersion","fields"])],t.prototype,"readServiceSupportsMosaicRule",null),Object(a["a"])([Object(c["b"])()],t.prototype,"rasterAttributeTableFieldPrefix",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0})],t.prototype,"rasterFunctionNamesIndex",null),Object(a["a"])([Object(c["b"])()],t.prototype,"adjustAspectRatio",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0}),Object(w["a"])("serviceRasterInfo.bandCount")],t.prototype,"bandCount",void 0),Object(a["a"])([Object(c["b"])({type:[u["a"]],json:{write:!0}})],t.prototype,"bandIds",void 0),Object(a["a"])([Object(S["a"])("bandIds")],t.prototype,"readBandIds",null),Object(a["a"])([Object(c["b"])({readOnly:!0,json:{read:!1}})],t.prototype,"capabilities",void 0),Object(a["a"])([Object(S["a"])("service","capabilities",["capabilities","currentVersion","serviceDataType"])],t.prototype,"readCapabilities",null),Object(a["a"])([Object(c["b"])({type:Number})],t.prototype,"compressionQuality",void 0),Object(a["a"])([Object(m["a"])("compressionQuality")],t.prototype,"writeCompressionQuality",null),Object(a["a"])([Object(c["b"])({type:Number})],t.prototype,"compressionTolerance",void 0),Object(a["a"])([Object(m["a"])("compressionTolerance")],t.prototype,"writeCompressionTolerance",null),Object(a["a"])([Object(c["b"])({json:{read:{source:"copyrightText"}}})],t.prototype,"copyright",void 0),Object(a["a"])([Object(c["b"])({type:String,json:{name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],t.prototype,"definitionExpression",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0,constructOnly:!0})],t.prototype,"exportImageServiceParameters",void 0),Object(a["a"])([Object(c["b"])()],t.prototype,"rasterInfo",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0,type:[ge["a"]]})],t.prototype,"fields",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0})],t.prototype,"fieldsIndex",null),Object(a["a"])([Object(c["b"])({type:["png","png8","png24","png32","jpg","bmp","gif","jpgpng","lerc","tiff"],json:{write:!0}})],t.prototype,"format",null),Object(a["a"])([Object(S["a"])("service","format",["serviceDataType"])],t.prototype,"readFormat",null),Object(a["a"])([Object(c["b"])({type:$e["a"]})],t.prototype,"fullExtent",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0})],t.prototype,"hasMultidimensions",void 0),Object(a["a"])([Object(c["b"])({json:{read:{source:"maxImageHeight"}}})],t.prototype,"imageMaxHeight",void 0),Object(a["a"])([Object(c["b"])({json:{read:{source:"maxImageWidth"}}})],t.prototype,"imageMaxWidth",void 0),Object(a["a"])([Object(c["b"])({type:String,json:{type:ye["a"].jsonValues,read:ye["a"].read,write:ye["a"].write}})],t.prototype,"interpolation",void 0),Object(a["a"])([Object(c["b"])()],t.prototype,"minScale",void 0),Object(a["a"])([Object(S["a"])("service","minScale")],t.prototype,"readMinScale",null),Object(a["a"])([Object(c["b"])()],t.prototype,"maxScale",void 0),Object(a["a"])([Object(S["a"])("service","maxScale")],t.prototype,"readMaxScale",null),Object(a["a"])([Object(c["b"])({type:he})],t.prototype,"mosaicRule",null),Object(a["a"])([Object(S["a"])("mosaicRule",["mosaicRule","defaultMosaicMethod"])],t.prototype,"readMosaicRule",null),Object(a["a"])([Object(m["a"])("mosaicRule")],t.prototype,"writeMosaicRule",null),Object(a["a"])([Object(c["b"])({readOnly:!0}),Object(w["a"])("serviceRasterInfo.multidimensionalInfo")],t.prototype,"multidimensionalInfo",void 0),Object(a["a"])([Object(c["b"])({json:{type:u["a"]}})],t.prototype,"noData",void 0),Object(a["a"])([Object(m["a"])("noData")],t.prototype,"writeNoData",null),Object(a["a"])([Object(c["b"])({type:String,json:{type:ye["b"].jsonValues,read:ye["b"].read,write:ye["b"].write}})],t.prototype,"noDataInterpretation",void 0),Object(a["a"])([Object(c["b"])({type:String,readOnly:!0,json:{read:{source:["fields"]}}})],t.prototype,"objectIdField",void 0),Object(a["a"])([Object(S["a"])("objectIdField")],t.prototype,"readObjectIdField",null),Object(a["a"])([Object(c["b"])({})],t.prototype,"geometryType",void 0),Object(a["a"])([Object(c["b"])({})],t.prototype,"typeIdField",void 0),Object(a["a"])([Object(c["b"])({})],t.prototype,"types",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0})],t.prototype,"parsedUrl",null),Object(a["a"])([Object(c["b"])({readOnly:!0}),Object(w["a"])("serviceRasterInfo.pixelSize.x")],t.prototype,"pixelSizeX",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0}),Object(w["a"])("serviceRasterInfo.pixelSize.y")],t.prototype,"pixelSizeY",void 0),Object(a["a"])([Object(c["b"])({type:Function})],t.prototype,"pixelFilter",void 0),Object(a["a"])([Object(c["b"])()],t.prototype,"raster",void 0),Object(a["a"])([Object(c["b"])()],t.prototype,"viewId",void 0),Object(a["a"])([Object(c["b"])({types:y["a"],json:{name:"layerDefinition.drawingInfo.renderer",origins:{"web-scene":{types:y["c"],name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type&&"flow"!==e.type})}}}}})],t.prototype,"renderer",null),Object(a["a"])([Object(S["a"])("renderer")],t.prototype,"readRenderer",null),Object(a["a"])([Object(m["a"])("renderer")],t.prototype,"writeRenderer",null),Object(a["a"])([Object(c["b"])()],t.prototype,"symbolizer",void 0),Object(a["a"])([Object(c["b"])(x["h"])],t.prototype,"opacity",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0}),Object(w["a"])("serviceRasterInfo.attributeTable")],t.prototype,"rasterAttributeTable",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0})],t.prototype,"rasterFields",null),Object(a["a"])([Object(c["b"])({constructOnly:!0})],t.prototype,"rasterFunctionInfos",void 0),Object(a["a"])([Object(c["b"])({type:J})],t.prototype,"renderingRule",null),Object(a["a"])([Object(S["a"])("renderingRule",["renderingRule","rasterFunctionInfos"])],t.prototype,"readRenderingRule",null),Object(a["a"])([Object(m["a"])("renderingRule")],t.prototype,"writeRenderingRule",null),Object(a["a"])([Object(c["b"])()],t.prototype,"serviceDataType",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0,type:Te["a"]})],t.prototype,"spatialReference",void 0),Object(a["a"])([Object(S["a"])("spatialReference",["spatialReference","extent"])],t.prototype,"readSpatialReference",null),Object(a["a"])([Object(c["b"])({json:{type:wt.jsonValues}})],t.prototype,"pixelType",void 0),Object(a["a"])([Object(S["a"])("pixelType")],t.prototype,"readPixelType",null),Object(a["a"])([Object(m["a"])("pixelType")],t.prototype,"writePixelType",null),Object(a["a"])([Object(c["b"])({constructOnly:!0,type:ve["a"]})],t.prototype,"serviceRasterInfo",void 0),Object(a["a"])([Object(c["b"])()],t.prototype,"sourceJSON",void 0),Object(a["a"])([Object(c["b"])(x["n"])],t.prototype,"url",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0})],t.prototype,"version",void 0),Object(a["a"])([Object(S["a"])("version",["currentVersion","fields","timeInfo"])],t.prototype,"readVersion",null),t=Object(a["a"])([Object(p["a"])("esri.layers.mixins.ArcGISImageService")],t),t};var Nt=i("3d59"),Tt=i("997b"),Dt=i("8b28"),Pt=i("b911"),_t=i("0db5"),Ct=i("8e17"),Vt=i("5a62"),Mt=i("601a"),At=i("2546"),Jt=i("f51b");let Et=class extends(Object(Tt["a"])(Object(Mt["a"])(Object(Ct["a"])(Object(Vt["a"])(Object(Pt["a"])(Object(_t["a"])(Ft(Object(Dt["a"])(Object(Nt["a"])(Object(o["a"])(d["a"]))))))))))){constructor(...e){super(...e),this.legendEnabled=!0,this.isReference=null,this.operationalLayerType="ArcGISImageServiceLayer",this.popupEnabled=!0,this.popupTemplate=null,this.type="imagery"}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=Object(s["k"])(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(l["u"]).then(()=>this._fetchService(t))),Promise.resolve(this)}writeOperationalLayerType(e,t,i){var r;const a="vector-field"===(null==(r=this.renderer)?void 0:r.type);t[i]=a?"ArcGISImageServiceVectorLayer":"ArcGISImageServiceLayer"}get defaultPopupTemplate(){return this.createPopupTemplate()}createPopupTemplate(e){const t=this.rasterFields,i=this.title,r=new Set;let a=!1,n=!1;this.capabilities&&(a=this.capabilities.operations.supportsQuery&&this.fields&&this.fields.length>0,n=a&&("esriImageServiceDataTypeVector-UV"===this.serviceDataType||"esriImageServiceDataTypeVector-MagDir"===this.serviceDataType));const s=new Set;a&&(s.add("raster.itempixelvalue"),n&&s.add("raster.magnitude").add("raster.direction"));for(const o of t){const e=o.name.toLowerCase();s.has(e)||e.indexOf("raster.servicepixelvalue.")>-1||r.add(o.name)}return Object(Jt["a"])({fields:t,title:i},{...e,visibleFieldNames:r})}queryFeatures(e,t){return this.queryRasters(e,t).then(e=>{if(null!=e&&e.features)for(const t of e.features)t.layer=t.sourceLayer=this;return e})}queryFeatureCount(e,t){return this.queryRasterCount(e,t)}redraw(){this.emit("redraw")}serviceSupportsSpatialReference(e){return Object(At["a"])(this,e)}};Object(a["a"])([Object(c["b"])(x["e"])],Et.prototype,"legendEnabled",void 0),Object(a["a"])([Object(c["b"])({type:["show","hide"]})],Et.prototype,"listMode",void 0),Object(a["a"])([Object(c["b"])({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],Et.prototype,"isReference",void 0),Object(a["a"])([Object(c["b"])({type:["ArcGISImageServiceLayer"],json:{origins:{"web-map":{type:["ArcGISImageServiceLayer","ArcGISImageServiceVectorLayer"],read:!1,write:{target:"layerType",ignoreOrigin:!0}}}}})],Et.prototype,"operationalLayerType",void 0),Object(a["a"])([Object(m["a"])("web-map","operationalLayerType")],Et.prototype,"writeOperationalLayerType",null),Object(a["a"])([Object(c["b"])(x["j"])],Et.prototype,"popupEnabled",void 0),Object(a["a"])([Object(c["b"])({type:n["a"],json:{read:{source:"popupInfo"},write:{target:"popupInfo"}}})],Et.prototype,"popupTemplate",void 0),Object(a["a"])([Object(c["b"])({readOnly:!0})],Et.prototype,"defaultPopupTemplate",null),Object(a["a"])([Object(c["b"])({readOnly:!0,json:{read:!1}})],Et.prototype,"type",void 0),Et=Object(a["a"])([Object(p["a"])("esri.layers.ImageryLayer")],Et);const zt=Et}}]); //# sourceMappingURL=chunk-2d237932.18621bf3.js.map