@arcgis/core 4.25.0-next.20220705 → 4.25.0-next.20220708

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.
Files changed (336) hide show
  1. package/TimeExtent.js +1 -1
  2. package/arcade/arcadeCompiler.js +1 -1
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/0703495557b0df6878c5.js +1 -0
  5. package/assets/esri/core/workers/chunks/1570676351a313f1841b.js +1 -0
  6. package/assets/esri/core/workers/chunks/{695f90305478f5024fa7.js → 1ecbf642debc2207b762.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{30dbdf2aa1bc8e61cad4.js → 268e7b46202fc1decf9f.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{47d78b4f7117554acecf.js → 357a27203f5d8fa152de.js} +1 -1
  9. package/assets/esri/core/workers/chunks/35dfba25a9077ab5dbaf.js +982 -0
  10. package/assets/esri/core/workers/chunks/377354a81e402edf3077.js +1 -0
  11. package/assets/esri/core/workers/chunks/3a42d96ea3b59d33bfe8.js +1 -0
  12. package/assets/esri/core/workers/chunks/3a61e4ab83183f5526a7.js +1 -0
  13. package/assets/esri/core/workers/chunks/{3790f0362b6f27ee798b.js → 3ee5e8d00cd3bc47a9fa.js} +1 -1
  14. package/assets/esri/core/workers/chunks/425d1fabc713a598139c.js +1 -0
  15. package/assets/esri/core/workers/chunks/425e16862feccb467191.js +1 -0
  16. package/assets/esri/core/workers/chunks/{bbe51b49fe7093e47306.js → 48c8ac9a22190c2b890c.js} +1 -1
  17. package/assets/esri/core/workers/chunks/4a364bc073fdc7c1b563.js +1 -0
  18. package/assets/esri/core/workers/chunks/4ca6ada7a4ccde5b5a24.js +1 -0
  19. package/assets/esri/core/workers/chunks/{905130ff0118962c8140.js → 61b71b8e028eda10ccab.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{b34cffd5c45d3a8134bc.js → 69f57ad2227e59b323e8.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{290899b47a52f8b28a9c.js → 791220164501a791b2cd.js} +1 -1
  22. package/assets/esri/core/workers/chunks/792b4b0a43b4bbbc14ab.js +1 -0
  23. package/assets/esri/core/workers/chunks/7b32b8e8ebe48ae0dae2.js +1 -0
  24. package/assets/esri/core/workers/chunks/7f00125b02bb7211de43.js +1 -0
  25. package/assets/esri/core/workers/chunks/81074accfce5f109f909.js +1 -0
  26. package/assets/esri/core/workers/chunks/{594d7fdb80ad9cdedb85.js → 823e25dbc70e71257b6e.js} +1 -1
  27. package/assets/esri/core/workers/chunks/92e43e05265dfc8173a0.js +1 -0
  28. package/assets/esri/core/workers/chunks/{40fa9b28ca882a70813a.js → 92f7415c2e40e320addc.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{9520b32d5d53ea9cd0d3.js → 9341e9e1fe0f6800aa44.js} +1 -1
  30. package/assets/esri/core/workers/chunks/95451d6405729a9f50c7.js +1 -0
  31. package/assets/esri/core/workers/chunks/{910a2ffb4328f8ee7a0d.js → 95cb9cd08941c28ebd85.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{97f32af5893c86f6444c.js → 9b9a40b84640f00a1dcb.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{77c6ba5ea85915d9078c.js → ac07c732aca6e67232f8.js} +1 -1
  34. package/assets/esri/core/workers/chunks/ae8e87da97411cff3783.js +1 -0
  35. package/assets/esri/core/workers/chunks/{65161a874595b0a34aa1.js → b312dd3027492007d75e.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{83c9da68d6dbc77f60e5.js → beead2b06c994b4e61af.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{5e20fd8b7c9497f2da1f.js → bfb08d3e2208c6178af9.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{04e5486f0d8d4c6bd8a2.js → c3236a7058e64ea3b939.js} +1 -1
  39. package/assets/esri/core/workers/chunks/c4e9c71be6299c60c539.js +1 -0
  40. package/assets/esri/core/workers/chunks/c705f907ce60a646d9aa.js +1 -0
  41. package/assets/esri/core/workers/chunks/ce6abfafa0171b9c8d81.js +1 -0
  42. package/assets/esri/core/workers/chunks/{08a5c5a33a7c7c6852e5.js → d00b0f8236f1526099d4.js} +1 -1
  43. package/assets/esri/core/workers/chunks/d13951412a57e1af6208.js +1 -0
  44. package/assets/esri/core/workers/chunks/ecaf8f030026e41e1d1a.js +1 -0
  45. package/assets/esri/core/workers/chunks/f328a6cd4b7d8c653fc7.js +1 -0
  46. package/assets/esri/core/workers/chunks/f6a6178d4df029ff010d.js +1 -0
  47. package/assets/esri/core/workers/chunks/fde2301c6cd97a3cfb86.js +1 -0
  48. package/assets/esri/core/workers/chunks/fe84bcdfd9028b5e7ef6.js +1 -0
  49. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +4 -0
  50. package/assets/esri/themes/base/widgets/_LayerList.scss +4 -0
  51. package/assets/esri/themes/dark/main.css +1 -1
  52. package/assets/esri/themes/light/main.css +1 -1
  53. package/assets/esri/themes/light/view.css +1 -1
  54. package/chunks/CheckerBoard.glsl.js +2 -2
  55. package/chunks/ColorMaterial.glsl.js +9 -9
  56. package/chunks/ComponentShader.glsl.js +33 -33
  57. package/chunks/DefaultMaterial.glsl.js +35 -35
  58. package/chunks/HUDMaterial.glsl.js +11 -11
  59. package/chunks/ImageMaterial.glsl.js +5 -5
  60. package/chunks/LineMarker.glsl.js +17 -17
  61. package/chunks/NativeLine.glsl.js +3 -3
  62. package/chunks/Path.glsl.js +28 -28
  63. package/chunks/Pattern.glsl.js +9 -9
  64. package/chunks/PointRenderer.glsl.js +1 -1
  65. package/chunks/RealisticTree.glsl.js +4 -4
  66. package/chunks/RibbonLine.glsl.js +1 -1
  67. package/chunks/ShadedColorMaterial.glsl.js +1 -1
  68. package/chunks/SimpleAtmosphere.glsl.js +1 -1
  69. package/chunks/Terrain.glsl.js +92 -92
  70. package/chunks/WaterSurface.glsl.js +22 -22
  71. package/chunks/common.js +1 -1
  72. package/chunks/mat2.js +1 -1
  73. package/chunks/mat2d.js +1 -1
  74. package/chunks/mat3.js +1 -1
  75. package/chunks/mat4.js +1 -1
  76. package/chunks/quat.js +1 -1
  77. package/chunks/quat2.js +1 -1
  78. package/chunks/vec2.js +1 -1
  79. package/chunks/vec3.js +1 -1
  80. package/chunks/vec4.js +1 -1
  81. package/core/Message.js +1 -1
  82. package/core/accessorSupport/tracking.js +1 -1
  83. package/core/libs/gl-matrix-2/math/common.js +1 -1
  84. package/core/libs/gl-matrix-2/math/vec2.js +1 -1
  85. package/core/pbf.js +1 -1
  86. package/core/quantity.js +0 -1
  87. package/core/sql/WhereClause.js +1 -1
  88. package/core/urlUtils.js +1 -1
  89. package/geometry/support/scaleUtils.js +1 -1
  90. package/identity/IdentityForm.js +1 -1
  91. package/identity/IdentityModal.js +1 -1
  92. package/identity/OAuthCredential.js +1 -1
  93. package/interfaces.d.ts +3347 -190
  94. package/intl/date.js +1 -1
  95. package/intl/duration.js +1 -1
  96. package/intl/messages.js +1 -1
  97. package/intl/substitute.js +1 -1
  98. package/kernel.js +1 -1
  99. package/layers/ImageryTileLayer.js +1 -1
  100. package/layers/VoxelWasmPerSceneView.js +1 -1
  101. package/layers/mixins/ArcGISImageService.js +1 -1
  102. package/layers/mixins/ImageryTileMixin.js +1 -1
  103. package/layers/support/ControlPointsGeoreference.d.ts +4 -0
  104. package/layers/support/ControlPointsGeoreference.js +5 -0
  105. package/layers/support/CornersGeoreference.js +1 -1
  106. package/layers/support/ElevationSamplerData.js +5 -0
  107. package/layers/support/ElevationTile.js +1 -1
  108. package/layers/support/ExportImageServiceParameters.js +1 -1
  109. package/layers/support/MediaElementBase.js +1 -1
  110. package/layers/support/imageryRendererUtils.js +1 -1
  111. package/layers/support/rasterDatasets/TIFFRaster.js +1 -1
  112. package/package.json +1 -1
  113. package/renderers/support/RasterSymbolizer.js +1 -1
  114. package/request.js +1 -1
  115. package/rest/route/utils.js +1 -1
  116. package/rest/serviceArea.js +1 -1
  117. package/rest/support/ServiceAreaParameters.js +1 -1
  118. package/rest/support/ServiceAreaSolveResult.js +1 -1
  119. package/smartMapping/raster/renderers/classBreaks.js +1 -1
  120. package/smartMapping/raster/renderers/uniqueValue.js +1 -1
  121. package/support/apiKeyUtils.js +1 -1
  122. package/support/requestUtils.js +1 -1
  123. package/support/revision.js +1 -1
  124. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  125. package/views/2d/navigation/actions/Pinch.js +1 -1
  126. package/views/2d/tiling/TileCache.js +1 -1
  127. package/views/2d/viewpointUtils.js +1 -1
  128. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  129. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  130. package/views/3d/environment/CloudsTechnique.js +1 -1
  131. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  132. package/views/3d/environment/FogTechnique.js +1 -1
  133. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  134. package/views/3d/environment/Precipitation.js +1 -1
  135. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  136. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  137. package/views/3d/environment/SimpleAtmosphereTechniqueConfiguration.js +1 -1
  138. package/views/3d/environment/StarsTechnique.js +1 -1
  139. package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
  140. package/views/3d/interactive/Manipulator3D.js +1 -1
  141. package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
  142. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  143. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  144. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  145. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  146. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  147. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  148. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  149. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  150. package/views/3d/layers/support/FeatureVisibilityFilter.js +5 -0
  151. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  152. package/views/3d/state/ViewStateManager.js +1 -1
  153. package/views/3d/support/LaserlinePathData.js +1 -1
  154. package/views/3d/support/ResourceController.js +1 -1
  155. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  156. package/views/3d/terrain/ElevationData.js +1 -1
  157. package/views/3d/terrain/GeometryState.js +1 -1
  158. package/views/3d/terrain/OverlayRenderTarget.js +1 -1
  159. package/views/3d/terrain/OverlayRenderer.js +1 -1
  160. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  161. package/views/3d/terrain/PatchRenderData.js +1 -1
  162. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  163. package/views/3d/terrain/TerrainConst.js +1 -1
  164. package/views/3d/terrain/TerrainRenderer.js +1 -1
  165. package/views/3d/terrain/TerrainSurface.js +1 -1
  166. package/views/3d/terrain/Tile.js +1 -1
  167. package/views/3d/terrain/tileUtils.js +1 -1
  168. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  169. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  170. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  171. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  172. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  173. package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
  174. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  175. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +2 -2
  176. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +5 -0
  177. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputConfiguration.js +5 -0
  178. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +4 -4
  179. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +11 -11
  180. package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +1 -1
  181. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +55 -55
  182. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +3 -3
  183. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Terrain.glsl.js +1 -1
  184. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  185. package/views/3d/webgl-engine/lib/BlendWeightsTechnique.js +1 -1
  186. package/views/3d/webgl-engine/lib/BlurTechnique.js +1 -1
  187. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  188. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  189. package/views/3d/webgl-engine/lib/EdgeDetectTechnique.js +1 -1
  190. package/views/3d/webgl-engine/lib/GLMaterialRepository.js +1 -1
  191. package/views/3d/webgl-engine/lib/GLMaterials.js +1 -1
  192. package/views/3d/webgl-engine/lib/Material.js +1 -1
  193. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  194. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  195. package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
  196. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  197. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  198. package/views/3d/webgl-engine/lib/SSAOTechnique.js +1 -1
  199. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  200. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  201. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  202. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  203. package/views/3d/webgl-engine/lib/TransparencyPassType.js +5 -0
  204. package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
  205. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  206. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  207. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  208. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  209. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  210. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  211. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  212. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  213. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  214. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  215. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  216. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  217. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  218. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  219. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  220. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  221. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  222. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  223. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  224. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  225. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  226. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  227. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  228. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  229. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  230. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  231. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  232. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  233. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  234. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  235. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  236. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  237. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  238. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  239. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  240. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  241. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  242. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  243. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  244. package/views/3d/webgl-engine/shaders/HighlightApplyTechnique.js +1 -1
  245. package/views/3d/webgl-engine/shaders/HighlightBlurTechnique.js +1 -1
  246. package/views/3d/webgl-engine/shaders/HighlightDownsampleTechnique.js +1 -1
  247. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  248. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  249. package/views/3d/webgl-engine/shaders/LaserlinePathTechnique.js +1 -1
  250. package/views/3d/webgl-engine/shaders/LaserlineTechnique.js +1 -1
  251. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  252. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  253. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  254. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  255. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  256. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  257. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  258. package/views/3d/webgl-engine/shaders/NativeLineTechniqueConfiguration.js +1 -1
  259. package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
  260. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  261. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  262. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  263. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  264. package/views/3d/webgl-engine/shaders/PointRendererTechniqueConfiguration.js +1 -1
  265. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  266. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  267. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  268. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  269. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  270. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  271. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  272. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  273. package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
  274. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  275. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  276. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  277. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  278. package/views/SceneView.js +1 -1
  279. package/views/draw/support/Reshape.js +1 -1
  280. package/views/interactive/GraphicManipulator.js +1 -1
  281. package/views/interactive/SegmentLabels.js +1 -1
  282. package/views/interactive/coordinateHelper.js +1 -1
  283. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  284. package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
  285. package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
  286. package/views/interactive/snapping/SnappingConstraint.js +1 -1
  287. package/views/interactive/snapping/SnappingManager.js +1 -1
  288. package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
  289. package/views/interactive/snapping/candidates/RightAngleTriangleSnappingCandidate.js +1 -1
  290. package/views/interactive/snapping/snappingUtils.js +1 -1
  291. package/views/interactive/support/viewUtils.js +1 -1
  292. package/views/layers/ImageryTileLayerView.js +1 -1
  293. package/views/support/geometry2dUtils.js +1 -1
  294. package/webscene/Slide.js +1 -1
  295. package/widgets/BasemapLayerList.js +1 -1
  296. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  297. package/widgets/ElevationProfile.js +1 -1
  298. package/widgets/LayerList/ListItemPanel.js +1 -1
  299. package/widgets/LayerList.js +1 -1
  300. package/widgets/Widget.js +1 -1
  301. package/widgets/Zoom/ZoomConditions3D.js +1 -1
  302. package/widgets/Zoom/ZoomViewModel.js +1 -1
  303. package/widgets/Zoom.js +1 -1
  304. package/widgets/support/widgetUtils.js +1 -1
  305. package/assets/esri/core/workers/chunks/06a7f58260225f52f8e6.js +0 -1
  306. package/assets/esri/core/workers/chunks/0e00741d35cdbf48e72d.js +0 -1
  307. package/assets/esri/core/workers/chunks/1ebb29ceabc81509646c.js +0 -1
  308. package/assets/esri/core/workers/chunks/24f7a3df08c3a2d3795c.js +0 -1
  309. package/assets/esri/core/workers/chunks/39a754713a48d46618bd.js +0 -1
  310. package/assets/esri/core/workers/chunks/462163f31fa134b7b216.js +0 -1
  311. package/assets/esri/core/workers/chunks/4bfcb7350ca492767a45.js +0 -1
  312. package/assets/esri/core/workers/chunks/5470cb0c3f670957c22c.js +0 -1
  313. package/assets/esri/core/workers/chunks/6889d698a2c796ed1ce6.js +0 -1
  314. package/assets/esri/core/workers/chunks/869310ef4c98542bf9df.js +0 -1
  315. package/assets/esri/core/workers/chunks/8ebaad46e2fe8925e3b0.js +0 -1
  316. package/assets/esri/core/workers/chunks/98c519ac806cc55bc19b.js +0 -1
  317. package/assets/esri/core/workers/chunks/9d07969fbea13aa5b03c.js +0 -1
  318. package/assets/esri/core/workers/chunks/9e6ce879ec0da884b9b8.js +0 -1
  319. package/assets/esri/core/workers/chunks/abd1bd74ba571e39ab5a.js +0 -1
  320. package/assets/esri/core/workers/chunks/b26ea76e3f41b45756e0.js +0 -1
  321. package/assets/esri/core/workers/chunks/c2286d97539066c8549a.js +0 -1
  322. package/assets/esri/core/workers/chunks/c495a66978d67c7e17f3.js +0 -1
  323. package/assets/esri/core/workers/chunks/c7fa92daca3f6e91734e.js +0 -987
  324. package/assets/esri/core/workers/chunks/c9e890b4be9d01c13efe.js +0 -1
  325. package/assets/esri/core/workers/chunks/dda5ea7f8d35e257815c.js +0 -1
  326. package/assets/esri/core/workers/chunks/e153e89c8a15c2f036ef.js +0 -1
  327. package/assets/esri/core/workers/chunks/e201ffcca7321771ee20.js +0 -1
  328. package/assets/esri/core/workers/chunks/e5b5b93e707173a4c883.js +0 -1
  329. package/assets/esri/core/workers/chunks/f7d1f75b6aa3ef566d74.js +0 -1
  330. package/assets/esri/core/workers/chunks/fde9e9683335fa6c8236.js +0 -1
  331. package/core/queryUtils.js +0 -5
  332. package/views/3d/layers/graphics/Graphics3DFilterVisibility.js +0 -5
  333. package/views/3d/layers/support/HeatmapFilterVisibility.js +0 -5
  334. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js +0 -5
  335. package/views/3d/webgl-engine/core/shaderLibrary/util/HeaderComment.glsl.js +0 -10
  336. package/views/3d/webgl-engine/lib/RenderPass.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import t from"../../Graphic.js";import{read as r,rasterRendererTypes as i,websceneRasterRendererTypes as s}from"../../rasterRenderers.js";import n from"../../request.js";import o from"../../core/Error.js";import{strict as a}from"../../core/jsonMap.js";import{clone as l}from"../../core/lang.js";import u from"../../core/Logger.js";import{isSome as p,isNone as c,unwrap as m}from"../../core/maybe.js";import{when as d}from"../../core/promiseUtils.js";import{watch as h}from"../../core/reactiveUtils.js";import{urlToObject as f}from"../../core/urlUtils.js";import{aliasOf as y}from"../../core/accessorSupport/decorators/aliasOf.js";import{ensureClass as g,Integer as R,ensureNumber as v}from"../../core/accessorSupport/ensureType.js";import{property as S,ensureRange as b}from"../../core/accessorSupport/decorators/property.js";import{reader as I}from"../../core/accessorSupport/decorators/reader.js";import{subclass as x}from"../../core/accessorSupport/decorators/subclass.js";import{writer as _}from"../../core/accessorSupport/decorators/writer.js";import{opacity as w,url as F}from"../support/commonProperties.js";import D from"../support/DimensionalDefinition.js";import{ExportImageServiceParameters as j}from"../support/ExportImageServiceParameters.js";import T from"../support/Field.js";import P from"../support/FieldsIndex.js";import{isSupportedRendererType as O}from"../support/imageryRendererUtils.js";import N from"../support/MosaicRule.js";import C from"../support/PixelBlock.js";import{interpolationKebab as M,noDataInterpretationKebab as J}from"../support/rasterEnums.js";import q from"../support/RasterFunction.js";import V from"../support/RasterInfo.js";import A from"../support/RasterJobHandler.js";import{getDefaultMultidimensionalDefinition as E}from"../support/rasterDatasets/multidimensionalUtils.js";import{decode as Q,getFormat as z}from"../support/rasterFormats/RasterCodec.js";import{uvComponentToVector as H}from"../support/rasterFunctions/vectorFieldUtils.js";import{getSupportedRendererTypes as U,getDefaultBandCombination as L,createDefaultRenderer as B,normalizeRendererJSON as k}from"../../renderers/support/rasterRendererHelper.js";import G from"../../renderers/support/RasterSymbolizer.js";import{computeAngles as W,computePixelSpaceLocations as X,computeHistograms as K,computeStatisticsHistograms as Y,getImageSpatialReferenceQueryParameter as $,getSamples as Z,identify as ee}from"../../rest/imageService.js";import"../../core/has.js";import"../support/source/DataLayerSource.js";import{executeQueryJSON as te}from"../../rest/query/executeQueryJSON.js";import"../../core/unitUtils.js";import"../../geometry/support/spatialReferenceUtils.js";import"../graphics/featureConversionUtils.js";import re from"../../geometry/Extent.js";import"../../geometry/Geometry.js";import"../../geometry/Multipoint.js";import"../../geometry/Point.js";import ie from"../../geometry/Polygon.js";import"../../geometry/Polyline.js";import"../../geometry/support/normalizeUtils.js";import"../../core/pbf.js";import se from"../../rest/support/FeatureSet.js";import ne from"../../rest/support/Query.js";import"../../kernel.js";import"../../rest/query/support/AttachmentInfo.js";import"../../rest/support/AttachmentQuery.js";import{executeForCount as oe}from"../../rest/query/executeForCount.js";import{executeForIds as ae}from"../../rest/query/executeForIds.js";import"../../rest/support/RelationshipQuery.js";import"../../rest/support/TopFeaturesQuery.js";import{fetchServiceRasterInfo as le,generateRasterInfo as ue}from"../../rest/imageService/fetchRasterInfo.js";import{getCatalogItemRasterInfo as pe}from"../../rest/imageService/getCatalogItemRasterInfo.js";import ce from"../../rest/support/ImageAngleParameters.js";import me from"../../rest/support/ImageHistogramParameters.js";import de from"../../rest/support/ImageIdentifyParameters.js";import he from"../../rest/support/ImagePixelLocationParameters.js";import fe from"../../rest/support/ImageSampleParameters.js";import{createFlowMesh as ye}from"../../views/2d/engine/flow/dataUtils.js";import ge from"../../geometry/SpatialReference.js";const Re=a()({U1:"u1",U2:"u2",U4:"u4",U8:"u8",S8:"s8",U16:"u16",S16:"s16",U32:"u32",S32:"s32",F32:"f32",F64:"f64",C64:"c64",C128:"c128",UNKNOWN:"unknown"}),ve=new Set(["png","png8","png24","png32","jpg","bmp","gif","jpgpng","lerc","tiff"]),Se=b(v,{min:0,max:255});function be(e){if(!e)return null;const t=JSON.stringify(e).match(/"rasterFunction":"(.*?")/gi)?.map((e=>e.replace('"rasterFunction":"',"").replace('"',"")));return t?t.join("/"):null}const Ie=a=>{let v=class extends a{constructor(){super(...arguments),this._functionRasterInfos={},this._rasterJobHandler={instance:null,refCount:0,connectionPromise:null},this._defaultServiceMosaicRule=null,this._serviceSourceType=null,this._serviceSupportsMosaicRule=null,this.rasterAttributeTableFieldPrefix="Raster.",this.adjustAspectRatio=null,this.bandCount=null,this.bandIds=void 0,this.capabilities=null,this.compressionQuality=void 0,this.compressionTolerance=.01,this.copyright=null,this.definitionExpression=null,this.exportImageServiceParameters=null,this.rasterInfo=null,this.fields=null,this.fullExtent=null,this.hasMultidimensions=!1,this.imageMaxHeight=4100,this.imageMaxWidth=4100,this.interpolation=void 0,this.minScale=0,this.maxScale=0,this.multidimensionalInfo=null,this.noData=null,this.noDataInterpretation=void 0,this.objectIdField=null,this.geometryType="polygon",this.typeIdField=null,this.types=[],this.pixelSizeX=null,this.pixelSizeY=null,this.pixelFilter=null,this.raster=void 0,this.viewId=void 0,this.symbolizer=null,this.rasterAttributeTable=null,this.rasterFunctionInfos=null,this.serviceDataType=null,this.spatialReference=null,this.pixelType=null,this.serviceRasterInfo=null,this.sourceJSON=null,this.url=null,this.version=void 0}initialize(){this._set("exportImageServiceParameters",new j({layer:this}))}readDefaultServiceMosaicRule(e,t){return this._serviceSupportsMosaicRule?N.fromJSON(t):null}readServiceSourceType(e,t){return this._isMosaicDataset(t)?"mosaic-dataset":"raster-dataset"}readServiceSupportsMosaicRule(e,t){return this._isMosaicRuleSupported(t)}get _rasterFunctionNamesIndex(){const e=new Map;return!this.rasterFunctionInfos||p(this.rasterFunctionInfos)&&this.rasterFunctionInfos.length<1||p(this.rasterFunctionInfos)&&this.rasterFunctionInfos.forEach((t=>{e.set(t.name.toLowerCase().replace(/ /gi,"_"),t.name)})),e}readBandIds(e,t){if(Array.isArray(e)&&e.length>0&&e.every((e=>"number"==typeof e)))return e}readCapabilities(e,t){return this._readCapabilities(t)}writeCompressionQuality(e,t,r){null!=e&&"lerc"!==this.format&&(t[r]=e)}writeCompressionTolerance(e,t,r){"lerc"===this.format&&null!=e&&(t[r]=e)}get fieldsIndex(){return this.fields?new P(this.fields):null}set format(e){e&&ve.has(e.toLowerCase())&&this._set("format",e.toLowerCase())}readFormat(e,t){return"esriImageServiceDataTypeVector-UV"===t.serviceDataType||"esriImageServiceDataTypeVector-MagDir"===t.serviceDataType||null!=this.pixelFilter?"lerc":"jpgpng"}readMinScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}readMaxScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}set mosaicRule(e){let t=e;t&&t.mosaicMethod&&(t=N.fromJSON({...t.toJSON(),mosaicMethod:t.mosaicMethod,mosaicOperation:t.mosaicOperation})),this._set("mosaicRule",t)}readMosaicRule(e,t){const r=e||t.mosaicRule;return r?N.fromJSON(r):this._isMosaicRuleSupported(t)?N.fromJSON(t):null}writeMosaicRule(e,t,r){let i=this.mosaicRule;const s=this.definitionExpression;i?s&&s!==i.where&&(i=i.clone(),i.where=s):s&&(i=new N({where:s})),this._isValidCustomizedMosaicRule(i)&&(t[r]=i.toJSON())}writeNoData(e,t,r){null!=e&&"number"==typeof e&&(t[r]=Se(e))}readObjectIdField(e,t){if(!e){const r=t.fields.filter((e=>"esriFieldTypeOID"===e.type||"oid"===e.type));e=r&&r[0]&&r[0].name}return e}get parsedUrl(){return this.url?f(this.url):null}set renderer(e){this.loaded&&(e=this._configRenderer(e)),this._set("renderer",e)}readRenderer(e,t,i){const s=t?.layerDefinition?.drawingInfo?.renderer,n=r(s,i);return null==n?null:("vector-field"===n.type&&t.symbolTileSize&&!s.symbolTileSize&&(n.symbolTileSize=t.symbolTileSize),O(n)||u.getLogger(this.declaredClass).warn("ArcGISImageService","Imagery layer doesn't support given renderer type."),n)}writeRenderer(e,t,r){t.layerDefinition=t.layerDefinition||{},t.layerDefinition.drawingInfo=t.layerDefinition.drawingInfo||{},t.layerDefinition.drawingInfo.renderer=e.toJSON(),"vector-field"===e.type&&(t.symbolTileSize=e.symbolTileSize)}get rasterFields(){const e=this.rasterAttributeTableFieldPrefix||"Raster.",t=new T({name:"Raster.ItemPixelValue",alias:"Item Pixel Value",domain:null,editable:!1,length:50,type:"string"}),r=new T({name:"Raster.ServicePixelValue",alias:"Service Pixel Value",domain:null,editable:!1,length:50,type:"string"}),i=new T({name:"Raster.ServicePixelValue.Raw",alias:"Raw Service Pixel Value",domain:null,editable:!1,length:50,type:"string"});let s=this.fields?l(this.fields):[];s.push(r),this.capabilities.operations.supportsQuery&&this.fields&&this.fields.length>0&&s.push(t),this.version>=10.4&&p(this.rasterFunctionInfos)&&this.rasterFunctionInfos.some((e=>"none"===e.name.toLowerCase()))&&s.push(i),p(this.rasterFunctionInfos)&&this.rasterFunctionInfos.filter((e=>"none"!==e.name.toLowerCase())).forEach((e=>{s.push(new T({name:"Raster.ServicePixelValue."+e.name,alias:e.name,domain:null,editable:!1,length:50,type:"string"}))})),this._isVectorDataSet()&&(s.push(new T({name:"Raster.Magnitude",alias:"Magnitude",domain:null,editable:!1,type:"double"})),s.push(new T({name:"Raster.Direction",alias:"Direction",domain:null,editable:!1,type:"double"})));const n=this.rasterInfo.attributeTable&&this.rasterInfo.attributeTable.fields||null;if(n&&n.length>0){const t=n.filter((e=>"esriFieldTypeOID"!==e.type&&"value"!==e.name.toLowerCase())).map((t=>{const r=l(t);return r.name=e+t.name,r}));s=s.concat(t)}return s}set renderingRule(e){let t=e;t&&t.rasterFunction&&(t=q.fromJSON({...t.toJSON(),rasterFunction:t.rasterFunction,rasterFunctionArguments:t.rasterFunctionArguments})),this._set("renderingRule",t)}readRenderingRule(e,t){const r=t.rasterFunctionInfos;return t.renderingRule||r&&r.length&&"None"!==r[0].name?this._isRFTJson(t.renderingRule)?q.fromJSON({rasterFunctionDefinition:t.renderingRule}):q.fromJSON(t.renderingRule||{rasterFunctionInfos:t.rasterFunctionInfos}):null}writeRenderingRule(e,t,r){const i=e.toJSON();i.rasterFunctionDefinition?t[r]=i.rasterFunctionDefinition:t[r]=i}readSpatialReference(e,t){const r=e||t.extent.spatialReference;return r?ge.fromJSON(r):null}readPixelType(e){return Re.fromJSON(e)||e}writePixelType(e,t,r){(c(this.serviceRasterInfo)||this.pixelType!==this.serviceRasterInfo.pixelType)&&(t[r]=Re.toJSON(e))}readVersion(e,t){let r=t.currentVersion;return r||(r=t.hasOwnProperty("fields")||t.hasOwnProperty("timeInfo")?10:9.3),r}applyFilter(e){let t=e;return this.pixelFilter&&(t=this._clonePixelData(e),this.pixelFilter(t)),t}async applyRenderer(e,t){let r=e;if(!this._isPicture()&&this.renderer&&this.symbolizer&&!this.pixelFilter){const i=JSON.stringify(this._cachedRendererJson)!==JSON.stringify(this.renderer.toJSON()),s=this._rasterJobHandler.instance,{bandIds:n}=this;if(s){i&&(this.symbolizer.bind(),await s.updateSymbolizer(this.symbolizer,t),this._cachedRendererJson=this.renderer.toJSON());const o=await s.symbolize({bandIds:n,...e},t);r={extent:e.extent,pixelBlock:o}}else r={extent:e.extent,pixelBlock:this.symbolizer.symbolize({bandIds:n,...e})}}return r}destroy(){this._shutdownJobHandler()}increaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount--,this._rasterJobHandler.refCount<=0&&this._shutdownJobHandler()}async computeAngles(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsComputeAngles)throw new o("imagery-layer:compute-angles","this operation is not supported on the input image service");return e=g(ce,e).clone(),W(this.url,e,this._getRequestOptions(t))}async computePixelSpaceLocations(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsComputePixelLocation)throw new o("imagery-layer:compute-pixel-space-locations","this operation is not supported on the input image service");return e=g(he,e).clone(),X(this.url,e,this._getRequestOptions(t))}async computeHistograms(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsComputeHistograms)throw new o("imagery-layer:compute-histograms","this operation is not supported on the input image service");e=g(me,e).clone();const{raster:r,mosaicRule:i,renderingRule:s}=this;return s&&null==e.renderingRule&&(e.renderingRule=s),i&&null==e.mosaicRule&&(e.mosaicRule=i),r&&null==e.raster&&(e.raster=r),K(this.url,e,this._getRequestOptions(t))}async computeStatisticsHistograms(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsComputeStatisticsHistograms)throw new o("imagery-layer:compute-statistics-histograms","this operation is not supported on the input image service");e=g(me,e).clone();const{raster:r,mosaicRule:i,renderingRule:s}=this;return s&&null==e.renderingRule&&(e.renderingRule=s),i&&null==e.mosaicRule&&(e.mosaicRule=i),r&&null==e.raster&&(e.raster=r),Y(this.url,e,this._getRequestOptions(t))}getField(e){const{fieldsIndex:t}=this;return p(t)?t.get(e):void 0}getFieldDomain(e,t){const r=this.getField(e);return r?r.domain:null}fetchImage(e,t,r,i={}){if(null==e||null==t||null==r)return Promise.reject(new o("imagery-layer:fetch-image","Insufficient parameters for requesting an image. A valid extent, width and height values are required."));const s=this.renderer||this.symbolizer?this.generateRasterInfo(this.renderingRule,{signal:i.signal}):null;return d(s).then((s=>{s&&(this.rasterInfo=s);const n={imageServiceParameters:this.getExportImageServiceParameters(e,t,r,i.timeExtent),imageProps:{extent:e,width:t,height:r,format:this.format},requestAsImageElement:i.requestAsImageElement&&!this.pixelFilter||!1,signal:i.signal};return this._requestArrayBuffer(n)}))}fetchKeyProperties(e){return n(this.parsedUrl.path+"/keyProperties",{query:this._getQueryParams({renderingRule:this.version>=10.3?e?.renderingRule:null})}).then((e=>e.data))}fetchRasterAttributeTable(e){return this.version<10.1?Promise.reject(new o("#fetchRasterAttributeTable()","Failed to get rasterAttributeTable")):n(this.parsedUrl.path+"/rasterAttributeTable",{query:this._getQueryParams({renderingRule:this.version>=10.3?e?.renderingRule:null})}).then((e=>se.fromJSON(e.data)))}getCatalogItemRasterInfo(e,t){const r={...t,query:this._getQueryParams()};return pe(this.parsedUrl.path,e,r)}async getCatalogItemICSInfo(e,t){const{data:r}=await n(this.parsedUrl.path+"/"+e+"/info/ics",{query:this._getQueryParams(),...t}),i=r&&r.ics;if(!i)return;let s=null;try{s=(await n(this.parsedUrl.path+"/"+e+"/info",{query:this._getQueryParams(),...t})).data.extent}catch{}if(!s||!s.spatialReference)return{ics:i,icsToPixelTransform:null,icsExtent:null,northDirection:null};const o=this.version>=10.7?n(this.parsedUrl.path+"/"+e+"/info/icstopixel",{query:this._getQueryParams(),...t}).then((e=>e.data)).catch((()=>({}))):{},a=s.spatialReference,l={geometries:JSON.stringify({geometryType:"esriGeometryEnvelope",geometries:[s]}),inSR:a.wkid||JSON.stringify(a),outSR:"0:"+e},u=n(this.parsedUrl.path+"/project",{query:this._getQueryParams(l),...t}).then((e=>e.data)).catch((()=>({}))),p=5,c=(s.xmin+s.xmax)/2,m=(s.ymax-s.ymin)/(p+1),d=s.ymin+m,h=[];for(let n=0;n<p;n++)h.push({x:c,y:d+m*n});const f={geometries:JSON.stringify({geometryType:"esriGeometryPoint",geometries:h}),inSR:a.wkid||JSON.stringify(a),outSR:"0:"+e},y=n(this.parsedUrl.path+"/project",{query:this._getQueryParams(f),...t}).then((e=>e.data)).catch((()=>({}))),g=await Promise.all([o,u,y]);let R=g[0].ipxf;if(null==R){const e=i.geodataXform?.xf_0;"topup"===e?.name?.toLowerCase()&&6===e?.coefficients?.length&&(R={affine:{name:"ics [sensor: Frame] to pixel (column, row) transformation",coefficients:e.coefficients,cellsizeRatio:0,type:"GeometricXform"}})}const v=re.fromJSON(g[1]&&g[1].geometries&&g[1].geometries[0]);v&&(v.spatialReference=new ge({wkid:0,imageCoordinateSystem:i}));const S=g[2].geometries?g[2].geometries.filter((e=>null!=e&&null!=e.x&&null!=e.y&&"NaN"!==e.x&&"NaN"!==e.y)):[],b=S.length;if(b<3)return{ics:i,icsToPixelTransform:R,icsExtent:v,northDirection:null};let I=0,x=0,_=0,w=0;for(let n=0;n<b;n++)I+=S[n].x,x+=S[n].y,_+=S[n].x*S[n].x,w+=S[n].x*S[n].y;const F=(b*w-I*x)/(b*_-I*I);let D=0;const j=S[p-1].x>S[0].x,T=S[p-1].y>S[0].y;return F===1/0?D=T?90:270:0===F?D=j?0:180:F>0?D=j?180*Math.atan(F)/Math.PI:180*Math.atan(F)/Math.PI+180:F<0&&(D=T?180+180*Math.atan(F)/Math.PI:360+180*Math.atan(F)/Math.PI),{ics:i,icsToPixelTransform:R,icsExtent:v,northDirection:D}}async generateRasterInfo(e,t){if((!e||"none"===e?.functionName?.toLowerCase()||this._isVectorFieldResampleFunction(e))&&p(this.serviceRasterInfo))return this.serviceRasterInfo;const r=be(e);if(this._functionRasterInfos[r])return this._functionRasterInfos[r];const i=this._generateRasterInfo(e,t);this._functionRasterInfos[r]=i;try{return await i}catch{return this._functionRasterInfos[r]=null,null}}getExportImageServiceParameters(e,t,r,i){e=e.clone().shiftCentralMeridian();const s=$(e.spatialReference,this.parsedUrl.path);p(this.serviceRasterInfo)&&this.pixelType!==this.serviceRasterInfo.pixelType&&(this.exportImageServiceParameters.pixelType=this.pixelType);const n=this.exportImageServiceParameters.toJSON(),{bandIds:o,noData:a}=n;let{renderingRule:l}=n;const u=this.renderingRule?.rasterFunctionDefinition,c=!this.renderer||"raster-stretch"===this.renderer.type;if(o?.length&&this._hasRenderingRule(this.renderingRule)&&!u&&c){const e={rasterFunction:"ExtractBand",rasterFunctionArguments:{BandIds:o}};if("Stretch"===l.rasterFunction)e.rasterFunctionArguments.Raster=l.rasterFunctionArguments.Raster,l.rasterFunctionArguments.Raster=e;else if("Colormap"===l.rasterFunction){const t=l.rasterFunctionArguments.Raster;"Stretch"===t?.rasterFunction?(e.rasterFunctionArguments.Raster=t.rasterFunctionArguments.Raster,t.rasterFunctionArguments.Raster=e):(e.rasterFunctionArguments.Raster=t,l.rasterFunctionArguments.Raster=e)}else e.rasterFunctionArguments.Raster=l,l=e;n.bandIds=void 0}else n.bandIds=o?.join(",");a instanceof Array&&a.length>0&&(n.noData=a.join(","));const m=this._serviceSupportsMosaicRule?this._combineMosaicRuleWithTimeExtent(this.exportImageServiceParameters.mosaicRule,i):null;n.mosaicRule=m&&JSON.stringify(m),n.renderingRule=this._getRenderingRuleString(q.fromJSON(l));const d={};if(i){const{start:e,end:t}=i.toJSON();e&&t&&e===t?d.time=""+e:null==e&&null==t||(d.time=`${e??"null"},${t??"null"}`)}return{bbox:e.xmin+","+e.ymin+","+e.xmax+","+e.ymax,bboxSR:s,imageSR:s,size:t+","+r,...n,...d}}async getSamples(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsGetSamples)throw new o("imagery-layer:get-samples","getSamples operation is not supported on the input image service");e=g(fe,e).clone();const{raster:r}=this;return r&&null==e.raster&&(e.raster=r),Z(this.url,e,this._getRequestOptions(t))}async identify(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsIdentify)throw new o("imagery-layer:query-rasters","query operation is not supported on the input image service");e=g(de,e).clone();const{raster:r,mosaicRule:i,renderingRule:s}=this;if(s&&null==e.renderingRule&&(e.renderingRule=s),i&&null==e.mosaicRule){const t=this._combineMosaicRuleWithTimeExtent(i,e.timeExtent);e.mosaicRule=m(t)}return r&&null==e.raster&&(e.raster=r),ee(this.url,e,this._getRequestOptions(t))}createQuery(){const e=new ne;return e.outFields=["*"],e.returnGeometry=!0,e.where=this.definitionExpression||"1=1",e}async queryRasters(e,t){return({query:e,requestOptions:t}=await this._prepareForQuery(e,t)),te(this.url,e,t)}async queryObjectIds(e,t){return({query:e,requestOptions:t}=await this._prepareForQuery(e,t)),ae(this.url,e,t)}async queryRasterCount(e,t){return({query:e,requestOptions:t}=await this._prepareForQuery(e,t)),oe(this.url,e,t)}async queryVisibleRasters(e,t){if(!e)throw new o("imagery-layer: query-visible-rasters","missing query parameter");const{pixelSize:r,returnDomainValues:i,returnTopmostRaster:s,showNoDataRecords:n}=t||{pixelSize:null,returnDomainValues:!1,returnTopmostRaster:!1,showNoDataRecords:!1};let a=!1,l=null,u=null;const m="raster.servicepixelvalue",d=this._rasterFunctionNamesIndex;if(p(e.outFields)&&(a=e.outFields.some((e=>!e.toLowerCase().includes(m))),this.version>=10.4)){const t=e.outFields.filter((e=>e.toLowerCase().includes(m)&&e.length>m.length)).map((e=>{const t=e.slice(m.length+1);return[this._updateRenderingRulesFunctionName(t,d),t]}));l=t.map((e=>new q({functionName:e[0]}))),u=t.map((e=>e[1])),0===l.length?this.renderingRule?(l.push(this.renderingRule),u.push(this.renderingRule.functionName)):l=null:this.renderingRule&&!l.some((e=>e.functionName===this.renderingRule.functionName))&&(l.push(this.renderingRule),u.push(this.renderingRule.functionName))}const h=c(e.outSpatialReference)||e.outSpatialReference.equals(this.spatialReference),f=e.timeExtent||this.timeExtent,y=this._combineMosaicRuleWithTimeExtent(this.exportImageServiceParameters.mosaicRule,f),g=this._getQueryParams({geometry:e.geometry,timeExtent:f,mosaicRule:y,renderingRule:this.version<10.4?this.renderingRule:null,renderingRules:l,pixelSize:r,returnCatalogItems:a,returnGeometry:h,raster:this.raster,maxItemCount:s?1:null});delete g.f;const R=new de(g);try{await this.generateRasterInfo(this.renderingRule);const r=await ee(this.url,R,{signal:t?.signal,query:{...this.customParameters}}),s=e.outFields,o=r.value.toLowerCase().includes("nodata");if(!(a&&!h&&r?.catalogItems?.features.length&&(n||!o)))return this._processVisibleRastersResponse(r,{returnDomainValues:i,templateRRFunctionNames:u,showNoDataRecords:n,templateFields:s});const l=this.objectIdField||"ObjectId",c=r.catalogItems.features,m=c.map((e=>e.attributes?.[l])),d=new ne({objectIds:m,returnGeometry:!0,outSpatialReference:e.outSpatialReference,outFields:[l]}),f=await this.queryRasters(d);return f?.features?.length&&f.features.forEach((t=>{c.forEach((r=>{r.attributes[l]===t.attributes[l]&&(r.geometry=new ie(t.geometry),p(e.outSpatialReference)&&(r.geometry.spatialReference=e.outSpatialReference))}))})),this._processVisibleRastersResponse(r,{returnDomainValues:i,templateRRFunctionNames:u,showNoDataRecords:n,templateFields:s})}catch{throw new o("imagery-layer:query-visible-rasters","encountered error when querying visible rasters")}}async fetchVariableStatisticsHistograms(e,t){const r=n(this.parsedUrl.path+"/statistics",{query:this._getQueryParams({variable:e}),signal:t}).then((e=>e.data?.statistics)),i=n(this.parsedUrl.path+"/histograms",{query:this._getQueryParams({variable:e}),signal:t}).then((e=>e.data?.histograms)),s=await Promise.all([r,i]);return s[0]&&s[0].forEach((e=>{e.avg=e.mean,e.stddev=e.standardDeviation})),{statistics:s[0]||null,histograms:s[1]||null}}async createFlowMesh(e,t){const r=this._rasterJobHandler.instance;return r?r.createFlowMesh(e,t):ye(e.meshType,e.simulationSettings,e.flowData,p(t.signal)?t.signal:(new AbortController).signal)}async _fetchService(e){await this._fetchServiceInfo(e),p(this.serviceRasterInfo)&&!this.rasterInfo&&(this.rasterInfo=this.serviceRasterInfo);const t=this.sourceJSON,r=p(this.serviceRasterInfo)?Promise.resolve(this.serviceRasterInfo):le(this.parsedUrl.path,t,{signal:e,query:this._getQueryParams()}).then((e=>(this._set("serviceRasterInfo",e),e))),i=this._hasRenderingRule(this.renderingRule)?this.generateRasterInfo(this.renderingRule,{signal:e}):null,s=this._getRasterFunctionInfos();return Promise.all([r,i,s]).then((e=>{e[1]?this._set("rasterInfo",e[1]):this._set("rasterInfo",e[0]),e[2]&&this._set("rasterFunctionInfos",e[2]),this.renderer&&!this._isSupportedRenderer(this.renderer)&&(this._set("renderer",null),u.getLogger(this.declaredClass).warn("ArcGISImageService","Switching to the default renderer. Renderer applied is not valid for this Imagery Layer")),this._set("renderer",this._configRenderer(this.renderer)),this.addHandles(h((()=>this.renderingRule),(e=>{(this.renderer||this.symbolizer||this.popupEnabled&&this.popupTemplate)&&this.generateRasterInfo(e).then((e=>{e&&(this.rasterInfo=e)}))})));const{serviceRasterInfo:t}=this;p(t)&&t.multidimensionalInfo&&this._updateMultidimensionalDefinition(t)}))}_combineMosaicRuleWithTimeExtent(e,t){const r=this.timeInfo;if(c(e)||c(this.multidimensionalInfo)||c(t)||c(r?.startField))return e;const{startField:i}=r,s=this.multidimensionalInfo.variables.some((e=>e.dimensions.some((e=>e.name===i))))?i:"StdTime";if(e=e.clone(),"mosaic-dataset"===this._serviceSourceType)return e.multidimensionalDefinition=e.multidimensionalDefinition?.filter((e=>e.dimensionName!==s)),this._cleanupMultidimensionalDefinition(e);e.multidimensionalDefinition=e.multidimensionalDefinition||[];const n=e.multidimensionalDefinition.filter((e=>e.dimensionName===s)),o=p(t.start)?t.start.getTime():null,a=p(t.end)?t.end.getTime():null,l=null==o||null==a||o===a,u=l?[o||a]:[[o,a]],m=this.version>=10.8;if(n.length)n.forEach((e=>{e.dimensionName===s&&(m?(e.dimensionName=null,e.isSlice=null,e.values=null):(e.isSlice=l,e.values=u))}));else if(!m){const t=e.multidimensionalDefinition.filter((e=>null!=e.variableName&&null==e.dimensionName));t.length?t.forEach((e=>{e.dimensionName=s,e.isSlice=l,e.values=u})):e.multidimensionalDefinition.push(new D({variableName:"",dimensionName:s,isSlice:l,values:u}))}return this._cleanupMultidimensionalDefinition(e)}_cleanupMultidimensionalDefinition(e){return c(e)?null:(e.multidimensionalDefinition&&(e.multidimensionalDefinition=e.multidimensionalDefinition.filter((e=>!(!e.variableName&&!e.dimensionName))),0===e.multidimensionalDefinition.length&&(e.multidimensionalDefinition=null)),"mosaic-dataset"!==this._serviceSourceType&&null==e.multidimensionalDefinition?null:e)}async _prepareForQuery(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsQuery)throw new o("imagery-layer:query-rasters","query operation is not supported on the input image service");return e=p(e)?g(ne,e):this.createQuery(),t=this._getRequestOptions(t),this.raster&&(t.query={...t.query,raster:this.raster}),{query:e,requestOptions:t}}async _initJobHandler(){if(null!=this._rasterJobHandler.connectionPromise)return this._rasterJobHandler.connectionPromise;const e=new A;this._rasterJobHandler.connectionPromise=e.initialize().then((()=>{this._rasterJobHandler.instance=e}),(()=>null)),await this._rasterJobHandler.connectionPromise}_shutdownJobHandler(){this._rasterJobHandler.instance&&this._rasterJobHandler.instance.destroy(),this._rasterJobHandler.instance=null,this._rasterJobHandler.connectionPromise=null,this._rasterJobHandler.refCount=0,this._cachedRendererJson=null}_isSupportedRenderer(e){const{rasterInfo:t,renderingRule:r}=this;return"unique-value"===e.type&&this._hasRenderingRule(r)&&1===t.bandCount&&["u8","s8"].includes(t.pixelType)||U(this.rasterInfo).includes(this.renderer.type)}async _fetchCapabilities(e){return this.capabilities||await this._fetchServiceInfo(e),this.capabilities}async _fetchServiceInfo(e){let t=this.sourceJSON;if(!t){const{data:r,ssl:i}=await n(this.parsedUrl.path,{query:this._getQueryParams(),signal:e});t=r,this.sourceJSON=t,i&&(this.url=this.url.replace(/^http:/i,"https:"))}if(t.capabilities?.toLowerCase().split(",").map((e=>e.trim())).indexOf("tilesonly")>-1)throw new o("imagery-layer:fetch-service-info","use ImageryTileLayer to open tiles-only image services");this.read(t,{origin:"service",url:this.parsedUrl})}_isMosaicDataset(e){return e.serviceSourceType?"esriImageServiceSourceTypeMosaicDataset"===e.serviceSourceType:e.fields?.length>0}_isMosaicRuleSupported(e){if(!e)return!1;const t=this._isMosaicDataset(e),r=e.currentVersion>=10.71&&e.hasMultidimensions&&e.timeInfo&&!(e.objectIdField&&e.fields?.length>1);return t||r}_isVectorFieldResampleFunction(e){if(c(e))return!1;const{functionName:t,functionArguments:r}=e,i="resample"===t?.toLowerCase(),s=r?.ResampleType||r?.resampleType;return i&&(7===s||10===s)}_isPicture(){return!this.format||this.format.includes("jpg")||this.format.includes("png")}_configRenderer(e){if(!this._isPicture()&&!this.pixelFilter||this._isVectorDataSet()){if(!this.bandIds&&this.rasterInfo.bandCount>=3){const e=L(this.rasterInfo);!e||3===this.rasterInfo.bandCount&&0===e[0]&&1===e[1]&&2===e[2]||(this.bandIds=e)}e||(e=B(this.rasterInfo,{bandIds:this.bandIds,variableName:this.renderingRule?null:this.mosaicRule?.multidimensionalDefinition?.[0].variableName}));const t=k(e.toJSON());this.symbolizer?(this.symbolizer.rendererJSON=t,this.symbolizer.rasterInfo=this.rasterInfo):this.symbolizer=new G({rendererJSON:t,rasterInfo:this.rasterInfo}),this.symbolizer.bind().success||(this.symbolizer=null)}return e}_clonePixelData(e){return null==e?e:{extent:e.extent&&e.extent.clone(),pixelBlock:p(e.pixelBlock)&&e.pixelBlock.clone()}}_getQueryParams(e){p(e?.renderingRule)&&"string"!=typeof e.renderingRule&&(e.renderingRule=this._getRenderingRuleString(e.renderingRule));const{raster:t,viewId:r}=this;return{raster:t,viewId:r,f:"json",...e,...this.customParameters}}_getRequestOptions(e){return{...e,query:{...e?.query,...this.customParameters}}}_decodePixelBlock(e,t,r){return this._rasterJobHandler.instance?this._rasterJobHandler.instance.decode({data:e,options:t}):Q(e,t,r)}async _getRasterFunctionInfos(e){const t=this.sourceJSON.rasterFunctionInfos;if(this.serviceRasterInfo)return t;if(t&&this.version>=10.3){if(1===t.length&&"none"===t[0].name.toLowerCase())return t;return(await n(this.parsedUrl.path+"/rasterFunctionInfos",{query:this._getQueryParams(),signal:e})).data?.rasterFunctionInfos}return null}async _requestArrayBuffer(e){const{imageProps:t,requestAsImageElement:r,signal:i}=e;if(r&&!this.pixelFilter&&t.format?.indexOf("png")>-1){return{imageElement:(await n(this.parsedUrl.path+"/exportImage",{responseType:"image",query:this._getQueryParams({f:"image",...e.imageServiceParameters}),signal:i})).data,params:t}}const s=this._initJobHandler(),a=n(this.parsedUrl.path+"/exportImage",{responseType:"array-buffer",query:this._getQueryParams({f:"image",...e.imageServiceParameters}),signal:i}),l=(await Promise.all([a,s]))[0].data,u=t.format||"jpgpng";let p=u;if("bsq"!==p&&"bip"!==p&&(p=z(l)),!p)throw new o("imagery-layer:fetch-image","unsupported format signature "+String.fromCharCode.apply(null,new Uint8Array(l)));const c={signal:i},m="gif"===u||"bmp"===u||u.includes("png")&&("png"===p||"jpg"===p)?Q(l,{useCanvas:!0,...t},c):this._decodePixelBlock(l,{width:t.width,height:t.height,planes:null,pixelType:null,noDataValue:null,format:u},c);return{pixelData:{pixelBlock:await m,extent:t.extent},params:t}}_generateRasterInfo(e,t){const r={...t,query:this._getQueryParams()};return ue(this.parsedUrl.path,e,r)}_isValidCustomizedMosaicRule(e){return e&&JSON.stringify(e.toJSON())!==JSON.stringify(this._defaultServiceMosaicRule?.toJSON())}_updateMultidimensionalDefinition(e){if(this._isValidCustomizedMosaicRule(this.mosaicRule))return;const t=E(e);if(p(t)&&t.length>0){this.mosaicRule=this.mosaicRule||new N;const e=this.mosaicRule.multidimensionalDefinition;(!e||e&&e.length<=0)&&(this.mosaicRule.multidimensionalDefinition=t)}}_processVisibleRastersResponse(e,r){r=r||{};const i=e.value,{templateRRFunctionNames:s,showNoDataRecords:n,returnDomainValues:o,templateFields:a}=r,l=e.processedValues;let u=e.catalogItems&&e.catalogItems.features,c=e.properties&&e.properties.Values&&e.properties.Values.map((e=>e.replace(/ /gi,", ")))||[];const m=this.objectIdField||"ObjectId",d="string"==typeof i&&i.toLowerCase().includes("nodata"),h=[];if(i&&!u&&!d){const e={};e[m]=0;c=[i],u=[new t(this.fullExtent,null,e)]}if(!u)return[];let f,y,g;this._updateResponseFieldNames(u,a),d&&!n&&(u=[]);for(let t=0;t<u.length;t++){if(f=u[t],null!=i){if(y=c[t],g=this.renderingRule&&l&&l.length>0&&s&&s.length>0&&s.includes(this.renderingRule.functionName)?l[s.indexOf(this.renderingRule.functionName)]:i,"nodata"===y.toLowerCase()&&!n)continue;const e="Raster.ItemPixelValue",r="Raster.ServicePixelValue";f.attributes[e]=y,f.attributes[r]=g,this._updateFeatureWithMagDirValues(f,y);const o=this.fields&&this.fields.length>0;let a=this.renderingRule&&p(this.serviceRasterInfo)&&this.serviceRasterInfo.attributeTable?o?y:i:g;this.renderingRule||(a=o?y:i),this._updateFeatureWithRasterAttributeTableValues(f,a)}if(f.sourceLayer=f.layer=this,o&&this._updateFeatureWithDomainValues(f),s&&l&&s.length===l.length)for(let e=0;e<s.length;e++){const t="Raster.ServicePixelValue."+s[e];f.attributes[t]=l[e]}h.push(u[t])}return h}_updateFeatureWithRasterAttributeTableValues(e,t){const r=this.rasterInfo&&this.rasterInfo.attributeTable||p(this.serviceRasterInfo)&&this.serviceRasterInfo.attributeTable,i=r&&r.features;if(!i)return;const s=r.fields,n=s.map((e=>e.name)).filter((e=>"value"===e.toLowerCase())),o=n&&n[0];if(!o)return;const a=i.filter((e=>e.attributes[o]===(null!=t?parseInt(t,10):null)));a&&a[0]&&s.forEach((t=>{const r=this.rasterAttributeTableFieldPrefix+t.name;e.attributes[r]=a[0].attributes[t.name]}))}_updateFeatureWithMagDirValues(e,t){if(!this._isVectorDataSet())return;const r=t.split(/,\s*/).map((e=>parseFloat(e))),i=r.map((e=>[e])),s=r.map((e=>({minValue:e,maxValue:e,noDataValue:null}))),n=new C({height:1,width:1,pixelType:"f32",pixels:i,statistics:s});null!=this.pixelFilter&&this.pixelFilter({pixelBlock:n,extent:new re(0,0,0,0,this.spatialReference)});const o="esriImageServiceDataTypeVector-MagDir"===this.serviceDataType?[n.pixels[0][0],n.pixels[1][0]]:H([n.pixels[0][0],n.pixels[1][0]]);e.attributes["Raster.Magnitude"]=o[0],e.attributes["Raster.Direction"]=o[1]}_updateFeatureWithDomainValues(e){const t=this.fields&&this.fields.filter((e=>e.domain&&"coded-value"===e.domain.type));null!=t&&t.forEach((t=>{const r=e.attributes[t.name];if(null!=r){const i=t.domain.codedValues.find((e=>e.code===r));i&&(e.attributes[t.name]=i.name)}}))}_updateResponseFieldNames(e,t){if(!t||t.length<1)return;const r=this.fieldsIndex;c(r)||e.forEach((e=>{if(e&&e.attributes)for(const i of t)if(r.has(i)){const t=r.get(i).name;t!==i&&(e.attributes[i]=e.attributes[t],delete e.attributes[t])}}))}_getRenderingRuleString(e){if(this._hasRenderingRule(e)){let t=e.toJSON();return t=t.rasterFunctionDefinition??t,(t.thumbnail||t.thumbnailEx)&&(t.thumbnail=t.thumbnailEx=null),JSON.stringify(t)}return null}_hasRenderingRule(e){return e&&e.functionName&&"none"!==e.functionName.toLowerCase()}_updateRenderingRulesFunctionName(e,t){if(!e||e.length<1)return;if("Raw"===e)return e.replace("Raw","None");const r=e.toLowerCase().replace(/ /gi,"_");return t.has(r)?t.get(r):e}_isRFTJson(e){return e&&e.name&&e.arguments&&e.function&&e.hasOwnProperty("functionType")}_isVectorDataSet(){return"esriImageServiceDataTypeVector-UV"===this.serviceDataType||"esriImageServiceDataTypeVector-MagDir"===this.serviceDataType}_readCapabilities(e){const t=e.capabilities?e.capabilities.toLowerCase().split(",").map((e=>e.trim())):["image","catalog"],{currentVersion:r,advancedQueryCapabilities:i,maxRecordCount:s}=e,n=t.includes("image"),o="esriImageServiceDataTypeElevation"===e.serviceDataType,a=!!(e.spatialReference||e.extent&&e.extent.spatialReference),l=t.includes("edit");return{data:{supportsAttachment:!1},operations:{supportsComputeHistograms:n,supportsExportImage:n,supportsIdentify:n,supportsMeasure:t.includes("mensuration")&&a,supportsDownload:t.includes("download"),supportsQuery:t.includes("catalog")&&e.fields&&e.fields.length>0,supportsGetSamples:r>=10.2&&n,supportsProject:r>=10.3&&n,supportsComputeStatisticsHistograms:r>=10.4&&n,supportsQueryBoundary:r>=10.6&&n,supportsCalculateVolume:r>=10.7&&o,supportsComputePixelLocation:r>=10.7&&t.includes("catalog"),supportsComputeAngles:r>=10.91,supportsAdd:l,supportsDelete:l,supportsEditing:l,supportsUpdate:l,supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsChangeTracking:!1,supportsQueryAttachments:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsExceedsLimitStatistics:!1,supportsQueryAnalytics:!1,supportsQueryTopFeatures:!1},query:{maxRecordCount:s,maxRecordCountFactor:void 0,supportsStatistics:!!i?.supportsStatistics,supportsOrderBy:!!i?.supportsOrderBy,supportsDistinct:!!i?.supportsDistinct,supportsPagination:!!i?.supportsPagination,supportsStandardizedQueriesOnly:!!i?.useStandardizedQueries,supportsPercentileStatistics:!!i?.supportsPercentileStatistics,supportsCentroid:!!i?.supportsReturningGeometryCentroid,supportsDistance:!!i?.supportsQueryWithDistance,supportsExtent:!!i?.supportsReturningQueryExtent,supportsGeometryProperties:!!i?.supportsReturningGeometryProperties,supportsHavingClause:!!i?.supportsHavingClause,supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsMaxRecordCountFactor:!1,supportsSqlExpression:!1,supportsTopFeaturesQuery:!1,supportsQueryByOthers:!1,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!1,supportsCacheHint:!1,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!!i?.supportsDefaultSR,supportsCompactGeometry:!1,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0}}}};return e([S()],v.prototype,"_functionRasterInfos",void 0),e([S()],v.prototype,"_rasterJobHandler",void 0),e([S({dependsOn:["_serviceSupportsMosaicRule"]})],v.prototype,"_defaultServiceMosaicRule",void 0),e([I("_defaultServiceMosaicRule",["defaultMosaicMethod"])],v.prototype,"readDefaultServiceMosaicRule",null),e([S()],v.prototype,"_cachedRendererJson",void 0),e([S({readOnly:!0})],v.prototype,"_serviceSourceType",void 0),e([I("_serviceSourceType",["serviceSourceType","fields"])],v.prototype,"readServiceSourceType",null),e([S({readOnly:!0})],v.prototype,"_serviceSupportsMosaicRule",void 0),e([I("_serviceSupportsMosaicRule",["currentVersion","fields"])],v.prototype,"readServiceSupportsMosaicRule",null),e([S()],v.prototype,"rasterAttributeTableFieldPrefix",void 0),e([S({readOnly:!0})],v.prototype,"_rasterFunctionNamesIndex",null),e([S()],v.prototype,"adjustAspectRatio",void 0),e([S({readOnly:!0}),y("serviceRasterInfo.bandCount")],v.prototype,"bandCount",void 0),e([S({type:[R],json:{write:!0}})],v.prototype,"bandIds",void 0),e([I("bandIds")],v.prototype,"readBandIds",null),e([S({readOnly:!0,json:{read:!1}})],v.prototype,"capabilities",void 0),e([I("service","capabilities",["capabilities","currentVersion","serviceDataType"])],v.prototype,"readCapabilities",null),e([S({type:Number})],v.prototype,"compressionQuality",void 0),e([_("compressionQuality")],v.prototype,"writeCompressionQuality",null),e([S({type:Number})],v.prototype,"compressionTolerance",void 0),e([_("compressionTolerance")],v.prototype,"writeCompressionTolerance",null),e([S({json:{read:{source:"copyrightText"}}})],v.prototype,"copyright",void 0),e([S({type:String,json:{name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],v.prototype,"definitionExpression",void 0),e([S({readOnly:!0,constructOnly:!0})],v.prototype,"exportImageServiceParameters",void 0),e([S()],v.prototype,"rasterInfo",void 0),e([S({readOnly:!0,type:[T]})],v.prototype,"fields",void 0),e([S({readOnly:!0})],v.prototype,"fieldsIndex",null),e([S({type:["png","png8","png24","png32","jpg","bmp","gif","jpgpng","lerc","tiff"],json:{write:!0}})],v.prototype,"format",null),e([I("service","format",["serviceDataType"])],v.prototype,"readFormat",null),e([S({type:re})],v.prototype,"fullExtent",void 0),e([S({readOnly:!0})],v.prototype,"hasMultidimensions",void 0),e([S({json:{read:{source:"maxImageHeight"}}})],v.prototype,"imageMaxHeight",void 0),e([S({json:{read:{source:"maxImageWidth"}}})],v.prototype,"imageMaxWidth",void 0),e([S({type:String,json:{type:M.jsonValues,read:M.read,write:M.write}})],v.prototype,"interpolation",void 0),e([S()],v.prototype,"minScale",void 0),e([I("service","minScale")],v.prototype,"readMinScale",null),e([S()],v.prototype,"maxScale",void 0),e([I("service","maxScale")],v.prototype,"readMaxScale",null),e([S({type:N})],v.prototype,"mosaicRule",null),e([I("mosaicRule",["mosaicRule","defaultMosaicMethod"])],v.prototype,"readMosaicRule",null),e([_("mosaicRule")],v.prototype,"writeMosaicRule",null),e([S({readOnly:!0}),y("serviceRasterInfo.multidimensionalInfo")],v.prototype,"multidimensionalInfo",void 0),e([S({json:{type:R}})],v.prototype,"noData",void 0),e([_("noData")],v.prototype,"writeNoData",null),e([S({type:String,json:{type:J.jsonValues,read:J.read,write:J.write}})],v.prototype,"noDataInterpretation",void 0),e([S({type:String,readOnly:!0,json:{read:{source:["fields"]}}})],v.prototype,"objectIdField",void 0),e([I("objectIdField")],v.prototype,"readObjectIdField",null),e([S({})],v.prototype,"geometryType",void 0),e([S({})],v.prototype,"typeIdField",void 0),e([S({})],v.prototype,"types",void 0),e([S({readOnly:!0})],v.prototype,"parsedUrl",null),e([S({readOnly:!0}),y("serviceRasterInfo.pixelSize.x")],v.prototype,"pixelSizeX",void 0),e([S({readOnly:!0}),y("serviceRasterInfo.pixelSize.y")],v.prototype,"pixelSizeY",void 0),e([S({type:Function})],v.prototype,"pixelFilter",void 0),e([S()],v.prototype,"raster",void 0),e([S()],v.prototype,"viewId",void 0),e([S({types:i,json:{name:"layerDefinition.drawingInfo.renderer",origins:{"web-scene":{types:s,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type&&"flow"!==e.type})}}}}})],v.prototype,"renderer",null),e([I("renderer")],v.prototype,"readRenderer",null),e([_("renderer")],v.prototype,"writeRenderer",null),e([S()],v.prototype,"symbolizer",void 0),e([S(w)],v.prototype,"opacity",void 0),e([S({readOnly:!0}),y("serviceRasterInfo.attributeTable")],v.prototype,"rasterAttributeTable",void 0),e([S({readOnly:!0})],v.prototype,"rasterFields",null),e([S({constructOnly:!0})],v.prototype,"rasterFunctionInfos",void 0),e([S({type:q})],v.prototype,"renderingRule",null),e([I("renderingRule",["renderingRule","rasterFunctionInfos"])],v.prototype,"readRenderingRule",null),e([_("renderingRule")],v.prototype,"writeRenderingRule",null),e([S()],v.prototype,"serviceDataType",void 0),e([S({readOnly:!0,type:ge})],v.prototype,"spatialReference",void 0),e([I("spatialReference",["spatialReference","extent"])],v.prototype,"readSpatialReference",null),e([S({json:{type:Re.jsonValues}})],v.prototype,"pixelType",void 0),e([I("pixelType")],v.prototype,"readPixelType",null),e([_("pixelType")],v.prototype,"writePixelType",null),e([S({constructOnly:!0,type:V})],v.prototype,"serviceRasterInfo",void 0),e([S()],v.prototype,"sourceJSON",void 0),e([S(F)],v.prototype,"url",void 0),e([S({readOnly:!0})],v.prototype,"version",void 0),e([I("version",["currentVersion","fields","timeInfo"])],v.prototype,"readVersion",null),v=e([x("esri.layers.mixins.ArcGISImageService")],v),v};export{Ie as ArcGISImageService};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import t from"../../Graphic.js";import{read as r,rasterRendererTypes as i,websceneRasterRendererTypes as s}from"../../rasterRenderers.js";import n from"../../request.js";import o from"../../core/Error.js";import{strict as a}from"../../core/jsonMap.js";import{clone as l}from"../../core/lang.js";import u from"../../core/Logger.js";import{isSome as p,isNone as c,unwrap as m}from"../../core/maybe.js";import{when as d}from"../../core/promiseUtils.js";import{watch as h}from"../../core/reactiveUtils.js";import{urlToObject as f}from"../../core/urlUtils.js";import{property as y,ensureRange as g}from"../../core/accessorSupport/decorators/property.js";import{ensureClass as R,Integer as v,ensureNumber as S}from"../../core/accessorSupport/ensureType.js";import{reader as b}from"../../core/accessorSupport/decorators/reader.js";import{subclass as I}from"../../core/accessorSupport/decorators/subclass.js";import{writer as x}from"../../core/accessorSupport/decorators/writer.js";import{opacity as _,url as w}from"../support/commonProperties.js";import F from"../support/DimensionalDefinition.js";import{ExportImageServiceParameters as D}from"../support/ExportImageServiceParameters.js";import j from"../support/Field.js";import P from"../support/FieldsIndex.js";import{isSupportedRendererType as T}from"../support/imageryRendererUtils.js";import N from"../support/MosaicRule.js";import O from"../support/PixelBlock.js";import{interpolationKebab as C,noDataInterpretationKebab as M}from"../support/rasterEnums.js";import J from"../support/RasterFunction.js";import q from"../support/RasterInfo.js";import V from"../support/RasterJobHandler.js";import{getDefaultMultidimensionalDefinition as A}from"../support/rasterDatasets/multidimensionalUtils.js";import{decode as E,getFormat as Q}from"../support/rasterFormats/RasterCodec.js";import{uvComponentToVector as H}from"../support/rasterFunctions/vectorFieldUtils.js";import{getSupportedRendererTypes as U,getDefaultBandCombination as z,createDefaultRenderer as L,normalizeRendererJSON as B}from"../../renderers/support/rasterRendererHelper.js";import k from"../../renderers/support/RasterSymbolizer.js";import{computeAngles as G,computePixelSpaceLocations as W,computeHistograms as K,computeStatisticsHistograms as X,getImageSpatialReferenceQueryParameter as $,getSamples as Y,identify as Z}from"../../rest/imageService.js";import"../../core/has.js";import"../support/source/DataLayerSource.js";import{executeQueryJSON as ee}from"../../rest/query/executeQueryJSON.js";import"../../core/unitUtils.js";import"../../geometry/support/spatialReferenceUtils.js";import"../graphics/featureConversionUtils.js";import te from"../../geometry/Extent.js";import"../../geometry/Geometry.js";import"../../geometry/Multipoint.js";import"../../geometry/Point.js";import re from"../../geometry/Polygon.js";import"../../geometry/Polyline.js";import"../../geometry/support/normalizeUtils.js";import"../../core/pbf.js";import ie from"../../rest/support/FeatureSet.js";import se from"../../rest/support/Query.js";import"../../kernel.js";import"../../rest/query/support/AttachmentInfo.js";import"../../rest/support/AttachmentQuery.js";import{executeForCount as ne}from"../../rest/query/executeForCount.js";import{executeForIds as oe}from"../../rest/query/executeForIds.js";import"../../rest/support/RelationshipQuery.js";import"../../rest/support/TopFeaturesQuery.js";import{fetchServiceRasterInfo as ae,generateRasterInfo as le}from"../../rest/imageService/fetchRasterInfo.js";import{getCatalogItemRasterInfo as ue}from"../../rest/imageService/getCatalogItemRasterInfo.js";import pe from"../../rest/support/ImageAngleParameters.js";import ce from"../../rest/support/ImageHistogramParameters.js";import me from"../../rest/support/ImageIdentifyParameters.js";import de from"../../rest/support/ImagePixelLocationParameters.js";import he from"../../rest/support/ImageSampleParameters.js";import{createFlowMesh as fe}from"../../views/2d/engine/flow/dataUtils.js";import ye from"../../geometry/SpatialReference.js";const ge=a()({U1:"u1",U2:"u2",U4:"u4",U8:"u8",S8:"s8",U16:"u16",S16:"s16",U32:"u32",S32:"s32",F32:"f32",F64:"f64",C64:"c64",C128:"c128",UNKNOWN:"unknown"}),Re=new Set(["png","png8","png24","png32","jpg","bmp","gif","jpgpng","lerc","tiff"]),ve=g(S,{min:0,max:255});function Se(e){if(!e)return null;const t=JSON.stringify(e).match(/"rasterFunction":"(.*?")/gi)?.map((e=>e.replace('"rasterFunction":"',"").replace('"',"")));return t?t.join("/"):null}const be=a=>{let g=class extends a{constructor(){super(...arguments),this._functionRasterInfos={},this._rasterJobHandler={instance:null,refCount:0,connectionPromise:null},this._defaultServiceMosaicRule=null,this._serviceSourceType=null,this._serviceSupportsMosaicRule=null,this.rasterAttributeTableFieldPrefix="Raster.",this.adjustAspectRatio=null,this.bandIds=void 0,this.capabilities=null,this.compressionQuality=void 0,this.compressionTolerance=.01,this.copyright=null,this.definitionExpression=null,this.exportImageServiceParameters=null,this.rasterInfo=null,this.fields=null,this.fullExtent=null,this.hasMultidimensions=!1,this.imageMaxHeight=4100,this.imageMaxWidth=4100,this.interpolation=void 0,this.minScale=0,this.maxScale=0,this.noData=null,this.noDataInterpretation=void 0,this.objectIdField=null,this.geometryType="polygon",this.typeIdField=null,this.types=[],this.pixelFilter=null,this.raster=void 0,this.viewId=void 0,this.symbolizer=null,this.rasterFunctionInfos=null,this.serviceDataType=null,this.spatialReference=null,this.pixelType=null,this.serviceRasterInfo=null,this.sourceJSON=null,this.url=null,this.version=void 0}initialize(){this._set("exportImageServiceParameters",new D({layer:this}))}readDefaultServiceMosaicRule(e,t){return this._serviceSupportsMosaicRule?N.fromJSON(t):null}readServiceSourceType(e,t){return this._isMosaicDataset(t)?"mosaic-dataset":"raster-dataset"}readServiceSupportsMosaicRule(e,t){return this._isMosaicRuleSupported(t)}get _rasterFunctionNamesIndex(){const e=new Map;return!this.rasterFunctionInfos||p(this.rasterFunctionInfos)&&this.rasterFunctionInfos.length<1||p(this.rasterFunctionInfos)&&this.rasterFunctionInfos.forEach((t=>{e.set(t.name.toLowerCase().replace(/ /gi,"_"),t.name)})),e}readBandIds(e,t){if(Array.isArray(e)&&e.length>0&&e.every((e=>"number"==typeof e)))return e}readCapabilities(e,t){return this._readCapabilities(t)}writeCompressionQuality(e,t,r){null!=e&&"lerc"!==this.format&&(t[r]=e)}writeCompressionTolerance(e,t,r){"lerc"===this.format&&null!=e&&(t[r]=e)}get fieldsIndex(){return this.fields?new P(this.fields):null}set format(e){e&&Re.has(e.toLowerCase())&&this._set("format",e.toLowerCase())}readFormat(e,t){return"esriImageServiceDataTypeVector-UV"===t.serviceDataType||"esriImageServiceDataTypeVector-MagDir"===t.serviceDataType||null!=this.pixelFilter?"lerc":"jpgpng"}readMinScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}readMaxScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}set mosaicRule(e){let t=e;t&&t.mosaicMethod&&(t=N.fromJSON({...t.toJSON(),mosaicMethod:t.mosaicMethod,mosaicOperation:t.mosaicOperation})),this._set("mosaicRule",t)}readMosaicRule(e,t){const r=e||t.mosaicRule;return r?N.fromJSON(r):this._isMosaicRuleSupported(t)?N.fromJSON(t):null}writeMosaicRule(e,t,r){let i=this.mosaicRule;const s=this.definitionExpression;i?s&&s!==i.where&&(i=i.clone(),i.where=s):s&&(i=new N({where:s})),this._isValidCustomizedMosaicRule(i)&&(t[r]=i.toJSON())}get multidimensionalInfo(){return p(this.serviceRasterInfo)?this.serviceRasterInfo.multidimensionalInfo:null}writeNoData(e,t,r){null!=e&&"number"==typeof e&&(t[r]=ve(e))}readObjectIdField(e,t){if(!e){const r=t.fields.filter((e=>"esriFieldTypeOID"===e.type||"oid"===e.type));e=r&&r[0]&&r[0].name}return e}get parsedUrl(){return this.url?f(this.url):null}set renderer(e){this.loaded&&(e=this._configRenderer(e)),this._set("renderer",e)}readRenderer(e,t,i){const s=t?.layerDefinition?.drawingInfo?.renderer,n=r(s,i);return null==n?null:("vector-field"===n.type&&t.symbolTileSize&&!s.symbolTileSize&&(n.symbolTileSize=t.symbolTileSize),T(n)||u.getLogger(this.declaredClass).warn("ArcGISImageService","Imagery layer doesn't support given renderer type."),n)}writeRenderer(e,t,r){t.layerDefinition=t.layerDefinition||{},t.layerDefinition.drawingInfo=t.layerDefinition.drawingInfo||{},t.layerDefinition.drawingInfo.renderer=e.toJSON(),"vector-field"===e.type&&(t.symbolTileSize=e.symbolTileSize)}get rasterFields(){const e=this.rasterAttributeTableFieldPrefix||"Raster.",t=new j({name:"Raster.ItemPixelValue",alias:"Item Pixel Value",domain:null,editable:!1,length:50,type:"string"}),r=new j({name:"Raster.ServicePixelValue",alias:"Service Pixel Value",domain:null,editable:!1,length:50,type:"string"}),i=new j({name:"Raster.ServicePixelValue.Raw",alias:"Raw Service Pixel Value",domain:null,editable:!1,length:50,type:"string"});let s=this.fields?l(this.fields):[];s.push(r),this.capabilities.operations.supportsQuery&&this.fields&&this.fields.length>0&&s.push(t),this.version>=10.4&&p(this.rasterFunctionInfos)&&this.rasterFunctionInfos.some((e=>"none"===e.name.toLowerCase()))&&s.push(i),p(this.rasterFunctionInfos)&&this.rasterFunctionInfos.filter((e=>"none"!==e.name.toLowerCase())).forEach((e=>{s.push(new j({name:"Raster.ServicePixelValue."+e.name,alias:e.name,domain:null,editable:!1,length:50,type:"string"}))})),this._isVectorDataSet()&&(s.push(new j({name:"Raster.Magnitude",alias:"Magnitude",domain:null,editable:!1,type:"double"})),s.push(new j({name:"Raster.Direction",alias:"Direction",domain:null,editable:!1,type:"double"})));const{attributeTable:n}=this.rasterInfo,o=p(n)?n.fields:null;if(o.length){const t=o.filter((e=>"esriFieldTypeOID"!==e.type&&"value"!==e.name.toLowerCase())).map((t=>{const r=l(t);return r.name=e+t.name,r}));s=s.concat(t)}return s}set renderingRule(e){let t=e;t&&t.rasterFunction&&(t=J.fromJSON({...t.toJSON(),rasterFunction:t.rasterFunction,rasterFunctionArguments:t.rasterFunctionArguments})),this._set("renderingRule",t)}readRenderingRule(e,t){const r=t.rasterFunctionInfos;return t.renderingRule||r&&r.length&&"None"!==r[0].name?this._isRFTJson(t.renderingRule)?J.fromJSON({rasterFunctionDefinition:t.renderingRule}):J.fromJSON(t.renderingRule||{rasterFunctionInfos:t.rasterFunctionInfos}):null}writeRenderingRule(e,t,r){const i=e.toJSON();i.rasterFunctionDefinition?t[r]=i.rasterFunctionDefinition:t[r]=i}readSpatialReference(e,t){const r=e||t.extent.spatialReference;return r?ye.fromJSON(r):null}readPixelType(e){return ge.fromJSON(e)||e}writePixelType(e,t,r){(c(this.serviceRasterInfo)||this.pixelType!==this.serviceRasterInfo.pixelType)&&(t[r]=ge.toJSON(e))}readVersion(e,t){let r=t.currentVersion;return r||(r=t.hasOwnProperty("fields")||t.hasOwnProperty("timeInfo")?10:9.3),r}applyFilter(e){let t=e;return this.pixelFilter&&(t=this._clonePixelData(e),this.pixelFilter(t)),t}async applyRenderer(e,t){let r=e;if(!this._isPicture()&&this.renderer&&this.symbolizer&&!this.pixelFilter){const i=JSON.stringify(this._cachedRendererJson)!==JSON.stringify(this.renderer.toJSON()),s=this._rasterJobHandler.instance,{bandIds:n}=this;if(s){i&&(this.symbolizer.bind(),await s.updateSymbolizer(this.symbolizer,t),this._cachedRendererJson=this.renderer.toJSON());const o=await s.symbolize({bandIds:n,...e},t);r={extent:e.extent,pixelBlock:o}}else r={extent:e.extent,pixelBlock:this.symbolizer.symbolize({bandIds:n,...e})}}return r}destroy(){this._shutdownJobHandler()}increaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount--,this._rasterJobHandler.refCount<=0&&this._shutdownJobHandler()}async computeAngles(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsComputeAngles)throw new o("imagery-layer:compute-angles","this operation is not supported on the input image service");return e=R(pe,e).clone(),G(this.url,e,this._getRequestOptions(t))}async computePixelSpaceLocations(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsComputePixelLocation)throw new o("imagery-layer:compute-pixel-space-locations","this operation is not supported on the input image service");return e=R(de,e).clone(),W(this.url,e,this._getRequestOptions(t))}async computeHistograms(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsComputeHistograms)throw new o("imagery-layer:compute-histograms","this operation is not supported on the input image service");e=R(ce,e).clone();const{raster:r,mosaicRule:i,renderingRule:s}=this;return s&&null==e.renderingRule&&(e.renderingRule=s),i&&null==e.mosaicRule&&(e.mosaicRule=i),r&&null==e.raster&&(e.raster=r),K(this.url,e,this._getRequestOptions(t))}async computeStatisticsHistograms(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsComputeStatisticsHistograms)throw new o("imagery-layer:compute-statistics-histograms","this operation is not supported on the input image service");e=R(ce,e).clone();const{raster:r,mosaicRule:i,renderingRule:s}=this;return s&&null==e.renderingRule&&(e.renderingRule=s),i&&null==e.mosaicRule&&(e.mosaicRule=i),r&&null==e.raster&&(e.raster=r),X(this.url,e,this._getRequestOptions(t))}getField(e){const{fieldsIndex:t}=this;return p(t)?t.get(e):void 0}getFieldDomain(e,t){const r=this.getField(e);return r?r.domain:null}fetchImage(e,t,r,i={}){if(null==e||null==t||null==r)return Promise.reject(new o("imagery-layer:fetch-image","Insufficient parameters for requesting an image. A valid extent, width and height values are required."));const s=this.renderer||this.symbolizer?this.generateRasterInfo(this.renderingRule,{signal:i.signal}):null;return d(s).then((s=>{s&&(this.rasterInfo=s);const n={imageServiceParameters:this.getExportImageServiceParameters(e,t,r,i.timeExtent),imageProps:{extent:e,width:t,height:r,format:this.format},requestAsImageElement:i.requestAsImageElement&&!this.pixelFilter||!1,signal:i.signal};return this._requestArrayBuffer(n)}))}fetchKeyProperties(e){return n(this.parsedUrl.path+"/keyProperties",{query:this._getQueryParams({renderingRule:this.version>=10.3?e?.renderingRule:null})}).then((e=>e.data))}fetchRasterAttributeTable(e){return this.version<10.1?Promise.reject(new o("#fetchRasterAttributeTable()","Failed to get rasterAttributeTable")):n(this.parsedUrl.path+"/rasterAttributeTable",{query:this._getQueryParams({renderingRule:this.version>=10.3?e?.renderingRule:null})}).then((e=>ie.fromJSON(e.data)))}getCatalogItemRasterInfo(e,t){const r={...t,query:this._getQueryParams()};return ue(this.parsedUrl.path,e,r)}async getCatalogItemICSInfo(e,t){const{data:r}=await n(this.parsedUrl.path+"/"+e+"/info/ics",{query:this._getQueryParams(),...t}),i=r&&r.ics;if(!i)return;let s=null;try{s=(await n(this.parsedUrl.path+"/"+e+"/info",{query:this._getQueryParams(),...t})).data.extent}catch{}if(!s||!s.spatialReference)return{ics:i,icsToPixelTransform:null,icsExtent:null,northDirection:null};const o=this.version>=10.7?n(this.parsedUrl.path+"/"+e+"/info/icstopixel",{query:this._getQueryParams(),...t}).then((e=>e.data)).catch((()=>({}))):{},a=s.spatialReference,l={geometries:JSON.stringify({geometryType:"esriGeometryEnvelope",geometries:[s]}),inSR:a.wkid||JSON.stringify(a),outSR:"0:"+e},u=n(this.parsedUrl.path+"/project",{query:this._getQueryParams(l),...t}).then((e=>e.data)).catch((()=>({}))),p=5,c=(s.xmin+s.xmax)/2,m=(s.ymax-s.ymin)/(p+1),d=s.ymin+m,h=[];for(let n=0;n<p;n++)h.push({x:c,y:d+m*n});const f={geometries:JSON.stringify({geometryType:"esriGeometryPoint",geometries:h}),inSR:a.wkid||JSON.stringify(a),outSR:"0:"+e},y=n(this.parsedUrl.path+"/project",{query:this._getQueryParams(f),...t}).then((e=>e.data)).catch((()=>({}))),g=await Promise.all([o,u,y]);let R=g[0].ipxf;if(null==R){const e=i.geodataXform?.xf_0;"topup"===e?.name?.toLowerCase()&&6===e?.coefficients?.length&&(R={affine:{name:"ics [sensor: Frame] to pixel (column, row) transformation",coefficients:e.coefficients,cellsizeRatio:0,type:"GeometricXform"}})}const v=te.fromJSON(g[1]&&g[1].geometries&&g[1].geometries[0]);v&&(v.spatialReference=new ye({wkid:0,imageCoordinateSystem:i}));const S=g[2].geometries?g[2].geometries.filter((e=>null!=e&&null!=e.x&&null!=e.y&&"NaN"!==e.x&&"NaN"!==e.y)):[],b=S.length;if(b<3)return{ics:i,icsToPixelTransform:R,icsExtent:v,northDirection:null};let I=0,x=0,_=0,w=0;for(let n=0;n<b;n++)I+=S[n].x,x+=S[n].y,_+=S[n].x*S[n].x,w+=S[n].x*S[n].y;const F=(b*w-I*x)/(b*_-I*I);let D=0;const j=S[p-1].x>S[0].x,P=S[p-1].y>S[0].y;return F===1/0?D=P?90:270:0===F?D=j?0:180:F>0?D=j?180*Math.atan(F)/Math.PI:180*Math.atan(F)/Math.PI+180:F<0&&(D=P?180+180*Math.atan(F)/Math.PI:360+180*Math.atan(F)/Math.PI),{ics:i,icsToPixelTransform:R,icsExtent:v,northDirection:D}}async generateRasterInfo(e,t){if((!e||"none"===e?.functionName?.toLowerCase()||this._isVectorFieldResampleFunction(e))&&p(this.serviceRasterInfo))return this.serviceRasterInfo;const r=Se(e);if(this._functionRasterInfos[r])return this._functionRasterInfos[r];const i=this._generateRasterInfo(e,t);this._functionRasterInfos[r]=i;try{return await i}catch{return this._functionRasterInfos[r]=null,null}}getExportImageServiceParameters(e,t,r,i){e=e.clone().shiftCentralMeridian();const s=$(e.spatialReference,this.parsedUrl.path);p(this.serviceRasterInfo)&&this.pixelType!==this.serviceRasterInfo.pixelType&&(this.exportImageServiceParameters.pixelType=this.pixelType);const n=this.exportImageServiceParameters.toJSON(),{bandIds:o,noData:a}=n;let{renderingRule:l}=n;const u=this.renderingRule?.rasterFunctionDefinition,c=!this.renderer||"raster-stretch"===this.renderer.type;if(o?.length&&this._hasRenderingRule(this.renderingRule)&&!u&&c){const e={rasterFunction:"ExtractBand",rasterFunctionArguments:{BandIds:o}};if("Stretch"===l.rasterFunction)e.rasterFunctionArguments.Raster=l.rasterFunctionArguments.Raster,l.rasterFunctionArguments.Raster=e;else if("Colormap"===l.rasterFunction){const t=l.rasterFunctionArguments.Raster;"Stretch"===t?.rasterFunction?(e.rasterFunctionArguments.Raster=t.rasterFunctionArguments.Raster,t.rasterFunctionArguments.Raster=e):(e.rasterFunctionArguments.Raster=t,l.rasterFunctionArguments.Raster=e)}else e.rasterFunctionArguments.Raster=l,l=e;n.bandIds=void 0}else n.bandIds=o?.join(",");a instanceof Array&&a.length>0&&(n.noData=a.join(","));const m=this._serviceSupportsMosaicRule?this._combineMosaicRuleWithTimeExtent(this.exportImageServiceParameters.mosaicRule,i):null;n.mosaicRule=m&&JSON.stringify(m),n.renderingRule=this._getRenderingRuleString(J.fromJSON(l));const d={};if(i){const{start:e,end:t}=i.toJSON();e&&t&&e===t?d.time=""+e:null==e&&null==t||(d.time=`${e??"null"},${t??"null"}`)}return{bbox:e.xmin+","+e.ymin+","+e.xmax+","+e.ymax,bboxSR:s,imageSR:s,size:t+","+r,...n,...d}}async getSamples(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsGetSamples)throw new o("imagery-layer:get-samples","getSamples operation is not supported on the input image service");e=R(he,e).clone();const{raster:r}=this;return r&&null==e.raster&&(e.raster=r),Y(this.url,e,this._getRequestOptions(t))}async identify(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsIdentify)throw new o("imagery-layer:query-rasters","query operation is not supported on the input image service");e=R(me,e).clone();const{raster:r,mosaicRule:i,renderingRule:s}=this;if(s&&null==e.renderingRule&&(e.renderingRule=s),i&&null==e.mosaicRule){const t=this._combineMosaicRuleWithTimeExtent(i,e.timeExtent);e.mosaicRule=m(t)}return r&&null==e.raster&&(e.raster=r),Z(this.url,e,this._getRequestOptions(t))}createQuery(){const e=new se;return e.outFields=["*"],e.returnGeometry=!0,e.where=this.definitionExpression||"1=1",e}async queryRasters(e,t){return({query:e,requestOptions:t}=await this._prepareForQuery(e,t)),ee(this.url,e,t)}async queryObjectIds(e,t){return({query:e,requestOptions:t}=await this._prepareForQuery(e,t)),oe(this.url,e,t)}async queryRasterCount(e,t){return({query:e,requestOptions:t}=await this._prepareForQuery(e,t)),ne(this.url,e,t)}async queryVisibleRasters(e,t){if(!e)throw new o("imagery-layer: query-visible-rasters","missing query parameter");const{pixelSize:r,returnDomainValues:i,returnTopmostRaster:s,showNoDataRecords:n}=t||{pixelSize:null,returnDomainValues:!1,returnTopmostRaster:!1,showNoDataRecords:!1};let a=!1,l=null,u=null;const m="raster.servicepixelvalue",d=this._rasterFunctionNamesIndex;if(p(e.outFields)&&(a=e.outFields.some((e=>!e.toLowerCase().includes(m))),this.version>=10.4)){const t=e.outFields.filter((e=>e.toLowerCase().includes(m)&&e.length>m.length)).map((e=>{const t=e.slice(m.length+1);return[this._updateRenderingRulesFunctionName(t,d),t]}));l=t.map((e=>new J({functionName:e[0]}))),u=t.map((e=>e[1])),0===l.length?this.renderingRule?(l.push(this.renderingRule),u.push(this.renderingRule.functionName)):l=null:this.renderingRule&&!l.some((e=>e.functionName===this.renderingRule.functionName))&&(l.push(this.renderingRule),u.push(this.renderingRule.functionName))}const h=c(e.outSpatialReference)||e.outSpatialReference.equals(this.spatialReference),f=e.timeExtent||this.timeExtent,y=this._combineMosaicRuleWithTimeExtent(this.exportImageServiceParameters.mosaicRule,f),g=this._getQueryParams({geometry:e.geometry,timeExtent:f,mosaicRule:y,renderingRule:this.version<10.4?this.renderingRule:null,renderingRules:l,pixelSize:r,returnCatalogItems:a,returnGeometry:h,raster:this.raster,maxItemCount:s?1:null});delete g.f;const R=new me(g);try{await this.generateRasterInfo(this.renderingRule);const r=await Z(this.url,R,{signal:t?.signal,query:{...this.customParameters}}),s=e.outFields,o=r.value.toLowerCase().includes("nodata");if(!(a&&!h&&r?.catalogItems?.features.length&&(n||!o)))return this._processVisibleRastersResponse(r,{returnDomainValues:i,templateRRFunctionNames:u,showNoDataRecords:n,templateFields:s});const l=this.objectIdField||"ObjectId",c=r.catalogItems.features,m=c.map((e=>e.attributes?.[l])),d=new se({objectIds:m,returnGeometry:!0,outSpatialReference:e.outSpatialReference,outFields:[l]}),f=await this.queryRasters(d);return f?.features?.length&&f.features.forEach((t=>{c.forEach((r=>{r.attributes[l]===t.attributes[l]&&(r.geometry=new re(t.geometry),p(e.outSpatialReference)&&(r.geometry.spatialReference=e.outSpatialReference))}))})),this._processVisibleRastersResponse(r,{returnDomainValues:i,templateRRFunctionNames:u,showNoDataRecords:n,templateFields:s})}catch{throw new o("imagery-layer:query-visible-rasters","encountered error when querying visible rasters")}}async fetchVariableStatisticsHistograms(e,t){const r=n(this.parsedUrl.path+"/statistics",{query:this._getQueryParams({variable:e}),signal:t}).then((e=>e.data?.statistics)),i=n(this.parsedUrl.path+"/histograms",{query:this._getQueryParams({variable:e}),signal:t}).then((e=>e.data?.histograms)),s=await Promise.all([r,i]);return s[0]&&s[0].forEach((e=>{e.avg=e.mean,e.stddev=e.standardDeviation})),{statistics:s[0]||null,histograms:s[1]||null}}async createFlowMesh(e,t){const r=this._rasterJobHandler.instance;return r?r.createFlowMesh(e,t):fe(e.meshType,e.simulationSettings,e.flowData,p(t.signal)?t.signal:(new AbortController).signal)}async _fetchService(e){await this._fetchServiceInfo(e),p(this.serviceRasterInfo)&&!this.rasterInfo&&(this.rasterInfo=this.serviceRasterInfo);const t=this.sourceJSON,r=p(this.serviceRasterInfo)?Promise.resolve(this.serviceRasterInfo):ae(this.parsedUrl.path,t,{signal:e,query:this._getQueryParams()}).then((e=>(this._set("serviceRasterInfo",e),e))),i=this._hasRenderingRule(this.renderingRule)?this.generateRasterInfo(this.renderingRule,{signal:e}):null,s=this._getRasterFunctionInfos();return Promise.all([r,i,s]).then((e=>{e[1]?this._set("rasterInfo",e[1]):this._set("rasterInfo",e[0]),e[2]&&this._set("rasterFunctionInfos",e[2]),this.renderer&&!this._isSupportedRenderer(this.renderer)&&(this._set("renderer",null),u.getLogger(this.declaredClass).warn("ArcGISImageService","Switching to the default renderer. Renderer applied is not valid for this Imagery Layer")),this._set("renderer",this._configRenderer(this.renderer)),this.addHandles(h((()=>this.renderingRule),(e=>{(this.renderer||this.symbolizer||this.popupEnabled&&this.popupTemplate)&&this.generateRasterInfo(e).then((e=>{e&&(this.rasterInfo=e)}))})));const{serviceRasterInfo:t}=this;p(t)&&t.multidimensionalInfo&&this._updateMultidimensionalDefinition(t)}))}_combineMosaicRuleWithTimeExtent(e,t){const r=this.timeInfo;if(c(e)||c(this.multidimensionalInfo)||c(t)||c(r?.startField))return e;const{startField:i}=r,s=this.multidimensionalInfo.variables.some((e=>e.dimensions.some((e=>e.name===i))))?i:"StdTime";if(e=e.clone(),"mosaic-dataset"===this._serviceSourceType)return e.multidimensionalDefinition=e.multidimensionalDefinition?.filter((e=>e.dimensionName!==s)),this._cleanupMultidimensionalDefinition(e);e.multidimensionalDefinition=e.multidimensionalDefinition||[];const n=e.multidimensionalDefinition.filter((e=>e.dimensionName===s)),o=p(t.start)?t.start.getTime():null,a=p(t.end)?t.end.getTime():null,l=null==o||null==a||o===a,u=l?[o||a]:[[o,a]],m=this.version>=10.8;if(n.length)n.forEach((e=>{e.dimensionName===s&&(m?(e.dimensionName=null,e.isSlice=null,e.values=null):(e.isSlice=l,e.values=u))}));else if(!m){const t=e.multidimensionalDefinition.filter((e=>null!=e.variableName&&null==e.dimensionName));t.length?t.forEach((e=>{e.dimensionName=s,e.isSlice=l,e.values=u})):e.multidimensionalDefinition.push(new F({variableName:"",dimensionName:s,isSlice:l,values:u}))}return this._cleanupMultidimensionalDefinition(e)}_cleanupMultidimensionalDefinition(e){return c(e)?null:(e.multidimensionalDefinition&&(e.multidimensionalDefinition=e.multidimensionalDefinition.filter((e=>!(!e.variableName&&!e.dimensionName))),0===e.multidimensionalDefinition.length&&(e.multidimensionalDefinition=null)),"mosaic-dataset"!==this._serviceSourceType&&null==e.multidimensionalDefinition?null:e)}async _prepareForQuery(e,t){if(await this._fetchCapabilities(t?.signal),!this.capabilities.operations.supportsQuery)throw new o("imagery-layer:query-rasters","query operation is not supported on the input image service");return e=p(e)?R(se,e):this.createQuery(),t=this._getRequestOptions(t),this.raster&&(t.query={...t.query,raster:this.raster}),{query:e,requestOptions:t}}async _initJobHandler(){if(null!=this._rasterJobHandler.connectionPromise)return this._rasterJobHandler.connectionPromise;const e=new V;this._rasterJobHandler.connectionPromise=e.initialize().then((()=>{this._rasterJobHandler.instance=e}),(()=>null)),await this._rasterJobHandler.connectionPromise}_shutdownJobHandler(){this._rasterJobHandler.instance&&this._rasterJobHandler.instance.destroy(),this._rasterJobHandler.instance=null,this._rasterJobHandler.connectionPromise=null,this._rasterJobHandler.refCount=0,this._cachedRendererJson=null}_isSupportedRenderer(e){const{rasterInfo:t,renderingRule:r}=this;return"unique-value"===e.type&&this._hasRenderingRule(r)&&1===t.bandCount&&["u8","s8"].includes(t.pixelType)||U(this.rasterInfo).includes(this.renderer.type)}async _fetchCapabilities(e){return this.capabilities||await this._fetchServiceInfo(e),this.capabilities}async _fetchServiceInfo(e){let t=this.sourceJSON;if(!t){const{data:r,ssl:i}=await n(this.parsedUrl.path,{query:this._getQueryParams(),signal:e});t=r,this.sourceJSON=t,i&&(this.url=this.url.replace(/^http:/i,"https:"))}if(t.capabilities?.toLowerCase().split(",").map((e=>e.trim())).indexOf("tilesonly")>-1)throw new o("imagery-layer:fetch-service-info","use ImageryTileLayer to open tiles-only image services");this.read(t,{origin:"service",url:this.parsedUrl})}_isMosaicDataset(e){return e.serviceSourceType?"esriImageServiceSourceTypeMosaicDataset"===e.serviceSourceType:e.fields?.length>0}_isMosaicRuleSupported(e){if(!e)return!1;const t=this._isMosaicDataset(e),r=e.currentVersion>=10.71&&e.hasMultidimensions&&e.timeInfo&&!(e.objectIdField&&e.fields?.length>1);return t||r}_isVectorFieldResampleFunction(e){if(c(e))return!1;const{functionName:t,functionArguments:r}=e,i="resample"===t?.toLowerCase(),s=r?.ResampleType||r?.resampleType;return i&&(7===s||10===s)}_isPicture(){return!this.format||this.format.includes("jpg")||this.format.includes("png")}_configRenderer(e){if(!this._isPicture()&&!this.pixelFilter||this._isVectorDataSet()){if(!this.bandIds&&this.rasterInfo.bandCount>=3){const e=z(this.rasterInfo);!e||3===this.rasterInfo.bandCount&&0===e[0]&&1===e[1]&&2===e[2]||(this.bandIds=e)}e||(e=L(this.rasterInfo,{bandIds:this.bandIds,variableName:this.renderingRule?null:this.mosaicRule?.multidimensionalDefinition?.[0].variableName}));const t=B(e.toJSON());this.symbolizer?(this.symbolizer.rendererJSON=t,this.symbolizer.rasterInfo=this.rasterInfo):this.symbolizer=new k({rendererJSON:t,rasterInfo:this.rasterInfo}),this.symbolizer.bind().success||(this.symbolizer=null)}return e}_clonePixelData(e){return null==e?e:{extent:e.extent&&e.extent.clone(),pixelBlock:p(e.pixelBlock)&&e.pixelBlock.clone()}}_getQueryParams(e){p(e?.renderingRule)&&"string"!=typeof e.renderingRule&&(e.renderingRule=this._getRenderingRuleString(e.renderingRule));const{raster:t,viewId:r}=this;return{raster:t,viewId:r,f:"json",...e,...this.customParameters}}_getRequestOptions(e){return{...e,query:{...e?.query,...this.customParameters}}}_decodePixelBlock(e,t,r){return this._rasterJobHandler.instance?this._rasterJobHandler.instance.decode({data:e,options:t}):E(e,t,r)}async _getRasterFunctionInfos(e){const t=this.sourceJSON.rasterFunctionInfos;if(this.serviceRasterInfo)return t;if(t&&this.version>=10.3){if(1===t.length&&"none"===t[0].name.toLowerCase())return t;return(await n(this.parsedUrl.path+"/rasterFunctionInfos",{query:this._getQueryParams(),signal:e})).data?.rasterFunctionInfos}return null}async _requestArrayBuffer(e){const{imageProps:t,requestAsImageElement:r,signal:i}=e;if(r&&!this.pixelFilter&&t.format?.indexOf("png")>-1){return{imageElement:(await n(this.parsedUrl.path+"/exportImage",{responseType:"image",query:this._getQueryParams({f:"image",...e.imageServiceParameters}),signal:i})).data,params:t}}const s=this._initJobHandler(),a=n(this.parsedUrl.path+"/exportImage",{responseType:"array-buffer",query:this._getQueryParams({f:"image",...e.imageServiceParameters}),signal:i}),l=(await Promise.all([a,s]))[0].data,u=t.format||"jpgpng";let p=u;if("bsq"!==p&&"bip"!==p&&(p=Q(l)),!p)throw new o("imagery-layer:fetch-image","unsupported format signature "+String.fromCharCode.apply(null,new Uint8Array(l)));const c={signal:i},m="gif"===u||"bmp"===u||u.includes("png")&&("png"===p||"jpg"===p)?E(l,{useCanvas:!0,...t},c):this._decodePixelBlock(l,{width:t.width,height:t.height,planes:null,pixelType:null,noDataValue:null,format:u},c);return{pixelData:{pixelBlock:await m,extent:t.extent},params:t}}_generateRasterInfo(e,t){const r={...t,query:this._getQueryParams()};return le(this.parsedUrl.path,e,r)}_isValidCustomizedMosaicRule(e){return e&&JSON.stringify(e.toJSON())!==JSON.stringify(this._defaultServiceMosaicRule?.toJSON())}_updateMultidimensionalDefinition(e){if(this._isValidCustomizedMosaicRule(this.mosaicRule))return;const t=A(e);if(p(t)&&t.length>0){this.mosaicRule=this.mosaicRule||new N;const e=this.mosaicRule.multidimensionalDefinition;(!e||e&&e.length<=0)&&(this.mosaicRule.multidimensionalDefinition=t)}}_processVisibleRastersResponse(e,r){r=r||{};const i=e.value,{templateRRFunctionNames:s,showNoDataRecords:n,returnDomainValues:o,templateFields:a}=r,l=e.processedValues;let u=e.catalogItems&&e.catalogItems.features,c=e.properties&&e.properties.Values&&e.properties.Values.map((e=>e.replace(/ /gi,", ")))||[];const m=this.objectIdField||"ObjectId",d="string"==typeof i&&i.toLowerCase().includes("nodata"),h=[];if(i&&!u&&!d){const e={};e[m]=0;c=[i],u=[new t(this.fullExtent,null,e)]}if(!u)return[];let f,y,g;this._updateResponseFieldNames(u,a),d&&!n&&(u=[]);for(let t=0;t<u.length;t++){if(f=u[t],null!=i){if(y=c[t],g=this.renderingRule&&l&&l.length>0&&s&&s.length>0&&s.includes(this.renderingRule.functionName)?l[s.indexOf(this.renderingRule.functionName)]:i,"nodata"===y.toLowerCase()&&!n)continue;const e="Raster.ItemPixelValue",r="Raster.ServicePixelValue";f.attributes[e]=y,f.attributes[r]=g,this._updateFeatureWithMagDirValues(f,y);const o=this.fields&&this.fields.length>0;let a=this.renderingRule&&p(this.serviceRasterInfo)&&this.serviceRasterInfo.attributeTable?o?y:i:g;this.renderingRule||(a=o?y:i),this._updateFeatureWithRasterAttributeTableValues(f,a)}if(f.sourceLayer=f.layer=this,o&&this._updateFeatureWithDomainValues(f),s&&l&&s.length===l.length)for(let e=0;e<s.length;e++){const t="Raster.ServicePixelValue."+s[e];f.attributes[t]=l[e]}h.push(u[t])}return h}_updateFeatureWithRasterAttributeTableValues(e,t){const r=this.rasterInfo&&this.rasterInfo.attributeTable||(p(this.serviceRasterInfo)?this.serviceRasterInfo.attributeTable:null);if(c(r))return;const{features:i,fields:s}=r,n=s.map((e=>e.name)).filter((e=>"value"===e.toLowerCase())),o=n&&n[0];if(!o)return;const a=i.filter((e=>e.attributes[o]===(null!=t?parseInt(t,10):null)));a&&a[0]&&s.forEach((t=>{const r=this.rasterAttributeTableFieldPrefix+t.name;e.attributes[r]=a[0].attributes[t.name]}))}_updateFeatureWithMagDirValues(e,t){if(!this._isVectorDataSet())return;const r=t.split(/,\s*/).map((e=>parseFloat(e))),i=r.map((e=>[e])),s=r.map((e=>({minValue:e,maxValue:e,noDataValue:null}))),n=new O({height:1,width:1,pixelType:"f32",pixels:i,statistics:s});null!=this.pixelFilter&&this.pixelFilter({pixelBlock:n,extent:new te(0,0,0,0,this.spatialReference)});const o="esriImageServiceDataTypeVector-MagDir"===this.serviceDataType?[n.pixels[0][0],n.pixels[1][0]]:H([n.pixels[0][0],n.pixels[1][0]]);e.attributes["Raster.Magnitude"]=o[0],e.attributes["Raster.Direction"]=o[1]}_updateFeatureWithDomainValues(e){const t=this.fields&&this.fields.filter((e=>e.domain&&"coded-value"===e.domain.type));null!=t&&t.forEach((t=>{const r=e.attributes[t.name];if(null!=r){const i=t.domain.codedValues.find((e=>e.code===r));i&&(e.attributes[t.name]=i.name)}}))}_updateResponseFieldNames(e,t){if(!t||t.length<1)return;const r=this.fieldsIndex;c(r)||e.forEach((e=>{if(e&&e.attributes)for(const i of t)if(r.has(i)){const t=r.get(i).name;t!==i&&(e.attributes[i]=e.attributes[t],delete e.attributes[t])}}))}_getRenderingRuleString(e){if(this._hasRenderingRule(e)){let t=e.toJSON();return t=t.rasterFunctionDefinition??t,(t.thumbnail||t.thumbnailEx)&&(t.thumbnail=t.thumbnailEx=null),JSON.stringify(t)}return null}_hasRenderingRule(e){return e&&e.functionName&&"none"!==e.functionName.toLowerCase()}_updateRenderingRulesFunctionName(e,t){if(!e||e.length<1)return;if("Raw"===e)return e.replace("Raw","None");const r=e.toLowerCase().replace(/ /gi,"_");return t.has(r)?t.get(r):e}_isRFTJson(e){return e&&e.name&&e.arguments&&e.function&&e.hasOwnProperty("functionType")}_isVectorDataSet(){return"esriImageServiceDataTypeVector-UV"===this.serviceDataType||"esriImageServiceDataTypeVector-MagDir"===this.serviceDataType}_readCapabilities(e){const t=e.capabilities?e.capabilities.toLowerCase().split(",").map((e=>e.trim())):["image","catalog"],{currentVersion:r,advancedQueryCapabilities:i,maxRecordCount:s}=e,n=t.includes("image"),o="esriImageServiceDataTypeElevation"===e.serviceDataType,a=!!(e.spatialReference||e.extent&&e.extent.spatialReference),l=t.includes("edit");return{data:{supportsAttachment:!1},operations:{supportsComputeHistograms:n,supportsExportImage:n,supportsIdentify:n,supportsMeasure:t.includes("mensuration")&&a,supportsDownload:t.includes("download"),supportsQuery:t.includes("catalog")&&e.fields&&e.fields.length>0,supportsGetSamples:r>=10.2&&n,supportsProject:r>=10.3&&n,supportsComputeStatisticsHistograms:r>=10.4&&n,supportsQueryBoundary:r>=10.6&&n,supportsCalculateVolume:r>=10.7&&o,supportsComputePixelLocation:r>=10.7&&t.includes("catalog"),supportsComputeAngles:r>=10.91,supportsAdd:l,supportsDelete:l,supportsEditing:l,supportsUpdate:l,supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsChangeTracking:!1,supportsQueryAttachments:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsExceedsLimitStatistics:!1,supportsQueryAnalytics:!1,supportsQueryTopFeatures:!1},query:{maxRecordCount:s,maxRecordCountFactor:void 0,supportsStatistics:!!i?.supportsStatistics,supportsOrderBy:!!i?.supportsOrderBy,supportsDistinct:!!i?.supportsDistinct,supportsPagination:!!i?.supportsPagination,supportsStandardizedQueriesOnly:!!i?.useStandardizedQueries,supportsPercentileStatistics:!!i?.supportsPercentileStatistics,supportsCentroid:!!i?.supportsReturningGeometryCentroid,supportsDistance:!!i?.supportsQueryWithDistance,supportsExtent:!!i?.supportsReturningQueryExtent,supportsGeometryProperties:!!i?.supportsReturningGeometryProperties,supportsHavingClause:!!i?.supportsHavingClause,supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsMaxRecordCountFactor:!1,supportsSqlExpression:!1,supportsTopFeaturesQuery:!1,supportsQueryByOthers:!1,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!1,supportsCacheHint:!1,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!!i?.supportsDefaultSR,supportsCompactGeometry:!1,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0}}}};return e([y()],g.prototype,"_functionRasterInfos",void 0),e([y()],g.prototype,"_rasterJobHandler",void 0),e([y({dependsOn:["_serviceSupportsMosaicRule"]})],g.prototype,"_defaultServiceMosaicRule",void 0),e([b("_defaultServiceMosaicRule",["defaultMosaicMethod"])],g.prototype,"readDefaultServiceMosaicRule",null),e([y()],g.prototype,"_cachedRendererJson",void 0),e([y({readOnly:!0})],g.prototype,"_serviceSourceType",void 0),e([b("_serviceSourceType",["serviceSourceType","fields"])],g.prototype,"readServiceSourceType",null),e([y({readOnly:!0})],g.prototype,"_serviceSupportsMosaicRule",void 0),e([b("_serviceSupportsMosaicRule",["currentVersion","fields"])],g.prototype,"readServiceSupportsMosaicRule",null),e([y()],g.prototype,"rasterAttributeTableFieldPrefix",void 0),e([y({readOnly:!0})],g.prototype,"_rasterFunctionNamesIndex",null),e([y()],g.prototype,"adjustAspectRatio",void 0),e([y({type:[v],json:{write:!0}})],g.prototype,"bandIds",void 0),e([b("bandIds")],g.prototype,"readBandIds",null),e([y({readOnly:!0,json:{read:!1}})],g.prototype,"capabilities",void 0),e([b("service","capabilities",["capabilities","currentVersion","serviceDataType"])],g.prototype,"readCapabilities",null),e([y({type:Number})],g.prototype,"compressionQuality",void 0),e([x("compressionQuality")],g.prototype,"writeCompressionQuality",null),e([y({type:Number})],g.prototype,"compressionTolerance",void 0),e([x("compressionTolerance")],g.prototype,"writeCompressionTolerance",null),e([y({json:{read:{source:"copyrightText"}}})],g.prototype,"copyright",void 0),e([y({type:String,json:{name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],g.prototype,"definitionExpression",void 0),e([y({readOnly:!0,constructOnly:!0})],g.prototype,"exportImageServiceParameters",void 0),e([y()],g.prototype,"rasterInfo",void 0),e([y({readOnly:!0,type:[j]})],g.prototype,"fields",void 0),e([y({readOnly:!0})],g.prototype,"fieldsIndex",null),e([y({type:["png","png8","png24","png32","jpg","bmp","gif","jpgpng","lerc","tiff"],json:{write:!0}})],g.prototype,"format",null),e([b("service","format",["serviceDataType"])],g.prototype,"readFormat",null),e([y({type:te})],g.prototype,"fullExtent",void 0),e([y({readOnly:!0})],g.prototype,"hasMultidimensions",void 0),e([y({json:{read:{source:"maxImageHeight"}}})],g.prototype,"imageMaxHeight",void 0),e([y({json:{read:{source:"maxImageWidth"}}})],g.prototype,"imageMaxWidth",void 0),e([y({type:String,json:{type:C.jsonValues,read:C.read,write:C.write}})],g.prototype,"interpolation",void 0),e([y()],g.prototype,"minScale",void 0),e([b("service","minScale")],g.prototype,"readMinScale",null),e([y()],g.prototype,"maxScale",void 0),e([b("service","maxScale")],g.prototype,"readMaxScale",null),e([y({type:N})],g.prototype,"mosaicRule",null),e([b("mosaicRule",["mosaicRule","defaultMosaicMethod"])],g.prototype,"readMosaicRule",null),e([x("mosaicRule")],g.prototype,"writeMosaicRule",null),e([y()],g.prototype,"multidimensionalInfo",null),e([y({json:{type:v}})],g.prototype,"noData",void 0),e([x("noData")],g.prototype,"writeNoData",null),e([y({type:String,json:{type:M.jsonValues,read:M.read,write:M.write}})],g.prototype,"noDataInterpretation",void 0),e([y({type:String,readOnly:!0,json:{read:{source:["fields"]}}})],g.prototype,"objectIdField",void 0),e([b("objectIdField")],g.prototype,"readObjectIdField",null),e([y({})],g.prototype,"geometryType",void 0),e([y({})],g.prototype,"typeIdField",void 0),e([y({})],g.prototype,"types",void 0),e([y({readOnly:!0})],g.prototype,"parsedUrl",null),e([y({type:Function})],g.prototype,"pixelFilter",void 0),e([y()],g.prototype,"raster",void 0),e([y()],g.prototype,"viewId",void 0),e([y({types:i,json:{name:"layerDefinition.drawingInfo.renderer",origins:{"web-scene":{types:s,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type&&"flow"!==e.type})}}}}})],g.prototype,"renderer",null),e([b("renderer")],g.prototype,"readRenderer",null),e([x("renderer")],g.prototype,"writeRenderer",null),e([y()],g.prototype,"symbolizer",void 0),e([y(_)],g.prototype,"opacity",void 0),e([y({readOnly:!0})],g.prototype,"rasterFields",null),e([y({constructOnly:!0})],g.prototype,"rasterFunctionInfos",void 0),e([y({type:J})],g.prototype,"renderingRule",null),e([b("renderingRule",["renderingRule","rasterFunctionInfos"])],g.prototype,"readRenderingRule",null),e([x("renderingRule")],g.prototype,"writeRenderingRule",null),e([y()],g.prototype,"serviceDataType",void 0),e([y({readOnly:!0,type:ye})],g.prototype,"spatialReference",void 0),e([b("spatialReference",["spatialReference","extent"])],g.prototype,"readSpatialReference",null),e([y({json:{type:ge.jsonValues}})],g.prototype,"pixelType",void 0),e([b("pixelType")],g.prototype,"readPixelType",null),e([x("pixelType")],g.prototype,"writePixelType",null),e([y({constructOnly:!0,type:q})],g.prototype,"serviceRasterInfo",void 0),e([y()],g.prototype,"sourceJSON",void 0),e([y(w)],g.prototype,"url",void 0),e([y({readOnly:!0})],g.prototype,"version",void 0),e([b("version",["currentVersion","fields","timeInfo"])],g.prototype,"readVersion",null),g=e([I("esri.layers.mixins.ArcGISImageService")],g),g};export{be as ArcGISImageService};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import{rasterRendererTypes as t}from"../../rasterRenderers.js";import r from"../../request.js";import i from"../../core/Logger.js";import{isNone as s,isSome as n}from"../../core/maybe.js";import{aliasOf as o}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import{getInfo as m}from"../../geometry/support/spatialReferenceUtils.js";import{sanitizeUrl as d}from"../support/arcgisLayerUrl.js";import{url as u}from"../support/commonProperties.js";import p from"../support/DimensionalDefinition.js";import h from"../support/RasterJobHandler.js";import c from"../support/TileInfo.js";import{getDefaultMultidimensionalDefinition as f,isMultiSliceOrRangeDefinition as y}from"../support/rasterDatasets/multidimensionalUtils.js";import{convertVectorFieldData as b}from"../support/rasterFunctions/vectorFieldUtils.js";import{normalizeRendererJSON as g,getDefaultInterpolation as I,getDefaultBandCombination as J,createDefaultRenderer as _}from"../../renderers/support/rasterRendererHelper.js";import x from"../../renderers/support/RasterSymbolizer.js";import{createFlowMesh as v}from"../../views/2d/engine/flow/dataUtils.js";import R from"../../geometry/Extent.js";import S from"../../geometry/SpatialReference.js";const j=i.getLogger("esri.layers.mixins.ImageryTileMixin"),H=i=>{let H=class extends i{constructor(){super(...arguments),this._rasterJobHandler={instance:null,refCount:0,connectionPromise:null},this.bandIds=null,this.copyright=null,this.fullExtent=null,this.interpolation="nearest",this.multidimensionalDefinition=null,this.raster=null,this.rasterInfo=null,this.sourceJSON=null,this.spatialReference=null,this.tileInfo=null,this.symbolizer=null}set url(e){this._set("url",d(e,j))}set renderer(e){this._set("renderer",e),this.updateRenderer()}async convertVectorFieldData(e,t){if(s(e))return null;const r=this._rasterJobHandler.instance,i=this.rasterInfo.dataType;return r?r.convertVectorFieldData({pixelBlock:e,dataType:i},t):b(e,i)}async createFlowMesh(e,t){const r=this._rasterJobHandler.instance;return r?r.createFlowMesh(e,t):v(e.meshType,e.simulationSettings,e.flowData,n(t.signal)?t.signal:(new AbortController).signal)}normalizeRasterFetchOptions(e){const{multidimensionalInfo:t}=this.rasterInfo;if(s(t))return e;let r=e.multidimensionalDefinition||this.multidimensionalDefinition;!s(r)&&r.length||(r=f(this.raster.rasterInfo));const i=e.timeExtent||this.timeExtent;if(n(r)&&n(i)&&(n(i.start)||n(i.end))){r=r.map((e=>e.clone()));const o=t.variables.find((({name:e})=>e===r[0].variableName))?.dimensions?.find((({name:e})=>"StdTime"===e)),a=r.find((({dimensionName:e})=>"StdTime"===e));if(!o||!a)return{...e,multidimensionalDefinition:null};const{start:l,end:m}=i,d=s(l)?null:l.getTime(),u=s(m)?null:m.getTime(),p=d??u,h=u??d;if(n(o.values)){const e=o.values.filter((e=>{if(Array.isArray(e)){if(p===h)return e[0]<=p&&e[1]>=p;const t=e[0]<=p&&e[1]>p||e[0]<h&&e[1]>=h,r=e[0]>=p&&e[1]<=h||e[0]<p&&e[1]>h;return t||r}return p===h?e===p:e>=p&&e<=h}));if(e.length){const t=e.sort(((e,t)=>{if(p===h)return(e[0]??e)-(t[0]??t);return Math.abs((e[1]??e)-h)-Math.abs((t[1]??t)-h)}))[0];a.values=[t]}else r=null}else if(o.hasRegularIntervals&&o.extent){const[e,t]=o.extent;p>t||h<e?r=null:a.values=p===h?[p]:[Math.max(e,p),Math.min(t,h)]}}return{...e,multidimensionalDefinition:r}}async updateRenderer(){if(!this.loaded)return;if(JSON.stringify(this._cachedRendererJson)===JSON.stringify(this.renderer))return;const e=this._rasterJobHandler.instance;e&&(this.symbolizer.rendererJSON=g(this.renderer.toJSON()),this.symbolizer.bind(),await e.updateSymbolizer(this.symbolizer),this._cachedRendererJson=this.renderer.toJSON())}async applyRenderer(e,t){const r=e&&e.pixelBlock;if(!(n(r)&&r.pixels&&r.pixels.length>0))return null;let i;await this.updateRenderer();const s=this._rasterJobHandler.instance,{bandIds:o}=this;return i=s?await s.symbolize({...e,simpleStretchParams:t,bandIds:o}):this.symbolizer.symbolize({...e,simpleStretchParams:t,bandIds:o}),i}getTileUrl(e,t,r){return"RasterTileServer"===this.raster.datasetFormat?`${this.url}/tile/${e}/${t}/${r}`:""}getCompatibleTileInfo(e,t,r=!1){if(!this.loaded||s(t))return null;if(r&&e.equals(this.spatialReference))return this.tileInfo;const i=m(e);return c.create({size:256,spatialReference:e,origin:i?{x:i.origin[0],y:i.origin[1]}:{x:t.xmin,y:t.ymax}})}getCompatibleFullExtent(e){return this.loaded?(this._compatibleFullExtent&&this._compatibleFullExtent.spatialReference.equals(e)||(this._compatibleFullExtent=this.raster.computeExtent(e)),this._compatibleFullExtent):null}async fetchTile(e,t,i,o={}){if(o.requestAsImageElement){const s=this.getTileUrl(e,t,i);return r(s,{responseType:"image",query:{...this.refreshParameters,...this.raster.ioConfig.customFetchParameters},signal:o.signal}).then((e=>e.data))}if(n(this.rasterInfo.multidimensionalInfo)&&(o=this.normalizeRasterFetchOptions(o),s(o.multidimensionalDefinition))){const r=o.tileInfo||this.rasterInfo.storageInfo.tileInfo;return{extent:this.raster.getTileExtentFromTileInfo(e,t,i,r),pixelBlock:null}}return await this._initJobHandler(),"raster-shaded-relief"===this.renderer.type&&(o={...o,buffer:{cols:1,rows:1}}),this.raster.fetchTile(e,t,i,o)}async fetchPixels(e,t,r,i={}){return n(this.rasterInfo.multidimensionalInfo)&&(i=this.normalizeRasterFetchOptions(i),s(i.multidimensionalDefinition))?{extent:e,pixelBlock:null}:(await this._initJobHandler(),this.raster.fetchPixels(e,t,r,i))}async identify(e,t={}){if(n(this.rasterInfo.multidimensionalInfo)){if(!(this.rasterInfo.hasMultidimensionalTranspose&&!!(y(t.multidimensionalDefinition)||t.transposedVariableName||t.timeExtent))&&(t=this.normalizeRasterFetchOptions(t),s(t.multidimensionalDefinition)))return{location:e,value:null}}return this.raster.identify(e,t)}increaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount--,this._rasterJobHandler.refCount<=0&&this._shutdownJobHandler()}hasStandardTime(){const e=this.rasterInfo.multidimensionalInfo;if(s(e)||"standard-time"!==this.rasterInfo.dataType)return!1;const t=this.multidimensionalDefinition[0]?.variableName;return e.variables.some((e=>e.name===t&&e.dimensions.some((e=>"StdTime"===e.name))))}getStandardTimeValue(e){return new Date(24*(e-25569)*3600*1e3).toString()}_configDefaultSettings(){this._configDefaultInterpolation(),this.multidimensionalDefinition||(this.multidimensionalDefinition=f(this.raster.rasterInfo)),this._configDefaultRenderer()}_initJobHandler(){if(null!=this._rasterJobHandler.connectionPromise)return this._rasterJobHandler.connectionPromise;const e=new h;return this._rasterJobHandler.connectionPromise=e.initialize().then((()=>{this._rasterJobHandler.instance=e,this.raster.rasterJobHandler=e,this.renderer&&this.updateRenderer()})).catch((()=>null)),this._rasterJobHandler.connectionPromise}_shutdownJobHandler(){this._rasterJobHandler.instance&&this._rasterJobHandler.instance.destroy(),this._rasterJobHandler.instance=null,this._rasterJobHandler.connectionPromise=null,this._rasterJobHandler.refCount=0,this.raster.rasterJobHandler=null,this._cachedRendererJson=null}_configDefaultInterpolation(){if(null==this.interpolation){const e=I(this.rasterInfo,this.raster.tileType,this.sourceJSON?.defaultResamplingMethod);this._set("interpolation",e)}}_configDefaultRenderer(){const e=this.raster.rasterInfo;if(this.bandIds||(this.bandIds=J(e)),!this.renderer){const t=_(e,{bandIds:this.bandIds,variableName:n(this.multidimensionalDefinition)?this.multidimensionalDefinition[0]?.variableName:null});"WCSServer"===this.raster.datasetFormat&&"raster-stretch"===t.type&&(e.statistics?.[0].max>1e24||e.statistics?.[0].min<-1e24)&&(t.dynamicRangeAdjustment=!0,t.statistics=null,"none"===t.stretchType&&(t.stretchType="min-max")),this.renderer=t}this.symbolizer?(this.symbolizer.rendererJSON=g(this.renderer.toJSON()),this.symbolizer.rasterInfo=e):this.symbolizer=new x({rendererJSON:this.renderer.toJSON(),rasterInfo:e});const t=this.symbolizer.bind();t.success||j.warn("imagery-tile-mixin",t.error||"The given renderer is not supported by the layer.")}};return e([a()],H.prototype,"_cachedRendererJson",void 0),e([a()],H.prototype,"_compatibleFullExtent",void 0),e([a()],H.prototype,"_rasterJobHandler",void 0),e([a()],H.prototype,"bandIds",void 0),e([a({json:{origins:{service:{read:{source:"copyrightText"}}}}})],H.prototype,"copyright",void 0),e([a({type:R,json:{read:!1}}),o("rasterInfo.extent")],H.prototype,"fullExtent",void 0),e([a()],H.prototype,"interpolation",void 0),e([a()],H.prototype,"ioConfig",void 0),e([a({type:[p]})],H.prototype,"multidimensionalDefinition",void 0),e([a()],H.prototype,"raster",void 0),e([a({readOnly:!0}),o("raster.rasterInfo")],H.prototype,"rasterInfo",void 0),e([a()],H.prototype,"sourceJSON",void 0),e([a({type:S,json:{read:!1}}),o("rasterInfo.spatialReference")],H.prototype,"spatialReference",void 0),e([a({type:c,json:{read:!1}}),o("rasterInfo.storageInfo.tileInfo")],H.prototype,"tileInfo",void 0),e([a(u)],H.prototype,"url",null),e([a({types:t})],H.prototype,"renderer",null),e([a()],H.prototype,"symbolizer",void 0),H=e([l("esri.layers.ImageryTileMixin")],H),H};export{H as ImageryTileMixin};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{rasterRendererTypes as t}from"../../rasterRenderers.js";import r from"../../request.js";import i from"../../core/Logger.js";import{isNone as s,isSome as n}from"../../core/maybe.js";import{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 a}from"../../core/accessorSupport/decorators/subclass.js";import{getInfo as l}from"../../geometry/support/spatialReferenceUtils.js";import{sanitizeUrl as m}from"../support/arcgisLayerUrl.js";import{url as d}from"../support/commonProperties.js";import u from"../support/DimensionalDefinition.js";import h from"../support/RasterJobHandler.js";import p from"../support/TileInfo.js";import{getDefaultMultidimensionalDefinition as c,isMultiSliceOrRangeDefinition as f}from"../support/rasterDatasets/multidimensionalUtils.js";import{convertVectorFieldData as y}from"../support/rasterFunctions/vectorFieldUtils.js";import{normalizeRendererJSON as b,getDefaultInterpolation as g,getDefaultBandCombination as I,createDefaultRenderer as J}from"../../renderers/support/rasterRendererHelper.js";import _ from"../../renderers/support/RasterSymbolizer.js";import{createFlowMesh as x}from"../../views/2d/engine/flow/dataUtils.js";const R=i.getLogger("esri.layers.mixins.ImageryTileMixin"),v=i=>{let v=class extends i{constructor(){super(...arguments),this._rasterJobHandler={instance:null,refCount:0,connectionPromise:null},this.bandIds=null,this.copyright=null,this.interpolation="nearest",this.multidimensionalDefinition=null,this.raster=null,this.sourceJSON=null,this.symbolizer=null}get fullExtent(){return this.rasterInfo?.extent}get rasterInfo(){return this.raster?.rasterInfo}get spatialReference(){return this.rasterInfo?.spatialReference}get tileInfo(){return this.rasterInfo?.storageInfo.tileInfo}set url(e){this._set("url",m(e,R))}set renderer(e){this._set("renderer",e),this.updateRenderer()}async convertVectorFieldData(e,t){if(s(e))return null;const r=this._rasterJobHandler.instance,i=this.rasterInfo.dataType;return r?r.convertVectorFieldData({pixelBlock:e,dataType:i},t):y(e,i)}async createFlowMesh(e,t){const r=this._rasterJobHandler.instance;return r?r.createFlowMesh(e,t):x(e.meshType,e.simulationSettings,e.flowData,n(t.signal)?t.signal:(new AbortController).signal)}normalizeRasterFetchOptions(e){const{multidimensionalInfo:t}=this.rasterInfo;if(s(t))return e;let r=e.multidimensionalDefinition||this.multidimensionalDefinition;!s(r)&&r.length||(r=c(this.raster.rasterInfo));const i=e.timeExtent||this.timeExtent;if(n(r)&&n(i)&&(n(i.start)||n(i.end))){r=r.map((e=>e.clone()));const o=t.variables.find((({name:e})=>e===r[0].variableName))?.dimensions?.find((({name:e})=>"StdTime"===e)),a=r.find((({dimensionName:e})=>"StdTime"===e));if(!o||!a)return{...e,multidimensionalDefinition:null};const{start:l,end:m}=i,d=s(l)?null:l.getTime(),u=s(m)?null:m.getTime(),h=d??u,p=u??d;if(n(o.values)){const e=o.values.filter((e=>{if(Array.isArray(e)){if(h===p)return e[0]<=h&&e[1]>=h;const t=e[0]<=h&&e[1]>h||e[0]<p&&e[1]>=p,r=e[0]>=h&&e[1]<=p||e[0]<h&&e[1]>p;return t||r}return h===p?e===h:e>=h&&e<=p}));if(e.length){const t=e.sort(((e,t)=>{if(h===p)return(e[0]??e)-(t[0]??t);return Math.abs((e[1]??e)-p)-Math.abs((t[1]??t)-p)}))[0];a.values=[t]}else r=null}else if(o.hasRegularIntervals&&o.extent){const[e,t]=o.extent;h>t||p<e?r=null:a.values=h===p?[h]:[Math.max(e,h),Math.min(t,p)]}}return{...e,multidimensionalDefinition:r}}async updateRenderer(){if(!this.loaded)return;if(JSON.stringify(this._cachedRendererJson)===JSON.stringify(this.renderer))return;const e=this._rasterJobHandler.instance;e&&(this.symbolizer.rendererJSON=b(this.renderer.toJSON()),this.symbolizer.bind(),await e.updateSymbolizer(this.symbolizer),this._cachedRendererJson=this.renderer.toJSON())}async applyRenderer(e,t){const r=e&&e.pixelBlock;if(!(n(r)&&r.pixels&&r.pixels.length>0))return null;let i;await this.updateRenderer();const s=this._rasterJobHandler.instance,{bandIds:o}=this;return i=s?await s.symbolize({...e,simpleStretchParams:t,bandIds:o}):this.symbolizer.symbolize({...e,simpleStretchParams:t,bandIds:o}),i}getTileUrl(e,t,r){return"RasterTileServer"===this.raster.datasetFormat?`${this.url}/tile/${e}/${t}/${r}`:""}getCompatibleTileInfo(e,t,r=!1){if(!this.loaded||s(t))return null;if(r&&e.equals(this.spatialReference))return this.tileInfo;const i=l(e);return p.create({size:256,spatialReference:e,origin:i?{x:i.origin[0],y:i.origin[1]}:{x:t.xmin,y:t.ymax}})}getCompatibleFullExtent(e){return this.loaded?(this._compatibleFullExtent&&this._compatibleFullExtent.spatialReference.equals(e)||(this._compatibleFullExtent=this.raster.computeExtent(e)),this._compatibleFullExtent):null}async fetchTile(e,t,i,o={}){if(o.requestAsImageElement){const s=this.getTileUrl(e,t,i);return r(s,{responseType:"image",query:{...this.refreshParameters,...this.raster.ioConfig.customFetchParameters},signal:o.signal}).then((e=>e.data))}if(n(this.rasterInfo.multidimensionalInfo)&&(o=this.normalizeRasterFetchOptions(o),s(o.multidimensionalDefinition))){const r=o.tileInfo||this.rasterInfo.storageInfo.tileInfo;return{extent:this.raster.getTileExtentFromTileInfo(e,t,i,r),pixelBlock:null}}return await this._initJobHandler(),"raster-shaded-relief"===this.renderer.type&&(o={...o,buffer:{cols:1,rows:1}}),this.raster.fetchTile(e,t,i,o)}async fetchPixels(e,t,r,i={}){return n(this.rasterInfo.multidimensionalInfo)&&(i=this.normalizeRasterFetchOptions(i),s(i.multidimensionalDefinition))?{extent:e,pixelBlock:null}:(await this._initJobHandler(),this.raster.fetchPixels(e,t,r,i))}async identify(e,t={}){if(n(this.rasterInfo.multidimensionalInfo)){if(!(this.rasterInfo.hasMultidimensionalTranspose&&!!(f(t.multidimensionalDefinition)||t.transposedVariableName||t.timeExtent))&&(t=this.normalizeRasterFetchOptions(t),s(t.multidimensionalDefinition)))return{location:e,value:null}}return this.raster.identify(e,t)}increaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount--,this._rasterJobHandler.refCount<=0&&this._shutdownJobHandler()}hasStandardTime(){const e=this.rasterInfo.multidimensionalInfo;if(s(e)||"standard-time"!==this.rasterInfo.dataType)return!1;const t=this.multidimensionalDefinition[0]?.variableName;return e.variables.some((e=>e.name===t&&e.dimensions.some((e=>"StdTime"===e.name))))}getStandardTimeValue(e){return new Date(24*(e-25569)*3600*1e3).toString()}_configDefaultSettings(){this._configDefaultInterpolation(),this.multidimensionalDefinition||(this.multidimensionalDefinition=c(this.raster.rasterInfo)),this._configDefaultRenderer()}_initJobHandler(){if(null!=this._rasterJobHandler.connectionPromise)return this._rasterJobHandler.connectionPromise;const e=new h;return this._rasterJobHandler.connectionPromise=e.initialize().then((()=>{this._rasterJobHandler.instance=e,this.raster.rasterJobHandler=e,this.renderer&&this.updateRenderer()})).catch((()=>null)),this._rasterJobHandler.connectionPromise}_shutdownJobHandler(){this._rasterJobHandler.instance&&this._rasterJobHandler.instance.destroy(),this._rasterJobHandler.instance=null,this._rasterJobHandler.connectionPromise=null,this._rasterJobHandler.refCount=0,this.raster.rasterJobHandler=null,this._cachedRendererJson=null}_configDefaultInterpolation(){if(null==this.interpolation){const e=g(this.rasterInfo,this.raster.tileType,this.sourceJSON?.defaultResamplingMethod);this._set("interpolation",e)}}_configDefaultRenderer(){const e=this.raster.rasterInfo;if(this.bandIds||(this.bandIds=I(e)),!this.renderer){const t=J(e,{bandIds:this.bandIds,variableName:n(this.multidimensionalDefinition)?this.multidimensionalDefinition[0]?.variableName:null});"WCSServer"===this.raster.datasetFormat&&"raster-stretch"===t.type&&(e.statistics?.[0].max>1e24||e.statistics?.[0].min<-1e24)&&(t.dynamicRangeAdjustment=!0,t.statistics=null,"none"===t.stretchType&&(t.stretchType="min-max")),this.renderer=t}this.symbolizer?(this.symbolizer.rendererJSON=b(this.renderer.toJSON()),this.symbolizer.rasterInfo=e):this.symbolizer=new _({rendererJSON:this.renderer.toJSON(),rasterInfo:e});const t=this.symbolizer.bind();t.success||R.warn("imagery-tile-mixin",t.error||"The given renderer is not supported by the layer.")}};return e([o()],v.prototype,"_cachedRendererJson",void 0),e([o()],v.prototype,"_compatibleFullExtent",void 0),e([o()],v.prototype,"_rasterJobHandler",void 0),e([o()],v.prototype,"bandIds",void 0),e([o({json:{origins:{service:{read:{source:"copyrightText"}}}}})],v.prototype,"copyright",void 0),e([o({json:{read:!1}})],v.prototype,"fullExtent",null),e([o()],v.prototype,"interpolation",void 0),e([o()],v.prototype,"ioConfig",void 0),e([o({type:[u]})],v.prototype,"multidimensionalDefinition",void 0),e([o()],v.prototype,"raster",void 0),e([o()],v.prototype,"rasterInfo",null),e([o()],v.prototype,"sourceJSON",void 0),e([o({json:{read:!1}})],v.prototype,"spatialReference",null),e([o({json:{read:!1}})],v.prototype,"tileInfo",null),e([o(d)],v.prototype,"url",null),e([o({types:t})],v.prototype,"renderer",null),e([o()],v.prototype,"symbolizer",void 0),v=e([a("esri.layers.ImageryTileMixin")],v),v};export{v as ImageryTileMixin};
