@arcgis/core 4.33.0-next.20250514 → 4.33.0-next.20250516

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 (474) hide show
  1. package/Basemap.js +1 -1
  2. package/Graphic.js +1 -1
  3. package/Map.js +1 -1
  4. package/WebScene.js +1 -1
  5. package/applications/Components/SelectionOperation.js +1 -1
  6. package/applications/Components/baUtils.js +1 -1
  7. package/arcade/functions/featuresetbase.js +1 -1
  8. package/assets/esri/core/workers/RemoteClient.js +1 -1
  9. package/assets/esri/core/workers/chunks/009730713ed9bc7c7388.js +1 -0
  10. package/assets/esri/core/workers/chunks/02853ab923245459b32e.js +1 -0
  11. package/assets/esri/core/workers/chunks/0624ae07d3af8d5f1ac8.js +1 -0
  12. package/assets/esri/core/workers/chunks/{6e8c6c9112ecb867b7be.js → 0817ddd885ce8b2459cb.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{69e8aabe5a1eb2d1e414.js → 0832bd5195b5791dd803.js} +1 -1
  14. package/assets/esri/core/workers/chunks/0c50ee1f3cdd30d96479.js +1 -0
  15. package/assets/esri/core/workers/chunks/0d23610475c85385fbff.js +1 -0
  16. package/assets/esri/core/workers/chunks/{b4f38fe9cc948a39ad87.js → 0fd6d80393722132e044.js} +2 -2
  17. package/assets/esri/core/workers/chunks/{b4f38fe9cc948a39ad87.js.LICENSE.txt → 0fd6d80393722132e044.js.LICENSE.txt} +1 -1
  18. package/assets/esri/core/workers/chunks/1051a5a57b2fb843a555.js +1 -0
  19. package/assets/esri/core/workers/chunks/133e4bde346828d4510b.js +1 -0
  20. package/assets/esri/core/workers/chunks/19a58adc75a34f84b0ef.js +1 -0
  21. package/assets/esri/core/workers/chunks/{7e8f78b96d43c224c7b6.js → 19c50f052eba0553bf4d.js} +1 -1
  22. package/assets/esri/core/workers/chunks/1d7f2abfccc54659d6f2.js +1 -0
  23. package/assets/esri/core/workers/chunks/{339e7a900e2bba9d3647.js → 1f19bd3ef795c6765384.js} +1 -1
  24. package/assets/esri/core/workers/chunks/1f9c6fbcd4d0eae1e574.js +1 -0
  25. package/assets/esri/core/workers/chunks/234117cc5cb7c6863313.js +1 -0
  26. package/assets/esri/core/workers/chunks/{1c025beaaac5ec7c04fb.js → 2adf558cd8d8155d07d7.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{837f886f759fc6f0489d.js → 2b1486a466760d2152f5.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{47f64a340b5d56bf9e59.js → 2cf82d3645c75d311e99.js} +1 -1
  29. package/assets/esri/core/workers/chunks/320e821af81138fe12ac.js +1 -0
  30. package/assets/esri/core/workers/chunks/{f7ab3511f6627f467796.js → 377a7f0f7d304ff9fe5b.js} +1 -1
  31. package/assets/esri/core/workers/chunks/3bf1cf6c3cba172e2f6d.js +1 -0
  32. package/assets/esri/core/workers/chunks/{b3ca65d6112079fb1d00.js → 3ce5d7ad16e41eea05be.js} +1 -1
  33. package/assets/esri/core/workers/chunks/465f2db4ab8aa9c9f907.js +1 -0
  34. package/assets/esri/core/workers/chunks/{1e13e03aad422f9e871e.js → 47fe2379f2214bf50036.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{b8b5dfd2d73a8410fba2.js → 4954e0cf4a40e45d237f.js} +1 -1
  36. package/assets/esri/core/workers/chunks/4a362a35bcdb8405a53a.js +1 -0
  37. package/assets/esri/core/workers/chunks/4f8ebd9f0758b801835c.js +1 -0
  38. package/assets/esri/core/workers/chunks/5228d39c05d660a135b6.js +1 -0
  39. package/assets/esri/core/workers/chunks/523046e04679e301797d.js +1 -0
  40. package/assets/esri/core/workers/chunks/{736cb9f74bf050b70f4c.js → 52a3d0e041717da7697e.js} +1 -1
  41. package/assets/esri/core/workers/chunks/54ea93f416ab52b413c1.js +1 -0
  42. package/assets/esri/core/workers/chunks/554a8bf4626336e68798.js +1 -0
  43. package/assets/esri/core/workers/chunks/55f087bca75c3f2a4515.js +1 -0
  44. package/assets/esri/core/workers/chunks/{bbaadce582df7e20397b.js → 56d2a20c1b143697aa19.js} +1 -1
  45. package/assets/esri/core/workers/chunks/57211c35a9646f088d86.js +1 -0
  46. package/assets/esri/core/workers/chunks/58526def64536b6581ab.js +1 -0
  47. package/assets/esri/core/workers/chunks/5890740d5a761b038560.js +1 -0
  48. package/assets/esri/core/workers/chunks/{9a641fb94819574e48f6.js → 5a73d8b7b01758ed4fdd.js} +1 -1
  49. package/assets/esri/core/workers/chunks/5dbd8d81d94cfda5bb32.js +1 -0
  50. package/assets/esri/core/workers/chunks/{a0d2bd5d4ed3c90f6b1c.js → 5f766bcb751d66fbf1c8.js} +1 -1
  51. package/assets/esri/core/workers/chunks/609c7c9b7046b3a7acde.js +1 -0
  52. package/assets/esri/core/workers/chunks/{d21d9e8b8c8a2e0485d5.js → 612f6739c9399fbae4d0.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{30f3014c0ac6e2bc14bf.js → 622c0552ca3cd674d46c.js} +1 -1
  54. package/assets/esri/core/workers/chunks/6409160d226a0bea5ac6.js +1 -0
  55. package/assets/esri/core/workers/chunks/65fd971d0574d69cbc26.js +1 -0
  56. package/assets/esri/core/workers/chunks/6993a59cbb78bc26f029.js +1 -0
  57. package/assets/esri/core/workers/chunks/6b23ca6570357f9fb724.js +1 -0
  58. package/assets/esri/core/workers/chunks/6c37a5bd00d255d1337a.js +1 -0
  59. package/assets/esri/core/workers/chunks/6ce4327f63e6eb92bba8.js +1 -0
  60. package/assets/esri/core/workers/chunks/6f9b8df290b0ce09beae.js +1 -0
  61. package/assets/esri/core/workers/chunks/{e0247252c6a0f3340e33.js → 6fa1a5b7276a037dbd6a.js} +84 -106
  62. package/assets/esri/core/workers/chunks/7a9a0383f27f4967bcfa.js +1 -0
  63. package/assets/esri/core/workers/chunks/7c819b3e6d69c526f4b2.js +1 -0
  64. package/assets/esri/core/workers/chunks/7df147da40474b028705.js +1 -0
  65. package/assets/esri/core/workers/chunks/{0766ecb677d667e5fb83.js → 7e1dc8e5e18f18dd21e2.js} +2 -2
  66. package/assets/esri/core/workers/chunks/{0766ecb677d667e5fb83.js.LICENSE.txt → 7e1dc8e5e18f18dd21e2.js.LICENSE.txt} +1 -1
  67. package/assets/esri/core/workers/chunks/{e662c86b8bafc5512d3d.js → 847e88e1d6da1e74cdc8.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{6f5ec9bf7cf8a36d8e8b.js → 87eca6de502d18d8b7eb.js} +1 -1
  69. package/assets/esri/core/workers/chunks/87fc7b6c3e2d4f7775e2.js +1 -0
  70. package/assets/esri/core/workers/chunks/{10e6dffa57aa1a626708.js → 8a6aac37b3133de74cce.js} +1 -1
  71. package/assets/esri/core/workers/chunks/8a87c181b85d0b86b9bb.js.LICENSE.txt +1 -1
  72. package/assets/esri/core/workers/chunks/91cd29f53f07bc38fe75.js +1 -0
  73. package/assets/esri/core/workers/chunks/{5583d18032ed8bc17c74.js → 938f1eebc48871be64e9.js} +1 -1
  74. package/assets/esri/core/workers/chunks/97c148adf0347c69a79c.js +1 -0
  75. package/assets/esri/core/workers/chunks/9839309d0cd804fe52c2.js +1 -0
  76. package/assets/esri/core/workers/chunks/{029a118e6dfb3f544a5c.js → 98ef17d15517368d2383.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{c10885b3a0739708e9e0.js → 9a06476b834584d00d5c.js} +1 -1
  78. package/assets/esri/core/workers/chunks/9c8224ca29475556e5ea.js +1 -0
  79. package/assets/esri/core/workers/chunks/{fd24dd602a3fed88d90e.js → 9d5eac3bd1526e2b33e3.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{38f5e6a202ce292edd9f.js → 9eb9c8db2510154c09cc.js} +1 -1
  81. package/assets/esri/core/workers/chunks/a036503087baa1f9fd00.js +1 -0
  82. package/assets/esri/core/workers/chunks/{6e64ce0958c3432004b6.js → a70a86ba4e487f62f683.js} +2 -2
  83. package/assets/esri/core/workers/chunks/a937076d2f8c2b6a5d8a.js +1 -0
  84. package/assets/esri/core/workers/chunks/{90ae15ce22a49bd84876.js → ab9614555a15f04396f6.js} +2 -2
  85. package/assets/esri/core/workers/chunks/{90ae15ce22a49bd84876.js.LICENSE.txt → ab9614555a15f04396f6.js.LICENSE.txt} +1 -1
  86. package/assets/esri/core/workers/chunks/ae733c963d61065faa54.js +1 -0
  87. package/assets/esri/core/workers/chunks/{8e82acd1f730571680f4.js → aeb5bbe861f65544d504.js} +1 -1
  88. package/assets/esri/core/workers/chunks/b0522dffa5600345c07e.js +1 -0
  89. package/assets/esri/core/workers/chunks/{d1f7bfb8daf11ecada9f.js → b4273381dc069f4e1fa2.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{fb2e28e6a87956267d1c.js → b92a34f88569c481ed10.js} +1 -1
  91. package/assets/esri/core/workers/chunks/{352b7dcd1633e0c98194.js → ba940ebdae84b174a7be.js} +1 -1
  92. package/assets/esri/core/workers/chunks/be2c8c0a8b2bce7979b6.js +1 -0
  93. package/assets/esri/core/workers/chunks/bf9b6b74654d303a6dae.js +1 -0
  94. package/assets/esri/core/workers/chunks/c07c1bb7ae09136dc1f6.js +1 -0
  95. package/assets/esri/core/workers/chunks/c938f5d269ba202d10ef.js +1 -0
  96. package/assets/esri/core/workers/chunks/cbbca011f8b176d4b5db.js +1 -0
  97. package/assets/esri/core/workers/chunks/{c604fefedccfd4db9953.js → ce321fd8fc5551e190ec.js} +1 -1
  98. package/assets/esri/core/workers/chunks/ce53ddda04e09ba2f860.js +1 -0
  99. package/assets/esri/core/workers/chunks/d9a23fb0c6c936d5e8ec.js +1 -0
  100. package/assets/esri/core/workers/chunks/db3f710d770adf631b28.js +2 -0
  101. package/assets/esri/core/workers/chunks/{6394ab6f629aa90292e6.js.LICENSE.txt → db3f710d770adf631b28.js.LICENSE.txt} +1 -1
  102. package/assets/esri/core/workers/chunks/{6805e7b43d6ecf3ea93c.js → dcf5719f38ad40b92941.js} +1 -1
  103. package/assets/esri/core/workers/chunks/e2cada6644c49b1b6e79.js +1 -0
  104. package/assets/esri/core/workers/chunks/e2fb4bebce3aee406efa.js +1 -0
  105. package/assets/esri/core/workers/chunks/e3638f9d4c0fda238f4b.js +1 -0
  106. package/assets/esri/core/workers/chunks/e85f892ea44d67d53ff0.js +2 -0
  107. package/assets/esri/core/workers/chunks/{3596540ef49e5330ceb2.js.LICENSE.txt → e85f892ea44d67d53ff0.js.LICENSE.txt} +1 -1
  108. package/assets/esri/core/workers/chunks/e89345c7af9d3d4d8452.js +1 -0
  109. package/assets/esri/core/workers/chunks/{a31658f544ac6e1801d6.js → ead5d4e271effc04def3.js} +1 -1
  110. package/assets/esri/core/workers/chunks/ece68a25651ef03fc95d.js +1 -0
  111. package/assets/esri/core/workers/chunks/f218a190015de1444018.js +1 -0
  112. package/assets/esri/core/workers/chunks/f229044615af3142bcb0.js +1 -0
  113. package/assets/esri/core/workers/chunks/f2692f25ef693cf12ce0.js +1 -0
  114. package/assets/esri/core/workers/chunks/f4c6ea630cecf0f260d7.js +2 -0
  115. package/assets/esri/core/workers/chunks/{e0dc8794343c2a949ffb.js.LICENSE.txt → f4c6ea630cecf0f260d7.js.LICENSE.txt} +1 -1
  116. package/assets/esri/core/workers/chunks/f718cb847c4eb1e43ad9.js +1 -0
  117. package/assets/esri/core/workers/chunks/faa40ef04604c7cce706.js +1 -0
  118. package/assets/esri/core/workers/chunks/{218a66d53f7cf4f285aa.js → fbd2f45d5adce4ca323f.js} +2 -2
  119. package/assets/esri/core/workers/chunks/{218a66d53f7cf4f285aa.js.LICENSE.txt → fbd2f45d5adce4ca323f.js.LICENSE.txt} +1 -1
  120. package/assets/esri/core/workers/chunks/{498886c321a2501658bc.js → ffaa977cd97a2b7190c5.js} +1 -1
  121. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  122. package/assets/esri/themes/base/widgets/_Editor.scss +2 -1
  123. package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +5 -30
  124. package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +5 -0
  125. package/assets/esri/themes/dark/main.css +1 -1
  126. package/assets/esri/themes/light/main.css +1 -1
  127. package/assets/esri/themes/light/view.css +1 -1
  128. package/assets/esri/widgets/Search/t9n/Search.json +1 -1
  129. package/assets/esri/widgets/Search/t9n/Search_en.json +1 -1
  130. package/chunks/Envelope.js +1 -1
  131. package/chunks/Jpg.js +1 -1
  132. package/chunks/LineSeries.js +1 -1
  133. package/chunks/ProjectionTransformation.js +1 -1
  134. package/chunks/QuadraticBezier.js +1 -1
  135. package/chunks/ShadowCastAccumulate.glsl.js +7 -5
  136. package/chunks/ShadowCastClear.glsl.js +5 -0
  137. package/chunks/ShadowCastVisualize.glsl.js +1 -1
  138. package/chunks/ShadowHighlight.glsl.js +8 -7
  139. package/chunks/Transformation2D.js +1 -1
  140. package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
  141. package/chunks/arcgis-knowledge-client-core.js +1 -1
  142. package/chunks/basis_encoder.js +1 -1
  143. package/chunks/basis_transcoder.js +1 -1
  144. package/chunks/bundle.js +1 -1
  145. package/chunks/chartUtilsAm5.js +1 -1
  146. package/chunks/dxt_encoder.js +1 -1
  147. package/chunks/geometryEngineBase.js +1 -1
  148. package/chunks/i3s.js +1 -1
  149. package/chunks/lclayout.js +1 -1
  150. package/chunks/libtess-asm.js +1 -1
  151. package/chunks/lyr3DMain.js +1 -1
  152. package/chunks/lyr3DWorker.js +1 -1
  153. package/chunks/vec4.js +1 -1
  154. package/chunks/vxlLayer.js +1 -1
  155. package/config.js +1 -1
  156. package/core/arrayUtils.js +1 -1
  157. package/core/image/apng.js +1 -1
  158. package/core/image/gif.js +1 -1
  159. package/core/mathUtils.js +1 -1
  160. package/core/workers/Connection.js +1 -1
  161. package/geometry/operators/densifyOperator.d.ts +0 -1
  162. package/geometry/operators/gx/operatorOffset.js +1 -1
  163. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  164. package/geometry/support/aaBoundingBox.js +1 -1
  165. package/geometry/support/meshProperties.js +1 -1
  166. package/geometry/support/normalizeUtilsSync.js +1 -1
  167. package/interfaces.d.ts +313 -163
  168. package/intl/date.js +1 -1
  169. package/intl/number.js +1 -1
  170. package/layers/BingMapsLayer.js +1 -1
  171. package/layers/graphics/OptimizedFeatureSet.js +1 -1
  172. package/layers/graphics/controllers/StreamController.js +1 -1
  173. package/layers/graphics/data/FeatureIdInfo.js +5 -0
  174. package/layers/graphics/data/QueryEngine.js +1 -1
  175. package/layers/graphics/data/StreamFeatureManager.js +1 -1
  176. package/layers/graphics/data/createFeatureId.js +5 -0
  177. package/layers/graphics/featureConversionUtils.js +1 -1
  178. package/layers/graphics/sources/WFSSourceWorker.js +1 -1
  179. package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
  180. package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
  181. package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
  182. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  183. package/layers/ogc/ogcFeatureUtils.js +1 -1
  184. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  185. package/layers/orientedImagery/core/utils.js +1 -1
  186. package/layers/orientedImagery/queries.js +1 -1
  187. package/layers/orientedImagery/transformations/utils.js +1 -1
  188. package/layers/support/LercWorker.js +1 -1
  189. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  190. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  191. package/layers/support/rasterFunctions/stretchUtils.js +1 -1
  192. package/layers/support/wmsUtils.js +1 -1
  193. package/layers/video/VideoController.js +1 -1
  194. package/package.json +2 -2
  195. package/portal/Portal.js +1 -1
  196. package/request.js +1 -1
  197. package/rest/knowledgeGraph/GraphAddNamedTypesResult.js +1 -1
  198. package/rest/knowledgeGraph/GraphAddPropertyResult.js +5 -0
  199. package/rest/knowledgeGraph/GraphApplyEditsResult.js +1 -1
  200. package/rest/knowledgeGraph/GraphDeleteNamedTypeResult.js +1 -1
  201. package/rest/knowledgeGraph/GraphDeletePropertyResult.js +5 -0
  202. package/rest/knowledgeGraph/GraphUpdateNamedTypesResult.js +5 -0
  203. package/rest/knowledgeGraph/GraphUpdatePropertyResult.js +5 -0
  204. package/rest/knowledgeGraph/wasmInterface/updateToWasmEncodedFactories.js +1 -1
  205. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelChangeResponseFactories.js +1 -1
  206. package/rest/knowledgeGraphService.js +1 -1
  207. package/rest/networks/support/Association.js +1 -1
  208. package/rest/networks/support/NetworkElement.js +1 -1
  209. package/rest/networks/support/QueryAssociationsParameters.js +1 -1
  210. package/rest/networks/support/TelecomNetworkElement.js +1 -1
  211. package/rest/networks/support/TraceResult.js +1 -1
  212. package/rest/networks/unitIdentifiers/insertGap.js +5 -0
  213. package/rest/networks/unitIdentifiers/queryUnitIdentifiers.js +5 -0
  214. package/rest/networks/unitIdentifiers/reset.js +5 -0
  215. package/rest/networks/unitIdentifiers/resize.js +5 -0
  216. package/rest/networks/unitIdentifiers/support/InsertGapParameters.js +5 -0
  217. package/rest/networks/unitIdentifiers/support/QueryUnitIdentifiersParamters.js +5 -0
  218. package/rest/networks/unitIdentifiers/support/ResetParameters.js +5 -0
  219. package/rest/networks/unitIdentifiers/support/ResizeParameters.js +5 -0
  220. package/rest/networks/unitIdentifiers/support/UnitQueryResult.js +5 -0
  221. package/rest/query/operations/pbfDehydratedFeatureSet.js +1 -1
  222. package/rest/query/operations/pbfJSONFeatureSet.js +1 -1
  223. package/rest/query/operations/queryRelatedRecords.js +1 -1
  224. package/rest/utils.js +1 -1
  225. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  226. package/support/apiKeyUtils.js +1 -1
  227. package/support/basemapEnsureType.js +1 -1
  228. package/support/revision.js +1 -1
  229. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  230. package/unionTypes.d.ts +2 -0
  231. package/views/2d/engine/ManagedCanvas.js +1 -1
  232. package/views/2d/engine/Stage.js +1 -1
  233. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  234. package/views/2d/engine/webgl/TileContainer.js +1 -1
  235. package/views/2d/engine/webgl/grouping.js +1 -1
  236. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  237. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  238. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  239. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  240. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  241. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  242. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  243. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  244. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  245. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  246. package/views/2d/layers/features/layerAdapters/featureServiceUtils.js +1 -1
  247. package/views/2d/layers/features/processor/AAggregateStrategy.js +1 -1
  248. package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
  249. package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
  250. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  251. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  252. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  253. package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
  254. package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
  255. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  256. package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
  257. package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
  258. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  259. package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
  260. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  261. package/views/3d/FocusAreasView.js +1 -1
  262. package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
  263. package/views/3d/analysis/DimensionAnalysisView3D.d.ts +4 -0
  264. package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
  265. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  266. package/views/3d/camera/constraintUtils/common.js +1 -1
  267. package/views/3d/interactive/Manipulator3D.js +1 -1
  268. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  269. package/views/3d/layers/ContentGeometryLayerView.js +5 -0
  270. package/views/3d/layers/DimensionLayerView3D.js +1 -1
  271. package/views/3d/layers/FlowSubView3D.js +1 -1
  272. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  273. package/views/3d/layers/I3SMeshView3D.js +1 -1
  274. package/views/3d/layers/LineOfSightLayerView3D.js +1 -1
  275. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  276. package/views/3d/layers/RouteLayerView3D.js +1 -1
  277. package/views/3d/layers/ViewshedLayerView3D.js +1 -1
  278. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  279. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  280. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  281. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  282. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  283. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  284. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  285. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  286. package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
  287. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  288. package/views/3d/layers/graphics/Labeler.js +1 -1
  289. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  290. package/views/3d/layers/graphics/focusAreaStyle.js +5 -0
  291. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  292. package/views/3d/layers/i3s/I3SBinaryReader.js +1 -1
  293. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  294. package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
  295. package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
  296. package/views/3d/layers/i3s/PagedNodeIndex.js +1 -1
  297. package/views/3d/layers/i3s/PointCloudWorkerUtil.js +1 -1
  298. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  299. package/views/3d/layers/support/LayerViewAnalysisViewManager.js +5 -0
  300. package/views/3d/support/pointsOfInterest/ContentGeometryUpdates.js +1 -1
  301. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  302. package/views/3d/terrain/PatchRenderData.js +1 -1
  303. package/views/3d/terrain/TerrainRenderer.js +1 -1
  304. package/views/3d/terrain/TerrainSurface.js +1 -1
  305. package/views/3d/terrain/TileAgent.js +1 -1
  306. package/views/3d/webgl-engine/collections/Component/IndexRange/ComponentRange.js +1 -1
  307. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  308. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +3 -3
  309. package/views/3d/webgl-engine/core/shaderLibrary/shading/ShadowmapFiltering.glsl.js +3 -25
  310. package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js +1 -1
  311. package/views/3d/webgl-engine/core/shaderModules/Texture2DShadowBindUniform.js +5 -0
  312. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  313. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +3 -3
  314. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  315. package/views/3d/webgl-engine/lib/BoundingInfo.js +1 -1
  316. package/views/3d/webgl-engine/lib/DepthRange.js +1 -1
  317. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  318. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  319. package/views/3d/webgl-engine/lib/Material.js +1 -1
  320. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  321. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  322. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  323. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  324. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  325. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  326. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  327. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  328. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  329. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  330. package/views/3d/webgl-engine/shaders/ShadowCastClear.glsl.js +5 -0
  331. package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +5 -0
  332. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
  333. package/views/3d/webgl.js +1 -1
  334. package/views/FocusArea.js +1 -1
  335. package/views/FocusAreas.js +1 -1
  336. package/views/GroundView.js +1 -1
  337. package/views/SceneView.js +1 -1
  338. package/views/View.js +1 -1
  339. package/views/draw/support/Box.js +1 -1
  340. package/views/draw/support/GraphicMover.js +1 -1
  341. package/views/draw/support/Reshape.js +1 -1
  342. package/views/input/InputManager.js +1 -1
  343. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  344. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  345. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  346. package/views/layers/FeatureLayerView.js +1 -1
  347. package/views/support/LayerViewManager.js +1 -1
  348. package/views/webgl/RenderingContext.js +1 -1
  349. package/views/webgl/ShaderBuilder.js +1 -1
  350. package/views/webgl/Texture.js +1 -1
  351. package/views/webgl/TextureDescriptor.js +1 -1
  352. package/views/webgl/textureUtils.js +1 -1
  353. package/webscene/Slide.js +1 -1
  354. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  355. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.js +1 -1
  356. package/widgets/BatchAttributeForm/VisibleElements.js +1 -1
  357. package/widgets/BatchAttributeForm.js +1 -1
  358. package/widgets/CoordinateConversion.js +1 -1
  359. package/widgets/Directions.js +1 -1
  360. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  361. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js +1 -1
  362. package/widgets/Editor/EditorViewModel.js +1 -1
  363. package/widgets/Editor/UpdateFeaturesWorkflow.d.ts +4 -0
  364. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  365. package/widgets/Editor/UpdateFeaturesWorkflowData.d.ts +4 -0
  366. package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
  367. package/widgets/Editor/UpdateWorkflow.js +1 -1
  368. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  369. package/widgets/Editor/support/SketchController.js +1 -1
  370. package/widgets/Editor/workflowUtils.js +1 -1
  371. package/widgets/Editor.js +1 -1
  372. package/widgets/ElevationProfile/support/profileUtils.js +1 -1
  373. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
  374. package/widgets/FeatureForm.js +1 -1
  375. package/widgets/LayerList/LayerListItem.js +1 -1
  376. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  377. package/widgets/OrientedImageryViewer/components/ImageViewer.js +1 -1
  378. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  379. package/widgets/OrientedImageryViewer/components/NavigationUI.js +1 -1
  380. package/widgets/OrientedImageryViewer/components/NavigationUIPanoramicViewModel.js +5 -0
  381. package/widgets/OrientedImageryViewer/components/NavigationUIViewModel.js +1 -1
  382. package/widgets/OrientedImageryViewer/components/imageNavigationUtils.js +1 -1
  383. package/widgets/OrientedImageryViewer/constants.js +1 -1
  384. package/widgets/OrientedImageryViewer/navigation/NavigationManager.js +5 -0
  385. package/widgets/OrientedImageryViewer/navigation/NavigationManagerPanoramic.js +5 -0
  386. package/widgets/OrientedImageryViewer/navigation/errors.js +5 -0
  387. package/widgets/OrientedImageryViewer/navigation/queries.js +5 -0
  388. package/widgets/OrientedImageryViewer/navigation/utils.js +5 -0
  389. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  390. package/widgets/PanoramicViewer.js +1 -1
  391. package/widgets/Search/SearchResultRenderer.js +1 -1
  392. package/widgets/Search/SearchViewModel.js +1 -1
  393. package/widgets/Search/searchResultRendererCSS.js +1 -1
  394. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  395. package/widgets/Sketch/SketchViewModel.js +1 -1
  396. package/widgets/Sketch.js +1 -1
  397. package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
  398. package/widgets/support/SelectionList/selectionListUtils.js +1 -1
  399. package/widgets/support/SelectionList.js +1 -1
  400. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  401. package/widgets/support/SelectionToolbar.js +1 -1
  402. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  403. package/widgets/support/SnappingControls.js +1 -1
  404. package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +1 -1
  405. package/widgets/support/UtilityNetworkAssociations/utils/createAssociation.js +1 -1
  406. package/assets/esri/core/workers/chunks/0516bd18334d3af6c555.js +0 -1
  407. package/assets/esri/core/workers/chunks/0d8a635c1f9aeaf7564c.js +0 -1
  408. package/assets/esri/core/workers/chunks/191a45a594ecaf7f1abb.js +0 -1
  409. package/assets/esri/core/workers/chunks/1abd026ed12c863e1d94.js +0 -1
  410. package/assets/esri/core/workers/chunks/1c6542315390037053a6.js +0 -1
  411. package/assets/esri/core/workers/chunks/201db423e3c6f947b77c.js +0 -1
  412. package/assets/esri/core/workers/chunks/23de8aeed5b82c682cbe.js +0 -1
  413. package/assets/esri/core/workers/chunks/297d2c0a9d3f1e978318.js +0 -1
  414. package/assets/esri/core/workers/chunks/2e0af748eba93f3ea6cb.js +0 -1
  415. package/assets/esri/core/workers/chunks/3596540ef49e5330ceb2.js +0 -2
  416. package/assets/esri/core/workers/chunks/3604a77c93cf2927787b.js +0 -1
  417. package/assets/esri/core/workers/chunks/391b1c3e736a62befbaf.js +0 -1
  418. package/assets/esri/core/workers/chunks/40e556a0645af8658658.js +0 -1
  419. package/assets/esri/core/workers/chunks/4402336db7210cd583e0.js +0 -1
  420. package/assets/esri/core/workers/chunks/4899cdc8bb5085c356f9.js +0 -1
  421. package/assets/esri/core/workers/chunks/4bd5cbf6e0be2fc7e84d.js +0 -1
  422. package/assets/esri/core/workers/chunks/4c8052e81916579841f4.js +0 -1
  423. package/assets/esri/core/workers/chunks/4c9aa1dafdc0d9537231.js +0 -1
  424. package/assets/esri/core/workers/chunks/4feb774f123da26e9f2a.js +0 -1
  425. package/assets/esri/core/workers/chunks/51b5dfc7085272d26b89.js +0 -1
  426. package/assets/esri/core/workers/chunks/566c2ce50af225e556ac.js +0 -1
  427. package/assets/esri/core/workers/chunks/5ddf463c85c33428e807.js +0 -1
  428. package/assets/esri/core/workers/chunks/61032b5050464cb48056.js +0 -1
  429. package/assets/esri/core/workers/chunks/6394ab6f629aa90292e6.js +0 -2
  430. package/assets/esri/core/workers/chunks/63dade3e1cc7f5b76846.js +0 -1
  431. package/assets/esri/core/workers/chunks/64af433e88d4dd21a2ff.js +0 -1
  432. package/assets/esri/core/workers/chunks/6b42bcfbb60432e3ed1f.js +0 -1
  433. package/assets/esri/core/workers/chunks/6e12900a9f4c3c9941ec.js +0 -1
  434. package/assets/esri/core/workers/chunks/6e5d8a6b29c06a27998c.js +0 -1
  435. package/assets/esri/core/workers/chunks/6f506303017903b9a06f.js +0 -1
  436. package/assets/esri/core/workers/chunks/71e46e866c23372b0b58.js +0 -1
  437. package/assets/esri/core/workers/chunks/75fa861b5757551f8fdc.js +0 -1
  438. package/assets/esri/core/workers/chunks/7c49a8877bd744daa3d5.js +0 -1
  439. package/assets/esri/core/workers/chunks/7ea5bbb52e84be9a608e.js +0 -1
  440. package/assets/esri/core/workers/chunks/82c395d8649096609a8a.js +0 -1
  441. package/assets/esri/core/workers/chunks/86138c297095af1ac604.js +0 -1
  442. package/assets/esri/core/workers/chunks/8c21cc9af4ce9652cc5c.js +0 -1
  443. package/assets/esri/core/workers/chunks/8e6301006abdf47cc88d.js +0 -1
  444. package/assets/esri/core/workers/chunks/90f93091fe088875f80f.js +0 -1
  445. package/assets/esri/core/workers/chunks/91a02ee91f61cf841111.js +0 -1
  446. package/assets/esri/core/workers/chunks/9baeb3b5733acdda4e7c.js +0 -1
  447. package/assets/esri/core/workers/chunks/a1d697e2be1e892a666a.js +0 -1
  448. package/assets/esri/core/workers/chunks/a1f27c4f4b5ef3e359f7.js +0 -1
  449. package/assets/esri/core/workers/chunks/a348ff2dd936c6bf9399.js +0 -1
  450. package/assets/esri/core/workers/chunks/a9b1f4bf5eaa937943be.js +0 -1
  451. package/assets/esri/core/workers/chunks/b64f708f821dd2bb51cd.js +0 -1
  452. package/assets/esri/core/workers/chunks/bf453744067267e84d1b.js +0 -1
  453. package/assets/esri/core/workers/chunks/c1175477dfcdee90a453.js +0 -1
  454. package/assets/esri/core/workers/chunks/c4e2b75b9135920babc3.js +0 -1
  455. package/assets/esri/core/workers/chunks/cb80b7ddc9acf625d754.js +0 -1
  456. package/assets/esri/core/workers/chunks/d22f91bc16a7641bcbef.js +0 -1
  457. package/assets/esri/core/workers/chunks/d52cf7b795ee52034f9e.js +0 -1
  458. package/assets/esri/core/workers/chunks/d971571a957de70d5a8d.js +0 -1
  459. package/assets/esri/core/workers/chunks/d9d9d4f99140e579eabb.js +0 -1
  460. package/assets/esri/core/workers/chunks/dc3a6beb3028009b3c23.js +0 -1
  461. package/assets/esri/core/workers/chunks/e0dc8794343c2a949ffb.js +0 -2
  462. package/assets/esri/core/workers/chunks/e483d2f169e51a361742.js +0 -1
  463. package/assets/esri/core/workers/chunks/e5608e5232e983531f72.js +0 -1
  464. package/assets/esri/core/workers/chunks/e613df03ceb39e29befa.js +0 -1
  465. package/assets/esri/core/workers/chunks/e697dd4508f02dcfe329.js +0 -1
  466. package/assets/esri/core/workers/chunks/eabfab23246d4a052ea3.js +0 -1
  467. package/assets/esri/core/workers/chunks/ec8e8048b3df2c92008d.js +0 -1
  468. package/assets/esri/core/workers/chunks/ed6d0fea159dea638c2f.js +0 -1
  469. package/assets/esri/core/workers/chunks/f5fcba6ca6f43bf1d65d.js +0 -1
  470. package/assets/esri/core/workers/chunks/f92d76b694ff0cdb212c.js +0 -1
  471. package/chunks/NetworkElement.js +0 -5
  472. package/views/FocusAreasUtils.js +0 -5
  473. package/views/analysis/DimensionAnalysisView.d.ts +0 -4
  474. package/views/analysis/DimensionAnalysisView.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.33/esri/copyright.txt for details.
4
4
  */
5
- import{assertIsSome as t}from"../../../core/maybe.js";import n from"../PixelBlock.js";import{getPixelValueRange as e}from"../rasterFormats/pixelRangeUtils.js";import{stretchTypeFunctionEnum as s}from"../../../renderers/support/stretchRendererUtils.js";const i=1,o=[.299,.587,.114];function a(t){if(null==t)return!1;const{max:n,min:e,size:s}=t;return(n-e)/s==1&&e>=-.5&&.5===Math.abs(e%1)&&n<=255.5}function r(t,n=256){const e=255;n=Math.min(n,e+1);const{size:s,counts:i}=t,o=new Float64Array(s);o[0]=i[0]/n;for(let a=1;a<s;a++)o[a]=o[a-1]+i[a]/n;const r=new Uint8Array(n),l=n/o[o.length-1];if(s<=n){const i=a(t)?Math.max(0,Math.round(t.min+.5)):0;for(let t=i;t<n;t++)r[t]=t>=s+i?e:Math.min(e,Math.trunc(o[t-i]*l))}else{const t=o.map((t=>Math.min(255,Math.trunc(t*l))));for(let e=0;e<n;e++)r[e]=t[Math.round(s/n)];r[n-1]=255}return r}function l(t){const{minCutOff:n,maxCutOff:e,gamma:s,pixelType:i,rounding:o}=t;if(!["u8","u16","s8","s16"].includes(i))return null;const a=n.length,r="s8"===i?-127:"s16"===i?-32767:0,l=["u16","s16"].includes(i)?65536:256,f=[],c=[],{minOutput:m=0,maxOutput:h=255}=t,p=h-m;for(let u=0;u<a;u++)c[u]=e[u]-n[u],f[u]=0===c[u]?0:p/c[u];const g=[];if(s&&s.length>=a){const t=M(a,s);for(let i=0;i<a;i++){const a=[];for(let u=0;u<l;u++){if(0===c[i]){a[u]=m;continue}const l=u+r,f=(l-n[i])/c[i];let g=1;if(s[i]>1&&(g-=(1/p)**(f*t[i])),l<e[i]&&l>n[i]){const t=g*p*f**(1/s[i])+m;a[u]="floor"===o?Math.floor(t):"round"===o?Math.round(t):t}else l>=e[i]?a[u]=h:a[u]=m}g[i]=a}}else for(let u=0;u<a;u++){const t=[];for(let s=0;s<l;s++){const i=s+r;if(i<=n[u])t[s]=m;else if(i>=e[u])t[s]=h;else{const e=(i-n[u])*f[u]+m;t[s]="floor"===o?Math.floor(e):"round"===o?Math.round(e):e}}g[u]=t}if(null!=t.contrastOffset){const n=u(t.contrastOffset,t.brightnessOffset);for(let t=0;t<a;t++){const e=g[t];for(let t=0;t<l;t++)e[t]=n[e[t]]}}return{lut:g,offset:r}}function u(t,n){const e=Math.min(Math.max(t,-100),100),s=Math.min(Math.max(n??0,-100),100),i=255,o=128,a=new Uint8Array(256);for(let r=0;r<256;r++){let t=0;e>0&&e<100?t=(200*r-100*i+2*i*s)/(2*(100-e))+o:e<=0&&e>-100?t=(200*r-100*i+2*i*s)*(100+e)/2e4+o:100===e?(t=200*r-100*i+(i+1)*(100-e)+2*i*s,t=t>0?i:0):-100===e&&(t=o),a[r]=t>i?i:t<0?0:t}return a}function f(t,n,e){const s=[];for(let i=0;i<n.length;i++){let a=0,r=0,l=0;"min"in n[i]?({min:a,max:r,avg:l}=n[i]):[a,r,l]=n[i];let u=l??0;"u8"!==t&&(u=255*(u-a)/(r-a)),e&&(u*=o[i]),s.push(c(u))}return s}function c(t){if(t<=0||t>=255)return i;const n=255,e=t+(150===t?0:t<150?45*Math.cos(.01047*t):17*Math.sin(.021*t)),s=Math.log(t/n),o=Math.log(e/n);if(0===o)return i;const a=s/o;return isNaN(a)?i:Math.min(9.9,Math.max(.01,a))}function m(t,n,e,s){let i=1/0,o=-1/0,a=0,r=0,l=0,u=0;const f=t.length,c=new Map,m=[];for(let k=0;k<f;k++){const e=t[k];if(!n||n[k]){m.push(e);const t=(c.get(e)??0)+1;c.set(e,t),t>u&&(u=t,l=e),i=e<i?e:i,o=e>o?e:o,a+=e,r++}}if(0===r)return{statistics:{min:0,max:0,avg:0,stddev:0,mode:0,median:0},histogram:null};const h=a/r;let p=0;for(let k=0;k<f;k++)n&&!n[k]||(p+=(t[k]-h)**2);const g=n?n.filter((t=>t)).length:f,d=g<=1?0:Math.sqrt(p/(g-1));m.sort(((t,n)=>t-n));const x=r>>>1,M={min:i,max:o,avg:h,stddev:d,mode:l,median:r%2?m[Math.floor(x)]:(m[x-1]+m[x])/2};if(["u8","s8","u4","u2","u1"].includes(e)){const e=o-i+1,s=new Uint32Array(e);for(let o=0;o<f;o++)n&&!n[o]||s[t[o]-i]++;return{statistics:M,histogram:{min:i-.5,max:o+.5,size:e,counts:s}}}const y=256,O=new Uint32Array(y),b=(o-i)/y;if(0===b)return{statistics:M,histogram:{min:i,max:o,size:1,counts:new Uint32Array(1).fill(r)}};const w=new Uint32Array(y+1);for(let k=0;k<f;k++)n&&!n[k]||w[Math.floor((t[k]-i)/b)]++;for(let k=0;k<y-1;k++)O[k]=w[k];return O[y-1]=w[y-1]+w[y],{statistics:M,histogram:{min:i,max:o,size:y,counts:O}}}function h(t){const{pixels:n,mask:e,pixelType:s,bandMasks:i}=t,o=n.map(((t,n)=>m(t,i?.[n]??e,s)));return{statistics:o.map((({statistics:t})=>t)),histograms:o.map((({histogram:t})=>t))}}function p(t){if(!t?.pixels?.length)return null;const{pixels:n,mask:e,bandMasks:s,pixelType:i}=t,o=t.width*t.height,a=n.length,r=[],l=[],u=256;let f,c;for(let m=0;m<a;m++){let a=new Uint32Array(u);const h=n[m],p=s?.[m]??e;if("u8"===i){if(f=255,c=0,p){for(let t=0;t<o;t++)if(p[t]){const n=h[t];f=n<f?n:f,c=n>c?n:c,a[n]++}}else for(let t=0;t<o;t++){const n=h[t];f=n<f?n:f,c=n>c?n:c,a[n]++}a=a.slice(f,c+1)}else{let n=!1;t.statistics||(t.updateStatistics(),n=!0);const e=t.statistics;f=e[m].minValue,c=e[m].maxValue;const s=(c-f)/u;if(0===s){!e||t.validPixelCount||n||t.updateStatistics();const s=(t.validPixelCount||t.width*t.height)/u;for(let t=0;t<u;t++)a[t]=Math.round(s*(t+1))-Math.round(s*t)}else{const t=new Uint32Array(u+1);for(let n=0;n<o;n++)p&&!p[n]||t[Math.floor((h[n]-f)/s)]++;for(let n=0;n<u-1;n++)a[n]=t[n];a[u-1]=t[u-1]+t[u]}}const g="u8"===i?f-.5:f,d="u8"===i?c+.5:c;r.push({min:g,max:d,size:a.length,counts:a});let x=0,M=0,y=0;for(let t=0;t<a.length;t++)x+=a[t],M+=t*a[t];const O=M/x;for(let t=0;t<a.length;t++)y+=a[t]*(t-O)**2;const b=Math.sqrt(y/(x-1)),w=(d-g)/a.length,k=(O+("u8"===i?0:.5))*w+f,v=b*w;l.push({min:f,max:c,avg:k,stddev:v})}return{statistics:l,histograms:r}}function g(t){const n=[];for(let e=0;e<t.length;e++){const{min:s,max:i,size:o,counts:a}=t[e];let r=0,l=0;for(let t=0;t<o;t++)r+=a[t],l+=t*a[t];const u=l/r;let f=0;for(let t=0;t<o;t++)f+=a[t]*(t-u)**2;const c=(i-s)/o,m=(u+.5)*c+s,h=Math.sqrt(f/(r-1))*c;n.push({min:s,max:i,avg:m,stddev:h})}return n}function d(n,i){const{pixelBlock:o,bandIds:a,returnHistogramLut:l,rasterInfo:u}=i;let f=null,c=null,m=n.stretchType;if("number"==typeof m&&(m=s[m]),n.dra)if("minMax"===m&&o?.statistics)f=o.statistics.map((t=>[t.minValue,t.maxValue,0,0]));else{const t=p(o);f=null!=t?t.statistics:null,c=null!=t?t.histograms:null}else f=n.statistics?.length?n.statistics:u.statistics,c="histograms"in n?n.histograms:void 0,c||(c=u.histograms);"percentClip"!==m&&"histogramEqualization"!==m||c?.length||(m="minMax");const h=f?.length||c?.length||u.bandCount,g=[],d=[];f&&!Array.isArray(f[0])&&(f=f.map((t=>[t.min,t.max,t.avg,t.stddev])));const[M,y]=e(u.pixelType);if(!f?.length){f=[];for(let t=0;t<h;t++)f.push([M,y,1,1]);"standardDeviation"===m&&(m="minMax")}switch(m){case"none":for(let t=0;t<h;t++)g[t]=M,d[t]=y;break;case"minMax":for(let t=0;t<h;t++){const n=f[t];g[t]=n[0],d[t]=n[1]}break;case"standardDeviation":{const{numberOfStandardDeviations:t=2}=n;for(let n=0;n<h;n++){const e=f[n];g[n]=e[2]-t*e[3],d[n]=e[2]+t*e[3],g[n]<e[0]&&(g[n]=e[0]),d[n]>e[1]&&(d[n]=e[1])}}break;case"histogramEqualization":t(c);for(let t=0;t<h;t++)g[t]=c[t].min,d[t]=c[t].max;break;case"percentClip":t(c);for(let t=0;t<c.length;t++){const e=c[t],s=new Uint32Array(e.size),i=[...e.counts];i.length>=20&&(i[0]=i[1]=i[2]=i[i.length-1]=i[i.length-2]=0);let o=0;const a=(e.max-e.min)/e.size,r=-.5===e.min&&1===a?.5:0;for(let t=0;t<e.size;t++)o+=i[t],s[t]=o;let l=(n.minPercent||0)*o/100;g[t]=e.min+r;for(let n=0;n<e.size;n++)if(s[n]>l){g[t]=e.min+a*(n+r);break}l=(1-(n.maxPercent||0)/100)*o,d[t]=e.max+r;for(let n=e.size-2;n>=0;n--)if(s[n]<l){d[t]=e.min+a*(n+2-r);break}if(d[t]<g[t]){const n=g[t];g[t]=d[t],d[t]=n}}break;default:for(let t=0;t<h;t++){const n=f[t];g[t]=n[0],d[t]=n[1]}}let O,b,w;"histogramEqualization"===m?(t(c),b=c[0].size||256,O=0,l&&(w=c.map((t=>r(t))))):(b=n.max||255,O=n.min||0);return x({minCutOff:g,maxCutOff:d,maxOutput:b,minOutput:O,histogramLut:w},a)}function x(t,n){if(null==n||0===n.length)return t;const e=Math.max.apply(null,n),{minCutOff:s,maxCutOff:i,minOutput:o,maxOutput:a,histogramLut:r}=t;return s.length===n.length||s.length<=e?t:{minCutOff:n.map((t=>s[t])),maxCutOff:n.map((t=>i[t])),histogramLut:r?n.map((t=>r[t])):null,minOutput:o,maxOutput:a}}function M(t,n){const e=new Float32Array(t);for(let s=0;s<t;s++)n[s]>1?n[s]>2?e[s]=6.5+(n[s]-2)**2.5:e[s]=6.5+100*(2-n[s])**4:e[s]=1;return e}function y(t,e){if(!t?.pixels?.length)return t;const{mask:s,bandMasks:i,width:o,height:a,pixels:r}=t,{minCutOff:l,maxCutOff:u,minOutput:f,maxOutput:c,gamma:m}=e,h=o*a,p=e.outputPixelType||"u8",g=t.pixels.map((()=>n.createEmptyBand(p,h))),d=g.length,x=c-f,y=[],O=[];for(let n=0;n<d;n++)O[n]=u[n]-l[n],y[n]=0===O[n]?0:x/O[n];const b=p.startsWith("u")||p.startsWith("s"),w=m&&m.length>=d,k=!!e.isRenderer;if(w){const t=M(d,m);for(let n=0;n<d;n++){const e=i?.[n]??s;for(let s=0;s<h;s++)if(null==e||e[s]){if(0===O[n]){g[n][s]=f;continue}const e=r[n][s],i=(e-l[n])/O[n];let o=1;if(m[n]>1&&(o-=(1/x)**(i*t[n])),e<u[n]&&e>l[n]){const t=o*x*i**(1/m[n])+f;g[n][s]=k?Math.floor(t):b?Math.round(t):t}else e>=u[n]?g[n][s]=c:g[n][s]=f}}}else for(let n=0;n<d;n++){const t=i?.[n]??s;for(let e=0;e<h;e++)if(null==t||t[e]){const t=r[n][e];if(t<u[n]&&t>l[n]){const s=(t-l[n])*y[n]+f;g[n][e]=k?Math.floor(s):b?Math.round(s):s}else t>=u[n]?g[n][e]=c:g[n][e]=f}}const v=new n({width:o,height:a,mask:s,bandMasks:i,pixels:g,pixelType:p});return v.updateStatistics(),v}export{M as computeGammaCorrection,f as computeGammaValues,h as computeStatisticsHistograms,u as createContrastBrightnessLUT,r as createHistogramEqualizationLUT,l as createStretchLUT,g as estimateStatisticsFromHistograms,p as estimateStatisticsHistograms,d as getStretchCutoff,a as isStandardU8Histogram,y as stretch};
5
+ import{assertIsSome as t}from"../../../core/maybe.js";import n from"../PixelBlock.js";import{getPixelValueRange as e}from"../rasterFormats/pixelRangeUtils.js";import{stretchTypeFunctionEnum as s}from"../../../renderers/support/stretchRendererUtils.js";const i=1,o=[.299,.587,.114];function a(t){if(null==t)return!1;const{max:n,min:e,size:s}=t;return(n-e)/s===1&&e>=-.5&&.5===Math.abs(e%1)&&n<=255.5}function r(t,n=256){const e=255;n=Math.min(n,e+1);const{size:s,counts:i}=t,o=new Float64Array(s);o[0]=i[0]/n;for(let a=1;a<s;a++)o[a]=o[a-1]+i[a]/n;const r=new Uint8Array(n),l=n/o[o.length-1];if(s<=n){const i=a(t)?Math.max(0,Math.round(t.min+.5)):0;for(let t=i;t<n;t++)r[t]=t>=s+i?e:Math.min(e,Math.trunc(o[t-i]*l))}else{const t=o.map((t=>Math.min(255,Math.trunc(t*l))));for(let e=0;e<n;e++)r[e]=t[Math.round(s/n)];r[n-1]=255}return r}function l(t){const{minCutOff:n,maxCutOff:e,gamma:s,pixelType:i,rounding:o}=t;if(!["u8","u16","s8","s16"].includes(i))return null;const a=n.length,r="s8"===i?-127:"s16"===i?-32767:0,l=["u16","s16"].includes(i)?65536:256,f=[],c=[],{minOutput:m=0,maxOutput:h=255}=t,p=h-m;for(let u=0;u<a;u++)c[u]=e[u]-n[u],f[u]=0===c[u]?0:p/c[u];const g=[];if(s&&s.length>=a){const t=M(a,s);for(let i=0;i<a;i++){const a=[];for(let u=0;u<l;u++){if(0===c[i]){a[u]=m;continue}const l=u+r,f=(l-n[i])/c[i];let g=1;if(s[i]>1&&(g-=(1/p)**(f*t[i])),l<e[i]&&l>n[i]){const t=g*p*f**(1/s[i])+m;a[u]="floor"===o?Math.floor(t):"round"===o?Math.round(t):t}else l>=e[i]?a[u]=h:a[u]=m}g[i]=a}}else for(let u=0;u<a;u++){const t=[];for(let s=0;s<l;s++){const i=s+r;if(i<=n[u])t[s]=m;else if(i>=e[u])t[s]=h;else{const e=(i-n[u])*f[u]+m;t[s]="floor"===o?Math.floor(e):"round"===o?Math.round(e):e}}g[u]=t}if(null!=t.contrastOffset){const n=u(t.contrastOffset,t.brightnessOffset);for(let t=0;t<a;t++){const e=g[t];for(let t=0;t<l;t++)e[t]=n[e[t]]}}return{lut:g,offset:r}}function u(t,n){const e=Math.min(Math.max(t,-100),100),s=Math.min(Math.max(n??0,-100),100),i=255,o=128,a=new Uint8Array(256);for(let r=0;r<256;r++){let t=0;e>0&&e<100?t=(200*r-100*i+2*i*s)/(2*(100-e))+o:e<=0&&e>-100?t=(200*r-100*i+2*i*s)*(100+e)/2e4+o:100===e?(t=200*r-100*i+(i+1)*(100-e)+2*i*s,t=t>0?i:0):-100===e&&(t=o),a[r]=t>i?i:t<0?0:t}return a}function f(t,n,e){const s=[];for(let i=0;i<n.length;i++){let a=0,r=0,l=0;"min"in n[i]?({min:a,max:r,avg:l}=n[i]):[a,r,l]=n[i];let u=l??0;"u8"!==t&&(u=255*(u-a)/(r-a)),e&&(u*=o[i]),s.push(c(u))}return s}function c(t){if(t<=0||t>=255)return i;const n=255,e=t+(150===t?0:t<150?45*Math.cos(.01047*t):17*Math.sin(.021*t)),s=Math.log(t/n),o=Math.log(e/n);if(0===o)return i;const a=s/o;return isNaN(a)?i:Math.min(9.9,Math.max(.01,a))}function m(t,n,e,s){let i=1/0,o=-1/0,a=0,r=0,l=0,u=0;const f=t.length,c=new Map,m=[];for(let k=0;k<f;k++){const e=t[k];if(!n||n[k]){m.push(e);const t=(c.get(e)??0)+1;c.set(e,t),t>u&&(u=t,l=e),i=e<i?e:i,o=e>o?e:o,a+=e,r++}}if(0===r)return{statistics:{min:0,max:0,avg:0,stddev:0,mode:0,median:0},histogram:null};const h=a/r;let p=0;for(let k=0;k<f;k++)n&&!n[k]||(p+=(t[k]-h)**2);const g=n?n.filter((t=>t)).length:f,d=g<=1?0:Math.sqrt(p/(g-1));m.sort(((t,n)=>t-n));const x=r>>>1,M={min:i,max:o,avg:h,stddev:d,mode:l,median:r%2?m[Math.floor(x)]:(m[x-1]+m[x])/2};if(["u8","s8","u4","u2","u1"].includes(e)){const e=o-i+1,s=new Uint32Array(e);for(let o=0;o<f;o++)n&&!n[o]||s[t[o]-i]++;return{statistics:M,histogram:{min:i-.5,max:o+.5,size:e,counts:s}}}const y=256,O=new Uint32Array(y),b=(o-i)/y;if(0===b)return{statistics:M,histogram:{min:i,max:o,size:1,counts:new Uint32Array(1).fill(r)}};const w=new Uint32Array(y+1);for(let k=0;k<f;k++)n&&!n[k]||w[Math.floor((t[k]-i)/b)]++;for(let k=0;k<y-1;k++)O[k]=w[k];return O[y-1]=w[y-1]+w[y],{statistics:M,histogram:{min:i,max:o,size:y,counts:O}}}function h(t){const{pixels:n,mask:e,pixelType:s,bandMasks:i}=t,o=n.map(((t,n)=>m(t,i?.[n]??e,s)));return{statistics:o.map((({statistics:t})=>t)),histograms:o.map((({histogram:t})=>t))}}function p(t){if(!t?.pixels?.length)return null;const{pixels:n,mask:e,bandMasks:s,pixelType:i}=t,o=t.width*t.height,a=n.length,r=[],l=[],u=256;let f,c;for(let m=0;m<a;m++){let a=new Uint32Array(u);const h=n[m],p=s?.[m]??e;if("u8"===i){if(f=255,c=0,p){for(let t=0;t<o;t++)if(p[t]){const n=h[t];f=n<f?n:f,c=n>c?n:c,a[n]++}}else for(let t=0;t<o;t++){const n=h[t];f=n<f?n:f,c=n>c?n:c,a[n]++}a=a.slice(f,c+1)}else{let n=!1;t.statistics||(t.updateStatistics(),n=!0);const e=t.statistics;f=e[m].minValue,c=e[m].maxValue;const s=(c-f)/u;if(0===s){!e||t.validPixelCount||n||t.updateStatistics();const s=(t.validPixelCount||t.width*t.height)/u;for(let t=0;t<u;t++)a[t]=Math.round(s*(t+1))-Math.round(s*t)}else{const t=new Uint32Array(u+1);for(let n=0;n<o;n++)p&&!p[n]||t[Math.floor((h[n]-f)/s)]++;for(let n=0;n<u-1;n++)a[n]=t[n];a[u-1]=t[u-1]+t[u]}}const g="u8"===i?f-.5:f,d="u8"===i?c+.5:c;r.push({min:g,max:d,size:a.length,counts:a});let x=0,M=0,y=0;for(let t=0;t<a.length;t++)x+=a[t],M+=t*a[t];const O=M/x;for(let t=0;t<a.length;t++)y+=a[t]*(t-O)**2;const b=Math.sqrt(y/(x-1)),w=(d-g)/a.length,k=(O+("u8"===i?0:.5))*w+f,v=b*w;l.push({min:f,max:c,avg:k,stddev:v})}return{statistics:l,histograms:r}}function g(t){const n=[];for(let e=0;e<t.length;e++){const{min:s,max:i,size:o,counts:a}=t[e];let r=0,l=0;for(let t=0;t<o;t++)r+=a[t],l+=t*a[t];const u=l/r;let f=0;for(let t=0;t<o;t++)f+=a[t]*(t-u)**2;const c=(i-s)/o,m=(u+.5)*c+s,h=Math.sqrt(f/(r-1))*c;n.push({min:s,max:i,avg:m,stddev:h})}return n}function d(n,i){const{pixelBlock:o,bandIds:a,returnHistogramLut:l,rasterInfo:u}=i;let f=null,c=null,m=n.stretchType;if("number"==typeof m&&(m=s[m]),n.dra)if("minMax"===m&&o?.statistics)f=o.statistics.map((t=>[t.minValue,t.maxValue,0,0]));else{const t=p(o);f=null!=t?t.statistics:null,c=null!=t?t.histograms:null}else f=n.statistics?.length?n.statistics:u.statistics,c="histograms"in n?n.histograms:void 0,c||(c=u.histograms);"percentClip"!==m&&"histogramEqualization"!==m||c?.length||(m="minMax");const h=f?.length||c?.length||u.bandCount,g=[],d=[];f&&!Array.isArray(f[0])&&(f=f.map((t=>[t.min,t.max,t.avg,t.stddev])));const[M,y]=e(u.pixelType);if(!f?.length){f=[];for(let t=0;t<h;t++)f.push([M,y,1,1]);"standardDeviation"===m&&(m="minMax")}switch(m){case"none":for(let t=0;t<h;t++)g[t]=M,d[t]=y;break;case"minMax":for(let t=0;t<h;t++){const n=f[t];g[t]=n[0],d[t]=n[1]}break;case"standardDeviation":{const{numberOfStandardDeviations:t=2}=n;for(let n=0;n<h;n++){const e=f[n];g[n]=e[2]-t*e[3],d[n]=e[2]+t*e[3],g[n]<e[0]&&(g[n]=e[0]),d[n]>e[1]&&(d[n]=e[1])}}break;case"histogramEqualization":t(c);for(let t=0;t<h;t++)g[t]=c[t].min,d[t]=c[t].max;break;case"percentClip":t(c);for(let t=0;t<c.length;t++){const e=c[t],s=new Uint32Array(e.size),i=[...e.counts];i.length>=20&&(i[0]=i[1]=i[2]=i[i.length-1]=i[i.length-2]=0);let o=0;const a=(e.max-e.min)/e.size,r=-.5===e.min&&1===a?.5:0;for(let t=0;t<e.size;t++)o+=i[t],s[t]=o;let l=(n.minPercent||0)*o/100;g[t]=e.min+r;for(let n=0;n<e.size;n++)if(s[n]>l){g[t]=e.min+a*(n+r);break}l=(1-(n.maxPercent||0)/100)*o,d[t]=e.max+r;for(let n=e.size-2;n>=0;n--)if(s[n]<l){d[t]=e.min+a*(n+2-r);break}if(d[t]<g[t]){const n=g[t];g[t]=d[t],d[t]=n}}break;default:for(let t=0;t<h;t++){const n=f[t];g[t]=n[0],d[t]=n[1]}}let O,b,w;"histogramEqualization"===m?(t(c),b=c[0].size||256,O=0,l&&(w=c.map((t=>r(t))))):(b=n.max||255,O=n.min||0);return x({minCutOff:g,maxCutOff:d,maxOutput:b,minOutput:O,histogramLut:w},a)}function x(t,n){if(null==n||0===n.length)return t;const e=Math.max.apply(null,n),{minCutOff:s,maxCutOff:i,minOutput:o,maxOutput:a,histogramLut:r}=t;return s.length===n.length||s.length<=e?t:{minCutOff:n.map((t=>s[t])),maxCutOff:n.map((t=>i[t])),histogramLut:r?n.map((t=>r[t])):null,minOutput:o,maxOutput:a}}function M(t,n){const e=new Float32Array(t);for(let s=0;s<t;s++)n[s]>1?n[s]>2?e[s]=6.5+(n[s]-2)**2.5:e[s]=6.5+100*(2-n[s])**4:e[s]=1;return e}function y(t,e){if(!t?.pixels?.length)return t;const{mask:s,bandMasks:i,width:o,height:a,pixels:r}=t,{minCutOff:l,maxCutOff:u,minOutput:f,maxOutput:c,gamma:m}=e,h=o*a,p=e.outputPixelType||"u8",g=t.pixels.map((()=>n.createEmptyBand(p,h))),d=g.length,x=c-f,y=[],O=[];for(let n=0;n<d;n++)O[n]=u[n]-l[n],y[n]=0===O[n]?0:x/O[n];const b=p.startsWith("u")||p.startsWith("s"),w=m&&m.length>=d,k=!!e.isRenderer;if(w){const t=M(d,m);for(let n=0;n<d;n++){const e=i?.[n]??s;for(let s=0;s<h;s++)if(null==e||e[s]){if(0===O[n]){g[n][s]=f;continue}const e=r[n][s],i=(e-l[n])/O[n];let o=1;if(m[n]>1&&(o-=(1/x)**(i*t[n])),e<u[n]&&e>l[n]){const t=o*x*i**(1/m[n])+f;g[n][s]=k?Math.floor(t):b?Math.round(t):t}else e>=u[n]?g[n][s]=c:g[n][s]=f}}}else for(let n=0;n<d;n++){const t=i?.[n]??s;for(let e=0;e<h;e++)if(null==t||t[e]){const t=r[n][e];if(t<u[n]&&t>l[n]){const s=(t-l[n])*y[n]+f;g[n][e]=k?Math.floor(s):b?Math.round(s):s}else t>=u[n]?g[n][e]=c:g[n][e]=f}}const v=new n({width:o,height:a,mask:s,bandMasks:i,pixels:g,pixelType:p});return v.updateStatistics(),v}export{M as computeGammaCorrection,f as computeGammaValues,h as computeStatisticsHistograms,u as createContrastBrightnessLUT,r as createHistogramEqualizationLUT,l as createStretchLUT,g as estimateStatisticsFromHistograms,p as estimateStatisticsHistograms,d as getStretchCutoff,a as isStandardU8Histogram,y as stretch};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{isSome as e}from"../../core/arrayUtils.js";import t from"../../core/Error.js";import{urlToObject as n}from"../../core/urlUtils.js";import{isAxesOrderReversedForWkid as r}from"../ogc/crsUtils.js";import{DateTime as i,FixedOffsetZone as s}from"luxon";const o={84:4326,83:4269,27:4267};function a(n){if(!n)return null;const r={idCounter:-1};if("string"==typeof n){n=(new DOMParser).parseFromString(n,"text/xml")}const i=n.documentElement;if("ServiceExceptionReport"===i.nodeName){const e=Array.prototype.slice.call(i.childNodes).map((e=>e.textContent)).join("\r\n");throw new t("wmslayer:wms-capabilities-xml-is-not-valid","The server returned errors when the WMS capabilities were requested.",e)}const s=d("Capability",i),o=d("Service",i),a=s&&d("Request",s);if(!s||!o||!a)return null;const l=d("Layer",s);if(!l)return null;const m="WMS_Capabilities"===i.nodeName||"WMT_MS_Capabilities"===i.nodeName?i.getAttribute("version"):"1.3.0",f=x("Title",o,"")||x("Name",o,""),p=x("AccessConstraints",o,""),h=/^none$/i.test(p)?"":p,y=x("Abstract",o,""),S=parseInt(x("MaxWidth",o,"5000"),10),E=parseInt(x("MaxHeight",o,"5000"),10),L=g(a,"GetMap"),C=N(a,"GetMap"),M=b(l,m,r);if(!M)return null;let T,R=0;const I=Array.prototype.slice.call(s.childNodes),v=M.sublayers??[],w=e=>{null!=e&&v.push(e)};I.forEach((e=>{"Layer"===e.nodeName&&(0===R?T=e:1===R?(M.name&&(M.name="",w(b(T,m,r))),w(b(e,m,r))):w(b(e,m,r)),R++)}));const U=M.sublayers??[],V=M.fullExtents??[];0===U.length&&U.push(M),M.extent??=U[0].extent;const _=M.spatialReferences.length>0?M.spatialReferences:u(M),O=N(a,"GetFeatureInfo"),B=O?g(a,"GetFeatureInfo"):null,k=c(U),q=M.minScale||0,X=M.maxScale||0,D=M.dimensions??[],$=k.reduce(((e,t)=>e.concat(t.dimensions??[])),[]),j=D.concat($).filter(F);let G=null;if(j.length){const t=j.map((e=>{const{extent:t}=e;return A(t)?t.map((e=>e.getTime())):t?.map((e=>[e.min.getTime(),e.max.getTime()]))})).flat(2).filter(e);G={startTimeField:null,endTimeField:null,trackIdField:void 0,timeExtent:[Math.min(...t),Math.max(...t)]}}return{copyright:h,description:y,dimensions:D,extent:M.extent,fullExtents:V,featureInfoFormats:B,featureInfoUrl:O,mapUrl:C,maxWidth:S,maxHeight:E,maxScale:X,minScale:q,layers:k,spatialReferences:_,supportedImageFormatTypes:L,timeInfo:G,title:f,version:m}}function l(e){const t=e.filter((e=>e.popupEnabled&&e.name&&e.queryable));return t.length?t.map((({name:e})=>e)).join():null}function u(e){if(e.spatialReferences.length>0)return e.spatialReferences;if(e.sublayers)for(const t of e.sublayers){const e=u(t);if(e.length>0)return e}return[]}function c(e){let t=[];for(const n of e)t.push(n),n.sublayers?.length&&(t=t.concat(c(n.sublayers)),delete n.sublayers);return t}function m(e,t,n){return t.getAttribute(e)??n}function f(e,t,n,r){const i=d(e,n);return i?m(t,i,r):r}function d(e,t){for(let n=0;n<t.childNodes.length;n++){const r=t.childNodes[n];if(S(r)&&r.nodeName===e)return r}return null}function p(e,t){if(null==t)return[];const n=[];for(let r=0;r<t.childNodes.length;r++){const i=t.childNodes[r];S(i)&&i.nodeName===e&&n.push(i)}return n}function x(e,t,n){return d(e,t)?.textContent??n}function h(e,t,n){const r=parseFloat(e.getAttribute("minx")??"0"),i=parseFloat(e.getAttribute("miny")??"0"),s=parseFloat(e.getAttribute("maxx")??"0"),o=parseFloat(e.getAttribute("maxy")??"0");return{xmin:n?isNaN(i)?-Number.MAX_VALUE:i:isNaN(r)?-Number.MAX_VALUE:r,ymin:n?isNaN(r)?-Number.MAX_VALUE:r:isNaN(i)?-Number.MAX_VALUE:i,xmax:n?isNaN(o)?Number.MAX_VALUE:o:isNaN(s)?Number.MAX_VALUE:s,ymax:n?isNaN(s)?Number.MAX_VALUE:s:isNaN(o)?Number.MAX_VALUE:o,spatialReference:{wkid:t}}}function N(e,t){const n=d(t,e);if(n){const e=d("DCPType",n);if(e){const t=d("HTTP",e);if(t){const e=d("Get",t);if(e){let t=f("OnlineResource","xlink:href",e,null);if(t){const e=t.indexOf("&");return-1!==e&&e===t.length-1&&(t=t.slice(0,-1)),M(t,["service","request"])}}}}}return null}function g(t,n){const r=p("Operation",t);if(!r.length){return p("Format",d(n,t)).map((({textContent:e})=>e)).filter(e)}const i=[];for(const e of r)if(e.getAttribute("name")===n){const t=p("Format",e);for(const{textContent:e}of t)null!=e&&i.push(e)}return i}function y(e,t,n){const r=d(t,e);if(!r)return n;const{textContent:i}=r;if(null==i||""===i)return n;const s=Number(i);return isNaN(s)?n:s}function b(e,t,n){if(!e)return null;const i=e.getAttribute("queryable")?.toLowerCase(),s="1"===i||"true"===i,a={id:n.idCounter++,fullExtents:[],parentLayerId:null,queryable:s,spatialReferences:[],sublayers:null},l=d("LatLonBoundingBox",e),u=d("EX_GeographicBoundingBox",e),c=l?h(l,4326):u?{xmin:parseFloat(x("westBoundLongitude",u,"0")),ymin:parseFloat(x("southBoundLatitude",u,"0")),xmax:parseFloat(x("eastBoundLongitude",u,"0")),ymax:parseFloat(x("northBoundLatitude",u,"0")),spatialReference:{wkid:4326}}:{xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:{wkid:4326}};a.minScale=y(e,"MaxScaleDenominator",0),a.maxScale=y(e,"MinScaleDenominator",0);const f=["1.0.0","1.1.0","1.1.1"].includes(t)?"SRS":"CRS";return Array.prototype.slice.call(e.childNodes).forEach((e=>{if("Name"===e.nodeName)a.name=e.textContent||"";else if("Title"===e.nodeName)a.title=e.textContent||"";else if("Abstract"===e.nodeName)a.description=e.textContent||"";else if("BoundingBox"===e.nodeName){const n=e.getAttribute(f),i=n?.indexOf(":");if(i&&i>-1){let s=parseInt(n.slice(i+1),10);0===s||isNaN(s)||(s=o[s]??s);const l="1.3.0"===t?h(e,s,r(s)):h(e,s);l&&a.fullExtents&&a.fullExtents.push(l)}}else if(e.nodeName===f){(e.textContent?.split(" ")??[]).forEach((e=>{let t=NaN;if(e.includes(":")){const[n,r]=e.toUpperCase().split(":");"CRS"!==n&&"EPSG"!==n||(t=parseInt(r,10))}else t=parseInt(e,10);if(0!==t&&!isNaN(t)){const e=o[t]??t;a.spatialReferences.includes(e)||a.spatialReferences.push(e)}}))}else if("Style"!==e.nodeName||a.legendUrl){if("Layer"===e.nodeName){const r=b(e,t,n);r&&(r.parentLayerId=a.id,a.sublayers||(a.sublayers=[]),a.sublayers.push(r))}}else{const t=d("LegendURL",e);if(t){const e=d("OnlineResource",t);e&&(a.legendUrl=e.getAttribute("xlink:href"))}}})),a.extent=c,a.dimensions=p("Dimension",e).filter((e=>e.getAttribute("name")&&e.getAttribute("units")&&e.textContent)).map((e=>{const t=e.getAttribute("name"),n=e.getAttribute("units"),r=e.textContent,i=e.getAttribute("unitSymbol")??void 0,s=e.getAttribute("default")??void 0,o="0"!==m("default",e,"0"),a="0"!==m("nearestValue",e,"0"),l="0"!==m("current",e,"0");if(F({name:t,units:n})){return{name:"time",units:"ISO8601",extent:I(r),default:I(s),multipleValues:o,nearestValue:a,current:l}}if(L({name:t,units:n})){return{name:"elevation",units:n,extent:T(r),unitSymbol:i,default:T(s),multipleValues:o,nearestValue:a}}return{name:t,units:n,extent:R(r),unitSymbol:i,default:R(s),multipleValues:o,nearestValue:a}})),a}function A(e){return Array.isArray(e)&&e.length>0&&e[0]instanceof Date}function S(e){return e.nodeType===Node.ELEMENT_NODE}function E(e){return void 0!==e.min&&void 0!==e.max}function L(e){return/^elevation$/i.test(e.name)&&/^(epsg|crs):\d+$/i.test(e.units)}function C(e){return!F(e)&&!L(e)}function F(e){return/^time$/i.test(e.name)&&/^iso8601$/i.test(e.units)}function M(e,t){const r=[],i=n(e);for(const n in i.query)i.query.hasOwnProperty(n)&&(t.includes(n.toLowerCase())||r.push(n+"="+i.query[n]));return i.path+(r.length?"?"+r.join("&"):"")}function T(t){if(!t)return;const n=t.includes("/"),r=t.split(",");return n?r.map((e=>{const t=e.split("/");if(t.length<2)return null;return{min:parseFloat(t[0]),max:parseFloat(t[1]),resolution:t.length>=3&&"0"!==t[2]?parseFloat(t[2]):void 0}})).filter(e):r.map((e=>parseFloat(e)))}function R(t){if(!t)return;const n=t.includes("/"),r=t.split(",");return n?r.map((e=>{const t=e.split("/");if(t.length<2)return null;return{min:t[0],max:t[1],resolution:t.length>=3&&"0"!==t[2]?t[2]:void 0}})).filter(e):r}function I(t){if(!t)return;const n=t.includes("/"),r=t.split(",");return n?r.map((e=>{const t=e.split("/");if(t.length<2)return null;return{min:v(t[0]),max:v(t[1]),resolution:t.length>=3&&"0"!==t[2]?w(t[2]):void 0}})).filter(e):r.map((e=>v(e)))}function v(e){return i.fromISO(e,{zone:s.utcInstance}).toJSDate()}function w(e){const t=/(?:p(\d+y|\d+(?:\.|,)\d+y)?(\d+m|\d+(?:\.|,)\d+m)?(\d+d|\d+(?:\.|,)\d+d)?)?(?:t(\d+h|\d+(?:\.|,)\d+h)?(\d+m|\d+(?:\.|,)\d+m)?(\d+s|\d+(?:\.|,)\d+s)?)?/i,n=e.match(t);if(!n)return null;return{years:U(n[1]),months:U(n[2]),days:U(n[3]),hours:U(n[4]),minutes:U(n[5]),seconds:U(n[6])}}function U(e){if(!e)return 0;const t=/(?:\d+(?:\.|,)\d+|\d+)/,n=e.match(t);if(!n)return 0;const r=n[0].replace(",",".");return Number(r)}function V(e){return e.toISOString().replace(/\.[0-9]{3}/,"")}const _="0000-01-01T00:00:00Z",O="9999-12-31T23:59:59Z";function B(e){if(!e||e.isAllTime||e.isEmpty)return;const{start:t,end:n}=e;if(t&&n&&t.getTime()===n.getTime())return`${V(t)}`;return`${t?V(t):_}/${n?V(n):O}`}const k=new Set([102100,3857,102113,900913]),q=new Set([3395,54004]);function X(e,t){let n=e.wkid;return null==t?n:(null!=n&&t.includes(n)||!e.latestWkid||(n=e.latestWkid),null!=n&&k.has(n)?t.find((e=>k.has(e)))||t.find((e=>q.has(e)))||102100:n)}export{w as fromISODuration,l as getPopupLayers,E as isDimensionInterval,L as isElevationDimension,C as isGenericDimension,F as isTimeDimension,X as normalizeWKID,a as parseCapabilities,B as toTimeQueryParameter};
5
+ import{isSome as e}from"../../core/arrayUtils.js";import t from"../../core/Error.js";import{urlToObject as n}from"../../core/urlUtils.js";import{isAxesOrderReversedForWkid as r}from"../ogc/crsUtils.js";import{DateTime as i,FixedOffsetZone as s}from"luxon";const o={84:4326,83:4269,27:4267};function a(n){if(!n)return null;const r={idCounter:-1};if("string"==typeof n){n=(new DOMParser).parseFromString(n,"text/xml")}const i=n.documentElement;if("ServiceExceptionReport"===i.nodeName){const e=Array.prototype.slice.call(i.childNodes).map((e=>e.textContent)).join("\r\n");throw new t("wmslayer:wms-capabilities-xml-is-not-valid","The server returned errors when the WMS capabilities were requested.",e)}const s=d("Capability",i),o=d("Service",i),a=s&&d("Request",s);if(!s||!o||!a)return null;const l=d("Layer",s);if(!l)return null;const m="WMS_Capabilities"===i.nodeName||"WMT_MS_Capabilities"===i.nodeName?i.getAttribute("version"):"1.3.0",f=x("Title",o,"")||x("Name",o,""),p=x("AccessConstraints",o,""),h=/^none$/i.test(p)?"":p,y=x("Abstract",o,""),S=parseInt(x("MaxWidth",o,"5000"),10),E=parseInt(x("MaxHeight",o,"5000"),10),L=g(a,"GetMap"),C=N(a,"GetMap"),M=b(l,m,r);if(!M)return null;let T,R=0;const I=Array.prototype.slice.call(s.childNodes),v=M.sublayers??[],w=e=>{null!=e&&v.push(e)};I.forEach((e=>{"Layer"===e.nodeName&&(0===R?T=e:1===R?(M.name&&(M.name="",w(b(T,m,r))),w(b(e,m,r))):w(b(e,m,r)),R++)}));const U=M.sublayers??[],V=M.fullExtents??[];0===U.length&&U.push(M),M.extent??=U[0].extent;const _=M.spatialReferences.length>0?M.spatialReferences:u(M),O=N(a,"GetFeatureInfo"),B=O?g(a,"GetFeatureInfo"):null,k=c(U),q=M.minScale||0,X=M.maxScale||0,D=M.dimensions??[],$=k.reduce(((e,t)=>e.concat(t.dimensions??[])),[]),j=D.concat($).filter(F);let G=null;if(j.length){const t=j.map((e=>{const{extent:t}=e;return A(t)?t.map((e=>e.getTime())):t?.map((e=>[e.min.getTime(),e.max.getTime()]))})).flat(2).filter(e),{start:n,end:r}=t.reduce(((e,t)=>({start:Math.min(e.start,t),end:Math.max(e.end,t)})),{start:1/0,end:-1/0});G={startTimeField:null,endTimeField:null,trackIdField:void 0,timeExtent:[n,r]}}return{copyright:h,description:y,dimensions:D,extent:M.extent,fullExtents:V,featureInfoFormats:B,featureInfoUrl:O,mapUrl:C,maxWidth:S,maxHeight:E,maxScale:X,minScale:q,layers:k,spatialReferences:_,supportedImageFormatTypes:L,timeInfo:G,title:f,version:m}}function l(e){const t=e.filter((e=>e.popupEnabled&&e.name&&e.queryable));return t.length?t.map((({name:e})=>e)).join():null}function u(e){if(e.spatialReferences.length>0)return e.spatialReferences;if(e.sublayers)for(const t of e.sublayers){const e=u(t);if(e.length>0)return e}return[]}function c(e){let t=[];for(const n of e)t.push(n),n.sublayers?.length&&(t=t.concat(c(n.sublayers)),delete n.sublayers);return t}function m(e,t,n){return t.getAttribute(e)??n}function f(e,t,n,r){const i=d(e,n);return i?m(t,i,r):r}function d(e,t){for(let n=0;n<t.childNodes.length;n++){const r=t.childNodes[n];if(S(r)&&r.nodeName===e)return r}return null}function p(e,t){if(null==t)return[];const n=[];for(let r=0;r<t.childNodes.length;r++){const i=t.childNodes[r];S(i)&&i.nodeName===e&&n.push(i)}return n}function x(e,t,n){return d(e,t)?.textContent??n}function h(e,t,n){const r=parseFloat(e.getAttribute("minx")??"0"),i=parseFloat(e.getAttribute("miny")??"0"),s=parseFloat(e.getAttribute("maxx")??"0"),o=parseFloat(e.getAttribute("maxy")??"0");return{xmin:n?isNaN(i)?-Number.MAX_VALUE:i:isNaN(r)?-Number.MAX_VALUE:r,ymin:n?isNaN(r)?-Number.MAX_VALUE:r:isNaN(i)?-Number.MAX_VALUE:i,xmax:n?isNaN(o)?Number.MAX_VALUE:o:isNaN(s)?Number.MAX_VALUE:s,ymax:n?isNaN(s)?Number.MAX_VALUE:s:isNaN(o)?Number.MAX_VALUE:o,spatialReference:{wkid:t}}}function N(e,t){const n=d(t,e);if(n){const e=d("DCPType",n);if(e){const t=d("HTTP",e);if(t){const e=d("Get",t);if(e){let t=f("OnlineResource","xlink:href",e,null);if(t){const e=t.indexOf("&");return-1!==e&&e===t.length-1&&(t=t.slice(0,-1)),M(t,["service","request"])}}}}}return null}function g(t,n){const r=p("Operation",t);if(!r.length){return p("Format",d(n,t)).map((({textContent:e})=>e)).filter(e)}const i=[];for(const e of r)if(e.getAttribute("name")===n){const t=p("Format",e);for(const{textContent:e}of t)null!=e&&i.push(e)}return i}function y(e,t,n){const r=d(t,e);if(!r)return n;const{textContent:i}=r;if(null==i||""===i)return n;const s=Number(i);return isNaN(s)?n:s}function b(e,t,n){if(!e)return null;const i=e.getAttribute("queryable")?.toLowerCase(),s="1"===i||"true"===i,a={id:n.idCounter++,fullExtents:[],parentLayerId:null,queryable:s,spatialReferences:[],sublayers:null},l=d("LatLonBoundingBox",e),u=d("EX_GeographicBoundingBox",e),c=l?h(l,4326):u?{xmin:parseFloat(x("westBoundLongitude",u,"0")),ymin:parseFloat(x("southBoundLatitude",u,"0")),xmax:parseFloat(x("eastBoundLongitude",u,"0")),ymax:parseFloat(x("northBoundLatitude",u,"0")),spatialReference:{wkid:4326}}:{xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:{wkid:4326}};a.minScale=y(e,"MaxScaleDenominator",0),a.maxScale=y(e,"MinScaleDenominator",0);const f=["1.0.0","1.1.0","1.1.1"].includes(t)?"SRS":"CRS";return Array.prototype.slice.call(e.childNodes).forEach((e=>{if("Name"===e.nodeName)a.name=e.textContent||"";else if("Title"===e.nodeName)a.title=e.textContent||"";else if("Abstract"===e.nodeName)a.description=e.textContent||"";else if("BoundingBox"===e.nodeName){const n=e.getAttribute(f),i=n?.indexOf(":");if(i&&i>-1){let s=parseInt(n.slice(i+1),10);0===s||isNaN(s)||(s=o[s]??s);const l="1.3.0"===t?h(e,s,r(s)):h(e,s);l&&a.fullExtents&&a.fullExtents.push(l)}}else if(e.nodeName===f){(e.textContent?.split(" ")??[]).forEach((e=>{let t=NaN;if(e.includes(":")){const[n,r]=e.toUpperCase().split(":");"CRS"!==n&&"EPSG"!==n||(t=parseInt(r,10))}else t=parseInt(e,10);if(0!==t&&!isNaN(t)){const e=o[t]??t;a.spatialReferences.includes(e)||a.spatialReferences.push(e)}}))}else if("Style"!==e.nodeName||a.legendUrl){if("Layer"===e.nodeName){const r=b(e,t,n);r&&(r.parentLayerId=a.id,a.sublayers||(a.sublayers=[]),a.sublayers.push(r))}}else{const t=d("LegendURL",e);if(t){const e=d("OnlineResource",t);e&&(a.legendUrl=e.getAttribute("xlink:href"))}}})),a.extent=c,a.dimensions=p("Dimension",e).filter((e=>e.getAttribute("name")&&e.getAttribute("units")&&e.textContent)).map((e=>{const t=e.getAttribute("name"),n=e.getAttribute("units"),r=e.textContent,i=e.getAttribute("unitSymbol")??void 0,s=e.getAttribute("default")??void 0,o="0"!==m("default",e,"0"),a="0"!==m("nearestValue",e,"0"),l="0"!==m("current",e,"0");if(F({name:t,units:n})){return{name:"time",units:"ISO8601",extent:I(r),default:I(s),multipleValues:o,nearestValue:a,current:l}}if(L({name:t,units:n})){return{name:"elevation",units:n,extent:T(r),unitSymbol:i,default:T(s),multipleValues:o,nearestValue:a}}return{name:t,units:n,extent:R(r),unitSymbol:i,default:R(s),multipleValues:o,nearestValue:a}})),a}function A(e){return Array.isArray(e)&&e.length>0&&e[0]instanceof Date}function S(e){return e.nodeType===Node.ELEMENT_NODE}function E(e){return void 0!==e.min&&void 0!==e.max}function L(e){return/^elevation$/i.test(e.name)&&/^(epsg|crs):\d+$/i.test(e.units)}function C(e){return!F(e)&&!L(e)}function F(e){return/^time$/i.test(e.name)&&/^iso8601$/i.test(e.units)}function M(e,t){const r=[],i=n(e);for(const n in i.query)i.query.hasOwnProperty(n)&&(t.includes(n.toLowerCase())||r.push(n+"="+i.query[n]));return i.path+(r.length?"?"+r.join("&"):"")}function T(t){if(!t)return;const n=t.includes("/"),r=t.split(",");return n?r.map((e=>{const t=e.split("/");if(t.length<2)return null;return{min:parseFloat(t[0]),max:parseFloat(t[1]),resolution:t.length>=3&&"0"!==t[2]?parseFloat(t[2]):void 0}})).filter(e):r.map((e=>parseFloat(e)))}function R(t){if(!t)return;const n=t.includes("/"),r=t.split(",");return n?r.map((e=>{const t=e.split("/");if(t.length<2)return null;return{min:t[0],max:t[1],resolution:t.length>=3&&"0"!==t[2]?t[2]:void 0}})).filter(e):r}function I(t){if(!t)return;const n=t.includes("/"),r=t.split(",");return n?r.map((e=>{const t=e.split("/");if(t.length<2)return null;return{min:v(t[0]),max:v(t[1]),resolution:t.length>=3&&"0"!==t[2]?w(t[2]):void 0}})).filter(e):r.map((e=>v(e)))}function v(e){return i.fromISO(e,{zone:s.utcInstance}).toJSDate()}function w(e){const t=/(?:p(\d+y|\d+(?:\.|,)\d+y)?(\d+m|\d+(?:\.|,)\d+m)?(\d+d|\d+(?:\.|,)\d+d)?)?(?:t(\d+h|\d+(?:\.|,)\d+h)?(\d+m|\d+(?:\.|,)\d+m)?(\d+s|\d+(?:\.|,)\d+s)?)?/i,n=e.match(t);if(!n)return null;return{years:U(n[1]),months:U(n[2]),days:U(n[3]),hours:U(n[4]),minutes:U(n[5]),seconds:U(n[6])}}function U(e){if(!e)return 0;const t=/(?:\d+(?:\.|,)\d+|\d+)/,n=e.match(t);if(!n)return 0;const r=n[0].replace(",",".");return Number(r)}function V(e){return e.toISOString().replace(/\.[0-9]{3}/,"")}const _="0000-01-01T00:00:00Z",O="9999-12-31T23:59:59Z";function B(e){if(!e||e.isAllTime||e.isEmpty)return;const{start:t,end:n}=e;if(t&&n&&t.getTime()===n.getTime())return`${V(t)}`;return`${t?V(t):_}/${n?V(n):O}`}const k=new Set([102100,3857,102113,900913]),q=new Set([3395,54004]);function X(e,t){let n=e.wkid;return null==t?n:(null!=n&&t.includes(n)||!e.latestWkid||(n=e.latestWkid),null!=n&&k.has(n)?t.find((e=>k.has(e)))||t.find((e=>q.has(e)))||102100:n)}export{w as fromISODuration,l as getPopupLayers,E as isDimensionInterval,L as isElevationDimension,C as isGenericDimension,F as isTimeDimension,X as normalizeWKID,a as parseCapabilities,B as toTimeQueryParameter};