@arcgis/core 4.22.0-next.20211207 → 4.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{44ccee36f8c74f4f134e.js → 025df54bafc05c183182.js} +1 -1
- package/assets/esri/core/workers/chunks/{23af0b02208e20d5c07e.js → 22c0032451a4e1d43167.js} +1 -1
- package/assets/esri/core/workers/chunks/{fd874267d81bc0b2be50.js → 5915752b754997630665.js} +1 -1
- package/assets/esri/core/workers/chunks/{f3da8b797c8e1fcb1c21.js → 63161320a58a0b1702a2.js} +1 -1
- package/assets/esri/core/workers/chunks/{96a62dc1e07f3ef20a30.js → 67482a0c298e41ea47f5.js} +1 -1
- package/assets/esri/core/workers/chunks/{52aa3b44bddb10caa343.js → 753846665158c1c321ee.js} +1 -1
- package/assets/esri/core/workers/chunks/{8bc4ea821be16a752226.js → 764126387018aa548f58.js} +1 -1
- package/assets/esri/core/workers/chunks/{bc0b85bc1e5116836ba4.js → 79ddc2e92f0f057f6be3.js} +1 -1
- package/assets/esri/core/workers/chunks/{b1e7e0ee0fc8d3ba7c3c.js → 8150ec4b80adcf5fca86.js} +1 -1
- package/assets/esri/core/workers/chunks/{6210b23872c362f51b12.js → 89d1c5f6ed167515ad24.js} +1 -1
- package/assets/esri/core/workers/chunks/{4417dfcb2ba50ac9f199.js → 8ac288ac3ff8e61b98c4.js} +1 -1
- package/assets/esri/core/workers/chunks/95b085ff097005995ced.js +1 -0
- package/assets/esri/core/workers/chunks/{6e736a6717e09bf6c1fc.js → ab635e54fda321961683.js} +1 -1
- package/assets/esri/core/workers/chunks/{9d66ca0feda89e902494.js → c32a849111ae061ae194.js} +1 -1
- package/assets/esri/core/workers/chunks/{6a1ce00bcb689ea95bcb.js → dab0bfa26073cf325e08.js} +1 -1
- package/chunks/Clouds.glsl.js +4 -4
- package/config.js +1 -1
- package/interfaces.d.ts +133 -6
- package/package.json +1 -1
- package/renderers/VectorFieldRenderer.js +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/MapViewConstraints.js +1 -1
- package/views/2d/constraints/ZoomConstraint.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/3d/environment/Clouds.glsl.js +1 -1
- package/views/3d/environment/CloudsGenerator.js +1 -1
- package/views/3d/environment/NoiseTextureAtlas.js +1 -1
- package/views/MapView.js +1 -1
- package/views/webgl/Program.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/assets/esri/core/workers/chunks/26a4a4762a635109383f.js +0 -1
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import M from"../Color.js";import"../geometry.js";import i from"../Graphic.js";import"../symbols.js";import{JSONMap as t}from"../core/jsonMap.js";import{JSONSupport as a}from"../core/JSONSupport.js";import{clone as I}from"../core/lang.js";import{isNone as r}from"../core/maybe.js";import{property as g}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{enumeration as o}from"../core/accessorSupport/decorators/enumeration.js";import{reader as A}from"../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import{normalizeCentralMeridian as d}from"../geometry/support/normalizeUtils.js";import{unitKebabDict as l,getUnitConversionFactor as n,convertVectorFieldData as c,convertVectorFieldUnit as D}from"../layers/support/rasterFunctions/vectorFieldUtils.js";import w from"./ClassBreaksRenderer.js";import{VisualVariablesMixin as y}from"./mixins/VisualVariablesMixin.js";import C from"./support/ClassBreakInfo.js";import L from"./visualVariables/RotationVariable.js";import m from"./visualVariables/SizeVariable.js";import{getAllSizes as j,getRotationAngle as p}from"./visualVariables/support/visualVariableUtils.js";import T from"../symbols/SimpleLineSymbol.js";import N from"../symbols/SimpleMarkerSymbol.js";import{applySizesToSymbol as H,applyRotationToSymbol as U}from"../symbols/support/utils.js";import B from"../geometry/Point.js";import S from"../symbols/PictureMarkerSymbol.js";var u;const z=new Set(["esriMetersPerSecond","esriKilometersPerHour","esriKnots","esriFeetPerSecond","esriMilesPerHour"]),Z=new t({beaufort_ft:"beaufort-ft",beaufort_km:"beaufort-km",beaufort_kn:"beaufort-kn",beaufort_m:"beaufort-m",beaufort_mi:"beaufort-mi",classified_arrow:"classified-arrow",ocean_current_kn:"ocean-current-kn",ocean_current_m:"ocean-current-m",simple_scalar:"simple-scalar",single_arrow:"single-arrow",wind_speed:"wind-barb"}),b=new t({flow_from:"flow-from",flow_to:"flow-to"});let h=u=class extends(y(a)){constructor(e){super(e),this.attributeField="Magnitude",this.flowRepresentation="flow-from",this.rotationType="arithmetic",this.style="single-arrow",this.symbolTileSize=50,this.type="vector-field"}readInputUnit(e,M){return z.has(e)?l.fromJSON(e):null}readOutputUnit(e,M){return z.has(e)?l.fromJSON(e):null}get styleRenderer(){const e=this.style,M=this.attributeField,i=this._createStyleRenderer(e);return i.field=M,i}get sizeVariables(){const e=[];if(this.visualVariables)for(const M of this.visualVariables)"size"===M.type&&e.push(M);if(0===e.length){const M=new m({field:"Magnitude",minSize:.2*this.symbolTileSize,maxSize:.8*this.symbolTileSize});this.visualVariables?this.visualVariables.push(M):this._set("visualVariables",[M]),e.push(M)}return e}get rotationVariables(){const e=[];if(this.visualVariables)for(const M of this.visualVariables)"rotation"===M.type&&e.push(M);if(0===e.length){const M=new L({field:"Direction",rotationType:this.rotationType});this.visualVariables?this.visualVariables.push(M):this._set("visualVariables",[M]),e.push(M)}return e}clone(){return new u({attributeField:this.attributeField,flowRepresentation:this.flowRepresentation,rotationType:this.rotationType,symbolTileSize:this.symbolTileSize,style:this.style,visualVariables:I(this.visualVariables),inputUnit:this.inputUnit,outputUnit:this.outputUnit})}async getGraphicsFromPixelData(e,M=!1,t=[]){const a=new Array,I=n(this.inputUnit,this.outputUnit),g=M?c(e.pixelBlock,"vector-uv",this.rotationType,I):D(e.pixelBlock,"vector-magdir",I);if(r(g))return a;const o=e.extent,A=g.mask&&g.mask.length>0;let s=0;const l=(o.xmax-o.xmin)/g.width,w=(o.ymax-o.ymin)/g.height;for(let r=0;r<g.height;r++)for(let e=0;e<g.width;e++,s++){let M=new B({x:o.xmin+e*l+l/2,y:o.ymax-r*w-w/2,spatialReference:o.spatialReference});M=(await d(M))[0];const I=t.some((e=>e.intersects(M)));if((!A||g.mask[s])&&!I){const e={Magnitude:g.pixels[0][s],Direction:g.pixels[1][s]},t=new i({geometry:{type:"point",x:M.x,y:M.y,spatialReference:o.spatialReference},attributes:e});t.symbol=this._getVisualVariablesAppliedSymbol(t),a.push(t)}}return a}getSymbol(e,M){}async getSymbolAsync(e,M){}getSymbols(){return[]}getClassBreakInfos(){var e;return null==(e=this.styleRenderer)?void 0:e.classBreakInfos}getDefaultSymbol(){var e;return null==(e=this.styleRenderer)?void 0:e.defaultSymbol}_getDefaultSymbol(e){return new N({path:"M14,32 14,18 9,23 16,3 22,23 17,18 17,32 z",outline:new T({width:0}),size:20,color:e||new M([0,92,230])})}_getVisualVariablesAppliedSymbol(e){if(!e)return;let M=this.styleRenderer&&this.styleRenderer.getSymbol(e);M=M.clone();const i=this.sizeVariables,t=this.rotationVariables;if(i&&i.length&&this.sizeVariables.forEach((i=>H(M,j([i],e)))),t&&t.length){const i="flow-to"===this.flowRepresentation===("ocean-current-kn"===this.style||"ocean-current-m"===this.style)?0:180;e.attributes.Direction=e.attributes.Direction+i,this.rotationVariables.forEach((i=>U(M,p(i,e),i.axis)))}return M}_createStyleRenderer(e){let M={defaultSymbol:this._getDefaultSymbol(),classBreakInfos:[]};switch(e){case"single-arrow":M=this._createSingleArrowRenderer();break;case"beaufort-kn":M=this._createBeaufortKnotsRenderer();break;case"beaufort-m":M=this._createBeaufortMeterRenderer();break;case"beaufort-ft":M=this._createBeaufortFeetRenderer();break;case"beaufort-mi":M=this._createBeaufortMilesRenderer();break;case"beaufort-km":M=this._createBeaufortKilometersRenderer();break;case"ocean-current-m":M=this._createCurrentMeterRenderer();break;case"ocean-current-kn":M=this._createCurrentKnotsRenderer();break;case"simple-scalar":M=this._createSimpleScalarRenderer();break;case"wind-barb":M=this._createWindBarbsRenderer();break;case"classified-arrow":M=this._createClassifiedArrowRenderer()}return new w(M)}_createSingleArrowRenderer(){return{defaultSymbol:this._getDefaultSymbol()}}_createBeaufortKnotsRenderer(){const e=[0,1,3,6,10,16,21,27,33,40,47,55,63],i=[[40,146,199],[89,162,186],[129,179,171],[160,194,155],[191,212,138],[218,230,119],[250,250,100],[252,213,83],[252,179,102],[250,141,52],[247,110,42],[240,71,29]];return{defaultSymbol:this._getDefaultSymbol(new M([214,47,39])),classBreakInfos:this._getClassBreaks(e,i)}}_createBeaufortMeterRenderer(){const e=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7],i=[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]];return{defaultSymbol:this._getDefaultSymbol(new M([214,47,39])),classBreakInfos:this._getClassBreaks(e,i)}}_createBeaufortFeetRenderer(){const e=this._getDefaultSymbol(new M([214,47,39]));let i=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];const t=[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]],a=3.28084;i=i.map((e=>e*a));return{defaultSymbol:e,classBreakInfos:this._getClassBreaks(i,t)}}_createBeaufortMilesRenderer(){const e=this._getDefaultSymbol(new M([214,47,39]));let i=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];const t=[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]],a=2.23694;i=i.map((e=>e*a));return{defaultSymbol:e,classBreakInfos:this._getClassBreaks(i,t)}}_createBeaufortKilometersRenderer(){const e=this._getDefaultSymbol(new M([214,47,39]));let i=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];const t=[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]],a=3.6;i=i.map((e=>e*a));return{defaultSymbol:e,classBreakInfos:this._getClassBreaks(i,t)}}_createCurrentMeterRenderer(){const e=[0,.5,1,1.5,2],i=[[78,26,153],[179,27,26],[202,128,26],[177,177,177]];return{defaultSymbol:this._getDefaultSymbol(new M([177,177,177])),classBreakInfos:this._getClassBreaks(e,i)}}_createCurrentKnotsRenderer(){const e=[0,.25,.5,1,1.5,2,2.5,3,3.5,4],i=[[0,0,0],[0,37,100],[78,26,153],[151,0,100],[179,27,26],[177,78,26],[202,128,26],[177,179,52],[177,177,177]];return{defaultSymbol:this._getDefaultSymbol(new M([177,177,177])),classBreakInfos:this._getClassBreaks(e,i)}}_createClassifiedArrowRenderer(){var e;const i=this._getDefaultSymbol(new M([56,168,0]));let t=[0,1e-6,3.5,7,10.5,14];if(null!=(e=this.sizeVariables)&&e.length){const e=this.sizeVariables[0].minDataValue,M=this.sizeVariables[0].maxDataValue;if(e&&M){const i=(M-e)/5;t=Array.from(Array(6).keys()).map((M=>e+i*M))}}const a=[[56,168,0],[139,309,0],[255,255,0],[255,128,0],[255,0,0]];return{defaultSymbol:i,classBreakInfos:this._getClassBreaks(t,a)}}_createSimpleScalarRenderer(){return{defaultSymbol:S.fromJSON({imageData:"iVBORw0KGgoAAAANSUhEUgAAACsAAAArCAQAAABLVLlLAAAABGdBTUEAAYagMeiWXwAAAAJiS0dEAACqjSMyAAAACXBIWXMAAABIAAAASABGyWs+AAAC3ElEQVRIx9XXvW4cVRQH8N982btpsIREJECyiCXsxX4DKh6AliqGKCBBE2SlwlHgAbBD/AKmyEYUeQ1KahPZSZQvBCkQLTHZ7KGY8Xodz4w3a1NwbzVzz/znfJ//zbStVC5q3icKak9GAs2QIdDx3PtW/S011NW3p+M5Eomh11ipTIKe6+4LQzHaQ+G+63pIZNJJQXMpljwTwj1brpgx5w1zZlyx5Z4QnllEIm2xeeSUHBf0hV0bejo1Uh09G3aFvgXk7cCJFBc9EdaRVuHJJaOdKyTV2TVhYLMduNR0Q9gxL5GaaTDw8GzejrDRBpxWoGsySRW0dttKuattwNkIlFw2YXgzOdYq4Ox49PlM+JrKd5OusjTWhBuVxUfMX/KXXZ3WEmkuqa67wspR4BTbwtKr/5u4fFgStse/T7EifFPnnYl9zPq4vmUOPrRndgoHjDti1gOPqlyXoifcRNGQzUd31lDyfHmob1Gp35vSr+P6vilcQ5Egtyd8YF/ySg9NhPM+9M/IOaHwp5+PSZayXTvCogEUwlatC3J8LLwYtcWB8EuDXQVuCkV5/B4eNHb7wGBs87LBDS+xjdVSn09wq1G8dFM+9tSUhIGneLvUdniKxKpTYljCpu3j7rVWlHj/P23v4NPGUEyeCQnexe9lJjzEQqMjJs+EzNAX6B98dBZVRmroJx95x/A/6gln18EyfCUsl+qdXb/tjvfbw+mwforpUOBz4XLVoBwAn3aWnfeH246NyBXhrq7TTN5lNSP9RkU+puUJm3W2Tsdq0nZWM07srk7MwQrZSRysjjGWBLRJNsNbfj2JMR4AbxpU1XLAb9Mxfpsq5EjMuuiR8L0JiHOOBX3hiUvOmavN0nMueSzcceFk0BK4pMqLo7vDD1Z0qrtDx7Itt4Xwm9UqbMmk8S0Dtuzb2pvOU99Z1nLTOfleNmvfZfP2pYZmPfajwosKdDBNpacNpVGGsWX9CyDI8Xq/Sj6QAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE0LTExLTEwVDAzOjE3OjU4LTA1OjAwF+tHyQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNC0xMS0xMFQwMzoxNzo1OC0wNTowMGa2/3UAAAAASUVORK5CYII=",height:20,width:20,type:"esriPMS",angle:0})}}_createWindBarbsRenderer(){const e=Array.from(Array(31).keys()).map((e=>5*e)),M=[{range:"0-5",path:"M20 20 M5 20 A15 15 0 1 0 35 20 A15 15 0 1 0 5 20 M20 20 M10 20 A10 10 0 1 0 30 20 A10 10 0 1 0 10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTIwIDIwIE01IDIwIEExNSAxNSAwIDEgMCAzNSAyMCBBMTUgMTUgMCAxIDAgNSAyMCBNMjAgMjAgTTEwIDIwIEExMCAxMCAwIDEgMCAzMCAyMCBBMTAgMTAgMCAxIDAgMTAgMjAiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"5-10",path:"M25 0 L25 40 M25 35 L17.5 37.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"10-15",path:"M25 0 L25 40 L10 45 L25 40",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"15-20",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L17.5 37.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjEyIDAgMTUgNDUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"20-25",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"25-30",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L17.5 32.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIEwyNSAzNSBNMjUgMzAgTDE3LjUgMzIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"30-35",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"35-40",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"40-45",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"45-50",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"50-55",path:"M25 0 L25 40 L10 40 L25 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"55-60",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L17.5 32.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxNy41IDMyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"60-65",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"65-70",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"70-75",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"75-80",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"80-85",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"85-90",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L17.5 17.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxNy41IDE3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"90-95",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"95-100",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20 L25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCBMMjUgMTUgTTI1IDEwIEwxNy41IDEyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"100-105",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"105-110",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDE3LjUgMjcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"110-115",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"115-120",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L17.5 22.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDE3LjUgMjIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"120-125",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"125-130",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L17.5 17.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDE3LjUgMTcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"130-135",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"135-140",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDE3LjUgMTIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"140-145",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"145-150",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IE0yNSAxMCBNMjUgNSBMMTcuNSA3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="}],i=S.fromJSON({imageData:"iVBORw0KGgoAAAANSUhEUgAAACgAAAApCAQAAADtq6NDAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAEY0lEQVRIx5XXWWxWRRQH8N+d+31tUdGAVjGglYJABFEBY91jfDAg7piYaFTccA++uMQEFRcSXlATtxiXqMQt4G4iisYl0ai4sIQYtVFZ1KIFKdTS0l4f7vRCS5fPebozc+bM/2z/Mzcx0AgSiUxXnKfIdMn875FIhX53U2n/B/s+kKM4UINTjTBZImixxnrv+9a2iL6zEoUBXcoudrWj/OtHm3wt02lfU9Qao9OnHvIhgmww84MEl1qnxfNmGrqHxAizLdPpC6chGcAxKGGcL+30gOERf1BSpUqVslQSV8d5ReZFe8VQ9avufJn31cWwlJV7iafKStGOE/1qvfH9qUxxu8ydUdmuSKbGO8YUdT2inKLG69pM70tliktl5qIkCAJGmusDG7Vqsc0WjZa4UBlBiA5YZIcjYzB7qDtH5kaUJFLs7RGZTZ42W4PRRmtwvbdt1+wGiaS4drEtDttdZYIDNVuAclR3vA3+dI3qHqmVSy7U6Tv1MScCPvPR7nIpFlsdCy3FdTLPGhK92e2CUITjMJ9ocwKxnsZqc3O3JwMma3d6UVLnyVxB4aXemZqvPqLdpJhW3KVVbY4yYImPo6M5Urv50fj+0z/FG9YaEiENs8UtMfXUaTeTePNHlhXfA1UU+2lyD1Il3Gtt9+adfpNG7dNlpg2U/T3KYLZ2dUWFdTgp3/rQ4sK973qnInV5TIf40x3dhvrJPBiqyWUo4wAtLqhQYS71qK+QKOFRywmGK/kpikzV6WMKhh58vGWs4TIJNjiEYLIuP8Tt4/zmLyqk+AyrJSbF+Qq1DgqRUPMxyl+9q3IQhX/rMCJ6tEunriDs1oSyQZKlr9AkhT2ZIARbJfaJS1vtVbHB+Rgi0RK/y1q1BWsEEyLoz40xtGKcARPVWB1BTPO7f4LNtpkUl1aoMbViLyZo0GRjPD3BxnxjqXeLYlvhqYrzMMG3HoyJXa3JjfnGlbYYFlP7Jh3qKsKY4hQ7TY0nG+xwRL61n63mxHtqNHosigyMLmClNwvuecFnOZB88nNBDzNkzhxEZaKMBVoKapggMzvHHXBEpNSSFAvtcFRsVn0bW8LlMmcXs+c0Kne3gRR32+zg4uXwjC6zit6Wt4a8LXVfcp/MtQXHn2ynGbuCmb8GvvFeJLEE82ReU9/n6+dkq2x3buG9Wn94smcgAw631RPR7BTH+kbmHReZoEpOdEe7zWqZl40s0JWs9Hmv7hjBHqPDwsjGKVJnWWqjbdZp1KhJi0aPmxYZsIRhlttgeF+Jlke41QcOQKoqilSb6HJzSvNG3G/UoWnxwsmt+sVaYwd63dRbqdnMyCPVeyRPvpYgdavM22oGKoMUVRbJfOWMwidJ8Zzb1UvmWK/VVUXzHaTjjrVYh1897HT7xxYEVUaa5SWb/WO+YUWa9SrwvigzM8YlzlYv2GSdVCYxxlBtVnnFq5olwp5/BEk/OLsf5LUmG2+inRJdVvjZ97ZH9/zP34ug1O91pf4p+D+JYBpvrKxfbwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNC0xMS0xMFQwMzoxMjowOS0wNTowMB9ViV0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTQtMTEtMTBUMDM6MTI6MDktMDU6MDBuCDHhAAAAAElFTkSuQmCC",height:20,width:20,type:"esriPMS",angle:0}),t=e.map(((t,a)=>{let I;if(a!==e.length-1)if(0===a)I={minValue:t,maxValue:e[a+1],symbol:i};else{const i=S.fromJSON({type:"esriPMS",imageData:M[a].imageData,contentType:"image/svg+xml",height:32,width:32,angle:0});I={minValue:t,maxValue:e[a+1],symbol:i}}return new C(I)}));return{defaultSymbol:i,classBreakInfos:t}}_getClassBreaks(e,i){return i.map(((i,t)=>new C({minValue:e[t],maxValue:e[t+1],symbol:this._getDefaultSymbol(new M(i))})))}};e([g({type:String,json:{write:!0}})],h.prototype,"attributeField",void 0),e([g({type:b.apiValues,json:{type:b.jsonValues,read:{reader:b.read},write:{writer:b.write}}})],h.prototype,"flowRepresentation",void 0),e([g({type:["geographic","arithmetic"],json:{write:!0}})],h.prototype,"rotationType",void 0),e([g({type:Z.apiValues,json:{type:Z.jsonValues,read:{reader:Z.read},write:{writer:Z.write}}})],h.prototype,"style",void 0),e([g({json:{write:!0}})],h.prototype,"symbolTileSize",void 0),e([g({type:l.apiValues,json:{type:l.jsonValues,write:{writer:l.write}}})],h.prototype,"inputUnit",void 0),e([A("inputUnit")],h.prototype,"readInputUnit",null),e([g({type:l.apiValues,json:{type:l.jsonValues,read:{reader:l.read},write:{writer:l.write}}})],h.prototype,"outputUnit",void 0),e([A("outputUnit")],h.prototype,"readOutputUnit",null),e([o({vectorField:"vector-field"})],h.prototype,"type",void 0),e([g({type:w})],h.prototype,"styleRenderer",null),e([g({type:m})],h.prototype,"sizeVariables",null),e([g({type:L})],h.prototype,"rotationVariables",null),h=u=e([s("esri.renderers.VectorFieldRenderer")],h);const E=h;export{E as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import M from"../Color.js";import"../geometry.js";import i from"../Graphic.js";import"../symbols.js";import{JSONMap as t}from"../core/jsonMap.js";import{JSONSupport as a}from"../core/JSONSupport.js";import{clone as I}from"../core/lang.js";import{isNone as r}from"../core/maybe.js";import{property as g}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{enumeration as o}from"../core/accessorSupport/decorators/enumeration.js";import{reader as s}from"../core/accessorSupport/decorators/reader.js";import{subclass as A}from"../core/accessorSupport/decorators/subclass.js";import{normalizeCentralMeridian as d}from"../geometry/support/normalizeUtils.js";import{unitKebabDict as l,getUnitConversionFactor as n,convertVectorFieldData as c,convertVectorFieldUnit as D}from"../layers/support/rasterFunctions/vectorFieldUtils.js";import w from"./ClassBreaksRenderer.js";import{VisualVariablesMixin as y}from"./mixins/VisualVariablesMixin.js";import C from"./support/ClassBreakInfo.js";import L from"./visualVariables/RotationVariable.js";import m from"./visualVariables/SizeVariable.js";import{getAllSizes as j,getRotationAngle as p}from"./visualVariables/support/visualVariableUtils.js";import T from"../symbols/SimpleLineSymbol.js";import N from"../symbols/SimpleMarkerSymbol.js";import{applySizesToSymbol as H,applyRotationToSymbol as U}from"../symbols/support/utils.js";import B from"../geometry/Point.js";import S from"../symbols/PictureMarkerSymbol.js";var u;const z=new Set(["esriMetersPerSecond","esriKilometersPerHour","esriKnots","esriFeetPerSecond","esriMilesPerHour"]),Z=new t({beaufort_ft:"beaufort-ft",beaufort_km:"beaufort-km",beaufort_kn:"beaufort-kn",beaufort_m:"beaufort-m",beaufort_mi:"beaufort-mi",classified_arrow:"classified-arrow",ocean_current_kn:"ocean-current-kn",ocean_current_m:"ocean-current-m",simple_scalar:"simple-scalar",single_arrow:"single-arrow",wind_speed:"wind-barb"}),b=new t({flow_from:"flow-from",flow_to:"flow-to"});let h=u=class extends(y(a)){constructor(e){super(e),this.attributeField="Magnitude",this.flowRepresentation="flow-from",this.rotationType="arithmetic",this.style="single-arrow",this.symbolTileSize=50,this.type="vector-field"}readInputUnit(e,M){return z.has(e)?l.fromJSON(e):null}readOutputUnit(e,M){return z.has(e)?l.fromJSON(e):null}get styleRenderer(){const e=this.style,M=this.attributeField,i=this._createStyleRenderer(e);return i.field=M,i}get sizeVariables(){const e=[];if(this.visualVariables)for(const M of this.visualVariables)"size"===M.type&&e.push(M);if(0===e.length){const M=new m({field:"Magnitude",minSize:.2*this.symbolTileSize,maxSize:.8*this.symbolTileSize});this.visualVariables?this.visualVariables.push(M):this._set("visualVariables",[M]),e.push(M)}return e}get rotationVariables(){const e=[];if(this.visualVariables)for(const M of this.visualVariables)"rotation"===M.type&&e.push(M);if(0===e.length){const M=new L({field:"Direction",rotationType:this.rotationType});this.visualVariables?this.visualVariables.push(M):this._set("visualVariables",[M]),e.push(M)}return e}clone(){return new u({attributeField:this.attributeField,flowRepresentation:this.flowRepresentation,rotationType:this.rotationType,symbolTileSize:this.symbolTileSize,style:this.style,visualVariables:I(this.visualVariables),inputUnit:this.inputUnit,outputUnit:this.outputUnit})}async getGraphicsFromPixelData(e,M=!1,t=[]){var a;const I=new Array,g=n(this.inputUnit,this.outputUnit),o=(null==(a=this.rotationVariables[0])?void 0:a.rotationType)||this.rotationType,s=M?c(e.pixelBlock,"vector-uv",o,g):D(e.pixelBlock,"vector-magdir",g);if(r(s))return I;const A=e.extent,l=s.mask&&s.mask.length>0;let w=0;const y=(A.xmax-A.xmin)/s.width,C=(A.ymax-A.ymin)/s.height;for(let r=0;r<s.height;r++)for(let e=0;e<s.width;e++,w++){let M=new B({x:A.xmin+e*y+y/2,y:A.ymax-r*C-C/2,spatialReference:A.spatialReference});M=(await d(M))[0];const a=t.some((e=>e.intersects(M)));if((!l||s.mask[w])&&!a){const e={Magnitude:s.pixels[0][w],Direction:s.pixels[1][w]},t=new i({geometry:{type:"point",x:M.x,y:M.y,spatialReference:A.spatialReference},attributes:e});t.symbol=this._getVisualVariablesAppliedSymbol(t),I.push(t)}}return I}getSymbol(e,M){}async getSymbolAsync(e,M){}getSymbols(){return[]}getClassBreakInfos(){var e;return null==(e=this.styleRenderer)?void 0:e.classBreakInfos}getDefaultSymbol(){var e;return null==(e=this.styleRenderer)?void 0:e.defaultSymbol}_getDefaultSymbol(e){return new N({path:"M14,32 14,18 9,23 16,3 22,23 17,18 17,32 z",outline:new T({width:0}),size:20,color:e||new M([0,92,230])})}_getVisualVariablesAppliedSymbol(e){if(!e)return;let M=this.styleRenderer&&this.styleRenderer.getSymbol(e);M=M.clone();const i=this.sizeVariables,t=this.rotationVariables;if(i&&i.length&&this.sizeVariables.forEach((i=>H(M,j([i],e)))),t&&t.length){const i="flow-to"===this.flowRepresentation===("ocean-current-kn"===this.style||"ocean-current-m"===this.style)?0:180;e.attributes.Direction=e.attributes.Direction+i,this.rotationVariables.forEach((i=>U(M,p(i,e),i.axis)))}return M}_createStyleRenderer(e){let M={defaultSymbol:this._getDefaultSymbol(),classBreakInfos:[]};switch(e){case"single-arrow":M=this._createSingleArrowRenderer();break;case"beaufort-kn":M=this._createBeaufortKnotsRenderer();break;case"beaufort-m":M=this._createBeaufortMeterRenderer();break;case"beaufort-ft":M=this._createBeaufortFeetRenderer();break;case"beaufort-mi":M=this._createBeaufortMilesRenderer();break;case"beaufort-km":M=this._createBeaufortKilometersRenderer();break;case"ocean-current-m":M=this._createCurrentMeterRenderer();break;case"ocean-current-kn":M=this._createCurrentKnotsRenderer();break;case"simple-scalar":M=this._createSimpleScalarRenderer();break;case"wind-barb":M=this._createWindBarbsRenderer();break;case"classified-arrow":M=this._createClassifiedArrowRenderer()}return new w(M)}_createSingleArrowRenderer(){return{defaultSymbol:this._getDefaultSymbol()}}_createBeaufortKnotsRenderer(){const e=[0,1,3,6,10,16,21,27,33,40,47,55,63],i=[[40,146,199],[89,162,186],[129,179,171],[160,194,155],[191,212,138],[218,230,119],[250,250,100],[252,213,83],[252,179,102],[250,141,52],[247,110,42],[240,71,29]];return{defaultSymbol:this._getDefaultSymbol(new M([214,47,39])),classBreakInfos:this._getClassBreaks(e,i)}}_createBeaufortMeterRenderer(){const e=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7],i=[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]];return{defaultSymbol:this._getDefaultSymbol(new M([214,47,39])),classBreakInfos:this._getClassBreaks(e,i)}}_createBeaufortFeetRenderer(){const e=this._getDefaultSymbol(new M([214,47,39]));let i=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];const t=[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]],a=3.28084;i=i.map((e=>e*a));return{defaultSymbol:e,classBreakInfos:this._getClassBreaks(i,t)}}_createBeaufortMilesRenderer(){const e=this._getDefaultSymbol(new M([214,47,39]));let i=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];const t=[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]],a=2.23694;i=i.map((e=>e*a));return{defaultSymbol:e,classBreakInfos:this._getClassBreaks(i,t)}}_createBeaufortKilometersRenderer(){const e=this._getDefaultSymbol(new M([214,47,39]));let i=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];const t=[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]],a=3.6;i=i.map((e=>e*a));return{defaultSymbol:e,classBreakInfos:this._getClassBreaks(i,t)}}_createCurrentMeterRenderer(){const e=[0,.5,1,1.5,2],i=[[78,26,153],[179,27,26],[202,128,26],[177,177,177]];return{defaultSymbol:this._getDefaultSymbol(new M([177,177,177])),classBreakInfos:this._getClassBreaks(e,i)}}_createCurrentKnotsRenderer(){const e=[0,.25,.5,1,1.5,2,2.5,3,3.5,4],i=[[0,0,0],[0,37,100],[78,26,153],[151,0,100],[179,27,26],[177,78,26],[202,128,26],[177,179,52],[177,177,177]];return{defaultSymbol:this._getDefaultSymbol(new M([177,177,177])),classBreakInfos:this._getClassBreaks(e,i)}}_createClassifiedArrowRenderer(){var e;const i=this._getDefaultSymbol(new M([56,168,0]));let t=[0,1e-6,3.5,7,10.5,14];if(null!=(e=this.sizeVariables)&&e.length){const e=this.sizeVariables[0].minDataValue,M=this.sizeVariables[0].maxDataValue;if(e&&M){const i=(M-e)/5;t=Array.from(Array(6).keys()).map((M=>e+i*M))}}const a=[[56,168,0],[139,309,0],[255,255,0],[255,128,0],[255,0,0]];return{defaultSymbol:i,classBreakInfos:this._getClassBreaks(t,a)}}_createSimpleScalarRenderer(){return{defaultSymbol:S.fromJSON({imageData:"iVBORw0KGgoAAAANSUhEUgAAACsAAAArCAQAAABLVLlLAAAABGdBTUEAAYagMeiWXwAAAAJiS0dEAACqjSMyAAAACXBIWXMAAABIAAAASABGyWs+AAAC3ElEQVRIx9XXvW4cVRQH8N982btpsIREJECyiCXsxX4DKh6AliqGKCBBE2SlwlHgAbBD/AKmyEYUeQ1KahPZSZQvBCkQLTHZ7KGY8Xodz4w3a1NwbzVzz/znfJ//zbStVC5q3icKak9GAs2QIdDx3PtW/S011NW3p+M5Eomh11ipTIKe6+4LQzHaQ+G+63pIZNJJQXMpljwTwj1brpgx5w1zZlyx5Z4QnllEIm2xeeSUHBf0hV0bejo1Uh09G3aFvgXk7cCJFBc9EdaRVuHJJaOdKyTV2TVhYLMduNR0Q9gxL5GaaTDw8GzejrDRBpxWoGsySRW0dttKuattwNkIlFw2YXgzOdYq4Ox49PlM+JrKd5OusjTWhBuVxUfMX/KXXZ3WEmkuqa67wspR4BTbwtKr/5u4fFgStse/T7EifFPnnYl9zPq4vmUOPrRndgoHjDti1gOPqlyXoifcRNGQzUd31lDyfHmob1Gp35vSr+P6vilcQ5Egtyd8YF/ySg9NhPM+9M/IOaHwp5+PSZayXTvCogEUwlatC3J8LLwYtcWB8EuDXQVuCkV5/B4eNHb7wGBs87LBDS+xjdVSn09wq1G8dFM+9tSUhIGneLvUdniKxKpTYljCpu3j7rVWlHj/P23v4NPGUEyeCQnexe9lJjzEQqMjJs+EzNAX6B98dBZVRmroJx95x/A/6gln18EyfCUsl+qdXb/tjvfbw+mwforpUOBz4XLVoBwAn3aWnfeH246NyBXhrq7TTN5lNSP9RkU+puUJm3W2Tsdq0nZWM07srk7MwQrZSRysjjGWBLRJNsNbfj2JMR4AbxpU1XLAb9Mxfpsq5EjMuuiR8L0JiHOOBX3hiUvOmavN0nMueSzcceFk0BK4pMqLo7vDD1Z0qrtDx7Itt4Xwm9UqbMmk8S0Dtuzb2pvOU99Z1nLTOfleNmvfZfP2pYZmPfajwosKdDBNpacNpVGGsWX9CyDI8Xq/Sj6QAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE0LTExLTEwVDAzOjE3OjU4LTA1OjAwF+tHyQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNC0xMS0xMFQwMzoxNzo1OC0wNTowMGa2/3UAAAAASUVORK5CYII=",height:20,width:20,type:"esriPMS",angle:0})}}_createWindBarbsRenderer(){const e=Array.from(Array(31).keys()).map((e=>5*e)),M=[{range:"0-5",path:"M20 20 M5 20 A15 15 0 1 0 35 20 A15 15 0 1 0 5 20 M20 20 M10 20 A10 10 0 1 0 30 20 A10 10 0 1 0 10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTIwIDIwIE01IDIwIEExNSAxNSAwIDEgMCAzNSAyMCBBMTUgMTUgMCAxIDAgNSAyMCBNMjAgMjAgTTEwIDIwIEExMCAxMCAwIDEgMCAzMCAyMCBBMTAgMTAgMCAxIDAgMTAgMjAiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"5-10",path:"M25 0 L25 40 M25 35 L17.5 37.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"10-15",path:"M25 0 L25 40 L10 45 L25 40",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"15-20",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L17.5 37.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjEyIDAgMTUgNDUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"20-25",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"25-30",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L17.5 32.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIEwyNSAzNSBNMjUgMzAgTDE3LjUgMzIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"30-35",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"35-40",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"40-45",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"45-50",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"50-55",path:"M25 0 L25 40 L10 40 L25 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"55-60",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L17.5 32.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxNy41IDMyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"60-65",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"65-70",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"70-75",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"75-80",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"80-85",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"85-90",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L17.5 17.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxNy41IDE3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"90-95",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"95-100",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20 L25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCBMMjUgMTUgTTI1IDEwIEwxNy41IDEyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="},{range:"100-105",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"105-110",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDE3LjUgMjcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"110-115",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"115-120",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L17.5 22.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDE3LjUgMjIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"120-125",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"125-130",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L17.5 17.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDE3LjUgMTcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"130-135",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"135-140",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDE3LjUgMTIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg=="},{range:"140-145",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"145-150",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IE0yNSAxMCBNMjUgNSBMMTcuNSA3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4="}],i=S.fromJSON({imageData:"iVBORw0KGgoAAAANSUhEUgAAACgAAAApCAQAAADtq6NDAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAEY0lEQVRIx5XXWWxWRRQH8N+d+31tUdGAVjGglYJABFEBY91jfDAg7piYaFTccA++uMQEFRcSXlATtxiXqMQt4G4iisYl0ai4sIQYtVFZ1KIFKdTS0l4f7vRCS5fPebozc+bM/2z/Mzcx0AgSiUxXnKfIdMn875FIhX53U2n/B/s+kKM4UINTjTBZImixxnrv+9a2iL6zEoUBXcoudrWj/OtHm3wt02lfU9Qao9OnHvIhgmww84MEl1qnxfNmGrqHxAizLdPpC6chGcAxKGGcL+30gOERf1BSpUqVslQSV8d5ReZFe8VQ9avufJn31cWwlJV7iafKStGOE/1qvfH9qUxxu8ydUdmuSKbGO8YUdT2inKLG69pM70tliktl5qIkCAJGmusDG7Vqsc0WjZa4UBlBiA5YZIcjYzB7qDtH5kaUJFLs7RGZTZ42W4PRRmtwvbdt1+wGiaS4drEtDttdZYIDNVuAclR3vA3+dI3qHqmVSy7U6Tv1MScCPvPR7nIpFlsdCy3FdTLPGhK92e2CUITjMJ9ocwKxnsZqc3O3JwMma3d6UVLnyVxB4aXemZqvPqLdpJhW3KVVbY4yYImPo6M5Urv50fj+0z/FG9YaEiENs8UtMfXUaTeTePNHlhXfA1UU+2lyD1Il3Gtt9+adfpNG7dNlpg2U/T3KYLZ2dUWFdTgp3/rQ4sK973qnInV5TIf40x3dhvrJPBiqyWUo4wAtLqhQYS71qK+QKOFRywmGK/kpikzV6WMKhh58vGWs4TIJNjiEYLIuP8Tt4/zmLyqk+AyrJSbF+Qq1DgqRUPMxyl+9q3IQhX/rMCJ6tEunriDs1oSyQZKlr9AkhT2ZIARbJfaJS1vtVbHB+Rgi0RK/y1q1BWsEEyLoz40xtGKcARPVWB1BTPO7f4LNtpkUl1aoMbViLyZo0GRjPD3BxnxjqXeLYlvhqYrzMMG3HoyJXa3JjfnGlbYYFlP7Jh3qKsKY4hQ7TY0nG+xwRL61n63mxHtqNHosigyMLmClNwvuecFnOZB88nNBDzNkzhxEZaKMBVoKapggMzvHHXBEpNSSFAvtcFRsVn0bW8LlMmcXs+c0Kne3gRR32+zg4uXwjC6zit6Wt4a8LXVfcp/MtQXHn2ynGbuCmb8GvvFeJLEE82ReU9/n6+dkq2x3buG9Wn94smcgAw631RPR7BTH+kbmHReZoEpOdEe7zWqZl40s0JWs9Hmv7hjBHqPDwsjGKVJnWWqjbdZp1KhJi0aPmxYZsIRhlttgeF+Jlke41QcOQKoqilSb6HJzSvNG3G/UoWnxwsmt+sVaYwd63dRbqdnMyCPVeyRPvpYgdavM22oGKoMUVRbJfOWMwidJ8Zzb1UvmWK/VVUXzHaTjjrVYh1897HT7xxYEVUaa5SWb/WO+YUWa9SrwvigzM8YlzlYv2GSdVCYxxlBtVnnFq5olwp5/BEk/OLsf5LUmG2+inRJdVvjZ97ZH9/zP34ug1O91pf4p+D+JYBpvrKxfbwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNC0xMS0xMFQwMzoxMjowOS0wNTowMB9ViV0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTQtMTEtMTBUMDM6MTI6MDktMDU6MDBuCDHhAAAAAElFTkSuQmCC",height:20,width:20,type:"esriPMS",angle:0}),t=e.map(((t,a)=>{let I;if(a!==e.length-1)if(0===a)I={minValue:t,maxValue:e[a+1],symbol:i};else{const i=S.fromJSON({type:"esriPMS",imageData:M[a].imageData,contentType:"image/svg+xml",height:32,width:32,angle:0});I={minValue:t,maxValue:e[a+1],symbol:i}}return new C(I)}));return{defaultSymbol:i,classBreakInfos:t}}_getClassBreaks(e,i){return i.map(((i,t)=>new C({minValue:e[t],maxValue:e[t+1],symbol:this._getDefaultSymbol(new M(i))})))}};e([g({type:String,json:{write:!0}})],h.prototype,"attributeField",void 0),e([g({type:b.apiValues,json:{type:b.jsonValues,read:{reader:b.read},write:{writer:b.write}}})],h.prototype,"flowRepresentation",void 0),e([g({type:["geographic","arithmetic"],json:{write:!0}})],h.prototype,"rotationType",void 0),e([g({type:Z.apiValues,json:{type:Z.jsonValues,read:{reader:Z.read},write:{writer:Z.write}}})],h.prototype,"style",void 0),e([g({json:{write:!0}})],h.prototype,"symbolTileSize",void 0),e([g({type:l.apiValues,json:{type:l.jsonValues,write:{writer:l.write}}})],h.prototype,"inputUnit",void 0),e([s("inputUnit")],h.prototype,"readInputUnit",null),e([g({type:l.apiValues,json:{type:l.jsonValues,read:{reader:l.read},write:{writer:l.write}}})],h.prototype,"outputUnit",void 0),e([s("outputUnit")],h.prototype,"readOutputUnit",null),e([o({vectorField:"vector-field"})],h.prototype,"type",void 0),e([g({type:w})],h.prototype,"styleRenderer",null),e([g({type:m})],h.prototype,"sizeVariables",null),e([g({type:L})],h.prototype,"rotationVariables",null),h=u=e([A("esri.renderers.VectorFieldRenderer")],h);const E=h;export{E as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import{toHSV as t}from"../../core/colorUtils.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import s from"../../core/Logger.js";import{unwrap as o,isSome as a}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 n}from"../../core/accessorSupport/decorators/subclass.js";import l from"../../layers/support/RasterInfo.js";import{isValidPixelBlock as u,extractBands as c,stretch as p,colorize as m,remapColor as h,lookupPixels as f,createStretchLUT as d,createColormapLUT as g,createHistogramEqualizationLUT as y,estimateStatisticsHistograms as b}from"../../layers/support/rasterFunctions/pixelUtils.js";import{hillshade as S,tintHillshade as x,calculateHillshadeParams as k}from"../../layers/support/rasterFunctions/surfaceUtils.js";import{convertColorRampToColormap as v}from"./colorRampUtils.js";const C=s.getLogger("esri.renderers.support.RasterSymbolizer");function O(e,t){const{attributeTable:r,bandCount:s}=e;if(!a(r)||s>1)return!1;if(t){if(null==r.fields.find((e=>e.name.toLowerCase()===t.toLowerCase())))return!1}return!0}function _(e){return"elevation"===e.dataType}function R(e){const{bandCount:t,colormap:r}=e;return a(r)&&r.length&&1===t}const L={u1:[0,1],u2:[0,3],u4:[0,15],u8:[0,255],s8:[-128,127],u16:[0,65535],s16:[-32768,32767],u32:[0,4294967295],s32:[-2147483648,2147483647],f32:[-34e38,34e38],f64:[-Number.MAX_VALUE,Number.MAX_VALUE]};let I=class extends r{constructor(e){super(e)}bind(){const{rendererJSON:e}=this;if(!e)return{success:!1};let t;switch(this.lookup={rendererJSON:{}},e.type){case"uniqueValue":t={success:this._updateUVRenderer(e)};break;case"rasterColormap":t={success:this._updateColormapRenderer(e)};break;case"rasterStretch":t={success:this._updateStretchRenderer(e)};break;case"classBreaks":t={success:this._updateClassBreaksRenderer(e)};break;case"rasterShadedRelief":t={success:this._updateShadedReliefRenderer(e)};break;case"vectorField":t={success:this._updateVectorFieldRenderer()};break;case"animatedFlow":t=this._updateAnimatedFlowRenderer()}return t}symbolize(e){let t=e&&e.pixelBlock;if(!V(t))return t;if(e.simpleStretchParams&&"rasterStretch"===this.rendererJSON.type)return this.simpleStretch(t,e.simpleStretchParams);try{let r;switch(t.pixels.length>3&&(t=c(t,[0,1,2])),this.rendererJSON.type){case"uniqueValue":case"rasterColormap":r=this._symbolize_colormap(t);break;case"classBreaks":r=this._symbolize_classBreaks(t);break;case"rasterStretch":r=this._symbolize_stretch(t,e.bandIds);break;case"rasterShadedRelief":{const{extent:s}=e,o=s.spatialReference.isGeographic,a={x:(s.xmax-s.xmin)/t.width,y:(s.ymax-s.ymin)/t.height};r=this._symbolize_shadedRelief(t,{isGCS:o,resolution:a});break}}return r}catch(r){return C.error("symbolize",r.message),t}}simpleStretch(e,t){if(!V(e))return e;try{return e.pixels.length>3&&(e=c(e,[0,1,2])),p(e,t)}catch(r){return C.error("symbolize",r.message),e}}generateWebGLParameters(e){if(["uniqueValue","rasterColormap","classBreaks"].indexOf(this.rendererJSON.type)>-1){var t;const{indexedColormap:e,offset:r}=(null==(t=this.lookup)?void 0:t.colormapLut)||{};return{colormap:e,colormapOffset:r,type:"lut"}}const{pixelBlock:r,isGCS:s,resolution:o,bandIds:a}=e,{rendererJSON:i}=this;return"rasterStretch"===i.type?this.generateStretchWebGLParams(r,i,a):"rasterShadedRelief"===i.type?this.generateShadedReliefWebGLParams(i,s,o):"vectorField"===i.type?this._generateVectorFieldWebGLParams(i):null}_isLUTChanged(e){if(!this.lookup||!this.lookup.rendererJSON)return!0;if("colorRamp"in this.rendererJSON){const t=this.rendererJSON.colorRamp;return e?JSON.stringify(t)!==JSON.stringify(this.lookup.rendererJSON.colorRamp):(this.rendererJSON,this.lookup.rendererJSON,JSON.stringify(this.rendererJSON)!==JSON.stringify(this.lookup.rendererJSON))}return JSON.stringify(this.rendererJSON)!==JSON.stringify(this.lookup.rendererJSON)}_symbolize_colormap(e){if(this._isLUTChanged()){if(!this.bind().success)return e}return m(e,this.lookup.colormapLut)}_symbolize_classBreaks(e){const t=this.rasterInfo.pixelType,r=["u8","u16","s8","s16"].indexOf(t)>-1;if(this._isLUTChanged()){if(!this.bind().success)return e}return r?m(e,this.lookup.colormapLut):h(e,this.lookup.remapLut)}_symbolize_stretch(e,t){const{pixelType:r,bandCount:s}=this.rasterInfo,a=this.rendererJSON,i=["u8","u16","s8","s16"].indexOf(r)>-1;let n,l;const{dra:u}=a,c=a.useGamma?a.gamma:null;if("histogramEqualization"===a.stretchType){const r=u?null:this.lookup.histogramLut,s=this.getStretchCutoff(a,e,t,!r),o=p(e,{...s,gamma:c});l=f(o,{lut:u?s.histogramLut:r,offset:0})}else if(i){var h,g;if(u){const s=this.getStretchCutoff(a,e,t);n=d({pixelType:r,...s,gamma:c})}else if(this._isLUTChanged()){if(!this.bind().success)return e;n=this.lookup?this.lookup.stretchLut:null}else n=this.lookup?this.lookup.stretchLut:null;if(!n)return e;s>1&&(null==t?void 0:t.length)===(null==(h=o(e))?void 0:h.pixels.length)&&(null==(g=n)?void 0:g.lut.length)===s&&(n={lut:t.map((e=>n.lut[e])),offset:n.offset}),l=f(e,n)}else{const r=this.getStretchCutoff(a,e,t);l=p(e,{...r,gamma:c})}if(a.colorRamp){if(this._isLUTChanged(!0)){if(!this.bind().success)return e}l=m(l,this.lookup.colormapLut)}return l}_symbolize_shadedRelief(e,t){var r,s;const a=this.rendererJSON,i={...a,...t},n=S(e,i);if(!a.colorRamp)return n;let l;if(this._isLUTChanged(!0)){if(!this.bind().success)return n;l=this.lookup?this.lookup.hsvMap:null}else l=this.lookup?this.lookup.hsvMap:null;if(!l)return n;const u=null!=(r=null==(s=o(this.rasterInfo.statistics))?void 0:s[0])?r:{min:0,max:8e3};return x(n,e,l,u),n}_updateVectorFieldRenderer(){const{bandCount:e,dataType:t}=this.rasterInfo;return 2===e&&("vector-magdir"===t||"vector-uv"===t)}_updateAnimatedFlowRenderer(){const{bandCount:e,dataType:t}=this.rasterInfo;return 2===e&&("vector-magdir"===t||"vector-uv"===t)?{success:!0}:{success:!1,error:`Unsupported data type "${t}"; AnimatedFlowRenderer only supports "vector-magdir" and "vector-uv".`}}_updateUVRenderer(e){const{bandCount:t,attributeTable:r,pixelType:s}=this.rasterInfo,o=e.field1;if(!o)return!1;const a=e.defaultSymbol,i=1===t&&["u8","s8"].includes(s);if(!O(this.rasterInfo,o)&&!i)return!1;const n=[];if(r){const t=r.fields.filter((e=>"value"===e.name.toLowerCase()))[0];if(!t)return!1;r.features.forEach((r=>{var s;const i=e.uniqueValueInfos.filter((e=>String(e.value)===String(r.attributes[o])))[0],l=null==i||null==(s=i.symbol)?void 0:s.color;l?n.push([r.attributes[t.name]].concat(l)):a&&n.push([r.attributes[t.name]].concat(a.color))}))}else{if("value"!==o.toLowerCase())return!1;e.uniqueValueInfos.forEach((e=>{var t;const r=null==e||null==(t=e.symbol)?void 0:t.color;r?n.push([parseInt(""+e.value,10)].concat(r)):a&&n.push([parseInt(""+e.value,10)].concat(a.color))}))}if(0===n.length)return!1;const l=g({colormap:n});return this.lookup={rendererJSON:e,colormapLut:l},this.canRenderInWebGL=!0,!0}_updateColormapRenderer(e){if(!R(this.rasterInfo))return!1;const t=e.colormapInfos.map((e=>[e.value].concat(e.color))).sort(((e,t)=>e[0]-t[0]));if(!t||0===t.length)return!1;const r=g({colormap:t});return this.lookup={rendererJSON:e,colormapLut:r},this.canRenderInWebGL=!0,!0}_updateShadedReliefRenderer(e){if(!_(this.rasterInfo))return!1;if(e.colorRamp){const r=v(e.colorRamp,256,!0),s=g({colormap:r}),o=[],a=s.indexedColormap;for(let e=0;e<a.length;e+=4){const r=t({r:a[e],g:a[e+1],b:a[e+2]});o.push([r.h/60,r.s/100,255*r.v/100])}this.lookup={rendererJSON:e,colormapLut:s,hsvMap:o}}else this.lookup=null;return this.canRenderInWebGL=!0,!0}_updateClassBreaksRenderer(e){const t=this.rasterInfo.pixelType,r=["u8","u16","s8","s16"].indexOf(t)>-1,s=e.classBreakInfos;if(null==s||!s.length)return!1;const o=s.sort(((e,t)=>e.classMaxValue-t.classMaxValue)),a=o[o.length-1];let i=e.minValue;if(!r){const t=[];for(let e=0;e<o.length;e++){var n;t.push({value:null!=(n=o[e].classMinValue)?n:i,mappedColor:o[e].symbol.color}),i=o[e].classMaxValue}return t.push({value:a.classMaxValue,mappedColor:a.symbol.color}),this.lookup={rendererJSON:e,remapLut:t},this.canRenderInWebGL=!1,!0}const l=[];i=Math.floor(e.minValue);for(let c=0;c<o.length;c++){const e=o[c];for(let t=i;t<e.classMaxValue;t++)l.push([t].concat(e.symbol.color));i=Math.ceil(e.classMaxValue)}a.classMaxValue===i&&l.push([a.classMaxValue].concat(a.symbol.color));const u=g({colormap:l,fillUnspecified:!1});return this.lookup={rendererJSON:e,colormapLut:u},this.canRenderInWebGL=!0,!0}_isHistogramRequired(e){return"percentClip"===e||"histogramEqualization"===e}_isValidRasterStatistics(e){return a(e)&&e.length>0&&null!=e[0].min&&null!=e[0].max}_updateStretchRenderer(e){var t;let{stretchType:r,dra:s}=e;if(!("none"===r||null!=(t=e.statistics)&&t.length||this._isValidRasterStatistics(this.rasterInfo.statistics)||s))return!1;const a=o(e.histograms||this.rasterInfo.histograms);!this._isHistogramRequired(e.stretchType)||null!=a&&a.length||s||(r="minMax");const{gamma:i,useGamma:n,colorRamp:l}=e,u=this.rasterInfo.pixelType,c=!s&&["u8","u16","s8","s16"].indexOf(u)>-1;if("histogramEqualization"===r){const t=a.map((e=>y(e)));this.lookup={rendererJSON:e,histogramLut:t}}else if(c){const t=this.getStretchCutoff(e),r=d({pixelType:u,...t,gamma:n?i:null});this.lookup={rendererJSON:e,stretchLut:r}}if(l){const t=v(l,256,!0);this.lookup||(this.lookup={rendererJSON:e}),this.lookup.colormapLut=g({colormap:t}),this.lookup.rendererJSON=e}return this.canRenderInWebGL=!0,!0}getStretchCutoff(e,t=null,r,s){var i,n,l;let u,c,p=e.stretchType;var m;if(e.dra)if("minMax"===p&&a(t)&&t.statistics)u=t.statistics.map((e=>[e.minValue,e.maxValue,0,0]));else{const e=b(t);u=a(e)?e.statistics:null,c=a(e)?e.histograms:null}else u=(null==(m=e.statistics)?void 0:m.length)>0?e.statistics:o(this.rasterInfo.statistics),c=e.histograms||o(this.rasterInfo.histograms);!this._isHistogramRequired(p)||null!=(i=c)&&i.length||(p="minMax");const h=(null==(n=u)?void 0:n.length)||(null==(l=c)?void 0:l.length)||this.rasterInfo.bandCount,f=[],d=[];let g,S,x,k,v,C,O,_,R,I,V,N;switch(u&&!Array.isArray(u[0])&&(u=u.map((e=>[e.min,e.max,e.avg,e.stddev]))),p){case"none":{const e=L[this.rasterInfo.pixelType]||L.f32;for(_=0;_<h;_++)f[_]=e[0],d[_]=e[1]}break;case"minMax":for(_=0;_<h;_++)f[_]=u[_][0],d[_]=u[_][1];break;case"standardDeviation":for(_=0;_<h;_++)f[_]=u[_][2]-e.numberOfStandardDeviations*u[_][3],d[_]=u[_][2]+e.numberOfStandardDeviations*u[_][3],f[_]<u[_][0]&&(f[_]=u[_][0]),d[_]>u[_][1]&&(d[_]=u[_][1]);break;case"histogramEqualization":for(_=0;_<h;_++)f[_]=c[_].min,d[_]=c[_].max;break;case"percentClip":for(_=0;_<c.length;_++){for(g=c[_],v=new Uint32Array(g.size),k=g.counts,x=0,S=(g.max-g.min)/g.size,O=-.5===g.min&&1===S?.5:0,R=0;R<g.size;R++)x+=k[R],v[R]=x;for(C=(e.minPercent||0)*x/100,R=0;R<g.size;R++)if(v[R]>C){f[_]=g.min+S*(R+O);break}for(C=(1-(e.maxPercent||0)/100)*x,R=g.size-2;R>=0;R--)if(v[R]<C){d[_]=g.min+S*(R+2-O);break}}break;default:for(_=0;_<h;_++)f[_]=u[_][0],d[_]=u[_][1]}"histogramEqualization"===p?(V=c[0].size||256,I=0,s&&(N=c.map((e=>y(e))))):(V=e.max||255,I=e.min||0);const z={minCutOff:f,maxCutOff:d,outMax:V,outMin:I,histogramLut:N};return this.getSelectedBandCutoffs(z,r)}getSelectedBandCutoffs(e,t){if(null==t||0===t.length)return e;const r=Math.max.apply(null,t),{minCutOff:s,maxCutOff:o,outMin:a,outMax:i,histogramLut:n}=e;return s.length===t.length||s.length<=r?e:{minCutOff:t.map((e=>s[e])),maxCutOff:t.map((e=>o[e])),histogramLut:n?t.map((e=>n[e])):null,outMin:a,outMax:i}}generateStretchWebGLParams(e,t,r){let s=null,o=null;const i=this.lookup&&this.lookup.colormapLut;t.colorRamp&&i&&(s=i.indexedColormap,o=i.offset),"histogramEqualization"===t.stretchType&&(t={...t,stretchType:"minMax"});const{gamma:n}=t,l=!!(t.useGamma&&n&&n.some((e=>1!==e))),{minCutOff:u,maxCutOff:c,outMin:p,outMax:m}=this.getStretchCutoff(t,e,r);let h=0;a(e)&&(h=e.getPlaneCount(),2===h&&((e=e.clone()).statistics=[e.statistics[0]],e.pixels=[e.pixels[0]]));const f=Math.min(3,(null==r?void 0:r.length)||h||this.rasterInfo.bandCount),d=new Float32Array(f),g=s||l?1:255;let y;for(y=0;y<f;y++)d[y]=(m-p)/(c[y]-u[y])/g;const b=new Float32Array(f);if(l)for(y=0;y<f;y++)n[y]>1?n[y]>2?b[y]=6.5+(n[y]-2)**2.5:b[y]=6.5+100*(2-n[y])**4:b[y]=1;return{bandCount:f,outMin:p/g,outMax:m/g,minCutOff:u,maxCutOff:c,factor:d,useGamma:l,gamma:l?n:[1,1,1],gammaCorrection:l?b:[1,1,1],colormap:s,colormapOffset:o,stretchType:t.stretchType,type:"stretch"}}generateShadedReliefWebGLParams(e,t,r){var s,a,i;let n=null,l=null;const u=this.lookup&&this.lookup.colormapLut;e.colorRamp&&u&&(n=u.indexedColormap,l=u.offset);const c={...e,isGCS:t,resolution:r},p=k(c),m=null==(s=o(this.rasterInfo.statistics))?void 0:s[0];return{...p,minValue:null!=(a=null==m?void 0:m.min)?a:0,maxValue:null!=(i=null==m?void 0:m.max)?i:8e3,hillshadeType:"traditional"===e.hillshadeType?0:1,type:"hillshade",colormap:n,colormapOffset:l}}_generateVectorFieldWebGLParams(e){var t,r,s,o,i;const{style:n,inputUnit:l,outputUnit:u,visualVariables:c,symbolTileSize:p,flowRepresentation:m}=e;let h;const f=null!=(t=null==c?void 0:c.find((e=>"sizeInfo"===e.type)))?t:{type:"sizeInfo",field:"Magnitude",maxDataValue:null==(r=this.rasterInfo.statistics)?void 0:r[0].max,maxSize:.8*p,minDataValue:null==(s=this.rasterInfo.statistics)?void 0:s[0].min,minSize:.2*p},d=f?f.minDataValue:null==(o=this.rasterInfo.statistics)?void 0:o[0].min,g=f?f.maxDataValue:null==(i=this.rasterInfo.statistics)?void 0:i[0].max,y=a(f.maxSize)&&a(f.minSize)?[f.minSize/p,f.maxSize/p]:[.2,.8];if("wind_speed"===n||"simple_scalar"===n){const e=(y[0]+y[1])/2;y[0]=y[1]=e}const b=a(d)&&a(g)?[d,g]:null;if("classified_arrow"===n)if(a(d)&&a(g)&&a(f)){h=[];const e=(f.maxDataValue-f.minDataValue)/5;for(let t=0;t<6;t++)h.push(f.minDataValue+e*t)}else h=[0,1e-6,3.5,7,10.5,14];const S="flow_to"===m===("ocean_current_kn"===n||"ocean_current_m"===n)?0:Math.PI,x=null==c?void 0:c.find((e=>"rotationInfo"===e.type));return{breakValues:h,dataRange:b,inputUnit:l,outputUnit:u,symbolTileSize:p,symbolPercentRange:y,style:n||"single_arrow",rotation:S,rotationType:(null==x?void 0:x.rotationType)||e.rotationType,type:"vectorField"}}};function V(e){return u(e)&&0!==e.validPixelCount}e([i({json:{write:!0}})],I.prototype,"rendererJSON",void 0),e([i({type:l,json:{write:!0}})],I.prototype,"rasterInfo",void 0),e([i({json:{write:!0}})],I.prototype,"lookup",void 0),e([i()],I.prototype,"canRenderInWebGL",void 0),I=e([n("esri.renderers.support.RasterSymbolizer")],I);const N=I;export{N as default};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import{toHSV as t}from"../../core/colorUtils.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import s from"../../core/Logger.js";import{unwrap as o,isSome as a}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 n}from"../../core/accessorSupport/decorators/subclass.js";import l from"../../layers/support/RasterInfo.js";import{isValidPixelBlock as u,extractBands as c,stretch as p,colorize as m,remapColor as h,lookupPixels as f,createStretchLUT as d,createColormapLUT as g,createHistogramEqualizationLUT as y,estimateStatisticsHistograms as b}from"../../layers/support/rasterFunctions/pixelUtils.js";import{hillshade as S,tintHillshade as x,calculateHillshadeParams as v}from"../../layers/support/rasterFunctions/surfaceUtils.js";import{convertColorRampToColormap as k}from"./colorRampUtils.js";const C=s.getLogger("esri.renderers.support.RasterSymbolizer");function O(e,t){const{attributeTable:r,bandCount:s}=e;if(!a(r)||s>1)return!1;if(t){if(null==r.fields.find((e=>e.name.toLowerCase()===t.toLowerCase())))return!1}return!0}function _(e){return"elevation"===e.dataType}function R(e){const{bandCount:t,colormap:r}=e;return a(r)&&r.length&&1===t}const L={u1:[0,1],u2:[0,3],u4:[0,15],u8:[0,255],s8:[-128,127],u16:[0,65535],s16:[-32768,32767],u32:[0,4294967295],s32:[-2147483648,2147483647],f32:[-34e38,34e38],f64:[-Number.MAX_VALUE,Number.MAX_VALUE]};let I=class extends r{constructor(e){super(e)}bind(){const{rendererJSON:e}=this;if(!e)return{success:!1};let t;switch(this.lookup={rendererJSON:{}},e.type){case"uniqueValue":t={success:this._updateUVRenderer(e)};break;case"rasterColormap":t={success:this._updateColormapRenderer(e)};break;case"rasterStretch":t={success:this._updateStretchRenderer(e)};break;case"classBreaks":t={success:this._updateClassBreaksRenderer(e)};break;case"rasterShadedRelief":t={success:this._updateShadedReliefRenderer(e)};break;case"vectorField":t={success:this._updateVectorFieldRenderer()};break;case"animatedFlow":t=this._updateAnimatedFlowRenderer()}return t}symbolize(e){let t=e&&e.pixelBlock;if(!V(t))return t;if(e.simpleStretchParams&&"rasterStretch"===this.rendererJSON.type)return this.simpleStretch(t,e.simpleStretchParams);try{let r;switch(t.pixels.length>3&&(t=c(t,[0,1,2])),this.rendererJSON.type){case"uniqueValue":case"rasterColormap":r=this._symbolize_colormap(t);break;case"classBreaks":r=this._symbolize_classBreaks(t);break;case"rasterStretch":r=this._symbolize_stretch(t,e.bandIds);break;case"rasterShadedRelief":{const{extent:s}=e,o=s.spatialReference.isGeographic,a={x:(s.xmax-s.xmin)/t.width,y:(s.ymax-s.ymin)/t.height};r=this._symbolize_shadedRelief(t,{isGCS:o,resolution:a});break}}return r}catch(r){return C.error("symbolize",r.message),t}}simpleStretch(e,t){if(!V(e))return e;try{return e.pixels.length>3&&(e=c(e,[0,1,2])),p(e,t)}catch(r){return C.error("symbolize",r.message),e}}generateWebGLParameters(e){if(["uniqueValue","rasterColormap","classBreaks"].indexOf(this.rendererJSON.type)>-1){var t;const{indexedColormap:e,offset:r}=(null==(t=this.lookup)?void 0:t.colormapLut)||{};return{colormap:e,colormapOffset:r,type:"lut"}}const{pixelBlock:r,isGCS:s,resolution:o,bandIds:a}=e,{rendererJSON:i}=this;return"rasterStretch"===i.type?this.generateStretchWebGLParams(r,i,a):"rasterShadedRelief"===i.type?this.generateShadedReliefWebGLParams(i,s,o):"vectorField"===i.type?this._generateVectorFieldWebGLParams(i):null}_isLUTChanged(e){if(!this.lookup||!this.lookup.rendererJSON)return!0;if("colorRamp"in this.rendererJSON){const t=this.rendererJSON.colorRamp;return e?JSON.stringify(t)!==JSON.stringify(this.lookup.rendererJSON.colorRamp):(this.rendererJSON,this.lookup.rendererJSON,JSON.stringify(this.rendererJSON)!==JSON.stringify(this.lookup.rendererJSON))}return JSON.stringify(this.rendererJSON)!==JSON.stringify(this.lookup.rendererJSON)}_symbolize_colormap(e){if(this._isLUTChanged()){if(!this.bind().success)return e}return m(e,this.lookup.colormapLut)}_symbolize_classBreaks(e){const t=this.rasterInfo.pixelType,r=["u8","u16","s8","s16"].indexOf(t)>-1;if(this._isLUTChanged()){if(!this.bind().success)return e}return r?m(e,this.lookup.colormapLut):h(e,this.lookup.remapLut)}_symbolize_stretch(e,t){const{pixelType:r,bandCount:s}=this.rasterInfo,a=this.rendererJSON,i=["u8","u16","s8","s16"].indexOf(r)>-1;let n,l;const{dra:u}=a,c=a.useGamma?a.gamma:null;if("histogramEqualization"===a.stretchType){const r=u?null:this.lookup.histogramLut,s=this.getStretchCutoff(a,e,t,!r),o=p(e,{...s,gamma:c});l=f(o,{lut:u?s.histogramLut:r,offset:0})}else if(i){var h,g;if(u){const s=this.getStretchCutoff(a,e,t);n=d({pixelType:r,...s,gamma:c})}else if(this._isLUTChanged()){if(!this.bind().success)return e;n=this.lookup?this.lookup.stretchLut:null}else n=this.lookup?this.lookup.stretchLut:null;if(!n)return e;s>1&&(null==t?void 0:t.length)===(null==(h=o(e))?void 0:h.pixels.length)&&(null==(g=n)?void 0:g.lut.length)===s&&(n={lut:t.map((e=>n.lut[e])),offset:n.offset}),l=f(e,n)}else{const r=this.getStretchCutoff(a,e,t);l=p(e,{...r,gamma:c})}if(a.colorRamp){if(this._isLUTChanged(!0)){if(!this.bind().success)return e}l=m(l,this.lookup.colormapLut)}return l}_symbolize_shadedRelief(e,t){var r,s;const a=this.rendererJSON,i={...a,...t},n=S(e,i);if(!a.colorRamp)return n;let l;if(this._isLUTChanged(!0)){if(!this.bind().success)return n;l=this.lookup?this.lookup.hsvMap:null}else l=this.lookup?this.lookup.hsvMap:null;if(!l)return n;const u=null!=(r=null==(s=o(this.rasterInfo.statistics))?void 0:s[0])?r:{min:0,max:8e3};return x(n,e,l,u),n}_updateVectorFieldRenderer(){const{bandCount:e,dataType:t}=this.rasterInfo;return 2===e&&("vector-magdir"===t||"vector-uv"===t)}_updateAnimatedFlowRenderer(){const{bandCount:e,dataType:t}=this.rasterInfo;return 2===e&&("vector-magdir"===t||"vector-uv"===t)?{success:!0}:{success:!1,error:`Unsupported data type "${t}"; AnimatedFlowRenderer only supports "vector-magdir" and "vector-uv".`}}_updateUVRenderer(e){const{bandCount:t,attributeTable:r,pixelType:s}=this.rasterInfo,o=e.field1;if(!o)return!1;const a=e.defaultSymbol,i=1===t&&["u8","s8"].includes(s);if(!O(this.rasterInfo,o)&&!i)return!1;const n=[];if(r){const t=r.fields.filter((e=>"value"===e.name.toLowerCase()))[0];if(!t)return!1;r.features.forEach((r=>{var s;const i=e.uniqueValueInfos.filter((e=>String(e.value)===String(r.attributes[o])))[0],l=null==i||null==(s=i.symbol)?void 0:s.color;l?n.push([r.attributes[t.name]].concat(l)):a&&n.push([r.attributes[t.name]].concat(a.color))}))}else{if("value"!==o.toLowerCase())return!1;e.uniqueValueInfos.forEach((e=>{var t;const r=null==e||null==(t=e.symbol)?void 0:t.color;r?n.push([parseInt(""+e.value,10)].concat(r)):a&&n.push([parseInt(""+e.value,10)].concat(a.color))}))}if(0===n.length)return!1;const l=g({colormap:n});return this.lookup={rendererJSON:e,colormapLut:l},this.canRenderInWebGL=!0,!0}_updateColormapRenderer(e){if(!R(this.rasterInfo))return!1;const t=e.colormapInfos.map((e=>[e.value].concat(e.color))).sort(((e,t)=>e[0]-t[0]));if(!t||0===t.length)return!1;const r=g({colormap:t});return this.lookup={rendererJSON:e,colormapLut:r},this.canRenderInWebGL=!0,!0}_updateShadedReliefRenderer(e){if(!_(this.rasterInfo))return!1;if(e.colorRamp){const r=k(e.colorRamp,256,!0),s=g({colormap:r}),o=[],a=s.indexedColormap;for(let e=0;e<a.length;e+=4){const r=t({r:a[e],g:a[e+1],b:a[e+2]});o.push([r.h/60,r.s/100,255*r.v/100])}this.lookup={rendererJSON:e,colormapLut:s,hsvMap:o}}else this.lookup=null;return this.canRenderInWebGL=!0,!0}_updateClassBreaksRenderer(e){const t=this.rasterInfo.pixelType,r=["u8","u16","s8","s16"].indexOf(t)>-1,s=e.classBreakInfos;if(null==s||!s.length)return!1;const o=s.sort(((e,t)=>e.classMaxValue-t.classMaxValue)),a=o[o.length-1];let i=e.minValue;if(!r){const t=[];for(let e=0;e<o.length;e++){var n;t.push({value:null!=(n=o[e].classMinValue)?n:i,mappedColor:o[e].symbol.color}),i=o[e].classMaxValue}return t.push({value:a.classMaxValue,mappedColor:a.symbol.color}),this.lookup={rendererJSON:e,remapLut:t},this.canRenderInWebGL=!1,!0}const l=[];i=Math.floor(e.minValue);for(let c=0;c<o.length;c++){const e=o[c];for(let t=i;t<e.classMaxValue;t++)l.push([t].concat(e.symbol.color));i=Math.ceil(e.classMaxValue)}a.classMaxValue===i&&l.push([a.classMaxValue].concat(a.symbol.color));const u=g({colormap:l,fillUnspecified:!1});return this.lookup={rendererJSON:e,colormapLut:u},this.canRenderInWebGL=!0,!0}_isHistogramRequired(e){return"percentClip"===e||"histogramEqualization"===e}_isValidRasterStatistics(e){return a(e)&&e.length>0&&null!=e[0].min&&null!=e[0].max}_updateStretchRenderer(e){var t;let{stretchType:r,dra:s}=e;if(!("none"===r||null!=(t=e.statistics)&&t.length||this._isValidRasterStatistics(this.rasterInfo.statistics)||s))return!1;const a=o(e.histograms||this.rasterInfo.histograms);!this._isHistogramRequired(e.stretchType)||null!=a&&a.length||s||(r="minMax");const{gamma:i,useGamma:n,colorRamp:l}=e,u=this.rasterInfo.pixelType,c=!s&&["u8","u16","s8","s16"].indexOf(u)>-1;if("histogramEqualization"===r){const t=a.map((e=>y(e)));this.lookup={rendererJSON:e,histogramLut:t}}else if(c){const t=this.getStretchCutoff(e),r=d({pixelType:u,...t,gamma:n?i:null});this.lookup={rendererJSON:e,stretchLut:r}}if(l){const t=k(l,256,!0);this.lookup||(this.lookup={rendererJSON:e}),this.lookup.colormapLut=g({colormap:t}),this.lookup.rendererJSON=e}return this.canRenderInWebGL=!0,!0}getStretchCutoff(e,t=null,r,s){var i,n,l;let u,c,p=e.stretchType;var m;if(e.dra)if("minMax"===p&&a(t)&&t.statistics)u=t.statistics.map((e=>[e.minValue,e.maxValue,0,0]));else{const e=b(t);u=a(e)?e.statistics:null,c=a(e)?e.histograms:null}else u=(null==(m=e.statistics)?void 0:m.length)>0?e.statistics:o(this.rasterInfo.statistics),c=e.histograms||o(this.rasterInfo.histograms);!this._isHistogramRequired(p)||null!=(i=c)&&i.length||(p="minMax");const h=(null==(n=u)?void 0:n.length)||(null==(l=c)?void 0:l.length)||this.rasterInfo.bandCount,f=[],d=[];let g,S,x,v,k,C,O,_,R,I,V,N;switch(u&&!Array.isArray(u[0])&&(u=u.map((e=>[e.min,e.max,e.avg,e.stddev]))),p){case"none":{const e=L[this.rasterInfo.pixelType]||L.f32;for(_=0;_<h;_++)f[_]=e[0],d[_]=e[1]}break;case"minMax":for(_=0;_<h;_++)f[_]=u[_][0],d[_]=u[_][1];break;case"standardDeviation":for(_=0;_<h;_++)f[_]=u[_][2]-e.numberOfStandardDeviations*u[_][3],d[_]=u[_][2]+e.numberOfStandardDeviations*u[_][3],f[_]<u[_][0]&&(f[_]=u[_][0]),d[_]>u[_][1]&&(d[_]=u[_][1]);break;case"histogramEqualization":for(_=0;_<h;_++)f[_]=c[_].min,d[_]=c[_].max;break;case"percentClip":for(_=0;_<c.length;_++){for(g=c[_],k=new Uint32Array(g.size),v=g.counts,x=0,S=(g.max-g.min)/g.size,O=-.5===g.min&&1===S?.5:0,R=0;R<g.size;R++)x+=v[R],k[R]=x;for(C=(e.minPercent||0)*x/100,R=0;R<g.size;R++)if(k[R]>C){f[_]=g.min+S*(R+O);break}for(C=(1-(e.maxPercent||0)/100)*x,R=g.size-2;R>=0;R--)if(k[R]<C){d[_]=g.min+S*(R+2-O);break}}break;default:for(_=0;_<h;_++)f[_]=u[_][0],d[_]=u[_][1]}"histogramEqualization"===p?(V=c[0].size||256,I=0,s&&(N=c.map((e=>y(e))))):(V=e.max||255,I=e.min||0);const T={minCutOff:f,maxCutOff:d,outMax:V,outMin:I,histogramLut:N};return this.getSelectedBandCutoffs(T,r)}getSelectedBandCutoffs(e,t){if(null==t||0===t.length)return e;const r=Math.max.apply(null,t),{minCutOff:s,maxCutOff:o,outMin:a,outMax:i,histogramLut:n}=e;return s.length===t.length||s.length<=r?e:{minCutOff:t.map((e=>s[e])),maxCutOff:t.map((e=>o[e])),histogramLut:n?t.map((e=>n[e])):null,outMin:a,outMax:i}}generateStretchWebGLParams(e,t,r){let s=null,o=null;const i=this.lookup&&this.lookup.colormapLut;t.colorRamp&&i&&(s=i.indexedColormap,o=i.offset),"histogramEqualization"===t.stretchType&&(t={...t,stretchType:"minMax"});const{gamma:n}=t,l=!!(t.useGamma&&n&&n.some((e=>1!==e))),{minCutOff:u,maxCutOff:c,outMin:p,outMax:m}=this.getStretchCutoff(t,e,r);let h=0;a(e)&&(h=e.getPlaneCount(),2===h&&((e=e.clone()).statistics=[e.statistics[0]],e.pixels=[e.pixels[0]]));const f=Math.min(3,(null==r?void 0:r.length)||h||this.rasterInfo.bandCount),d=new Float32Array(f),g=s||l?1:255;let y;for(y=0;y<f;y++)d[y]=(m-p)/(c[y]-u[y])/g;const b=new Float32Array(f);if(l)for(y=0;y<f;y++)n[y]>1?n[y]>2?b[y]=6.5+(n[y]-2)**2.5:b[y]=6.5+100*(2-n[y])**4:b[y]=1;return{bandCount:f,outMin:p/g,outMax:m/g,minCutOff:u,maxCutOff:c,factor:d,useGamma:l,gamma:l?n:[1,1,1],gammaCorrection:l?b:[1,1,1],colormap:s,colormapOffset:o,stretchType:t.stretchType,type:"stretch"}}generateShadedReliefWebGLParams(e,t,r){var s,a,i;let n=null,l=null;const u=this.lookup&&this.lookup.colormapLut;e.colorRamp&&u&&(n=u.indexedColormap,l=u.offset);const c={...e,isGCS:t,resolution:r},p=v(c),m=null==(s=o(this.rasterInfo.statistics))?void 0:s[0];return{...p,minValue:null!=(a=null==m?void 0:m.min)?a:0,maxValue:null!=(i=null==m?void 0:m.max)?i:8e3,hillshadeType:"traditional"===e.hillshadeType?0:1,type:"hillshade",colormap:n,colormapOffset:l}}_generateVectorFieldWebGLParams(e){var t,r,s,o,i,n;const{style:l,inputUnit:u,outputUnit:c,visualVariables:p,symbolTileSize:m,flowRepresentation:h}=e;let f;const d=null!=(t=null==p?void 0:p.find((e=>"sizeInfo"===e.type)))?t:{type:"sizeInfo",field:"Magnitude",maxDataValue:null==(r=this.rasterInfo.statistics)?void 0:r[0].max,maxSize:.8*m,minDataValue:null==(s=this.rasterInfo.statistics)?void 0:s[0].min,minSize:.2*m},g=d?d.minDataValue:null==(o=this.rasterInfo.statistics)?void 0:o[0].min,y=d?d.maxDataValue:null==(i=this.rasterInfo.statistics)?void 0:i[0].max,b=a(d.maxSize)&&a(d.minSize)?[d.minSize/m,d.maxSize/m]:[.2,.8];if("wind_speed"===l||"simple_scalar"===l){const e=(b[0]+b[1])/2;b[0]=b[1]=e}const S=a(g)&&a(y)?[g,y]:null;if("classified_arrow"===l)if(a(g)&&a(y)&&a(d)){f=[];const e=(d.maxDataValue-d.minDataValue)/5;for(let t=0;t<6;t++)f.push(d.minDataValue+e*t)}else f=[0,1e-6,3.5,7,10.5,14];const x="flow_to"===h===("ocean_current_kn"===l||"ocean_current_m"===l)?0:Math.PI,v=null==p?void 0:p.find((e=>"rotationInfo"===e.type));return{breakValues:f,dataRange:S,inputUnit:u,outputUnit:c,symbolTileSize:m,symbolPercentRange:b,style:l||"single_arrow",rotation:x,rotationType:(null==(n=this.rasterInfo.storageInfo)?void 0:n.tileInfo)&&"vector-uv"===this.rasterInfo.dataType?"geographic":(null==v?void 0:v.rotationType)||e.rotationType,type:"vectorField"}}};function V(e){return u(e)&&0!==e.validPixelCount}e([i({json:{write:!0}})],I.prototype,"rendererJSON",void 0),e([i({type:l,json:{write:!0}})],I.prototype,"rasterInfo",void 0),e([i({json:{write:!0}})],I.prototype,"lookup",void 0),e([i()],I.prototype,"canRenderInWebGL",void 0),I=e([n("esri.renderers.support.RasterSymbolizer")],I);const N=I;export{N as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../Color.js";import"../../rasterRenderers.js";import{isSome as t,unwrap as n}from"../../core/maybe.js";import{getMetersPerUnitForSR as r}from"../../core/unitUtils.js";import l from"../../layers/support/Field.js";import a from"../../layers/support/RasterInfo.js";import o from"./AuthoringInfo.js";import s from"./ClassBreakInfo.js";import{PREDEFINED_JSON_COLOR_RAMPS as i,convertColorRampToColormap as u}from"./colorRampUtils.js";import m from"./UniqueValueInfo.js";import c from"../../rest/support/AlgorithmicColorRamp.js";import f from"../../rest/support/ClassBreaksDefinition.js";import{createGenerateRendererClassBreaks as p}from"../../rest/support/generateRendererUtils.js";import d from"../../rest/support/MultipartColorRamp.js";import h from"../RasterStretchRenderer.js";import b from"../UniqueValueRenderer.js";import v from"../RasterColormapRenderer.js";import y from"../RasterShadedReliefRenderer.js";import g from"../ClassBreaksRenderer.js";import C from"../VectorFieldRenderer.js";const w=.25,x=d.fromJSON({type:"multipart",colorRamps:[{fromColor:[0,0,255],toColor:[0,255,255]},{fromColor:[0,255,255],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,0,0]}]}),M=d.fromJSON(i[0]),R=new Set(["scientific","standard-time","vector-uv","vector-magdir","vector-u","vector-v","vector-magnitude","vector-direction"]);function j(e,n){const{attributeTable:r,colormap:l}=e;if(H(e)){const n=X(e);if(t(n))return n}if(t(l)){const n=F(e);if(t(n))return n}if(t(r)){const n=q(e);if(t(n))return n}return V(e,n)}function k(e){const t=["raster-stretch"];return W(e)&&t.push("raster-colormap"),z(e)&&t.push("unique-value"),D(e)&&t.push("class-breaks"),U(e)&&t.push("raster-shaded-relief"),H(e)&&t.push("vector-field"),K(e)&&t.push("animated-flow"),t}function T(e,t,n){const r=["nearest","bilinear","cubic","majority"].find((e=>e===(null==n?void 0:n.toLowerCase())));if("Map"===t)return null!=r?r:"bilinear";if("standard-time"===e.dataType)return null!=r?r:"nearest";return"thematic"===e.dataType||e.attributeTable||e.colormap?"nearest"===r||"majority"===r?r:"nearest":null!=r?r:"bilinear"}function V(e,r){var l,a,o,s;e=I(e,null==r?void 0:r.variableName);const{bandCount:i}=e;let{bandIds:u,stretchType:m}=r||{};null!=(l=u)&&l.some((e=>e>=i))&&(u=null);let c=n(e.statistics),f=n(e.histograms);var p;i>1?(u=null!=(p=u)&&p.length?u:S(e),c=null==c?null:u.map((e=>c[e])),f=null==f?null:u.map((e=>f[e]))):u=[0];null==m&&(m=O(e));let d=!1;switch(m){case"none":d=!1;break;case"percent-clip":d=!(null!=(a=f)&&a.length);break;default:d=!(null!=(o=c)&&o.length)}const{dataType:b}=e,v=1===(null==(s=u)?void 0:s.length)&&R.has(b)?x:null,y=new h({stretchType:m,dynamicRangeAdjustment:d,colorRamp:v,outputMin:0,outputMax:255,gamma:1===u.length?[1]:[1,1,1],useGamma:!1});return"percent-clip"===m?y.maxPercent=y.minPercent=w:"standard-deviation"===m&&(y.numberOfStandardDeviations=2),!d&&(t(e.multidimensionalInfo)||null!=r&&r.includeStatisticsInStretch)&&("percent-clip"===m?y.histograms=f:"min-max"!==m&&"standard-deviation"!==m||(y.statistics=c)),y}function I(e,r){if(null==r)return e;let l=n(e.statistics),o=n(e.histograms);const{multidimensionalInfo:s}=e;if(r&&t(s)){const{statistics:e,histograms:t}=s.variables.find((e=>e.name===r));null!=e&&e.length&&(l=e),null!=t&&t.length&&(o=t)}return a.fromJSON({...e.toJSON(),statistics:l,histograms:o})}function S(e){const t=e.bandCount;if(1===t)return null;if(2===t)return[0];const n=e.keyProperties&&e.keyProperties.BandProperties;let r;if(n&&n.length===t){const{red:e,green:t,blue:l,nir:a}=B(n);null!=e&&null!=t&&null!=l?r=[e,t,l]:null!=a&&null!=e&&null!=t&&(r=[a,e,t])}return!r&&t>=3&&(r=[0,1,2]),r}function L(e,t){var n;const r=e.keyProperties&&e.keyProperties.BandProperties;return(t=null!=(n=t)&&n.length?t:Array.from(Array(e.bandCount).keys())).map((t=>r&&r.length===e.bandCount&&r[t]&&r[t].BandName||"band_"+(t+1)))}function B(e){const t={};for(let r=0;r<e.length;r++){var n;const l=e[r],a=null==(n=l.BandName)?void 0:n.toLowerCase();if("red"===a)t.red=r;else if("green"===a)t.green=r;else if("blue"===a)t.blue=r;else if("nearinfrared"===a||"nearinfrared_1"===a||"nir"===a)t.nir=r;else if(l.WavelengthMax&&l.WavelengthMin){const e=l.WavelengthMin,n=l.WavelengthMax;null==t.blue&&e>=410&&e<=480&&n>=480&&n<=540?t.blue=r:null==t.green&&e>=490&&e<=560&&n>=560&&n<=610?t.green=r:null==t.red&&e>=595&&e<=670&&n>=660&&n<=730?t.red=r:null==t.nir&&e>=700&&e<=860&&n>=800&&n<=950&&(t.nir=r)}}return t}function O(e){let n="percent-clip";const{pixelType:r,dataType:l,histograms:a,statistics:o}=e;return"u8"!==r||"processed"!==l&&t(a)&&t(o)?"u8"===r||"elevation"===l||R.has(l)?n="min-max":t(a)?n="percent-clip":t(o)&&(n="min-max",n="min-max"):n="none",n}function q(n,r,l,a){if(!z(n,r))return null;const{attributeTable:s,statistics:i}=n,c=E(s,r),f=P(s,"red"),p=P(s,"green"),d=P(s,"blue"),h=new o,v=[],y=new Set,g=!!(f&&p&&d);if(t(s))s.features.forEach((t=>{const n=t.attributes[c.name];if(!y.has(t.attributes[c.name])&&null!=n){y.add(n);const r=g&&("single"===f.type||"double"===f.type)&&("single"===p.type||"double"===p.type)&&("single"===d.type||"double"===d.type)&&!s.features.some((e=>e.attributes[f.name]>1||e.attributes[p.name]>1||e.attributes[d.name]>1)),l=r?255:1;v.push(new m({value:t.attributes[c.name],label:t.attributes[c.name]+"",symbol:{type:"simple-fill",style:"solid",outline:null,color:new e(g?[t.attributes[f.name]*l,t.attributes[p.name]*l,t.attributes[d.name]*l,1]:[0,0,0,0])}}))}}));else if(null!=i&&i[0])for(let t=i[0].min;t<=i[0].max;t++)v.push(new m({value:t,label:t.toString(),symbol:{type:"simple-fill",style:"solid",outline:null,color:new e([0,0,0,0])}}));if(v.sort(((e,t)=>e.value&&"string"==typeof e.value.valueOf()?0:e.value>t.value?1:-1)),!g){const t=u(M,v.length);v.forEach(((n,r)=>n.symbol.color=new e(t[r].slice(1,4)))),h.colorRamp=M}if(l||a){const t=l||u(a,v.length).map((e=>e.slice(1)));v.forEach(((n,r)=>n.symbol.color=new e(t[r]))),h.colorRamp=a}return new b({field:c.name,uniqueValueInfos:v,authoringInfo:h})}function E(e,n,r){let a;return t(e)?(a=n?e.fields.find((e=>n.toLowerCase()===e.name.toLowerCase())):N(e.fields),a||(r||(a=e.fields.find((e=>"string"===e.type))),a||(a=P(e,"value")))):a=new l({name:"value"}),a}function N(e){let t;for(let n=0;n<e.length;n++){const r=e[n].name.toLowerCase();if("string"===e[n].type){if(r.startsWith("class")){t=e[n];break}null==t&&(r.endsWith("name")||r.endsWith("type"))&&(t=e[n])}}return t}function P(e,n){return t(e)?e.fields.find((e=>e.name.toLowerCase()===n)):null}function z(e,n){const{attributeTable:r,bandCount:l}=e;if(!t(r)&&_(e))return!0;if(!t(r)||l>1)return!1;if(n){if(null==r.fields.find((e=>e.name.toLowerCase()===n.toLowerCase())))return!1}return!0}function W(e){const{bandCount:n,colormap:r}=e;return t(r)&&r.length&&1===n}function F(e){if(!W(e))return null;let r;const{attributeTable:l,colormap:a}=e;if(t(l)){const e=P(l,"value"),t=E(l,null,!0);"string"===t.type&&(r={},l.features.forEach((n=>{const l=n.attributes;r[l[e.name]]=t?l[t.name]:l[e.name]})))}return v.createFromColormap(n(a),r)}function U(e){return"elevation"===e.dataType}function A(e,t){var n;if(!U(e))return null;const{extent:l}=e,a=l.width*r(l.spatialReference);return t=null!=(n=t)?n:"multi-directional",new y({hillshadeType:t,scalingType:a>5e6?"adjusted":"none"})}function D(e){const{attributeTable:n,bandCount:r}=e;return 1===r&&(t(n)||t(e.histograms))}function J(e,n){e=I(e,null==n?void 0:n.variableName);const{attributeTable:r}=e;if(!D(e))return null;const l=t(e.histograms)?e.histograms[0]:null,a=(null==n?void 0:n.numClasses)||5,i=new o({classificationMethod:null==n?void 0:n.classificationMethod,colorRamp:null==n?void 0:n.colorRamp});let m=(null==n?void 0:n.field)||"value";const c=[],d=[],h=1e3,b=t(r),v=b&&r.fields.find((e=>"count"===e.name.toLowerCase())),y=b&&r.fields.find((e=>e.name.toLowerCase()===m.toLowerCase()));if(y&&v){m=y.name;const e=r.features.length;let t=0;r.features.forEach((n=>t+=n.attributes[v.name]/e)),r.features.forEach((n=>{const r=n.attributes[y.name],l=n.attributes[v.name];if(l>0){d.push(l);const n=Math.max(1,Math.round(l/e/t*h));for(let e=0;e<n;e++)c.push(r)}}))}else{const{pixelType:t}=e,n=(l.max-l.min)/l.size,r=t.indexOf("s")>-1||t.indexOf("u")>-1,a=r&&1===n?Math.floor(l.min+.5):l.min,o=r&&1===n?Math.floor(l.max-.5):l.max,s=l.size;let i=0;l.counts.forEach((e=>i+=e/s)),l.counts.forEach(((e,t)=>{if(e>0){d.push(e);const r=Math.max(1,Math.round(e/s/i*h)),u=0===t?a:t===s-1?o:l.min+n*(t+.5);for(let e=0;e<r;e++)c.push(u)}}))}const C=(null==n?void 0:n.classificationMethod)||"natural-breaks",w=p({values:c,valueFrequency:d,normalizationTotal:null,definition:new f({classificationMethod:C,breakCount:a,definedInterval:null==n?void 0:n.definedInterval})});let M=null==n?void 0:n.colors;if(!M){const e=(null==n?void 0:n.colorRamp)||x;i.colorRamp=e;const t=u(e,w.classBreaks.length,!0);M=t.map((e=>e.slice(1)))}const R=w.classBreaks.map(((e,t)=>new s({minValue:e.minValue,maxValue:e.maxValue,label:e.label,symbol:{type:"simple-fill",color:M[t]}})));return new g({field:m,classBreakInfos:R,authoringInfo:i})}function _(e){var t,n,r;return["u8","s8"].indexOf(e.pixelType)>-1&&null!=(null==(t=e.statistics)||null==(n=t[0])?void 0:n.min)&&null!=(null==(r=e.statistics[0])?void 0:r.max)&&1===e.bandCount}function G(t){const n=[];for(let r=0;r<t.length-1;r++)n[r]=new c({algorithm:"hsv",fromColor:t[r],toColor:t[r+1]||new e({r:255,g:255,b:255,a:1})});if(t.length>2){return new d({colorRamps:n})}return n[0]}function H(e){const{dataType:t}=e;return"vector-uv"===t||"vector-magdir"===t}function K(e){const{dataType:t}=e;return"vector-uv"===t||"vector-magdir"===t}const Q=new Map([["m/s","meter-per-second"],["km/h","kilometer-per-hour"],["knots","knots"],["ft/s","feet-per-second"],["mph","mile-per-hour"]]);function X(e){if(!H(e))return null;let n;if(t(e.statistics)&&e.statistics.length){const t="vector-uv"===e.dataType,{min:r,max:l}=e.statistics[0];n=[{type:"size",field:"Magnitude",minSize:10,maxSize:40,minDataValue:t?Math.min(Math.abs(r),Math.abs(l)):r,maxDataValue:t?Math.max(Math.abs(r),Math.abs(l)):l}]}const r=t(e.multidimensionalInfo)?Q.get(e.multidimensionalInfo.variables[0].unit):null,l=new C({visualVariables:n,inputUnit:r});return l.visualVariables=[...l.sizeVariables,...l.rotationVariables],l}function Y(e){var t;return{color:null==(t=e.symbolLayers[0].material)?void 0:t.color,type:"esriSFS",style:"esriSFSSolid"}}function Z(e){if("uniqueValue"===e.type){var t;const n=e.uniqueValueInfos,r=n[0].symbol;return null!=r&&null!=(t=r.symbolLayers)&&t.length&&(e.uniqueValueInfos=n.map((e=>({value:e.value,label:e.label,symbol:e.symbol?Y(e.symbol):null})))),e}if("classBreaks"===e.type){var n;const t=e.classBreakInfos,r=t[0].symbol;return null!=r&&null!=(n=r.symbolLayers)&&n.length&&(e.classBreakInfos=t.map((e=>({classMinValue:e.classMinValue,classMaxValue:e.classMaxValue,label:e.label,symbol:e.symbol?Y(e.symbol):null})))),e}return e}export{J as createClassBreaksRenderer,G as createColorRamp,F as createColormapRenderer,j as createDefaultRenderer,A as createShadedReliefRenderer,V as createStretchRenderer,q as createUVRenderer,X as createVectorFieldRenderer,L as getBandNames,E as getClassField,S as getDefaultBandCombination,T as getDefaultInterpolation,P as getField,k as getSupportedRendererTypes,B as getWellKnownBandIndexes,K as isAnimatedFlowRendererSupported,D as isClassBreaksSupported,W as isColormapRendererSupported,U as isShadedReliefRendererSupported,_ as isSingleBand8BitRasterWithStats,z as isUVRendererSupported,H as isVectorFieldRendererSupported,Z as normalizeRendererJSON};
|
|
5
|
+
import e from"../../Color.js";import"../../rasterRenderers.js";import{isSome as t,unwrap as n}from"../../core/maybe.js";import{getMetersPerUnitForSR as r}from"../../core/unitUtils.js";import l from"../../layers/support/Field.js";import a from"../../layers/support/RasterInfo.js";import o from"./AuthoringInfo.js";import s from"./ClassBreakInfo.js";import{PREDEFINED_JSON_COLOR_RAMPS as i,convertColorRampToColormap as u}from"./colorRampUtils.js";import m from"./UniqueValueInfo.js";import c from"../../rest/support/AlgorithmicColorRamp.js";import f from"../../rest/support/ClassBreaksDefinition.js";import{createGenerateRendererClassBreaks as p}from"../../rest/support/generateRendererUtils.js";import d from"../../rest/support/MultipartColorRamp.js";import h from"../RasterStretchRenderer.js";import b from"../UniqueValueRenderer.js";import v from"../RasterColormapRenderer.js";import y from"../RasterShadedReliefRenderer.js";import g from"../ClassBreaksRenderer.js";import C from"../VectorFieldRenderer.js";const w=.25,x=d.fromJSON({type:"multipart",colorRamps:[{fromColor:[0,0,255],toColor:[0,255,255]},{fromColor:[0,255,255],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,0,0]}]}),M=d.fromJSON(i[0]),R=new Set(["scientific","standard-time","vector-uv","vector-magdir","vector-u","vector-v","vector-magnitude","vector-direction"]);function j(e,n){const{attributeTable:r,colormap:l}=e;if(H(e)){const n=X(e);if(t(n))return n}if(t(l)){const n=F(e);if(t(n))return n}if(t(r)){const n=q(e);if(t(n))return n}return V(e,n)}function k(e){const t=["raster-stretch"];return W(e)&&t.push("raster-colormap"),z(e)&&t.push("unique-value"),D(e)&&t.push("class-breaks"),U(e)&&t.push("raster-shaded-relief"),H(e)&&t.push("vector-field"),K(e)&&t.push("animated-flow"),t}function T(e,t,n){const r=["nearest","bilinear","cubic","majority"].find((e=>e===(null==n?void 0:n.toLowerCase())));if("Map"===t)return null!=r?r:"bilinear";if("standard-time"===e.dataType)return null!=r?r:"nearest";return"thematic"===e.dataType||e.attributeTable||e.colormap?"nearest"===r||"majority"===r?r:"nearest":null!=r?r:"bilinear"}function V(e,r){var l,a,o,s;e=I(e,null==r?void 0:r.variableName);const{bandCount:i}=e;let{bandIds:u,stretchType:m}=r||{};null!=(l=u)&&l.some((e=>e>=i))&&(u=null);let c=n(e.statistics),f=n(e.histograms);var p;i>1?(u=null!=(p=u)&&p.length?u:S(e),c=null==c?null:u.map((e=>c[e])),f=null==f?null:u.map((e=>f[e]))):u=[0];null==m&&(m=O(e));let d=!1;switch(m){case"none":d=!1;break;case"percent-clip":d=!(null!=(a=f)&&a.length);break;default:d=!(null!=(o=c)&&o.length)}const{dataType:b}=e,v=1===(null==(s=u)?void 0:s.length)&&R.has(b)?x:null,y=new h({stretchType:m,dynamicRangeAdjustment:d,colorRamp:v,outputMin:0,outputMax:255,gamma:1===u.length?[1]:[1,1,1],useGamma:!1});return"percent-clip"===m?y.maxPercent=y.minPercent=w:"standard-deviation"===m&&(y.numberOfStandardDeviations=2),!d&&(t(e.multidimensionalInfo)||null!=r&&r.includeStatisticsInStretch)&&("percent-clip"===m?y.histograms=f:"min-max"!==m&&"standard-deviation"!==m||(y.statistics=c)),y}function I(e,r){if(null==r)return e;let l=n(e.statistics),o=n(e.histograms);const{multidimensionalInfo:s}=e;if(r&&t(s)){const{statistics:e,histograms:t}=s.variables.find((e=>e.name===r));null!=e&&e.length&&(l=e),null!=t&&t.length&&(o=t)}return a.fromJSON({...e.toJSON(),statistics:l,histograms:o})}function S(e){const t=e.bandCount;if(1===t)return null;if(2===t)return[0];const n=e.keyProperties&&e.keyProperties.BandProperties;let r;if(n&&n.length===t){const{red:e,green:t,blue:l,nir:a}=B(n);null!=e&&null!=t&&null!=l?r=[e,t,l]:null!=a&&null!=e&&null!=t&&(r=[a,e,t])}return!r&&t>=3&&(r=[0,1,2]),r}function L(e,t){var n;const r=e.keyProperties&&e.keyProperties.BandProperties;return(t=null!=(n=t)&&n.length?t:Array.from(Array(e.bandCount).keys())).map((t=>r&&r.length===e.bandCount&&r[t]&&r[t].BandName||"band_"+(t+1)))}function B(e){const t={};for(let r=0;r<e.length;r++){var n;const l=e[r],a=null==(n=l.BandName)?void 0:n.toLowerCase();if("red"===a)t.red=r;else if("green"===a)t.green=r;else if("blue"===a)t.blue=r;else if("nearinfrared"===a||"nearinfrared_1"===a||"nir"===a)t.nir=r;else if(l.WavelengthMax&&l.WavelengthMin){const e=l.WavelengthMin,n=l.WavelengthMax;null==t.blue&&e>=410&&e<=480&&n>=480&&n<=540?t.blue=r:null==t.green&&e>=490&&e<=560&&n>=560&&n<=610?t.green=r:null==t.red&&e>=595&&e<=670&&n>=660&&n<=730?t.red=r:null==t.nir&&e>=700&&e<=860&&n>=800&&n<=950&&(t.nir=r)}}return t}function O(e){let n="percent-clip";const{pixelType:r,dataType:l,histograms:a,statistics:o}=e;return"u8"!==r||"processed"!==l&&t(a)&&t(o)?"u8"===r||"elevation"===l||R.has(l)?n="min-max":t(a)?n="percent-clip":t(o)&&(n="min-max",n="min-max"):n="none",n}function q(n,r,l,a){if(!z(n,r))return null;const{attributeTable:s,statistics:i}=n,c=E(s,r),f=P(s,"red"),p=P(s,"green"),d=P(s,"blue"),h=new o,v=[],y=new Set,g=!!(f&&p&&d);if(t(s))s.features.forEach((t=>{const n=t.attributes[c.name];if(!y.has(t.attributes[c.name])&&null!=n){y.add(n);const r=g&&("single"===f.type||"double"===f.type)&&("single"===p.type||"double"===p.type)&&("single"===d.type||"double"===d.type)&&!s.features.some((e=>e.attributes[f.name]>1||e.attributes[p.name]>1||e.attributes[d.name]>1)),l=r?255:1;v.push(new m({value:t.attributes[c.name],label:t.attributes[c.name]+"",symbol:{type:"simple-fill",style:"solid",outline:null,color:new e(g?[t.attributes[f.name]*l,t.attributes[p.name]*l,t.attributes[d.name]*l,1]:[0,0,0,0])}}))}}));else if(null!=i&&i[0])for(let t=i[0].min;t<=i[0].max;t++)v.push(new m({value:t,label:t.toString(),symbol:{type:"simple-fill",style:"solid",outline:null,color:new e([0,0,0,0])}}));if(v.sort(((e,t)=>e.value&&"string"==typeof e.value.valueOf()?0:e.value>t.value?1:-1)),!g){const t=u(M,v.length);v.forEach(((n,r)=>n.symbol.color=new e(t[r].slice(1,4)))),h.colorRamp=M}if(l||a){const t=l||u(a,v.length).map((e=>e.slice(1)));v.forEach(((n,r)=>n.symbol.color=new e(t[r]))),h.colorRamp=a}return new b({field:c.name,uniqueValueInfos:v,authoringInfo:h})}function E(e,n,r){let a;return t(e)?(a=n?e.fields.find((e=>n.toLowerCase()===e.name.toLowerCase())):N(e.fields),a||(r||(a=e.fields.find((e=>"string"===e.type))),a||(a=P(e,"value")))):a=new l({name:"value"}),a}function N(e){let t;for(let n=0;n<e.length;n++){const r=e[n].name.toLowerCase();if("string"===e[n].type){if(r.startsWith("class")){t=e[n];break}null==t&&(r.endsWith("name")||r.endsWith("type"))&&(t=e[n])}}return t}function P(e,n){return t(e)?e.fields.find((e=>e.name.toLowerCase()===n)):null}function z(e,n){const{attributeTable:r,bandCount:l}=e;if(!t(r)&&_(e))return!0;if(!t(r)||l>1)return!1;if(n){if(null==r.fields.find((e=>e.name.toLowerCase()===n.toLowerCase())))return!1}return!0}function W(e){const{bandCount:n,colormap:r}=e;return t(r)&&r.length&&1===n}function F(e){if(!W(e))return null;let r;const{attributeTable:l,colormap:a}=e;if(t(l)){const e=P(l,"value"),t=E(l,null,!0);"string"===t.type&&(r={},l.features.forEach((n=>{const l=n.attributes;r[l[e.name]]=t?l[t.name]:l[e.name]})))}return v.createFromColormap(n(a),r)}function U(e){return"elevation"===e.dataType}function A(e,t){var n;if(!U(e))return null;const{extent:l}=e,a=l.width*r(l.spatialReference);return t=null!=(n=t)?n:"multi-directional",new y({hillshadeType:t,scalingType:a>5e6?"adjusted":"none"})}function D(e){const{attributeTable:n,bandCount:r}=e;return 1===r&&(t(n)||t(e.histograms))}function J(e,n){e=I(e,null==n?void 0:n.variableName);const{attributeTable:r}=e;if(!D(e))return null;const l=t(e.histograms)?e.histograms[0]:null,a=(null==n?void 0:n.numClasses)||5,i=new o({classificationMethod:null==n?void 0:n.classificationMethod,colorRamp:null==n?void 0:n.colorRamp});let m=(null==n?void 0:n.field)||"value";const c=[],d=[],h=1e3,b=t(r),v=b&&r.fields.find((e=>"count"===e.name.toLowerCase())),y=b&&r.fields.find((e=>e.name.toLowerCase()===m.toLowerCase()));if(y&&v){m=y.name;const e=r.features.length;let t=0;r.features.forEach((n=>t+=n.attributes[v.name]/e)),r.features.forEach((n=>{const r=n.attributes[y.name],l=n.attributes[v.name];if(l>0){d.push(l);const n=Math.max(1,Math.round(l/e/t*h));for(let e=0;e<n;e++)c.push(r)}}))}else{const{pixelType:t}=e,n=(l.max-l.min)/l.size,r=t.indexOf("s")>-1||t.indexOf("u")>-1,a=r&&1===n?Math.floor(l.min+.5):l.min,o=r&&1===n?Math.floor(l.max-.5):l.max,s=l.size;let i=0;l.counts.forEach((e=>i+=e/s)),l.counts.forEach(((e,t)=>{if(e>0){d.push(e);const r=Math.max(1,Math.round(e/s/i*h)),u=0===t?a:t===s-1?o:l.min+n*(t+.5);for(let e=0;e<r;e++)c.push(u)}}))}const C=(null==n?void 0:n.classificationMethod)||"natural-breaks",w=p({values:c,valueFrequency:d,normalizationTotal:null,definition:new f({classificationMethod:C,breakCount:a,definedInterval:null==n?void 0:n.definedInterval})});let M=null==n?void 0:n.colors;if(!M){const e=(null==n?void 0:n.colorRamp)||x;i.colorRamp=e;const t=u(e,w.classBreaks.length,!0);M=t.map((e=>e.slice(1)))}const R=w.classBreaks.map(((e,t)=>new s({minValue:e.minValue,maxValue:e.maxValue,label:e.label,symbol:{type:"simple-fill",color:M[t]}})));return new g({field:m,classBreakInfos:R,authoringInfo:i})}function _(e){var t,n,r;return["u8","s8"].indexOf(e.pixelType)>-1&&null!=(null==(t=e.statistics)||null==(n=t[0])?void 0:n.min)&&null!=(null==(r=e.statistics[0])?void 0:r.max)&&1===e.bandCount}function G(t){const n=[];for(let r=0;r<t.length-1;r++)n[r]=new c({algorithm:"hsv",fromColor:t[r],toColor:t[r+1]||new e({r:255,g:255,b:255,a:1})});if(t.length>2){return new d({colorRamps:n})}return n[0]}function H(e){const{dataType:t}=e;return"vector-uv"===t||"vector-magdir"===t}function K(e){const{dataType:t}=e;return"vector-uv"===t||"vector-magdir"===t}const Q=new Map([["m/s","meter-per-second"],["km/h","kilometer-per-hour"],["knots","knots"],["ft/s","feet-per-second"],["mph","mile-per-hour"]]);function X(e){if(!H(e))return null;let n;if(t(e.statistics)&&e.statistics.length){const t="vector-uv"===e.dataType,{min:r,max:l}=e.statistics[0];n=[{type:"size",field:"Magnitude",minSize:10,maxSize:40,minDataValue:t?Math.min(Math.abs(r),Math.abs(l)):r,maxDataValue:t?Math.max(Math.abs(r),Math.abs(l)):l}]}const r=t(e.multidimensionalInfo)?Q.get(e.multidimensionalInfo.variables[0].unit):null,l=new C({visualVariables:n,inputUnit:r,rotationType:"geographic"});return l.visualVariables=[...l.sizeVariables,...l.rotationVariables],l}function Y(e){var t;return{color:null==(t=e.symbolLayers[0].material)?void 0:t.color,type:"esriSFS",style:"esriSFSSolid"}}function Z(e){if("uniqueValue"===e.type){var t;const n=e.uniqueValueInfos,r=n[0].symbol;return null!=r&&null!=(t=r.symbolLayers)&&t.length&&(e.uniqueValueInfos=n.map((e=>({value:e.value,label:e.label,symbol:e.symbol?Y(e.symbol):null})))),e}if("classBreaks"===e.type){var n;const t=e.classBreakInfos,r=t[0].symbol;return null!=r&&null!=(n=r.symbolLayers)&&n.length&&(e.classBreakInfos=t.map((e=>({classMinValue:e.classMinValue,classMaxValue:e.classMaxValue,label:e.label,symbol:e.symbol?Y(e.symbol):null})))),e}return e}export{J as createClassBreaksRenderer,G as createColorRamp,F as createColormapRenderer,j as createDefaultRenderer,A as createShadedReliefRenderer,V as createStretchRenderer,q as createUVRenderer,X as createVectorFieldRenderer,L as getBandNames,E as getClassField,S as getDefaultBandCombination,T as getDefaultInterpolation,P as getField,k as getSupportedRendererTypes,B as getWellKnownBandIndexes,K as isAnimatedFlowRendererSupported,D as isClassBreaksSupported,W as isColormapRendererSupported,U as isShadedReliefRendererSupported,_ as isSingleBand8BitRasterWithStats,z as isUVRendererSupported,H as isVectorFieldRendererSupported,Z as normalizeRendererJSON};
|
package/support/revision.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const c="
|
|
5
|
+
const c="20211209",b="84d3b592e14ffc7448dfe33171da130bb6c80c65";export{c as buildDate,b as commitHash};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as o}from"../../chunks/tslib.es6.js";import"../../geometry.js";import t from"../../core/Evented.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as
|
|
5
|
+
import{_ as o}from"../../chunks/tslib.es6.js";import"../../geometry.js";import t from"../../core/Evented.js";import{property as e}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 r from"../../layers/support/LOD.js";import{GeometryConstraint as i}from"./constraints/GeometryConstraint.js";import a from"./constraints/RotationConstraint.js";import n from"./constraints/ZoomConstraint.js";import m from"../../geometry/Extent.js";import l from"../../geometry/Polygon.js";const p={base:null,key:"type",typeMap:{extent:m,polygon:l}};let c=class extends t.EventedAccessor{constructor(){super(...arguments),this.lods=null,this.minScale=0,this.maxScale=0,this.minZoom=-1,this.maxZoom=-1,this.rotationEnabled=!0,this.snapToZoom=!0}initialize(){this.watch(["_zoom","_rotation"],this.emit.bind(this,"update"),!0)}destroy(){this.view=null,this._set("_zoom",null),this._set("_rotation",null)}set geometry(o){o?this._set("geometry",o):this._set("geometry",null)}get _defaultLODs(){var o,t,e;const s=null==(o=this.view)||null==(t=o.defaultsFromMap)?void 0:t.tileInfo,r=null==(e=this.view)?void 0:e.spatialReference;return s&&r&&s.spatialReference.equals(r)?s.lods:null}get _geometry(){return new i({geometry:this.geometry,spatialReference:this.view.spatialReference})}get _rotation(){return new a({rotationEnabled:this.rotationEnabled})}get _zoom(){const o=this._get("_zoom"),t=this.lods||this._defaultLODs,e=this.minZoom,s=this.maxZoom,r=this.minScale,i=this.maxScale,a=this.snapToZoom;return o&&o.lods===t&&o.minZoom===e&&o.maxZoom===s&&o.minScale===r&&o.maxScale===i&&o.snapToZoom===a?o:new n({lods:t,minZoom:e,maxZoom:s,minScale:r,maxScale:i,snapToZoom:a})}canZoomInTo(o){const t=this.effectiveMaxScale;return 0===t||o>=t}canZoomOutTo(o){const t=this.effectiveMinScale;return 0===t||o<=t}constrain(o,t){return this._zoom.constrain(o,t),this._rotation.constrain(o,t),this._geometry.constrain(o,t),o}constrainByGeometry(o){return this._geometry.constrain(o)}fit(o){return this._zoom.fit(o)}zoomToScale(o){return this._zoom.zoomToScale(o)}scaleToZoom(o){return this._zoom.scaleToZoom(o)}snapScale(o){return this._zoom.snapToClosestScale(o)}snapToNextScale(o){return this._zoom.snapToNextScale(o)}snapToPreviousScale(o){return this._zoom.snapToPreviousScale(o)}};o([e({readOnly:!0,aliasOf:"_zoom.effectiveLODs"})],c.prototype,"effectiveLODs",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMinScale"})],c.prototype,"effectiveMinScale",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMaxScale"})],c.prototype,"effectiveMaxScale",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMinZoom"})],c.prototype,"effectiveMinZoom",void 0),o([e({readOnly:!0,aliasOf:"_zoom.effectiveMaxZoom"})],c.prototype,"effectiveMaxZoom",void 0),o([e({types:p,value:null})],c.prototype,"geometry",null),o([e({type:[r]})],c.prototype,"lods",void 0),o([e()],c.prototype,"minScale",void 0),o([e()],c.prototype,"maxScale",void 0),o([e()],c.prototype,"minZoom",void 0),o([e()],c.prototype,"maxZoom",void 0),o([e()],c.prototype,"rotationEnabled",void 0),o([e()],c.prototype,"snapToZoom",void 0),o([e()],c.prototype,"view",void 0),o([e()],c.prototype,"_defaultLODs",null),o([e({type:i})],c.prototype,"_geometry",null),o([e({type:a})],c.prototype,"_rotation",null),o([e({readOnly:!0,type:n})],c.prototype,"_zoom",null),c=o([s("esri.views.2d.MapViewConstraints")],c);const y=c;export{y as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.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";
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.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";var i;let a=i=class extends t{constructor(e){super(e),this._lodByScale={},this._scales=[],this.effectiveLODs=null,this.effectiveMinZoom=-1,this.effectiveMaxZoom=-1,this.effectiveMinScale=0,this.effectiveMaxScale=0,this.lods=null,this.minZoom=-1,this.maxZoom=-1,this.minScale=0,this.maxScale=0,this.snapToZoom=!0}initialize(){let e,{lods:t,minScale:o,maxScale:s,minZoom:i,maxZoom:a}=this,c=-1,r=-1,l=!1,n=!1;if(0!==o&&0!==s&&o<s&&([o,s]=[s,o]),!t||!t.length)return this._set("effectiveMinScale",o),void this._set("effectiveMaxScale",s);t=t.map((e=>e.clone())),t.sort(((e,t)=>t.scale-e.scale)),t.forEach(((e,t)=>e.level=t));for(const f of t)!l&&o>0&&o>=f.scale&&(c=f.level,l=!0),!n&&s>0&&s>=f.scale&&(r=e?e.level:-1,n=!0),e=f;-1===i&&(i=0===o?0:c),-1===a&&(a=0===s?t.length-1:r),i=Math.max(i,0),i=Math.min(i,t.length-1),a=Math.max(a,0),a=Math.min(a,t.length-1),i>a&&([i,a]=[a,i]),o=t[i].scale,s=t[a].scale,t.splice(0,i),t.splice(a-i+1,t.length),t.forEach(((e,t)=>{this._lodByScale[e.scale]=e,this._scales[t]=e.scale})),this._set("effectiveLODs",t),this._set("effectiveMinZoom",i),this._set("effectiveMaxZoom",a),this._set("effectiveMinScale",o),this._set("effectiveMaxScale",s)}constrain(e,t){if(t&&e.scale===t.scale)return e;const o=this.effectiveMinScale,s=this.effectiveMaxScale,i=e.targetGeometry,a=t&&t.targetGeometry,c=0!==s&&e.scale<s,r=0!==o&&e.scale>o;if(c||r){const c=r?o:s;if(a){const o=(c-t.scale)/(e.scale-t.scale);i.x=a.x+(i.x-a.x)*o,i.y=a.y+(i.y-a.y)*o}e.scale=c}return this.snapToZoom&&this.effectiveLODs&&(e.scale=this._getClosestScale(e.scale)),e}fit(e){if(!this.effectiveLODs||!this.snapToZoom)return this.constrain(e,null);const t=this.scaleToZoom(e.scale),o=Math.abs(t-Math.floor(t));return e.scale=this.zoomToScale(o>.99?Math.round(t):Math.floor(t)),e}zoomToScale(e){if(!this.effectiveLODs)return 0;e-=this.effectiveMinZoom,e=Math.max(0,e);const t=this._scales;if(e<=0)return t[0];if(e>=t.length)return t[t.length-1];const o=Math.round(e-.5),s=Math.round(e);return t[s]+(s-e)*(t[o]-t[s])}scaleToZoom(e){if(!this.effectiveLODs)return-1;const t=this._scales;let o,s;if(e>=t[0])return this.effectiveMinZoom;if(e<=t[t.length-1])return this.effectiveMaxZoom;for(let i=0;i<t.length-1;i++){if(o=t[i],s=t[i+1],s===e){return i+this.effectiveMinZoom+1}if(o>e&&s<e){return i+this.effectiveMinZoom+1-(e-s)/(o-s)}}}snapToClosestScale(e){if(!this.effectiveLODs)return e;const t=this.scaleToZoom(e);return this.zoomToScale(Math.round(t))}snapToNextScale(e,t=.5){if(!this.effectiveLODs)return e*t;const o=Math.round(this.scaleToZoom(e));return this.zoomToScale(o+1)}snapToPreviousScale(e,t=2){if(!this.effectiveLODs)return e*t;const o=Math.round(this.scaleToZoom(e));return this.zoomToScale(o-1)}clone(){return new i({lods:this.lods,minZoom:this.minZoom,maxZoom:this.maxZoom,minScale:this.minScale,maxScale:this.maxScale})}_getClosestScale(e){return this._lodByScale[e]||(e=this._scales.reduce(((t,o)=>Math.abs(o-e)<=Math.abs(t-e)?o:t),this._scales[0])),this._lodByScale[e].scale}};e([o({readOnly:!0})],a.prototype,"effectiveLODs",void 0),e([o({readOnly:!0})],a.prototype,"effectiveMinZoom",void 0),e([o({readOnly:!0})],a.prototype,"effectiveMaxZoom",void 0),e([o({readOnly:!0})],a.prototype,"effectiveMinScale",void 0),e([o({readOnly:!0})],a.prototype,"effectiveMaxScale",void 0),e([o()],a.prototype,"lods",void 0),e([o()],a.prototype,"minZoom",void 0),e([o()],a.prototype,"maxZoom",void 0),e([o()],a.prototype,"minScale",void 0),e([o()],a.prototype,"maxScale",void 0),e([o()],a.prototype,"snapToZoom",void 0),a=i=e([s("esri.views.2d.constraints.ZoomConstraint")],a);const c=a;export{c as default};
|