@@ -0,0 +1,4 @@
1
+ import "../../interfaces";
2
+
3
+ import ControlPointsGeoreference = __esri.ControlPointsGeoreference;
4
+ export default ControlPointsGeoreference;
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
+ */
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import r from"../../core/Logger.js";import{isNone as e,isSome as n}from"../../core/maybe.js";import{getProjectiveTransform as i,transformProjective as s}from"../../core/perspectiveUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import{c as p}from"../../chunks/mat3f64.js";import{r as a,l as u,s as m}from"../../chunks/vec2.js";import{a as P,f}from"../../chunks/vec2f64.js";import h from"../../geometry/Point.js";import d from"../../geometry/Polygon.js";import{projectOrLoad as y}from"../../geometry/projection.js";import j from"./GeoreferenceBase.js";const g=p();let v=class extends t{constructor(){super(...arguments),this.sourcePoint=null,this.mapPoint=null}};o([c()],v.prototype,"sourcePoint",void 0),o([c({type:h})],v.prototype,"mapPoint",void 0),v=o([l("esri.layers.support.ControlPoint")],v);let R=class extends j{constructor(o){super(o),this.controlPoints=null,this.height=0,this.type="control-points",this.width=0}get coords(){const{controlPoints:o,width:t,height:r}=this;if(e(o)||!(t>0)||!(r>0))return null;const[n,i,s,c]=o;if(!w(n))return null;const l=n.mapPoint.spatialReference,p=this._projectControlPoint(i,l),a=this._projectControlPoint(s,l),u=this._projectControlPoint(c,l);return p.valid&&a.valid&&u.valid&&w(p.controlPoint)?w(a.controlPoint)&&w(u.controlPoint)?B(n,p.controlPoint,a.controlPoint,u.controlPoint,t,r):w(a.controlPoint)?U(n,p.controlPoint,a.controlPoint,t,r):L(n,p.controlPoint,t,r):null}_projectControlPoint(o,t){if(!w(o))return{valid:!0,controlPoint:o};const{sourcePoint:e,mapPoint:n}=o,{geometry:i,pending:s}=y(n,t);return s?{valid:!1,controlPoint:null}:s||i?{valid:!0,controlPoint:{sourcePoint:e,mapPoint:i}}:(r.getLogger(this.declaredClass).warn("map point could not be projected to the spatial reference",{georeference:this,controlPoint:o,sourceSpatialReference:n.spatialReference,targetSpatialReference:t}),{valid:!1,controlPoint:null})}};function w(o){return n(o)&&n(o.sourcePoint)&&n(o.mapPoint)}o([c({type:[v]})],R.prototype,"controlPoints",void 0),o([c({readOnly:!0})],R.prototype,"coords",null),o([c()],R.prototype,"height",void 0),o([c()],R.prototype,"width",void 0),R=o([l("esri.layers.support.ControlPointsGeoreference")],R);const C=P(),x=P(),S=P(),_=P(),b=P(),k=P(),A=P(),I=P(),M=Math.PI/2;function G(o,t,r){m(o,r.sourcePoint.x,r.sourcePoint.y),m(t,r.mapPoint.x,r.mapPoint.y)}function L(o,t,r,e){return G(C,b,o),G(x,k,t),a(S,x,C,M),a(_,C,x,M),a(A,k,b,-M),a(I,b,k,-M),z(C,x,S,_,b,k,A,I,r,e,o.mapPoint.spatialReference)}function U(o,t,r,e,n){return G(C,b,o),G(x,k,t),G(S,A,r),u(_,C,x,.5),a(_,S,_,Math.PI),u(I,b,k,.5),a(I,A,I,Math.PI),z(C,x,S,_,b,k,A,I,e,n,o.mapPoint.spatialReference)}function B(o,t,r,e,n,i){return G(C,b,o),G(x,k,t),G(S,A,r),G(_,I,e),z(C,x,S,_,b,k,A,I,n,i,o.mapPoint.spatialReference)}const O=new Array(8).fill(0),T=new Array(8).fill(0);function q(o,t,r,e,n){return o[0]=t[0],o[1]=t[1],o[2]=r[0],o[3]=r[1],o[4]=e[0],o[5]=e[1],o[6]=n[0],o[7]=n[1],o}function z(o,t,r,e,n,c,l,p,a,u,m){i(g,q(O,o,t,r,e),q(T,n,c,l,p));const P=f(0,u),h=f(0,0),y=f(a,0),j=f(a,u);return s(P,P,g),s(h,h,g),s(y,y,g),s(j,j,g),new d({rings:[[P,h,y,j,P]],spatialReference:m})}const D=R;export{D 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.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import{isNone as t}from"../../core/maybe.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 r}from"../../core/accessorSupport/decorators/subclass.js";import s from"../../geometry/Point.js";import p from"../../geometry/Polygon.js";import{projectOrLoad as i}from"../../geometry/projection.js";import m from"./GeoreferenceBase.js";let c=class extends m{constructor(o){super(o),this.bottomLeft=null,this.bottomRight=null,this.topLeft=null,this.topRight=null,this.type="corners"}get coords(){let{topLeft:o,topRight:e,bottomLeft:r,bottomRight:s}=this;if(t(o)||t(e)||t(r)||t(s))return null;const m=o.spatialReference;return e=i(e,m).geometry,r=i(r,m).geometry,s=i(s,m).geometry,t(e)||t(r)||t(s)?null:new p({rings:[[[r.x,r.y],[o.x,o.y],[e.x,e.y],[s.x,s.y],[r.x,r.y]]],spatialReference:m})}};o([e({readOnly:!0})],c.prototype,"coords",null),o([e({type:s})],c.prototype,"bottomLeft",void 0),o([e({type:s})],c.prototype,"bottomRight",void 0),o([e({type:s})],c.prototype,"topLeft",void 0),o([e({type:s})],c.prototype,"topRight",void 0),c=o([r("esri.layers.support.CornersGeoreference")],c);const y=c;export{y as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Logger.js";import{isNone as o}from"../../core/maybe.js";import{property as r}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 p from"../../geometry/Point.js";import i from"../../geometry/Polygon.js";import{projectOrLoad as n}from"../../geometry/projection.js";import c from"./GeoreferenceBase.js";let l=class extends c{constructor(e){super(e),this.bottomLeft=null,this.bottomRight=null,this.topLeft=null,this.topRight=null,this.type="corners"}get coords(){let{topLeft:e,topRight:t,bottomLeft:r,bottomRight:s}=this;if(o(e)||o(t)||o(r)||o(s))return null;const p=e.spatialReference;return t=this._projectCorner(t,p),r=this._projectCorner(r,p),s=this._projectCorner(s,p),o(t)||o(r)||o(s)?null:new i({rings:[[[r.x,r.y],[e.x,e.y],[t.x,t.y],[s.x,s.y],[r.x,r.y]]],spatialReference:p})}_projectCorner(e,r){if(o(e))return e;const{geometry:s,pending:p}=n(e,r);return p?null:p||s?s:(t.getLogger(this.declaredClass).warn("map point could not be projected to the spatial reference",{georeference:this,point:e,sourceSpatialReference:e.spatialReference,targetSpatialReference:r}),null)}};e([r({readOnly:!0})],l.prototype,"coords",null),e([r({type:p})],l.prototype,"bottomLeft",void 0),e([r({type:p})],l.prototype,"bottomRight",void 0),e([r({type:p})],l.prototype,"topLeft",void 0),e([r({type:p})],l.prototype,"topRight",void 0),l=e([s("esri.layers.support.CornersGeoreference")],l);const a=l;export{a as default};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
+ */
5
+ class t{constructor({values:t,width:h,height:i,noDataValue:s},a){this.pixelData=t,this.width=h,this.height=i,this.safeWidth=.99999999*(h-1),this.noDataValue=s,this.dx=(h-1)/(a[2]-a[0]),this.dy=(h-1)/(a[3]-a[1]),this.x0=a[0],this.y1=a[3]}}export{t as ElevationSamplerData};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{isSome as t,isNone as a}from"../../core/maybe.js";class i{constructor(a,i=null){if(this.tile=a,this.zmin=0,this.zmax=0,t(i)){const t=a.extent;this.samplerData={pixelData:i.values,width:i.width,height:i.height,safeWidth:.99999999*(i.width-1),noDataValue:i.noDataValue,dx:(i.width-1)/(t[2]-t[0]),dy:(i.width-1)/(t[3]-t[1]),x0:t[0],y1:t[3]},this.zmin=i.minValue,this.zmax=i.maxValue}}sample(t,i){if(a(this.samplerData))return;const{safeWidth:h,width:s,pixelData:l,noDataValue:n,dx:o,dy:r,y1:m,x0:d}=this.samplerData,u=e(r*(m-i),0,h),x=e(o*(t-d),0,h),f=Math.floor(u),c=Math.floor(x),p=f*s+c,D=p+s,w=l[p],y=l[D],V=l[p+1],z=l[D+1];if(w!==n&&y!==n&&V!==n&&z!==n){const t=x-c,a=w+(V-w)*t;return a+(y+(z-y)*t-a)*(u-f)}}}function e(t,a,i){return t<a?a:t>i?i:t}export{i as ElevationTile};
5
+ import{isSome as t,isNone as a}from"../../core/maybe.js";import{ElevationSamplerData as i}from"./ElevationSamplerData.js";class e{constructor(a,e=null){if(this.tile=a,this.zmin=0,this.zmax=0,t(e)){const t=a.extent;this.samplerData=new i(e,t),this.zmin=e.minValue,this.zmax=e.maxValue}}sample(t,i){if(a(this.samplerData))return;const{safeWidth:e,width:r,pixelData:o,noDataValue:n,dx:l,dy:m,y1:h,x0:f}=this.samplerData,p=s(m*(h-i),0,e),u=s(l*(t-f),0,e),c=Math.floor(p),x=Math.floor(u),D=c*r+x,d=D+r,z=o[D],y=o[d],V=o[D+1],j=o[d+1];if(z!==n&&y!==n&&V!==n&&j!==n){const t=u-x,a=z+(V-z)*t;return a+(y+(j-y)*t-a)*(p-c)}}}function s(t,a,i){return t<a?a:t>i?i:t}export{e as ElevationTile};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{aliasOf as t}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import{writer as s}from"../../core/accessorSupport/decorators/writer.js";import{isSupportedRendererType as n,combineRenderingRules as a,convertRendererToRenderingRule as p,convertRenderingRuleToRFT as l}from"./imageryRendererUtils.js";import c from"./MosaicRule.js";import{interpolationKebab as m,noDataInterpretationKebab as y}from"./rasterEnums.js";import u from"./RasterFunction.js";let d=class extends r{constructor(){super(...arguments),this.layer=null,this.adjustAspectRatio=void 0,this.bandIds=void 0,this.compression=void 0,this.compressionQuality=void 0,this.compressionTolerance=.01,this.interpolation=null,this.noData=null,this.noDataInterpretation=void 0,this.pixelType=void 0,this.lercVersion=2}writeAdjustAspectRatio(e,r,t){this.layer.version<10.3||(r[t]=e)}writeCompressionQuality(e,r,t){this.format&&this.format.toLowerCase().includes("jpg")&&null!=e&&(r[t]=e)}writeCompressionTolerance(e,r,t){"lerc"===this.format&&null!=e&&(r[t]=e)}get format(){return"vector-field"===this.layer.renderer?.type?"lerc":this.layer.format}writeLercVersion(e,r,t){"lerc"===this.format&&this.layer.version>=10.5&&(r[t]=e)}get version(){const e=this.layer;return e.commitProperty("bandIds"),e.commitProperty("format"),e.commitProperty("compressionQuality"),e.commitProperty("compressionTolerance"),e.commitProperty("interpolation"),e.commitProperty("noData"),e.commitProperty("noDataInterpretation"),e.commitProperty("mosaicRule"),e.commitProperty("renderingRule"),e.commitProperty("adjustAspectRatio"),e.commitProperty("pixelFilter"),e.commitProperty("renderer"),e.commitProperty("definitionExpression"),(this._get("version")||0)+1}set version(e){this._set("version",e)}get mosaicRule(){const e=this.layer;let r=e.mosaicRule;const t=e.definitionExpression;return r?t&&t!==r.where&&(r=r.clone(),r.where=t):t&&(r=new c({where:t})),r}get renderingRule(){const e=this.layer;let r=e.renderingRule;const t=e.pixelFilter,o=!e.format||e.format.includes("jpg")||e.format.includes("png");return r=this._addResampleRasterFunction(r),o&&!t&&"vector-field"!==e.renderer?.type&&(r=this.combineRendererWithRenderingRule()),r}combineRendererWithRenderingRule(){const e=this.layer,{rasterInfo:r,renderingRule:t,renderer:o}=e;if(!o||!n(o))return t;return a(p(o,{rasterAttributeTable:r.attributeTable,pixelType:r.pixelType,dataType:r.dataType,bandProperties:r.keyProperties?.BandProperties,convertColorRampToColormap:e.version<10.6,convertToRFT:!!t?.rasterFunctionDefinition}),t)}_addResampleRasterFunction(e){if(!("vector-field"===this.layer.renderer?.type)||"Resample"===e?.functionName)return e;const r="esriImageServiceDataTypeVector-UV"===this.layer.serviceDataType?7:10;let t=new u({functionName:"Resample",functionArguments:{ResamplingType:r,InputCellSize:{x:this.layer.pixelSizeX,y:this.layer.pixelSizeY}}});return t=e?.rasterFunctionDefinition?new u({rasterFunctionDefinition:l(t)}):t,a(t,e)}};e([o()],d.prototype,"layer",void 0),e([o({json:{write:!0}})],d.prototype,"adjustAspectRatio",void 0),e([s("adjustAspectRatio")],d.prototype,"writeAdjustAspectRatio",null),e([o({json:{write:!0}}),t("layer.bandIds")],d.prototype,"bandIds",void 0),e([o({json:{write:!0}})],d.prototype,"compression",void 0),e([o({json:{write:!0}}),t("layer.compressionQuality")],d.prototype,"compressionQuality",void 0),e([s("compressionQuality")],d.prototype,"writeCompressionQuality",null),e([o({json:{write:!0}}),t("layer.compressionTolerance")],d.prototype,"compressionTolerance",void 0),e([s("compressionTolerance")],d.prototype,"writeCompressionTolerance",null),e([o({json:{write:!0}})],d.prototype,"format",null),e([o({type:String,json:{read:{reader:m.read},write:{writer:m.write}}}),t("layer.interpolation")],d.prototype,"interpolation",void 0),e([o({json:{write:!0}}),t("layer.noData")],d.prototype,"noData",void 0),e([o({type:String,json:{read:{reader:y.read},write:{writer:y.write}}}),t("layer.noDataInterpretation")],d.prototype,"noDataInterpretation",void 0),e([o({json:{write:!0}})],d.prototype,"pixelType",void 0),e([o({json:{write:!0}})],d.prototype,"lercVersion",void 0),e([s("lercVersion")],d.prototype,"writeLercVersion",null),e([o({type:Number})],d.prototype,"version",null),e([o({json:{write:!0}})],d.prototype,"mosaicRule",null),e([o({json:{write:!0}})],d.prototype,"renderingRule",null),d=e([i("esri.layers.mixins.ExportImageServiceParameters")],d);export{d as ExportImageServiceParameters};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{isNone as t}from"../../core/maybe.js";import{aliasOf as o}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{writer as n}from"../../core/accessorSupport/decorators/writer.js";import{isSupportedRendererType as a,combineRenderingRules as p,convertRendererToRenderingRule as l,convertRenderingRuleToRFT as c}from"./imageryRendererUtils.js";import m from"./MosaicRule.js";import{interpolationKebab as y,noDataInterpretationKebab as u}from"./rasterEnums.js";import d from"./RasterFunction.js";let f=class extends r{constructor(){super(...arguments),this.layer=null,this.adjustAspectRatio=void 0,this.bandIds=void 0,this.compression=void 0,this.compressionQuality=void 0,this.compressionTolerance=.01,this.interpolation=null,this.noData=null,this.noDataInterpretation=void 0,this.pixelType=void 0,this.lercVersion=2}writeAdjustAspectRatio(e,r,t){this.layer.version<10.3||(r[t]=e)}writeCompressionQuality(e,r,t){this.format&&this.format.toLowerCase().includes("jpg")&&null!=e&&(r[t]=e)}writeCompressionTolerance(e,r,t){"lerc"===this.format&&null!=e&&(r[t]=e)}get format(){return"vector-field"===this.layer.renderer?.type?"lerc":this.layer.format}writeLercVersion(e,r,t){"lerc"===this.format&&this.layer.version>=10.5&&(r[t]=e)}get version(){const e=this.layer;return e.commitProperty("bandIds"),e.commitProperty("format"),e.commitProperty("compressionQuality"),e.commitProperty("compressionTolerance"),e.commitProperty("interpolation"),e.commitProperty("noData"),e.commitProperty("noDataInterpretation"),e.commitProperty("mosaicRule"),e.commitProperty("renderingRule"),e.commitProperty("adjustAspectRatio"),e.commitProperty("pixelFilter"),e.commitProperty("renderer"),e.commitProperty("definitionExpression"),(this._get("version")||0)+1}set version(e){this._set("version",e)}get mosaicRule(){const e=this.layer;let r=e.mosaicRule;const t=e.definitionExpression;return r?t&&t!==r.where&&(r=r.clone(),r.where=t):t&&(r=new m({where:t})),r}get renderingRule(){const e=this.layer;let r=e.renderingRule;const t=e.pixelFilter,o=!e.format||e.format.includes("jpg")||e.format.includes("png");return r=this._addResampleRasterFunction(r),o&&!t&&"vector-field"!==e.renderer?.type&&(r=this.combineRendererWithRenderingRule()),r}combineRendererWithRenderingRule(){const e=this.layer,{rasterInfo:r,renderingRule:t,renderer:o}=e;if(!o||!a(o))return t;return p(l(o,{rasterAttributeTable:r.attributeTable,pixelType:r.pixelType,dataType:r.dataType,bandProperties:r.keyProperties?.BandProperties,convertColorRampToColormap:e.version<10.6,convertToRFT:!!t?.rasterFunctionDefinition}),t)}_addResampleRasterFunction(e){if(!("vector-field"===this.layer.renderer?.type)||"Resample"===e?.functionName||t(this.layer.serviceRasterInfo))return e;const r="esriImageServiceDataTypeVector-UV"===this.layer.serviceDataType?7:10,o=this.layer.serviceRasterInfo.pixelSize;let i=new d({functionName:"Resample",functionArguments:{ResamplingType:r,InputCellSize:o}});return i=e?.rasterFunctionDefinition?new d({rasterFunctionDefinition:c(i)}):i,p(i,e)}};e([i()],f.prototype,"layer",void 0),e([i({json:{write:!0}})],f.prototype,"adjustAspectRatio",void 0),e([n("adjustAspectRatio")],f.prototype,"writeAdjustAspectRatio",null),e([i({json:{write:!0}}),o("layer.bandIds")],f.prototype,"bandIds",void 0),e([i({json:{write:!0}})],f.prototype,"compression",void 0),e([i({json:{write:!0}}),o("layer.compressionQuality")],f.prototype,"compressionQuality",void 0),e([n("compressionQuality")],f.prototype,"writeCompressionQuality",null),e([i({json:{write:!0}}),o("layer.compressionTolerance")],f.prototype,"compressionTolerance",void 0),e([n("compressionTolerance")],f.prototype,"writeCompressionTolerance",null),e([i({json:{write:!0}})],f.prototype,"format",null),e([i({type:String,json:{read:{reader:y.read},write:{writer:y.write}}}),o("layer.interpolation")],f.prototype,"interpolation",void 0),e([i({json:{write:!0}}),o("layer.noData")],f.prototype,"noData",void 0),e([i({type:String,json:{read:{reader:u.read},write:{writer:u.write}}}),o("layer.noDataInterpretation")],f.prototype,"noDataInterpretation",void 0),e([i({json:{write:!0}})],f.prototype,"pixelType",void 0),e([i({json:{write:!0}})],f.prototype,"lercVersion",void 0),e([n("lercVersion")],f.prototype,"writeLercVersion",null),e([i({type:Number})],f.prototype,"version",null),e([i({json:{write:!0}})],f.prototype,"mosaicRule",null),e([i({json:{write:!0}})],f.prototype,"renderingRule",null),f=e([s("esri.layers.mixins.ExportImageServiceParameters")],f);export{f as ExportImageServiceParameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{NumericIdentifiableMixin as r}from"../../core/Identifiable.js";import o from"../../core/Loadable.js";import{property as t}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 p from"./CornersGeoreference.js";import c from"./ExtentAndRotationGeoreference.js";import a from"./GeoreferenceBase.js";const i={key:"type",base:a,typeMap:{corners:p,"extent-and-rotation":c}};let n=class extends(r(o)){constructor(){super(...arguments),this.georeference=null,this.opacity=1}};e([t({types:i})],n.prototype,"georeference",void 0),e([t()],n.prototype,"opacity",void 0),n=e([s("esri.layers.support.MediaElementBase")],n);const m=n;export{m as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{NumericIdentifiableMixin as o}from"../../core/Identifiable.js";import r from"../../core/Loadable.js";import{property as t}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 p from"./ControlPointsGeoreference.js";import c from"./CornersGeoreference.js";import i from"./ExtentAndRotationGeoreference.js";import a from"./GeoreferenceBase.js";const n={key:"type",base:a,typeMap:{"control-points":p,corners:c,"extent-and-rotation":i}};let m=class extends(o(r)){constructor(){super(...arguments),this.georeference=null,this.opacity=1}};e([t({types:n})],m.prototype,"georeference",void 0),e([t()],m.prototype,"opacity",void 0),m=e([s("esri.layers.support.MediaElementBase")],m);const f=m;export{f 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.25/esri/copyright.txt for details.
4
4
  */
5
- import{clone as e}from"../../core/lang.js";import t from"./RasterFunction.js";import{schema as n}from"./rasterFunctionUtils.js";import{getRFxArgColorRampValue as r,convertColorRampToColormap as o,getColorRampName as a,rgbaConvertTo32Bit as i}from"../../renderers/support/colorRampUtils.js";import{stretchTypeJSONDict as s}from"../../renderers/support/stretchRendererUtils.js";import u from"../../renderers/visualVariables/SizeVariable.js";const c={u1:[0,1],u2:[0,3],u4:[0,15],u8:[0,255],s8:[-128,127],u16:[0,65535],s16:[-32768,32767]},l={simple_scalar:"Simple Scalar",wind_barb:"Wind Barb",single_arrow:"Single Arrow",beaufort_kn:"Beaufort Wind (Knots)",beaufort_m:"Beaufort Wind (MetersPerSecond)",ocean_current_m:"Ocean Current (MetersPerSecond)",ocean_current_kn:"Ocean Current (Knots)"},m=new Set(["raster-stretch","unique-value","class-breaks","raster-shaded-relief","vector-field","raster-colormap"]);function f(e){return m.has(e.type)}function p(t,n){if(!t||!n)return e(t||n);const r=e(t);if(n.rasterFunctionDefinition){const e=n.rasterFunctionDefinition;(e.thumbnail||e.thumbnailEx)&&(e.thumbnail=e.thumbnailEx=null),g(r.rasterFunctionDefinition.arguments,n)}else if("none"!==n.functionName.toLowerCase()){b(r.functionArguments).Raster=n}return r}function g(e,t){for(const n in e)"raster"===n.toLowerCase()&&("RasterFunctionVariable"===e[n].type?(e[n]=t.rasterFunctionDefinition,e[n].type="RasterFunctionTemplate"):"RasterFunctionTemplate"===e[n].type&&g(e[n].arguments,t))}function d(t){const r=e(n[t.functionName+"Function"]),o=t.functionArguments;for(const e in o)"raster"===e.toLowerCase()?(r.arguments[e]=d(o[e]),r.arguments[e].type="RasterFunctionTemplate"):"colormap"===e.toLowerCase()?(r.arguments[e].value=N(o[e]),r.arguments.ColorSchemeType.value=0):r.arguments[e].value=o[e];return r}function h(e,t){switch(t=t||{},e.type){case"raster-stretch":return v(e,t);case"class-breaks":return T(e,t);case"unique-value":return A(e,t);case"raster-colormap":return F(e,t);case"vector-field":return y(e,t);case"raster-shaded-relief":return w(e,t);case"flow":throw new Error("Unsupported rendering rule.")}}function b(e){const t=e.Raster;return t&&"esri.layers.support.RasterFunction"===t.declaredClass?b(t.functionArguments):e}const R={none:0,standardDeviation:3,histogramEqualization:4,minMax:5,percentClip:6,sigmoid:9};function y(e,n){const r=new t;r.functionName="VectorFieldRenderer";const{dataType:o,bandProperties:a}=n,i="vector-uv"===o;let s,c;a&&2===a.length&&(s=a.map((e=>e.BandName.toLowerCase())).indexOf("magnitude"),c=a.map((e=>e.BandName.toLowerCase())).indexOf("direction")),-1!==s&&null!==s||(s=0,c=1);const m="arithmetic"===e.rotationType?1:2,f="flow-from"===e.flowRepresentation?0:1,p=e.visualVariables?e.visualVariables.find((e=>"Magnitude"===e.field)):new u,g={magnitudeBandID:s,directionBandID:c,isUVComponents:i,referenceSystem:m,massFlowAngleRepresentation:f,symbolTileSize:50,symbolTileSizeUnits:100,calculationMethod:"Vector Average",symbologyName:l[e.style.toLowerCase().replace("-","_")],minimumMagnitude:p.minDataValue,maximumMagnitude:p.maxDataValue,minimumSymbolSize:p.minSize,maximumSymbolSize:p.maxSize};return r.functionArguments=g,n.convertToRFT?new t({rasterFunctionDefinition:d(r)}):r}function w(e,n){const a=n.convertToRFT;if("elevation"!==n.dataType)return new t;const i=new t;i.functionName="Hillshade";const s="traditional"===e.hillshadeType?0:1,u="none"===e.scalingType?1:3,c={HillshadeType:s,SlopeType:u,ZFactor:e.zFactor};return 0===s&&(c.Azimuth=e.azimuth,c.Altitude=e.altitude),3===u&&(c.PSPower=e.pixelSizePower,c.PSZFactor=e.pixelSizeFactor),i.functionArguments=c,i.variableName="Raster",e.colorRamp&&(i.functionName="ShadedRelief",a?c.ColorRamp=r(e.colorRamp):c.Colormap=o(e.colorRamp,256)),a?new t({rasterFunctionDefinition:d(i)}):i}function v(e,n){const i=n.convertToRFT,u=new t;u.functionName="Stretch";const c=R[s.toJSON(e.stretchType)],l="u8",m={StretchType:c,Statistics:x(e.statistics),DRA:e.dynamicRangeAdjustment,UseGamma:e.useGamma,Gamma:e.gamma,ComputeGamma:e.computeGamma};if(null!=e.outputMin&&(m.Min=e.outputMin),null!=e.outputMax&&(m.Max=e.outputMax),c===R.standardDeviation?(m.NumberOfStandardDeviations=e.numberOfStandardDeviations,u.outputPixelType=l):c===R.percentClip?(m.MinPercent=e.minPercent,m.MaxPercent=e.maxPercent,u.outputPixelType=l):c===R.minMax?u.outputPixelType=l:c===R.sigmoid&&(m.SigmoidStrengthLevel=e.sigmoidStrengthLevel),u.functionArguments=m,u.variableName="Raster",e.colorRamp){const s=e.colorRamp,c=new t;if(i)c.functionArguments={ColorRamp:r(s)};else{const t=a(s);if(t)c.functionArguments={colorRamp:t};else if(!n.convertColorRampToColormap||"algorithmic"!==s.type&&"multipart"!==s.type){const t=e.colorRamp.toJSON();"algorithmic"===t.type?t.algorithm=t.algorithm||"esriCIELabAlgorithm":"multipart"===t.type&&t.colorRamps?.length&&t.colorRamps.forEach((e=>e.algorithm=e.algorithm||"esriCIELabAlgorithm")),c.functionArguments={colorRamp:t}}else c.functionArguments={Colormap:o(s,256)}}return c.variableName="Raster",c.functionName="Colormap",c.functionArguments.Raster=u,i?new t({rasterFunctionDefinition:d(c)}):c}return i?new t({rasterFunctionDefinition:d(u)}):u}function T(e,n){const r=[],o=[],a=[],i=[],s=1e-6,{pixelType:u,rasterAttributeTable:c}=n,l=c&&c.features,m=C(c);if(l&&Array.isArray(l)&&e.classBreakInfos){e.classBreakInfos.forEach(((t,n)=>{const r=t.symbol.color;let o;r.a&&l.forEach((a=>{o=a.attributes[e.field],(o>=t.minValue&&o<t.maxValue||n===e.classBreakInfos.length-1&&o>=t.minValue)&&i.push([a.attributes[m],r.r,r.g,r.b])}))}));const r=u?S(i,u):i,o=new t;return o.functionName="Colormap",o.functionArguments={},o.functionArguments.Colormap=r,o.variableName="Raster",n.convertToRFT?new t({rasterFunctionDefinition:d(o)}):o}e.classBreakInfos.forEach(((e,t)=>{const n=e.symbol&&e.symbol.color;n.a?(0===t?r.push(e.minValue,e.maxValue+s):r.push(e.minValue+s,e.maxValue+s),o.push(t),i.push([t,n.r,n.g,n.b])):a.push(e.minValue,e.maxValue)}));const f=u?S(i,u):i,p=new t;p.functionName="Remap",p.functionArguments={InputRanges:r,OutputValues:o,NoDataRanges:a},p.variableName="Raster";const g=new t;return g.functionName="Colormap",g.functionArguments={Colormap:f,Raster:p},n.convertToRFT?new t({rasterFunctionDefinition:d(g)}):g}function S(e,t){const n=c[String(t).toLowerCase()];return n&&e.push([Math.floor(n[0]-1),0,0,0],[Math.ceil(n[1]+1),0,0,0]),e}function C(e){if(!e)return;const{fields:t}=e,n=t&&t.find((e=>e&&e.name&&"value"===e.name.toLowerCase()));return n&&n.name}function A(e,n){const r=[],{pixelType:o,rasterAttributeTable:a}=n,i=a&&a.features,s=C(a),u=e.defaultSymbol?.color?.toRgb(),c=e.uniqueValueInfos;if(c)if(i){const t=new Map;c.forEach((e=>{const n=e.value,r=e.symbol.color?.toRgb();null!=n&&r&&t.set(String(n),r)}));const n=e.field;i.forEach((({attributes:e})=>{const o=String(e[n]),a=e[s];if(t.has(o)){const e=t.get(o);r.push([a,...e])}else u&&r.push([a,...u])}))}else for(let t=0;t<c.length;t++){const e=c[t],n=e.symbol.color,o=+e.value;if(n?.a){if(isNaN(o))return null;r.push([o,n.r,n.g,n.b])}}const l=o&&r.length>0?S(r,o):r,m=new t;return m.functionName="Colormap",m.functionArguments={},m.functionArguments.Colormap=l,m.variableName="Raster",n.convertToRFT?new t({rasterFunctionDefinition:d(m)}):m}function F(e,n){const r=e.extractColormap();if(!r||0===r.length)return;const{pixelType:o}=n,a=o?S(r,o):r,i=new t;return i.functionName="Colormap",i.functionArguments={},i.functionArguments.Colormap=a,n.convertToRFT?new t({rasterFunctionDefinition:d(i)}):i}function x(e){const t=[];return e.forEach((e=>{const n=e;if(Array.isArray(n))t.push(n);else{if(null==n.min||null==n.max)return;const e=[n.min,n.max,n.avg||0,n.stddev||0];t.push(e)}})),t}function N(e){const t=[],n=[];return e.forEach((e=>{t.push(e[0]),n.push(i([...e.slice(1),255]))})),{type:"RasterColormap",values:t,colors:n}}export{p as combineRenderingRules,h as convertRendererToRenderingRule,d as convertRenderingRuleToRFT,f as isSupportedRendererType,c as pixelTypeRanges};
5
+ import{clone as e}from"../../core/lang.js";import{isNone as t}from"../../core/maybe.js";import n from"./RasterFunction.js";import{schema as r}from"./rasterFunctionUtils.js";import{getRFxArgColorRampValue as o,convertColorRampToColormap as a,getColorRampName as i,rgbaConvertTo32Bit as s}from"../../renderers/support/colorRampUtils.js";import{stretchTypeJSONDict as u}from"../../renderers/support/stretchRendererUtils.js";import c from"../../renderers/visualVariables/SizeVariable.js";const l={u1:[0,1],u2:[0,3],u4:[0,15],u8:[0,255],s8:[-128,127],u16:[0,65535],s16:[-32768,32767]},m={simple_scalar:"Simple Scalar",wind_barb:"Wind Barb",single_arrow:"Single Arrow",beaufort_kn:"Beaufort Wind (Knots)",beaufort_m:"Beaufort Wind (MetersPerSecond)",ocean_current_m:"Ocean Current (MetersPerSecond)",ocean_current_kn:"Ocean Current (Knots)"},f=new Set(["raster-stretch","unique-value","class-breaks","raster-shaded-relief","vector-field","raster-colormap"]);function p(e){return f.has(e.type)}function g(t,n){if(!t||!n)return e(t||n);const r=e(t);if(n.rasterFunctionDefinition){const e=n.rasterFunctionDefinition;(e.thumbnail||e.thumbnailEx)&&(e.thumbnail=e.thumbnailEx=null),d(r.rasterFunctionDefinition.arguments,n)}else if("none"!==n.functionName.toLowerCase()){R(r.functionArguments).Raster=n}return r}function d(e,t){for(const n in e)"raster"===n.toLowerCase()&&("RasterFunctionVariable"===e[n].type?(e[n]=t.rasterFunctionDefinition,e[n].type="RasterFunctionTemplate"):"RasterFunctionTemplate"===e[n].type&&d(e[n].arguments,t))}function h(t){const n=e(r[t.functionName+"Function"]),o=t.functionArguments;for(const e in o)"raster"===e.toLowerCase()?(n.arguments[e]=h(o[e]),n.arguments[e].type="RasterFunctionTemplate"):"colormap"===e.toLowerCase()?(n.arguments[e].value=D(o[e]),n.arguments.ColorSchemeType.value=0):n.arguments[e].value=o[e];return n}function b(e,t){switch(t=t||{},e.type){case"raster-stretch":return T(e,t);case"class-breaks":return S(e,t);case"unique-value":return F(e,t);case"raster-colormap":return x(e,t);case"vector-field":return w(e,t);case"raster-shaded-relief":return v(e,t);case"flow":throw new Error("Unsupported rendering rule.")}}function R(e){const t=e.Raster;return t&&"esri.layers.support.RasterFunction"===t.declaredClass?R(t.functionArguments):e}const y={none:0,standardDeviation:3,histogramEqualization:4,minMax:5,percentClip:6,sigmoid:9};function w(e,t){const r=new n;r.functionName="VectorFieldRenderer";const{dataType:o,bandProperties:a}=t,i="vector-uv"===o;let s,u;a&&2===a.length&&(s=a.map((e=>e.BandName.toLowerCase())).indexOf("magnitude"),u=a.map((e=>e.BandName.toLowerCase())).indexOf("direction")),-1!==s&&null!==s||(s=0,u=1);const l="arithmetic"===e.rotationType?1:2,f="flow-from"===e.flowRepresentation?0:1,p=e.visualVariables?e.visualVariables.find((e=>"Magnitude"===e.field)):new c,g={magnitudeBandID:s,directionBandID:u,isUVComponents:i,referenceSystem:l,massFlowAngleRepresentation:f,symbolTileSize:50,symbolTileSizeUnits:100,calculationMethod:"Vector Average",symbologyName:m[e.style.toLowerCase().replace("-","_")],minimumMagnitude:p.minDataValue,maximumMagnitude:p.maxDataValue,minimumSymbolSize:p.minSize,maximumSymbolSize:p.maxSize};return r.functionArguments=g,t.convertToRFT?new n({rasterFunctionDefinition:h(r)}):r}function v(e,t){const r=t.convertToRFT;if("elevation"!==t.dataType)return new n;const i=new n;i.functionName="Hillshade";const s="traditional"===e.hillshadeType?0:1,u="none"===e.scalingType?1:3,c={HillshadeType:s,SlopeType:u,ZFactor:e.zFactor};return 0===s&&(c.Azimuth=e.azimuth,c.Altitude=e.altitude),3===u&&(c.PSPower=e.pixelSizePower,c.PSZFactor=e.pixelSizeFactor),i.functionArguments=c,i.variableName="Raster",e.colorRamp&&(i.functionName="ShadedRelief",r?c.ColorRamp=o(e.colorRamp):c.Colormap=a(e.colorRamp,256)),r?new n({rasterFunctionDefinition:h(i)}):i}function T(e,t){const r=t.convertToRFT,s=new n;s.functionName="Stretch";const c=y[u.toJSON(e.stretchType)],l="u8",m={StretchType:c,Statistics:N(e.statistics),DRA:e.dynamicRangeAdjustment,UseGamma:e.useGamma,Gamma:e.gamma,ComputeGamma:e.computeGamma};if(null!=e.outputMin&&(m.Min=e.outputMin),null!=e.outputMax&&(m.Max=e.outputMax),c===y.standardDeviation?(m.NumberOfStandardDeviations=e.numberOfStandardDeviations,s.outputPixelType=l):c===y.percentClip?(m.MinPercent=e.minPercent,m.MaxPercent=e.maxPercent,s.outputPixelType=l):c===y.minMax?s.outputPixelType=l:c===y.sigmoid&&(m.SigmoidStrengthLevel=e.sigmoidStrengthLevel),s.functionArguments=m,s.variableName="Raster",e.colorRamp){const u=e.colorRamp,c=new n;if(r)c.functionArguments={ColorRamp:o(u)};else{const n=i(u);if(n)c.functionArguments={colorRamp:n};else if(!t.convertColorRampToColormap||"algorithmic"!==u.type&&"multipart"!==u.type){const t=e.colorRamp.toJSON();"algorithmic"===t.type?t.algorithm=t.algorithm||"esriCIELabAlgorithm":"multipart"===t.type&&t.colorRamps?.length&&t.colorRamps.forEach((e=>e.algorithm=e.algorithm||"esriCIELabAlgorithm")),c.functionArguments={colorRamp:t}}else c.functionArguments={Colormap:a(u,256)}}return c.variableName="Raster",c.functionName="Colormap",c.functionArguments.Raster=s,r?new n({rasterFunctionDefinition:h(c)}):c}return r?new n({rasterFunctionDefinition:h(s)}):s}function S(e,r){const o=[],a=[],i=[],s=[],u=1e-6,{pixelType:c,rasterAttributeTable:l}=r,m=t(l)?null:l.features,f=A(l);if(m&&Array.isArray(m)&&e.classBreakInfos){e.classBreakInfos.forEach(((t,n)=>{const r=t.symbol.color;let o;r.a&&m.forEach((a=>{o=a.attributes[e.field],(o>=t.minValue&&o<t.maxValue||n===e.classBreakInfos.length-1&&o>=t.minValue)&&s.push([a.attributes[f],r.r,r.g,r.b])}))}));const t=c?C(s,c):s,o=new n;return o.functionName="Colormap",o.functionArguments={},o.functionArguments.Colormap=t,o.variableName="Raster",r.convertToRFT?new n({rasterFunctionDefinition:h(o)}):o}e.classBreakInfos.forEach(((e,t)=>{const n=e.symbol&&e.symbol.color;n.a?(0===t?o.push(e.minValue,e.maxValue+u):o.push(e.minValue+u,e.maxValue+u),a.push(t),s.push([t,n.r,n.g,n.b])):i.push(e.minValue,e.maxValue)}));const p=c?C(s,c):s,g=new n;g.functionName="Remap",g.functionArguments={InputRanges:o,OutputValues:a,NoDataRanges:i},g.variableName="Raster";const d=new n;return d.functionName="Colormap",d.functionArguments={Colormap:p,Raster:g},r.convertToRFT?new n({rasterFunctionDefinition:h(d)}):d}function C(e,t){const n=l[String(t).toLowerCase()];return n&&e.push([Math.floor(n[0]-1),0,0,0],[Math.ceil(n[1]+1),0,0,0]),e}function A(e){if(t(e))return;const{fields:n}=e,r=n&&n.find((e=>e&&e.name&&"value"===e.name.toLowerCase()));return r&&r.name}function F(e,r){const o=[],{pixelType:a,rasterAttributeTable:i}=r,s=t(i)?null:i.features,u=A(i),c=e.defaultSymbol?.color?.toRgb(),l=e.uniqueValueInfos;if(l)if(s){const t=new Map;l.forEach((e=>{const n=e.value,r=e.symbol.color?.toRgb();null!=n&&r&&t.set(String(n),r)}));const n=e.field;s.forEach((({attributes:e})=>{const r=String(e[n]),a=e[u];if(t.has(r)){const e=t.get(r);o.push([a,...e])}else c&&o.push([a,...c])}))}else for(let t=0;t<l.length;t++){const e=l[t],n=e.symbol.color,r=+e.value;if(n?.a){if(isNaN(r))return null;o.push([r,n.r,n.g,n.b])}}const m=a&&o.length>0?C(o,a):o,f=new n;return f.functionName="Colormap",f.functionArguments={},f.functionArguments.Colormap=m,f.variableName="Raster",r.convertToRFT?new n({rasterFunctionDefinition:h(f)}):f}function x(e,t){const r=e.extractColormap();if(!r||0===r.length)return;const{pixelType:o}=t,a=o?C(r,o):r,i=new n;return i.functionName="Colormap",i.functionArguments={},i.functionArguments.Colormap=a,t.convertToRFT?new n({rasterFunctionDefinition:h(i)}):i}function N(e){const t=[];return e.forEach((e=>{const n=e;if(Array.isArray(n))t.push(n);else{if(null==n.min||null==n.max)return;const e=[n.min,n.max,n.avg||0,n.stddev||0];t.push(e)}})),t}function D(e){const t=[],n=[];return e.forEach((e=>{t.push(e[0]),n.push(s([...e.slice(1),255]))})),{type:"RasterColormap",values:t,colors:n}}export{g as combineRenderingRules,b as convertRendererToRenderingRule,h as convertRenderingRuleToRFT,p as isSupportedRendererType,l as pixelTypeRanges};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../core/Error.js";import{unwrap as r,isNone as i}from"../../../core/maybe.js";import{property as s}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../../core/accessorSupport/decorators/subclass.js";import n from"../RasterInfo.js";import o from"../RasterStorageInfo.js";import f from"./BaseRaster.js";import{parseSpatialReference as l,parsePAMInfo as m}from"./pamParser.js";import{parseSignature as u,getImageInfo as p,parseIFD as c,parseFieldValues as h,isBSQConfig as d}from"../rasterFormats/TiffDecoder.js";import y from"../rasterFormats/TiffTags.js";import{estimateStatisticsFromHistograms as g}from"../rasterFunctions/stretchUtils.js";import x from"../rasterTransforms/PolynomialTransform.js";import T from"../../../geometry/SpatialReference.js";import I from"../../../geometry/Extent.js";import w from"../../../geometry/Point.js";const _=(e,t)=>{const r=e.get(t);return r&&r.values},b=(e,t)=>{const r=e.get(t);return r&&r.values[0]};let E=class extends f{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this.datasetFormat="TIFF"}async open(e){await this.init();const s=e?r(e.signal):null,{data:a}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:s});if(!a)throw new t("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const{littleEndian:f,firstIFD:m,isBigTiff:c}=u(a),h=[];await this._readIFDs(h,a,f,m,0,c?8:4,s);const d=p(h),{width:y,height:_,tileWidth:b,tileHeight:E,planes:S,pixelType:F,compression:R,firstPyramidLevel:k,maximumPyramidLevel:v,pyramidBlockWidth:j,pyramidBlockHeight:B,tileBoundary:D,affine:L,metadata:z}=d,O=d.extent.spatialReference?.wkt||d.extent.spatialReference?.wkid;let P=l(O),H=!1;null==P&&(H=!0,P=new T({wkid:3857}));const A=new I({...d.extent,spatialReference:P}),G=new w(A?{x:A.xmin,y:A.ymax,spatialReference:P}:{x:0,y:0}),q=new o({blockWidth:b,blockHeight:E,pyramidBlockWidth:j,pyramidBlockHeight:B,compression:R,origin:G,firstPyramidLevel:k,maximumPyramidLevel:v,blockBoundary:D}),C=new w({x:(A.xmax-A.xmin)/y,y:(A.ymax-A.ymin)/_,spatialReference:P}),W=z?{BandProperties:z.bandProperties,DataType:z.dataType}:{},U=new n({width:y,height:_,bandCount:S,pixelType:F,compression:R,pixelSize:C,storageInfo:q,spatialReference:P,isPseudoSpatialReference:H,keyProperties:W,extent:A,statistics:z?z.statistics:null});if(L?.length&&(U.nativeExtent=new I({xmin:-.5,ymin:.5-_,xmax:y-.5,ymax:.5,spatialReference:P}),U.transform=new x({polynomialOrder:1,forwardCoefficients:[L[2]+L[0]/2,L[5]-L[3]/2,L[0],L[3],-L[1],-L[4]]}),U.extent=U.transform.forwardTransform(U.nativeExtent),U.pixelSize=new w({x:(A.xmax-A.xmin)/y,y:(A.ymax-A.ymin)/_,spatialReference:P}),q.origin.x=-.5,q.origin.y=.5),!this.ioConfig.skipExtensions?.includes("aux.xml")){const t=await this._fetchAuxiliaryData(e);if(null!=t){if(U.statistics=t.statistics??U.statistics,U.histograms=t.histograms,t.histograms&&i(U.statistics)&&(U.statistics=g(t.histograms)),t.transform&&!L){U.transform=t.transform,U.nativeExtent=U.extent;const e=U.transform.forwardTransform(U.nativeExtent);U.pixelSize=new w({x:(e.xmax-e.xmin)/y,y:(e.ymax-e.ymin)/_,spatialReference:P}),U.extent=e}U.spatialReference||(U.spatialReference=t.spatialReference)}}if(this._set("rasterInfo",U),this._headerInfo={littleEndian:f,isBigTiff:c,ifds:h,...d},!this._headerInfo.isSupported)throw new t("tiffraster:open","this tiff is not supported: "+this._headerInfo.message);this.updateTileInfo()}async fetchRawTile(e,t,r,i={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,r))return null;const s=this._getTileLocation(e,t,r);if(!s)return null;const{ranges:a,actualTileWidth:n,actualTileHeight:o,ifd:f}=s,l=a.map((e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:i.signal}))),m=await Promise.all(l),u=m.map((e=>e.data.byteLength)).reduce(((e,t)=>e+t)),p=1===m.length?m[0].data:new ArrayBuffer(u),c=[0],h=[0];if(m.length>1){const e=new Uint8Array(p);for(let t=0,r=0;t<m.length;t++){const i=m[t].data;e.set(new Uint8Array(i),r),c[t]=r,r+=i.byteLength,h[t]=i.byteLength}}const{blockWidth:d,blockHeight:y}=this.getBlockWidthHeight(e),g=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:f,offsets:c,sizes:h},width:d,height:y,planes:null,pixelType:null});let x,T,I;if(n!==d||o!==y){let e=g.mask;if(e)for(x=0;x<y;x++)if(I=x*d,x<o)for(T=n;T<d;T++)e[I+T]=0;else for(T=0;T<d;T++)e[I+T]=0;else for(e=new Uint8Array(d*y),g.mask=e,x=0;x<o;x++)for(I=x*d,T=0;T<n;T++)e[I+T]=1}return g}async _readIFDs(e,t,r,i,s,a=4,n){if(!i)return null;if(i>=t.byteLength||i<0){t=(await this.request(this.url,{range:{from:i+s,to:i+s+this._bufferSize},responseType:"array-buffer",signal:n})).data,s=i+s,i=0}const o=await this._readIFD(t,r,i,s,y.TIFF_TAGS,a,n);if(e.push(o.ifd),!o.nextIFD)return null;await this._readIFDs(e,t,r,o.nextIFD-s,s,a,n)}async _readIFD(e,t,r,i,s=y.TIFF_TAGS,a=4,n){if(!e)return null;const o=c(e,t,r,i,s,a);if(o.success){const r=[];if(o.ifd.forEach((e=>{e.values||r.push(e)})),r.length>0){const s=r.map((e=>e.offlineOffsetSize)),a=Math.min.apply(null,s.map((e=>e[0])));if(Math.min.apply(null,s.map((e=>e[0]+e[1])))-a<=this._bufferSize){const{data:s}=await this.request(this.url,{range:{from:a,to:a+this._bufferSize},responseType:"array-buffer",signal:n});e=s,i=a,r.forEach((r=>h(e,t,r,i)))}}if(o.ifd.has("GEOKEYDIRECTORY")){const r=o.ifd.get("GEOKEYDIRECTORY"),s=r.values;if(s&&s.length>4){const a=s[0]+"."+s[1]+"."+s[2],o=await this._readIFD(e,t,r.valueOffset+6-i,i,y.GEO_KEYS,2,n);r.data=o.ifd,r.data&&r.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[a]})}}return o}if(o.requiredBufferSize&&o.requiredBufferSize!==e.byteLength){const r=await this.request(this.url,{range:{from:i,to:i+o.requiredBufferSize+4},responseType:"array-buffer",signal:n});return(e=r.data).byteLength<o.requiredBufferSize?null:this._readIFD(e,t,0,i,y.TIFF_TAGS,4,n)}}_getTileLocation(e,t,r){const{firstPyramidLevel:i,blockBoundary:s}=this.rasterInfo.storageInfo,a=0===e?0:e-(i-1),n=this._headerInfo.ifds[a];if(!n)return null;const o=d(n,this._headerInfo),f=_(n,"TILEOFFSETS");if(void 0===f)return null;const l=_(n,"TILEBYTECOUNTS"),{minRow:m,minCol:u,maxRow:p,maxCol:c}=s[a];if(t>p||r>c||t<m||r<u)return null;const h=b(n,"IMAGEWIDTH"),y=b(n,"IMAGELENGTH"),g=b(n,"TILEWIDTH"),x=b(n,"TILELENGTH"),T=o?this.rasterInfo.bandCount:1,I=T*t*(c+1)+r,w=[{from:f[I],to:f[I+T-1]+l[I+T-1]-1}];if(o){let e=!0;for(let t=0;t<T;t++)if(f[I+t]+l[I+t]!==f[I+t+1]){e=!1;break}if(!e)for(let t=0;t<T;t++)w[t]={from:f[I+t],to:f[I+t]+l[I+t]-1}}const E=f[I],S=l[I];if(null==E||null==S)return null;return{ranges:w,ifd:n,actualTileWidth:r===c?h%g:g,actualTileHeight:t===p?y%x:x}}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return m(t)}catch{return null}}};e([s()],E.prototype,"_files",void 0),e([s()],E.prototype,"_headerInfo",void 0),e([s()],E.prototype,"_bufferSize",void 0),e([s({type:String,json:{write:!0}})],E.prototype,"datasetFormat",void 0),E=e([a("esri.layers.support.rasterDatasets.TIFFRaster")],E);const S=E;export{S as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../core/Error.js";import{unwrap as r,isSome as i,isNone as s}from"../../../core/maybe.js";import{property as a}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 o from"../RasterInfo.js";import f from"../RasterStorageInfo.js";import l from"./BaseRaster.js";import u from"./DBFParser.js";import{parseSpatialReference as m,parsePAMInfo as p}from"./pamParser.js";import{parseSignature as c,getImageInfo as h,parseIFD as d,parseFieldValues as y,isBSQConfig as g}from"../rasterFormats/TiffDecoder.js";import x from"../rasterFormats/TiffTags.js";import{estimateStatisticsFromHistograms as T}from"../rasterFunctions/stretchUtils.js";import I from"../rasterTransforms/PolynomialTransform.js";import w from"../../../rest/support/FeatureSet.js";import b from"../../../geometry/SpatialReference.js";import _ from"../../../geometry/Extent.js";import S from"../../../geometry/Point.js";const F=(e,t)=>{const r=e.get(t);return r&&r.values},E=(e,t)=>{const r=e.get(t);return r&&r.values[0]};let R=class extends l{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this.datasetFormat="TIFF"}async open(e){await this.init();const s=e?r(e.signal):null,{data:a}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:s});if(!a)throw new t("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const{littleEndian:n,firstIFD:o,isBigTiff:f}=c(a),l=[];await this._readIFDs(l,a,n,o,0,f?8:4,s);const{imageInfo:u,rasterInfo:m}=this._parseIFDs(l);if(this._headerInfo={littleEndian:n,isBigTiff:f,ifds:l,...u},this._set("rasterInfo",m),!this._headerInfo.isSupported)throw new t("tiffraster:open","this tiff is not supported: "+this._headerInfo.message);if(!this.ioConfig.skipExtensions?.includes("aux.xml")){const t=await this._fetchAuxiliaryMetaData(e);null!=t&&this._processPAMInfo(t,m)}1!==m.bandCount||"u8"!==m.pixelType||this.ioConfig.skipExtensions?.includes("vat.dbf")||(m.attributeTable=await this._fetchAuxiliaryTable(e),i(m.attributeTable)&&(m.keyProperties.DataType="thematic")),this.updateTileInfo()}async fetchRawTile(e,t,r,i={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,r))return null;const s=this._getTileLocation(e,t,r);if(!s)return null;const{ranges:a,actualTileWidth:n,actualTileHeight:o,ifd:f}=s,l=a.map((e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:i.signal}))),u=await Promise.all(l),m=u.map((e=>e.data.byteLength)).reduce(((e,t)=>e+t)),p=1===u.length?u[0].data:new ArrayBuffer(m),c=[0],h=[0];if(u.length>1){const e=new Uint8Array(p);for(let t=0,r=0;t<u.length;t++){const i=u[t].data;e.set(new Uint8Array(i),r),c[t]=r,r+=i.byteLength,h[t]=i.byteLength}}const{blockWidth:d,blockHeight:y}=this.getBlockWidthHeight(e),g=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:f,offsets:c,sizes:h},width:d,height:y,planes:null,pixelType:null});let x,T,I;if(n!==d||o!==y){let e=g.mask;if(e)for(x=0;x<y;x++)if(I=x*d,x<o)for(T=n;T<d;T++)e[I+T]=0;else for(T=0;T<d;T++)e[I+T]=0;else for(e=new Uint8Array(d*y),g.mask=e,x=0;x<o;x++)for(I=x*d,T=0;T<n;T++)e[I+T]=1}return g}_parseIFDs(e){const t=h(e),{width:r,height:i,tileWidth:s,tileHeight:a,planes:n,pixelType:l,compression:u,firstPyramidLevel:p,maximumPyramidLevel:c,pyramidBlockWidth:d,pyramidBlockHeight:y,tileBoundary:g,affine:x,metadata:T}=t,w=t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid;let F=m(w),E=!1;null==F&&(E=!0,F=new b({wkid:3857}));const R=new _({...t.extent,spatialReference:F}),k=new S(R?{x:R.xmin,y:R.ymax,spatialReference:F}:{x:0,y:0}),v=new f({blockWidth:s,blockHeight:a,pyramidBlockWidth:d,pyramidBlockHeight:y,compression:u,origin:k,firstPyramidLevel:p,maximumPyramidLevel:c,blockBoundary:g}),j=new S({x:(R.xmax-R.xmin)/r,y:(R.ymax-R.ymin)/i,spatialReference:F}),D=T?{BandProperties:T.bandProperties,DataType:T.dataType}:{},B=new o({width:r,height:i,bandCount:n,pixelType:l,compression:u,pixelSize:j,storageInfo:v,spatialReference:F,isPseudoSpatialReference:E,keyProperties:D,extent:R,statistics:T?T.statistics:null});return x?.length&&(B.nativeExtent=new _({xmin:-.5,ymin:.5-i,xmax:r-.5,ymax:.5,spatialReference:F}),B.transform=new I({polynomialOrder:1,forwardCoefficients:[x[2]+x[0]/2,x[5]-x[3]/2,x[0],x[3],-x[1],-x[4]]}),B.extent=B.transform.forwardTransform(B.nativeExtent),B.pixelSize=new S({x:(R.xmax-R.xmin)/r,y:(R.ymax-R.ymin)/i,spatialReference:F}),v.origin.x=-.5,v.origin.y=.5),{imageInfo:t,rasterInfo:B}}_processPAMInfo(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&s(t.statistics)&&(t.statistics=T(e.histograms)),e.transform&&s(t.transform)){t.transform=e.transform,t.nativeExtent=t.extent;const r=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new S({x:(r.xmax-r.xmin)/t.width,y:(r.ymax-r.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=r}t.spatialReference||(t.spatialReference=e.spatialReference)}async _readIFDs(e,t,r,i,s,a=4,n){if(!i)return null;if(i>=t.byteLength||i<0){t=(await this.request(this.url,{range:{from:i+s,to:i+s+this._bufferSize},responseType:"array-buffer",signal:n})).data,s=i+s,i=0}const o=await this._readIFD(t,r,i,s,x.TIFF_TAGS,a,n);if(e.push(o.ifd),!o.nextIFD)return null;await this._readIFDs(e,t,r,o.nextIFD-s,s,a,n)}async _readIFD(e,t,r,i,s=x.TIFF_TAGS,a=4,n){if(!e)return null;const o=d(e,t,r,i,s,a);if(o.success){const r=[];if(o.ifd.forEach((e=>{e.values||r.push(e)})),r.length>0){const s=r.map((e=>e.offlineOffsetSize)),a=Math.min.apply(null,s.map((e=>e[0])));if(Math.min.apply(null,s.map((e=>e[0]+e[1])))-a<=this._bufferSize){const{data:s}=await this.request(this.url,{range:{from:a,to:a+this._bufferSize},responseType:"array-buffer",signal:n});e=s,i=a,r.forEach((r=>y(e,t,r,i)))}}if(o.ifd.has("GEOKEYDIRECTORY")){const r=o.ifd.get("GEOKEYDIRECTORY"),s=r.values;if(s&&s.length>4){const a=s[0]+"."+s[1]+"."+s[2],o=await this._readIFD(e,t,r.valueOffset+6-i,i,x.GEO_KEYS,2,n);r.data=o.ifd,r.data&&r.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[a]})}}return o}if(o.requiredBufferSize&&o.requiredBufferSize!==e.byteLength){const r=await this.request(this.url,{range:{from:i,to:i+o.requiredBufferSize+4},responseType:"array-buffer",signal:n});return(e=r.data).byteLength<o.requiredBufferSize?null:this._readIFD(e,t,0,i,x.TIFF_TAGS,4,n)}}_getTileLocation(e,t,r){const{firstPyramidLevel:i,blockBoundary:s}=this.rasterInfo.storageInfo,a=0===e?0:e-(i-1),n=this._headerInfo.ifds[a];if(!n)return null;const o=g(n,this._headerInfo),f=F(n,"TILEOFFSETS");if(void 0===f)return null;const l=F(n,"TILEBYTECOUNTS"),{minRow:u,minCol:m,maxRow:p,maxCol:c}=s[a];if(t>p||r>c||t<u||r<m)return null;const h=E(n,"IMAGEWIDTH"),d=E(n,"IMAGELENGTH"),y=E(n,"TILEWIDTH"),x=E(n,"TILELENGTH"),T=o?this.rasterInfo.bandCount:1,I=T*t*(c+1)+r,w=[{from:f[I],to:f[I+T-1]+l[I+T-1]-1}];if(o){let e=!0;for(let t=0;t<T;t++)if(f[I+t]+l[I+t]!==f[I+t+1]){e=!1;break}if(!e)for(let t=0;t<T;t++)w[t]={from:f[I+t],to:f[I+t]+l[I+t]-1}}const b=f[I],_=l[I];if(null==b||null==_)return null;return{ranges:w,ifd:n,actualTileWidth:r===c?h%y:y,actualTileHeight:t===p?d%x:x}}async _fetchAuxiliaryMetaData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return p(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{const{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),r=u.parse(t);return r?.recordSet?w.fromJSON(r.recordSet):null}catch{return null}}};e([a()],R.prototype,"_files",void 0),e([a()],R.prototype,"_headerInfo",void 0),e([a()],R.prototype,"_bufferSize",void 0),e([a({type:String,json:{write:!0}})],R.prototype,"datasetFormat",void 0),R=e([n("esri.layers.support.rasterDatasets.TIFFRaster")],R);const k=R;export{k as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "4.25.0-next.20220705",
3
+ "version": "4.25.0-next.20220708",
4
4
  "homepage": "https://js.arcgis.com",
5
5
  "description": "ArcGIS API for JavaScript: A complete 2D and 3D mapping and data visualization API",
6
6
  "keywords": [