@arcgis/core 4.24.0-next.20220607 → 4.24.0-next.20220610

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 (206) hide show
  1. package/analysis/Analysis.js +1 -1
  2. package/analysis/LineOfSightAnalysis.js +1 -1
  3. package/arcade/arcadeCompiler.js +1 -1
  4. package/arcade.d.ts +4 -0
  5. package/arcade.js +1 -1
  6. package/assets/esri/core/workers/RemoteClient.js +1 -1
  7. package/assets/esri/core/workers/chunks/{4d2181bde97983ecac8b.js → 03ddf44e6fb8bf9db3ff.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{2e2d7f5952934af43fd7.js → 04034dabc8e0a489b0f8.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{d7168ff8f26ca2537080.js → 0747c28fce0b344dc89b.js} +1 -1
  10. package/assets/esri/core/workers/chunks/1e4e5d147263e98536bc.js +1 -0
  11. package/assets/esri/core/workers/chunks/{cbe98327181d8d7ad9e5.js → 262fabdc409d55831ffa.js} +1 -1
  12. package/assets/esri/core/workers/chunks/2a52c2c6edd70432f4a5.js +1 -0
  13. package/assets/esri/core/workers/chunks/{71d445d1e6812e03a1d7.js → 3ce7adaefc9de28d9c87.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{c165845a117c21246b1e.js → 42aa8ce4eb7bd851475e.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{a9a4bb1d781b1a995fb3.js → 4824926501e11d04eb4a.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{e51420d231c286b9c062.js → 540f1ed1ea9cddc739af.js} +1 -1
  17. package/assets/esri/core/workers/chunks/6196cfdeb91ceba52af3.js +1 -0
  18. package/assets/esri/core/workers/chunks/71a4618d959a09302c51.js +1 -0
  19. package/assets/esri/core/workers/chunks/76fbc8eaabba62fd4f9c.js +1 -0
  20. package/assets/esri/core/workers/chunks/{cb906a3f03dd0805c880.js → 7cc17b716b16a6684023.js} +1 -1
  21. package/assets/esri/core/workers/chunks/871681c1353026cb6d4b.js +1 -0
  22. package/assets/esri/core/workers/chunks/{13e9e6f0b4942d79b0eb.js → 88942e9f60687ac006dc.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{4c5b80ba3dbfe6f6cafb.js → acb1e649cda99d4f69a5.js} +1 -1
  24. package/assets/esri/core/workers/chunks/b71a0a8a2f446c671161.js +1 -0
  25. package/assets/esri/core/workers/chunks/b8002aaa665712299121.js +1 -0
  26. package/assets/esri/core/workers/chunks/{e4ca3f04ca7f71b46240.js → bb3480e231934b7bb34e.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{185da42e7cc8e440c0f0.js → c157b46b0724f3f0947e.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{1aba8c73c62a64e0658c.js → c6af8b0903d8d934d542.js} +1 -1
  29. package/assets/esri/core/workers/chunks/c8402e32307a7b7eaaeb.js +1 -0
  30. package/assets/esri/core/workers/chunks/c8e08a956b16034d9819.js +1 -0
  31. package/assets/esri/core/workers/chunks/d0d2566bedc493ed0a3b.js +1 -0
  32. package/assets/esri/core/workers/chunks/{8152cd26ebeae910b753.js → d3c73da9c2abb59e762a.js} +1 -1
  33. package/assets/esri/core/workers/chunks/d828a0656e7351a74fc4.js +1 -0
  34. package/assets/esri/core/workers/chunks/{172368d4eb6e6f8d2bdb.js → d8b9551df1bd196d0126.js} +1 -1
  35. package/assets/esri/core/workers/chunks/e5c8584ae764892c324d.js +1 -0
  36. package/assets/esri/core/workers/chunks/{1d893ebc6f203ff1fc3d.js → efe605ff4ba2a95c14c5.js} +1 -1
  37. package/assets/esri/core/workers/chunks/f54d5abbb9668c45bd19.js +1 -0
  38. package/assets/esri/core/workers/chunks/{bd2f4a01cb71e25837ba.js → f7ba74fc4eb541c424fc.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{1ebed6d6f561f926bd36.js → faf6e48f9f1205fb2e43.js} +1 -1
  40. package/assets/esri/geometry/support/pe-wasm.wasm +0 -0
  41. package/assets/esri/themes/base/widgets/_BasemapToggle.scss +6 -23
  42. package/assets/esri/themes/base/widgets/_Directions.scss +0 -3
  43. package/assets/esri/themes/base/widgets/_FeatureTable.scss +10 -2
  44. package/assets/esri/themes/base/widgets/_Slider.scss +8 -3
  45. package/assets/esri/themes/base/widgets/_Tooltip.scss +8 -8
  46. package/assets/esri/themes/base/widgets/_Weather.scss +5 -1
  47. package/assets/esri/themes/dark/main.css +1 -1
  48. package/assets/esri/themes/light/main.css +1 -1
  49. package/assets/esri/themes/light/view.css +1 -1
  50. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle.json +1 -1
  51. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_ar.json +1 -1
  52. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_bg.json +1 -1
  53. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_bs.json +1 -1
  54. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_ca.json +1 -1
  55. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_cs.json +1 -1
  56. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_da.json +1 -1
  57. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_de.json +1 -1
  58. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_el.json +1 -1
  59. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_en.json +1 -1
  60. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_es.json +1 -1
  61. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_et.json +1 -1
  62. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_fi.json +1 -1
  63. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_fr.json +1 -1
  64. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_he.json +1 -1
  65. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_hr.json +1 -1
  66. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_hu.json +1 -1
  67. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_id.json +1 -1
  68. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_it.json +1 -1
  69. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_ja.json +1 -1
  70. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_ko.json +1 -1
  71. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_lt.json +1 -1
  72. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_lv.json +1 -1
  73. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_nb.json +1 -1
  74. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_nl.json +1 -1
  75. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_pl.json +1 -1
  76. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_pt-BR.json +1 -1
  77. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_pt-PT.json +1 -1
  78. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_ro.json +1 -1
  79. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_ru.json +1 -1
  80. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_sk.json +1 -1
  81. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_sl.json +1 -1
  82. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_sr.json +1 -1
  83. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_sv.json +1 -1
  84. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_th.json +1 -1
  85. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_tr.json +1 -1
  86. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_uk.json +1 -1
  87. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_vi.json +1 -1
  88. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_zh-CN.json +1 -1
  89. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_zh-HK.json +1 -1
  90. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_zh-TW.json +1 -1
  91. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_en.json +1 -1
  92. package/chunks/RasterColorizer.glsl.js +22 -18
  93. package/chunks/basis_transcoder.js +1 -1
  94. package/chunks/i3s.js +1 -1
  95. package/chunks/lclayout.js +1 -1
  96. package/chunks/lerc-wasm.js +1 -1
  97. package/chunks/libtess-asm.js +1 -1
  98. package/chunks/libtess.js +1 -1
  99. package/chunks/pe-wasm.js +1 -1
  100. package/chunks/persistableUrlUtils.js +1 -1
  101. package/chunks/vxlLayer.js +1 -1
  102. package/core/quantityUtils.js +1 -1
  103. package/geometry/projection.js +1 -1
  104. package/geometry/support/geodesicUtils.js +1 -1
  105. package/geometry/support/plane.js +1 -1
  106. package/interfaces.d.ts +471 -52
  107. package/layers/LineOfSightLayer.js +1 -1
  108. package/layers/RouteLayer.js +1 -1
  109. package/layers/VectorTileLayer.js +1 -1
  110. package/layers/support/LayerContingentValuesCache.js +1 -1
  111. package/layers/support/RasterInfo.js +1 -1
  112. package/layers/support/rasterDatasets/ImageAuxRaster.js +1 -1
  113. package/layers/support/rasterDatasets/InMemoryRaster.js +1 -1
  114. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  115. package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
  116. package/layers/support/rasterFormats/JpgPlus.js +1 -1
  117. package/layers/support/rasterFormats/RasterCodec.js +1 -1
  118. package/layers/support/rasterFormats/TiffDecoder.js +1 -1
  119. package/package.json +1 -1
  120. package/portal/support/urlUtils.js +5 -0
  121. package/renderers/support/colorRampUtils.js +1 -1
  122. package/rest/imageService/fetchRasterInfo.js +1 -1
  123. package/smartMapping/renderers/pieChart.js +1 -1
  124. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  125. package/support/arcadeUtils.js +1 -1
  126. package/support/elevationInfoUtils.js +1 -1
  127. package/support/persistableUrlUtils.js +1 -1
  128. package/support/revision.js +1 -1
  129. package/symbols/cim/cimAnalyzer.js +1 -1
  130. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  131. package/views/2d/engine/webgl/Utils.js +1 -1
  132. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  133. package/views/2d/layers/graphics/GraphicStoreItem.js +1 -1
  134. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  135. package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
  136. package/views/3d/analysis/Dimensioning/LengthDimensionComputation.js +1 -1
  137. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  138. package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
  139. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  140. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  141. package/views/3d/input/SceneInputManager.js +1 -1
  142. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  143. package/views/3d/interactive/editingTools/moveGraphic/GraphicMoveTool.js +1 -1
  144. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  145. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  146. package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
  147. package/views/3d/layers/i3s/I3SAttributeOverrides.js +1 -1
  148. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  149. package/views/3d/support/MemoryController.js +1 -1
  150. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  151. package/views/3d/terrain/TerrainSurface.js +1 -1
  152. package/views/3d/terrain/TileCompositor.js +1 -1
  153. package/views/3d/terrain/TileRenderer.js +1 -1
  154. package/views/3d/webgl-engine/core/shaderLibrary/output/BlendOptions.js +1 -1
  155. package/views/MapView.js +1 -1
  156. package/views/SceneView.js +1 -1
  157. package/views/View.js +1 -1
  158. package/views/draw/DrawOperation.js +1 -1
  159. package/views/draw/support/GraphicMover.js +1 -1
  160. package/views/interactive/SegmentLabels.js +1 -1
  161. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  162. package/views/interactive/tooltip/TranslateTooltipInfos.js +1 -1
  163. package/views/interactive/tooltip/content/TooltipContentTranslateVertex.js +1 -1
  164. package/views/interactive/tooltip/support/measurements.js +1 -1
  165. package/views/support/areaMeasurementUtils.js +1 -1
  166. package/views/support/automaticLengthMeasurementUtils.js +5 -0
  167. package/views/support/euclideanLengthMeasurementUtils.js +5 -0
  168. package/views/support/geodesicLengthMeasurementUtils.js +5 -0
  169. package/views/support/measurementUtils.js +5 -0
  170. package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
  171. package/widgets/BasemapToggle.js +1 -1
  172. package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesTree.js +1 -1
  173. package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
  174. package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
  175. package/widgets/BuildingExplorer.js +1 -1
  176. package/widgets/Daylight/DaylightViewModel.js +1 -1
  177. package/widgets/Directions/DirectionsViewModel.js +1 -1
  178. package/widgets/Directions.js +1 -1
  179. package/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js +1 -1
  180. package/widgets/Feature/support/featureUtils.js +1 -1
  181. package/widgets/FeatureTable/FieldColumn.js +1 -1
  182. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  183. package/widgets/Print/PrintViewModel.js +1 -1
  184. package/widgets/Sketch/SketchViewModel.js +1 -1
  185. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  186. package/widgets/UtilityNetworkTrace.js +1 -1
  187. package/widgets/Weather.js +1 -1
  188. package/widgets/Widget.js +1 -1
  189. package/widgets/support/AnalysisViewModel.js +1 -1
  190. package/widgets/support/AnchorElementViewModel.js +1 -1
  191. package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
  192. package/assets/esri/core/workers/chunks/2ac6c99aacb873134f7c.js +0 -1
  193. package/assets/esri/core/workers/chunks/471beeb6924599209567.js +0 -1
  194. package/assets/esri/core/workers/chunks/5242c9badca17ba2ab25.js +0 -1
  195. package/assets/esri/core/workers/chunks/72c7d48408d1f8050026.js +0 -1
  196. package/assets/esri/core/workers/chunks/770cf0a66102100abe74.js +0 -1
  197. package/assets/esri/core/workers/chunks/96ff15d6c2bfca0c6061.js +0 -1
  198. package/assets/esri/core/workers/chunks/9c4c721d890b49697132.js +0 -1
  199. package/assets/esri/core/workers/chunks/af3766a2d27419c7766c.js +0 -1
  200. package/assets/esri/core/workers/chunks/b50bbfd75768d9a8de88.js +0 -1
  201. package/assets/esri/core/workers/chunks/b577ec80647cf2ece397.js +0 -1
  202. package/assets/esri/core/workers/chunks/c1653b6cb201ecbaabaa.js +0 -1
  203. package/assets/esri/core/workers/chunks/e99b58d07475bffce7ea.js +0 -1
  204. package/assets/esri/core/workers/chunks/f3d885aec4bca18928d4.js +0 -1
  205. package/assets/esri/core/workers/chunks/fc0da1dfeef041182ddf.js +0 -1
  206. package/views/support/lengthMeasurementUtils.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.24/esri/copyright.txt for details.
4
4
  */
5
- import{unitType as t,isBaseUnit as n,convertUnit as u,baseUnitForUnit as e}from"./unitUtils.js";function i(n,u){return{type:t(u),value:n,unit:u}}function r(n,u){return{type:t(u),value:n,unit:u}}function o(n,u){return{type:t(u),value:n,unit:u}}function a(n,u){return{type:t(u),value:n,unit:u}}function c(n,u,e="arithmetic"){return{type:t(u),value:n,unit:u,rotationType:e}}function f(t){return n(t.unit)}function p(t,n){return i(u(t.value,t.unit,n),n)}function l(t){return p(t,e(t.unit))}const s=r(0,"meters");export{c as createAngle,o as createArea,r as createLength,i as createQuantity,a as createVolume,f as isBaseUnit,l as toBaseUnit,p as toUnit,s as zeroMeters};
5
+ import{isNone as t}from"./maybe.js";import{unitType as n,isBaseUnit as u,convertUnit as e,baseUnitForUnit as i}from"./unitUtils.js";function r(t,u){return{type:n(u),value:t,unit:u}}function o(t,u){return{type:n(u),value:t,unit:u}}function a(t,u){return{type:n(u),value:t,unit:u}}function c(t,u){return{type:n(u),value:t,unit:u}}function f(t,u,e="arithmetic"){return{type:n(u),value:t,unit:u,rotationType:e}}function l(t){return u(t.unit)}function v(t,n){return r(e(t.value,t.unit,n),n)}function p(t){return v(t,i(t.unit))}function s(n,u){return t(n)?u:t(u)||n.value>e(u.value,u.unit,n.unit)?n:u}function m(n,u){return t(n)?u:t(u)||n.value<e(u.value,u.unit,n.unit)?n:u}const y=o(0,"meters");export{f as createAngle,a as createArea,o as createLength,r as createQuantity,c as createVolume,l as isBaseUnit,s as max,m as min,p as toBaseUnit,v as toUnit,y as zeroMeters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import n from"../core/Error.js";import{clamp as e,deg2rad as t,rad2deg as r,asinClamped as l}from"../core/mathUtils.js";import{isSome as u,isNone as o,unwrap as s}from"../core/maybe.js";import{throwIfAborted as i,waitTick as a}from"../core/promiseUtils.js";import{getMetersPerUnitForSR as c}from"../core/unitUtils.js";import{trackAccess as E}from"../core/accessorSupport/tracking.js";import{SimpleObservable as C}from"../core/accessorSupport/tracking/SimpleObservable.js";import{f as R,i as A,t as _}from"../chunks/mat4.js";import{c as f,a as S,b as P,n as L,l as M}from"../chunks/vec3.js";import{c as O}from"../chunks/vec3f64.js";import p from"./Extent.js";import N from"./Multipoint.js";import{p as G,i as W,l as h}from"../chunks/pe.js";import m from"./Point.js";import T from"./Polygon.js";import F from"./Polyline.js";import{SphericalECEFSpatialReference as I,WGS84ECEFSpatialReference as d,SphericalPCPFMars as H,SphericalPCPFMoon as B}from"./projectionEllipsoid.js";import{copy as g}from"./support/aaBoundingRect.js";import{earth as j,moon as y,mars as w}from"./support/Ellipsoid.js";import{earthEllipsoidConstants as U}from"./support/geodesicConstants.js";import x from"./support/GeographicTransformation.js";import{equals as K,isValid as b,isWGS84 as k,isWebMercator as z,isPlateCarree as v,isMars as q,isMoon as Z}from"./support/spatialReferenceUtils.js";import{SupportedGCSWkids as V}from"./support/SupportedGCSWkids.js";import{getGeometryZScaler as X}from"./support/zscale.js";let D=null,J=null,Q=null,Y={};const $=new C;function nn(){return!!D&&W()}function en(n){return o(Q)&&(Q=Promise.all([h(),import("../chunks/geometryEngineBase.js").then((n=>n.g)),import("./geometryAdapters/hydrated.js")])),Q.then((([,e,{hydratedAdapter:t}])=>{i(n),J=t,D=e.default,D._enableProjection(G),$.notify()}))}function tn(n,e,t=null,r=null){return Array.isArray(n)?0===n.length?[]:rn(J,n,n[0].spatialReference,e,t,r):rn(J,[n],n.spatialReference,e,t,r)[0]}function rn(n,e,t,r,l=null,i=null){if(o(t)||o(r))return e;if(Rn(t,r,l))return e.map((n=>s(fn(n,t,r))));if(o(l)){const n=x.cacheKey(t,r);void 0!==Y[n]?l=Y[n]:(l=un(t,r,null),o(l)&&(l=new x),Y[n]=l)}if(o(D))throw new sn;return u(i)?D._project(n,e,t,r,l,i):D._project(n,e,t,r,l)}function ln(n,e){return o(n)?{pending:null,geometry:null}:K(n.spatialReference,e)?{pending:null,geometry:n}:Rn(n.spatialReference,e)||nn()?{pending:null,geometry:Cn(n,e)}:(E($),{pending:en(),geometry:null})}function un(n,e,t=null){if(o(D))throw new sn;if(o(n)||o(e))return null;const r=D._getTransformation(J,n,e,t,t?.spatialReference);return null!==r?x.fromGE(r):null}function on(n,e,t=null){if(o(D))throw new sn;const r=D._getTransformationBySuitability(J,n,e,t,t?.spatialReference);if(null!==r){const n=[];for(const e of r)n.push(x.fromGE(e));return n}return[]}class sn extends n{constructor(){super("projection:not-loaded","projection engine not fully loaded yet, please call load()")}}var an;function cn(){D=null,J=null,Q=null,Y={}}!function(n){n[n.UNKNOWN=0]="UNKNOWN",n[n.SPHERICAL_ECEF=1]="SPHERICAL_ECEF",n[n.WGS84=2]="WGS84",n[n.WEB_MERCATOR=3]="WEB_MERCATOR",n[n.WGS84_ECEF=4]="WGS84_ECEF",n[n.CGCS2000=5]="CGCS2000",n[n.WGS84_COMPARABLE_LON_LAT=6]="WGS84_COMPARABLE_LON_LAT",n[n.SPHERICAL_MARS_PCPF=7]="SPHERICAL_MARS_PCPF",n[n.GCSMARS2000=8]="GCSMARS2000",n[n.SPHERICAL_MOON_PCPF=9]="SPHERICAL_MOON_PCPF",n[n.GCSMOON2000=10]="GCSMOON2000",n[n.LON_LAT=11]="LON_LAT",n[n.PLATE_CARREE=12]="PLATE_CARREE"}(an||(an={}));const En={get loadPromise(){return Q}};function Cn(n,e){try{const t=tn(n,e);if(null==t)return null;"xmin"in n&&"xmin"in t&&(t.zmin=n.zmin,t.zmax=n.zmax);const r=X(t.type,n.spatialReference,e);return u(r)&&r(t),t}catch(t){if(!(t instanceof sn))throw t;return null}}function Rn(n,e,t){return!t&&(!!K(n,e)||b(n)&&b(e)&&!!me(n,e,He))}async function An(n,e,t,r){if(nn())return a(r);if(Array.isArray(n)){for(const{source:l,dest:u,geographicTransformation:o}of n)if(!Rn(l,u,o))return en(r)}else if(!Rn(n,e,t))return en(r);return a(r)}function _n(n,e){switch(me(n,e,He)){case Vn:return"copy3";case Ae:return"wgs84ToSphericalECEF";case Yn:return"wgs84ToWebMercator";case ee:return"wgs84ToPlateCarree";case pe:return"wgs84ToWGS84ECEF";case Xn:return"webMercatorToWGS84";case Dn:return"webMercatorToSphericalECEF";case Jn:return"webMercatorToWGS84ECEF";case re:return"webMercatorToPlateCarree";case Ne:return"wgs84ECEFToWGS84";case Ge:return"wgs84ECEFToSphericalECEF";case We:return"wgs84ECEFToWebMercator";case Pe:return"sphericalECEFToWGS84";case Le:return"sphericalECEFToWebMercator";case Se:return"sphericalMarsPCPFToMars2000";case fe:return"sphericalMoonPCPFToMoon2000";case Me:return"sphericalECEFToWGS84ECEF";case Re:return"mars2000ToSphericalPCPF";case Ce:return"moon2000ToSphericalPCPF";default:return null}}function fn(n,e,t){return n?"x"in n?Pn(n,e,new m,t,0):"xmin"in n?hn(n,e,new p,t,0):"rings"in n?Gn(n,e,new T,t,0):"paths"in n?pn(n,e,new F,t,0):"points"in n?Mn(n,e,new N,t,0):null:null}function Sn(n,e,t=e.spatialReference,r=0){return!o(t)&&u(Pn(n,n.spatialReference,e,t,r))}function Pn(n,e,t,r,l){xe[0]=n.x,xe[1]=n.y;const u=n.z;return xe[2]=void 0!==u?u:l,jn(xe,e,0,xe,r,0,1)?(t.x=xe[0],t.y=xe[1],t.spatialReference=r,void 0===u?(t.z=void 0,t.hasZ=!1):(t.z=xe[2],t.hasZ=!0),void 0===n.m?(t.m=void 0,t.hasM=!1):(t.m=n.m,t.hasM=!0),t):null}function Ln(n,e,t=e.spatialReference,r=0){return!o(t)&&u(Mn(n,n.spatialReference,e,t,r))}function Mn(n,e,t,r,l){const{points:u,hasZ:o,hasM:s}=n,i=[],a=u.length,c=[];for(const E of u)c.push(E[0],E[1],o?E[2]:l);if(!jn(c,e,0,c,r,0,a))return null;for(let E=0;E<a;++E){const n=3*E,e=c[n],t=c[n+1];o&&s?i.push([e,t,c[n+2],u[E][3]]):o?i.push([e,t,c[n+2]]):s?i.push([e,t,u[E][2]]):i.push([e,t])}return t.points=i,t.spatialReference=r,t.hasZ=o,t.hasM=s,t}function On(n,e,t=e.spatialReference,r=0){return u(t)&&u(pn(n,n.spatialReference,e,t,r))}function pn(n,e,t,r,l){const{paths:u,hasZ:o,hasM:s}=n,i=[];return wn(u,o,s,e,i,r,l)?(t.paths=i,t.spatialReference=r,t.hasZ=o,t.hasM=s,t):null}function Nn(n,e,t=e.spatialReference,r=0){return u(t)&&u(Gn(n,n.spatialReference,e,t,r))}function Gn(n,e,t,r,l){const{rings:u,hasZ:o,hasM:s}=n,i=[];return wn(u,o,s,e,i,r,l)?(t.rings=i,t.spatialReference=r,t.hasZ=o,t.hasM=s,t):null}function Wn(n,e,t=e.spatialReference,r=0){return u(t)&&u(hn(n,n.spatialReference,e,t,r))}function hn(n,e,t,r,l){const{xmin:u,ymin:o,xmax:s,ymax:i,hasZ:a,hasM:c}=n;if(!In(u,o,a?n.zmin:l,e,xe,r))return null;t.xmin=xe[0],t.ymin=xe[1],a&&(t.zmin=xe[2]);return In(s,i,a?n.zmax:l,e,xe,r)?(t.xmax=xe[0],t.ymax=xe[1],a&&(t.zmax=xe[2]),c&&(t.mmin=n.mmin,t.mmax=n.mmax),t.spatialReference=r,t):null}function mn(n,e,t){if(o(e)||o(t))return null;const r=new m({spatialReference:t});return jn(n,e,0,xe,t,0,1)?(r.x=xe[0],r.y=xe[1],r.z=xe[2],r):null}function Tn(n,e,t){return jn(n,e,0,xe,t.spatialReference,0,1)?(t.x=xe[0],t.y=xe[1],t.z=xe[2],t):null}function Fn(n,e,t,r=0){xe[0]=n.x,xe[1]=n.y;const l=n.z;return xe[2]=void 0!==l?l:r,jn(xe,n.spatialReference,0,e,t,0,1)}function In(n,e,t,r,l,u){return ye[0]=n,ye[1]=e,ye[2]=t,jn(ye,r,0,l,u,0,1)}function dn(n,e,t,r){return!(o(e)||o(r)||n.length<2)&&(2===n.length&&(ye[0]=n[0],ye[1]=n[1],ye[2]=0,n=ye),jn(n,e,0,t,r,0,1))}function Hn(n,e){xe[0]=n.x,xe[1]=n.y;const t=n.z;return xe[2]=void 0!==t?t:0,Bn(xe,n.spatialReference,e)}function Bn(n,e,t){return gn(n,e,t)}function gn(n,e,t){if(o(e))return!1;const r=Zn(e,Ie),l=he[r][an.WGS84_COMPARABLE_LON_LAT];return!o(l)&&(l(n,0,ye,0),t!==ye&&(t[0]=ye[0],t[1]=ye[1],t.length>2&&(t[2]=ye[2])),!0)}function jn(n,e,t,r,l,u,s=1){const i=me(e,l,He);if(o(i))return!1;if(i===Vn){if(n===r&&t===u)return!0;const e=t+3*s;for(let l=t,o=u;l<e;l++,o++)r[o]=n[l];return!0}const a=t+3*s;for(let o=t,c=u;o<a;o+=3,c+=3)i(n,o,r,c);return!0}function yn(n,e,t,r,l){f(xe,n),S(Ke,n,e),dn(xe,t,xe,l),dn(Ke,t,Ke,l),P(r,Ke,xe),L(r,r)}function wn(n,e,t,r,l,u,o=0){const s=new Array;for(const a of n)for(const n of a)s.push(n[0],n[1],e?n[2]:o);if(!jn(s,r,0,s,u,0,s.length/3))return!1;let i=0;l.length=0;for(const a of n){const n=new Array;for(const r of a)e&&t?n.push([s[i++],s[i++],s[i++],r[3]]):e?n.push([s[i++],s[i++],s[i++]]):t?(n.push([s[i++],s[i++],r[2]]),i++):(n.push([s[i++],s[i++]]),i++);l.push(n)}return!0}function Un(n,e,t,r){if(o(e)||o(r))return!1;const l=Te(e,r,Be);if(l.projector===Vn)return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],!0;if(o(l.projector))return!1;const{source:s,dest:i}=l;if(i.spatialReferenceId===an.WEB_MERCATOR){const e=he[s.spatialReferenceId][an.WGS84];return!o(e)&&(e(n,0,we,0),Yn(we,0,t,0),t[3]=xn(we[1],n[2],n[3],j.radius),!0)}if(s.spatialReferenceId!==an.WGS84&&s.spatialReferenceId!==an.CGCS2000||i.spatialReferenceId!==an.PLATE_CARREE)l.projector(n,0,t,0),t[3]=n[3]*s.metersPerUnit/i.metersPerUnit;else{const e=he[s.spatialReferenceId][an.SPHERICAL_ECEF],r=he[an.SPHERICAL_ECEF][an.PLATE_CARREE];let o=n[3];u(e)&&u(r)&&(o=xn(n[1],n[2],n[3],j.radius)),l.projector(n,0,t,0),t[3]=o}return!0}function xn(n,e,t,r){const l=r+e;if(l<r/2||t>l)return Number.MAX_VALUE;const u=Math.abs(ge*n)+Math.asin(t/l);return u>=Math.PI/2?Number.MAX_VALUE:t/Math.cos(u)}function Kn(n,e,t,r){return null!=n&&(K(e,r)?(g(t,n),!0):(ye[0]=n[0],ye[1]=n[1],ye[2]=0,!!jn(ye,e,0,ye,r,0,1)&&(t[0]=ye[0],t[1]=ye[1],ye[0]=n[2],ye[1]=n[3],ye[2]=0,!!jn(ye,e,0,ye,r,0,1)&&(t[2]=ye[0],t[3]=ye[1],!0))))}function bn(n,e,t,r){if(o(e)||o(r))return!1;const l=Zn(e,Ie),u=Zn(r,de);if(l===u&&l!==an.UNKNOWN||K(e,r))return t[0]=1,t[1]=1,t[2]=1,!0;if(l===an.SPHERICAL_ECEF){const e=M(n),r=e/Math.sqrt(n[0]*n[0]+n[1]*n[1]),l=e/j.radius;if(u===an.WEB_MERCATOR)return t[0]=r*l,t[1]=r*l,t[2]=1,!0;if(u===an.WGS84||u===an.CGCS2000){const n=ne;return t[0]=n*r*l,t[1]=n*l,t[2]=1,!0}}else if(l===an.PLATE_CARREE){if(u===an.WGS84||u===an.CGCS2000)return t[0]=ne,t[1]=ne,t[2]=1,!0;if(u===an.WEB_MERCATOR){const e=n[1]/j.radius;return t[0]=1,t[1]=1/Math.cos(e),t[2]=1,!0}}return!1}function kn(n,e,t,r){if(o(n)||o(r))return!1;const l=Zn(n,Ie),u=Zn(r,de);if(l===u&&!zn(u)&&(l!==an.UNKNOWN||K(n,r)))return R(t,e),!0;if(zn(u)){const n=he[l][an.LON_LAT],r=he[an.LON_LAT][u];return!o(n)&&!o(r)&&(n(e,0,we,0),r(we,0,Ue,0),vn(ge*we[0],ge*we[1],t),t[12]=Ue[0],t[13]=Ue[1],t[14]=Ue[2],!0)}if((u===an.WEB_MERCATOR||u===an.PLATE_CARREE)&&(l===an.WGS84||l===an.CGCS2000&&u===an.PLATE_CARREE||l===an.SPHERICAL_ECEF||l===an.WEB_MERCATOR)){const n=he[l][an.LON_LAT],r=he[an.LON_LAT][u];return!o(n)&&!o(r)&&(n(e,0,we,0),r(we,0,Ue,0),l===an.SPHERICAL_ECEF?qn(ge*we[0],ge*we[1],t):A(t),t[12]=Ue[0],t[13]=Ue[1],t[14]=Ue[2],!0)}return!1}function zn(n){return n===an.SPHERICAL_ECEF||n===an.SPHERICAL_MARS_PCPF||n===an.SPHERICAL_MOON_PCPF}function vn(n,e,t){const r=Math.sin(n),l=Math.cos(n),u=Math.sin(e),o=Math.cos(e),s=t;return s[0]=-r,s[4]=-u*l,s[8]=o*l,s[12]=0,s[1]=l,s[5]=-u*r,s[9]=o*r,s[13]=0,s[2]=0,s[6]=o,s[10]=u,s[14]=0,s[3]=0,s[7]=0,s[11]=0,s[15]=1,s}function qn(n,e,t){return vn(n,e,t),_(t,t),t}function Zn(n,e){return e.spatialReference===n?e.spatialReferenceId:(e.spatialReference=n,"metersPerUnit"in e&&(e.metersPerUnit=c(n,1)),n.wkt===I.wkt?e.spatialReferenceId=an.SPHERICAL_ECEF:k(n)?e.spatialReferenceId=an.WGS84:z(n)?e.spatialReferenceId=an.WEB_MERCATOR:v(n)?e.spatialReferenceId=an.PLATE_CARREE:n.wkt===d.wkt?e.spatialReferenceId=an.WGS84_ECEF:n.wkid===V.CGCS2000?e.spatialReferenceId=an.CGCS2000:n.wkt===H.wkt?e.spatialReferenceId=an.SPHERICAL_MARS_PCPF:n.wkt===B.wkt?e.spatialReferenceId=an.SPHERICAL_MOON_PCPF:q(n)?e.spatialReferenceId=an.GCSMARS2000:Z(n)?e.spatialReferenceId=an.GCSMOON2000:e.spatialReferenceId=an.UNKNOWN)}function Vn(n,e,t,r){n!==t&&(t[r++]=n[e++],t[r++]=n[e++],t[r]=n[e])}function Xn(n,e,t,r){t[r++]=je*(n[e++]/j.radius),t[r++]=je*(Math.PI/2-2*Math.atan(Math.exp(-n[e++]/j.radius))),t[r]=n[e]}function Dn(n,e,t,r){Xn(n,e,t,r),Ae(t,r,t,r)}function Jn(n,e,t,r){Xn(n,e,t,r),pe(t,r,t,r)}function Qn(n,t,r,l,u){const o=.4999999*Math.PI,s=e(ge*n[t+1],-o,o),i=Math.sin(s);r[l++]=ge*n[t]*u.radius,r[l++]=u.halfSemiMajorAxis*Math.log((1+i)/(1-i)),r[l]=n[t+2]}function Yn(n,e,t,r){Qn(n,e,t,r,j)}const $n=j.radius*Math.PI/180,ne=180/(j.radius*Math.PI);function ee(n,e,t,r){t[r]=n[e]*$n,t[r+1]=n[e+1]*$n,t[r+2]=n[e+2]}function te(n,e,t,r){t[r]=n[e]*ne,t[r+1]=n[e+1]*ne,t[r+2]=n[e+2]}function re(n,e,t,r){Xn(n,e,t,r),ee(t,r,t,r)}function le(n,e,t,r){Ne(n,e,t,r),ee(t,r,t,r)}function ue(n,e,t,r){Pe(n,e,t,r),ee(t,r,t,r)}function oe(n,e,t,r){te(n,e,t,r),Ae(t,r,t,r)}function se(n,e,t,r){te(n,e,t,r),Yn(t,r,t,r)}function ie(n,e,t,r){te(n,e,t,r),pe(t,r,t,r)}function ae(n){if(o(n))return!1;const e=Zn(n,Ie);return!!he[e][an.WGS84_COMPARABLE_LON_LAT]}function ce(n,e,t,r){const l=Math.cos(t);n[0]=Math.cos(e)*l*r,n[1]=Math.sin(e)*l*r,n[2]=Math.sin(t)*r}function Ee(n,e,t,r,l){const u=l+n[e+2],o=ge*n[e+1],s=ge*n[e],i=Math.cos(o);t[r++]=Math.cos(s)*i*u,t[r++]=Math.sin(s)*i*u,t[r]=Math.sin(o)*u}function Ce(n,e,t,r){Ee(n,e,t,r,y.radius)}function Re(n,e,t,r){Ee(n,e,t,r,w.radius)}function Ae(n,e,t,r){Ee(n,e,t,r,j.radius)}function _e(n,e,t,r,u){const o=n[e],s=n[e+1],i=n[e+2],a=Math.sqrt(o*o+s*s+i*i),c=l(i/(0===a?1:a)),E=Math.atan2(s,o);t[r++]=je*E,t[r++]=je*c,t[r]=a-u}function fe(n,e,t,r){_e(n,e,t,r,y.radius)}function Se(n,e,t,r){_e(n,e,t,r,w.radius)}function Pe(n,e,t,r){_e(n,e,t,r,j.radius)}function Le(n,e,t,r){Pe(n,e,t,r),Yn(t,r,t,r)}function Me(n,e,t,r){Pe(n,e,t,r),pe(t,r,t,r)}function Oe(n,e,t,r,l){const u=ge*n[e],o=ge*n[e+1],s=n[e+2],i=Math.sin(o),a=Math.cos(o),c=l.radius/Math.sqrt(1-l.eccentricitySquared*i*i);t[r++]=(c+s)*a*Math.cos(u),t[r++]=(c+s)*a*Math.sin(u),t[r++]=(c*(1-l.eccentricitySquared)+s)*i}function pe(n,e,t,r){Oe(n,e,t,r,j)}function Ne(n,e,t,r){const l=U,u=n[e],o=n[e+1],s=n[e+2];let i,a,c,E,C,R,A,_,f,S,P,L,M,O,p,N,G,W,h,m,T;i=Math.abs(s),a=u*u+o*o,c=Math.sqrt(a),E=a+s*s,C=Math.sqrt(E),m=Math.atan2(o,u),R=s*s/E,A=a/E,O=l.a2/C,p=l.a3-l.a4/C,A>.3?(_=i/C*(1+A*(l.a1+O+R*p)/C),h=Math.asin(_),S=_*_,f=Math.sqrt(1-S)):(f=c/C*(1-R*(l.a5-O-A*p)/C),h=Math.acos(f),S=1-f*f,_=Math.sqrt(S)),P=1-j.eccentricitySquared*S,L=j.radius/Math.sqrt(P),M=l.a6*L,O=c-L*f,p=i-M*_,G=f*O+_*p,N=f*p-_*O,W=N/(M/P+G),h+=W,T=G+N*W/2,s<0&&(h=-h),t[r++]=je*m,t[r++]=je*h,t[r]=T}function Ge(n,e,t,r){Ne(n,e,t,r),Ae(t,r,t,r)}function We(n,e,t,r){Ne(n,e,t,r),Yn(t,r,t,r)}const he={[an.WGS84]:{[an.CGCS2000]:null,[an.GCSMARS2000]:null,[an.GCSMOON2000]:null,[an.LON_LAT]:Vn,[an.WGS84_COMPARABLE_LON_LAT]:Vn,[an.SPHERICAL_ECEF]:Ae,[an.SPHERICAL_MARS_PCPF]:null,[an.SPHERICAL_MOON_PCPF]:null,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:Yn,[an.PLATE_CARREE]:ee,[an.WGS84]:Vn,[an.WGS84_ECEF]:pe},[an.CGCS2000]:{[an.CGCS2000]:Vn,[an.GCSMARS2000]:null,[an.GCSMOON2000]:null,[an.LON_LAT]:Vn,[an.WGS84_COMPARABLE_LON_LAT]:Vn,[an.SPHERICAL_ECEF]:Ae,[an.SPHERICAL_MARS_PCPF]:null,[an.SPHERICAL_MOON_PCPF]:null,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:null,[an.PLATE_CARREE]:ee,[an.WGS84]:null,[an.WGS84_ECEF]:pe},[an.GCSMARS2000]:{[an.CGCS2000]:null,[an.GCSMARS2000]:Vn,[an.GCSMOON2000]:null,[an.LON_LAT]:Vn,[an.WGS84_COMPARABLE_LON_LAT]:null,[an.SPHERICAL_ECEF]:null,[an.SPHERICAL_MARS_PCPF]:Re,[an.SPHERICAL_MOON_PCPF]:null,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:null,[an.PLATE_CARREE]:null,[an.WGS84]:null,[an.WGS84_ECEF]:null},[an.GCSMOON2000]:{[an.CGCS2000]:null,[an.GCSMARS2000]:null,[an.GCSMOON2000]:Vn,[an.LON_LAT]:Vn,[an.WGS84_COMPARABLE_LON_LAT]:null,[an.SPHERICAL_ECEF]:null,[an.SPHERICAL_MARS_PCPF]:null,[an.SPHERICAL_MOON_PCPF]:Ce,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:null,[an.PLATE_CARREE]:null,[an.WGS84]:null,[an.WGS84_ECEF]:null},[an.WEB_MERCATOR]:{[an.CGCS2000]:null,[an.GCSMARS2000]:null,[an.GCSMOON2000]:null,[an.LON_LAT]:Xn,[an.WGS84_COMPARABLE_LON_LAT]:Xn,[an.SPHERICAL_ECEF]:Dn,[an.SPHERICAL_MARS_PCPF]:null,[an.SPHERICAL_MOON_PCPF]:null,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:Vn,[an.PLATE_CARREE]:re,[an.WGS84]:Xn,[an.WGS84_ECEF]:Jn},[an.WGS84_ECEF]:{[an.CGCS2000]:Ne,[an.GCSMARS2000]:null,[an.GCSMOON2000]:null,[an.LON_LAT]:Ne,[an.WGS84_COMPARABLE_LON_LAT]:Ne,[an.SPHERICAL_ECEF]:Ge,[an.SPHERICAL_MARS_PCPF]:null,[an.SPHERICAL_MOON_PCPF]:null,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:We,[an.PLATE_CARREE]:le,[an.WGS84]:Ne,[an.WGS84_ECEF]:Vn},[an.SPHERICAL_ECEF]:{[an.CGCS2000]:Pe,[an.GCSMARS2000]:null,[an.GCSMOON2000]:null,[an.LON_LAT]:Pe,[an.WGS84_COMPARABLE_LON_LAT]:Pe,[an.SPHERICAL_ECEF]:Vn,[an.SPHERICAL_MARS_PCPF]:null,[an.SPHERICAL_MOON_PCPF]:null,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:Le,[an.PLATE_CARREE]:ue,[an.WGS84]:Pe,[an.WGS84_ECEF]:Me},[an.SPHERICAL_MARS_PCPF]:{[an.CGCS2000]:null,[an.GCSMARS2000]:Se,[an.GCSMOON2000]:null,[an.LON_LAT]:Se,[an.WGS84_COMPARABLE_LON_LAT]:null,[an.SPHERICAL_ECEF]:null,[an.SPHERICAL_MARS_PCPF]:Vn,[an.SPHERICAL_MOON_PCPF]:null,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:null,[an.PLATE_CARREE]:null,[an.WGS84]:null,[an.WGS84_ECEF]:null},[an.SPHERICAL_MOON_PCPF]:{[an.CGCS2000]:null,[an.GCSMARS2000]:null,[an.GCSMOON2000]:fe,[an.LON_LAT]:fe,[an.WGS84_COMPARABLE_LON_LAT]:null,[an.SPHERICAL_ECEF]:null,[an.SPHERICAL_MARS_PCPF]:null,[an.SPHERICAL_MOON_PCPF]:Vn,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:null,[an.PLATE_CARREE]:null,[an.WGS84]:null,[an.WGS84_ECEF]:null},[an.UNKNOWN]:{[an.CGCS2000]:null,[an.GCSMARS2000]:null,[an.GCSMOON2000]:null,[an.LON_LAT]:null,[an.WGS84_COMPARABLE_LON_LAT]:null,[an.SPHERICAL_ECEF]:null,[an.SPHERICAL_MARS_PCPF]:null,[an.SPHERICAL_MOON_PCPF]:null,[an.UNKNOWN]:Vn,[an.WEB_MERCATOR]:null,[an.PLATE_CARREE]:null,[an.WGS84]:null,[an.WGS84_ECEF]:null},[an.LON_LAT]:{[an.CGCS2000]:Vn,[an.GCSMARS2000]:Vn,[an.GCSMOON2000]:Vn,[an.LON_LAT]:Vn,[an.WGS84_COMPARABLE_LON_LAT]:Vn,[an.SPHERICAL_ECEF]:Ae,[an.SPHERICAL_MARS_PCPF]:Re,[an.SPHERICAL_MOON_PCPF]:Ce,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:Yn,[an.PLATE_CARREE]:ee,[an.WGS84]:Vn,[an.WGS84_ECEF]:pe},[an.WGS84_COMPARABLE_LON_LAT]:{[an.CGCS2000]:null,[an.GCSMARS2000]:null,[an.GCSMOON2000]:null,[an.LON_LAT]:Vn,[an.WGS84_COMPARABLE_LON_LAT]:Vn,[an.SPHERICAL_ECEF]:Ae,[an.SPHERICAL_MARS_PCPF]:null,[an.SPHERICAL_MOON_PCPF]:null,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:null,[an.PLATE_CARREE]:ee,[an.WGS84]:Vn,[an.WGS84_ECEF]:pe},[an.PLATE_CARREE]:{[an.CGCS2000]:te,[an.GCSMARS2000]:null,[an.GCSMOON2000]:null,[an.LON_LAT]:te,[an.WGS84_COMPARABLE_LON_LAT]:te,[an.SPHERICAL_ECEF]:oe,[an.SPHERICAL_MARS_PCPF]:null,[an.SPHERICAL_MOON_PCPF]:null,[an.UNKNOWN]:null,[an.WEB_MERCATOR]:se,[an.PLATE_CARREE]:Vn,[an.WGS84]:te,[an.WGS84_ECEF]:ie}};function me(n,e,t=Fe()){return o(n)||o(e)?null:Te(n,e,t).projector}function Te(n,e,t){if(o(n)||o(e)||t.source.spatialReference===n&&t.dest.spatialReference===e)return t;const r=Zn(n,t.source),l=Zn(e,t.dest);return r===an.UNKNOWN&&l===an.UNKNOWN?K(n,e)?t.projector=Vn:t.projector=null:t.projector=he[r][l],t}function Fe(){return{source:{spatialReference:null,spatialReferenceId:an.UNKNOWN,metersPerUnit:1},dest:{spatialReference:null,spatialReferenceId:an.UNKNOWN,metersPerUnit:1},projector:Vn}}const Ie={spatialReference:null,spatialReferenceId:an.UNKNOWN},de={spatialReference:null,spatialReferenceId:an.UNKNOWN},He=Fe(),Be=Fe(),ge=t(1),je=r(1),ye=O(),we=O(),Ue=O(),xe=O(),Ke=O();export{ae as canProjectToWGS84ComparableLonLat,Rn as canProjectWithoutEngine,vn as computeENUToSphericalPCPFLocalRotation,qn as computeSphericalPCPFToENULocalRotation,kn as computeTranslationToOriginAndRotation,_n as getProjectorName,un as getTransformation,on as getTransformations,An as initializeProjection,nn as isLoaded,en as load,bn as localLinearScaleFactors,ce as lonLatToSphericalPCPF,Qn as lonLatToWebMercatorComparable,tn as project,Kn as projectBoundingRect,Un as projectBoundingSphere,jn as projectBuffer,yn as projectDirection,Wn as projectExtent,rn as projectMany,Ln as projectMultipoint,ln as projectOrLoad,Sn as projectPoint,Fn as projectPointToVector,Hn as projectPointToWGS84ComparableLonLat,Nn as projectPolygon,On as projectPolyline,Tn as projectVectorToDehydratedPoint,mn as projectVectorToPoint,dn as projectVectorToVector,Bn as projectVectorToWGS84ComparableLonLat,fn as projectWithoutEngine,In as projectXYZToVector,_e as sphericalPCPFtoLonLatElevation,En as test,Cn as tryProjectWithZConversion,cn as unload};
5
+ import n from"../core/Error.js";import{clamp as e,deg2rad as t,rad2deg as r,asinClamped as l}from"../core/mathUtils.js";import{isSome as u,isNone as o,unwrap as s}from"../core/maybe.js";import{throwIfAborted as i,waitTick as a}from"../core/promiseUtils.js";import{getMetersPerUnitForSR as c}from"../core/unitUtils.js";import{trackAccess as E}from"../core/accessorSupport/tracking.js";import{SimpleObservable as C}from"../core/accessorSupport/tracking/SimpleObservable.js";import{f as R,i as A,t as _}from"../chunks/mat4.js";import{s as f,c as S,a as P,b as L,n as M,l as O}from"../chunks/vec3.js";import{c as p}from"../chunks/vec3f64.js";import N from"./Extent.js";import G from"./Multipoint.js";import{p as h,i as W,l as m}from"../chunks/pe.js";import T from"./Point.js";import F from"./Polygon.js";import I from"./Polyline.js";import{SphericalECEFSpatialReference as d,WGS84ECEFSpatialReference as H,SphericalPCPFMars as B,SphericalPCPFMoon as g}from"./projectionEllipsoid.js";import{copy as j}from"./support/aaBoundingRect.js";import{earth as y,moon as w,mars as U}from"./support/Ellipsoid.js";import{earthEllipsoidConstants as x}from"./support/geodesicConstants.js";import K from"./support/GeographicTransformation.js";import{equals as b,isValid as k,isWGS84 as z,isWebMercator as v,isPlateCarree as q,isMars as Z,isMoon as V}from"./support/spatialReferenceUtils.js";import{SupportedGCSWkids as X}from"./support/SupportedGCSWkids.js";import{getGeometryZScaler as D}from"./support/zscale.js";let J=null,Q=null,Y=null,$={};const nn=new C;function en(){return!!J&&W()}function tn(n){return o(Y)&&(Y=Promise.all([m(),import("../chunks/geometryEngineBase.js").then((n=>n.g)),import("./geometryAdapters/hydrated.js")])),Y.then((([,e,{hydratedAdapter:t}])=>{i(n),Q=t,J=e.default,J._enableProjection(h),nn.notify()}))}function rn(n,e,t=null,r=null){return Array.isArray(n)?0===n.length?[]:ln(Q,n,n[0].spatialReference,e,t,r):ln(Q,[n],n.spatialReference,e,t,r)[0]}function ln(n,e,t,r,l=null,i=null){if(o(t)||o(r))return e;if(An(t,r,l))return e.map((n=>s(Sn(n,t,r))));if(o(l)){const n=K.cacheKey(t,r);void 0!==$[n]?l=$[n]:(l=on(t,r,null),o(l)&&(l=new K),$[n]=l)}if(o(J))throw new an;return u(i)?J._project(n,e,t,r,l,i):J._project(n,e,t,r,l)}function un(n,e){return o(n)?{pending:null,geometry:null}:b(n.spatialReference,e)?{pending:null,geometry:n}:An(n.spatialReference,e)||en()?{pending:null,geometry:Rn(n,e)}:(E(nn),{pending:tn(),geometry:null})}function on(n,e,t=null){if(o(J))throw new an;if(o(n)||o(e))return null;const r=J._getTransformation(Q,n,e,t,t?.spatialReference);return null!==r?K.fromGE(r):null}function sn(n,e,t=null){if(o(J))throw new an;const r=J._getTransformationBySuitability(Q,n,e,t,t?.spatialReference);if(null!==r){const n=[];for(const e of r)n.push(K.fromGE(e));return n}return[]}class an extends n{constructor(){super("projection:not-loaded","projection engine not fully loaded yet, please call load()")}}var cn;function En(){J=null,Q=null,Y=null,$={}}!function(n){n[n.UNKNOWN=0]="UNKNOWN",n[n.SPHERICAL_ECEF=1]="SPHERICAL_ECEF",n[n.WGS84=2]="WGS84",n[n.WEB_MERCATOR=3]="WEB_MERCATOR",n[n.WGS84_ECEF=4]="WGS84_ECEF",n[n.CGCS2000=5]="CGCS2000",n[n.WGS84_COMPARABLE_LON_LAT=6]="WGS84_COMPARABLE_LON_LAT",n[n.SPHERICAL_MARS_PCPF=7]="SPHERICAL_MARS_PCPF",n[n.GCSMARS2000=8]="GCSMARS2000",n[n.SPHERICAL_MOON_PCPF=9]="SPHERICAL_MOON_PCPF",n[n.GCSMOON2000=10]="GCSMOON2000",n[n.LON_LAT=11]="LON_LAT",n[n.PLATE_CARREE=12]="PLATE_CARREE"}(cn||(cn={}));const Cn={get loadPromise(){return Y}};function Rn(n,e){try{const t=rn(n,e);if(null==t)return null;"xmin"in n&&"xmin"in t&&(t.zmin=n.zmin,t.zmax=n.zmax);const r=D(t.type,n.spatialReference,e);return u(r)&&r(t),t}catch(t){if(!(t instanceof an))throw t;return null}}function An(n,e,t){return!t&&(!!b(n,e)||k(n)&&k(e)&&!!Fe(n,e,ge))}async function _n(n,e,t,r){if(en())return a(r);if(Array.isArray(n)){for(const{source:l,dest:u,geographicTransformation:o}of n)if(!An(l,u,o))return tn(r)}else if(!An(n,e,t))return tn(r);return a(r)}function fn(n,e){switch(Fe(n,e,ge)){case Dn:return"copy3";case fe:return"wgs84ToSphericalECEF";case ne:return"wgs84ToWebMercator";case re:return"wgs84ToPlateCarree";case Ge:return"wgs84ToWGS84ECEF";case Jn:return"webMercatorToWGS84";case Qn:return"webMercatorToSphericalECEF";case Yn:return"webMercatorToWGS84ECEF";case ue:return"webMercatorToPlateCarree";case he:return"wgs84ECEFToWGS84";case We:return"wgs84ECEFToSphericalECEF";case me:return"wgs84ECEFToWebMercator";case Me:return"sphericalECEFToWGS84";case Oe:return"sphericalECEFToWebMercator";case Le:return"sphericalMarsPCPFToMars2000";case Pe:return"sphericalMoonPCPFToMoon2000";case pe:return"sphericalECEFToWGS84ECEF";case _e:return"mars2000ToSphericalPCPF";case Ae:return"moon2000ToSphericalPCPF";default:return null}}function Sn(n,e,t){return n?"x"in n?Ln(n,e,new T,t,0):"xmin"in n?Tn(n,e,new N,t,0):"rings"in n?Wn(n,e,new F,t,0):"paths"in n?Nn(n,e,new I,t,0):"points"in n?On(n,e,new G,t,0):null:null}function Pn(n,e,t=e.spatialReference,r=0){return!o(t)&&u(Ln(n,n.spatialReference,e,t,r))}function Ln(n,e,t,r,l){be[0]=n.x,be[1]=n.y;const u=n.z;return be[2]=void 0!==u?u:l,wn(be,e,0,be,r,0,1)?(t.x=be[0],t.y=be[1],t.spatialReference=r,void 0===u?(t.z=void 0,t.hasZ=!1):(t.z=be[2],t.hasZ=!0),void 0===n.m?(t.m=void 0,t.hasM=!1):(t.m=n.m,t.hasM=!0),t):null}function Mn(n,e,t=e.spatialReference,r=0){return!o(t)&&u(On(n,n.spatialReference,e,t,r))}function On(n,e,t,r,l){const{points:u,hasZ:o,hasM:s}=n,i=[],a=u.length,c=[];for(const E of u)c.push(E[0],E[1],o?E[2]:l);if(!wn(c,e,0,c,r,0,a))return null;for(let E=0;E<a;++E){const n=3*E,e=c[n],t=c[n+1];o&&s?i.push([e,t,c[n+2],u[E][3]]):o?i.push([e,t,c[n+2]]):s?i.push([e,t,u[E][2]]):i.push([e,t])}return t.points=i,t.spatialReference=r,t.hasZ=o,t.hasM=s,t}function pn(n,e,t=e.spatialReference,r=0){return u(t)&&u(Nn(n,n.spatialReference,e,t,r))}function Nn(n,e,t,r,l){const{paths:u,hasZ:o,hasM:s}=n,i=[];return xn(u,o,s,e,i,r,l)?(t.paths=i,t.spatialReference=r,t.hasZ=o,t.hasM=s,t):null}function Gn({hasZ:n,spatialReference:e,paths:t},r,l=0){const u=Xn(e,He),s=Te[u][cn.WGS84_COMPARABLE_LON_LAT];if(o(s))return!1;const i=n?n=>n:n=>f(be,n[0],n[1],l);for(const o of t){const n=new Array;for(const e of o){const t=[0,0,l];s(i(e),0,t,0),n.push(t)}r.push(n)}return!0}function hn(n,e,t=e.spatialReference,r=0){return u(t)&&u(Wn(n,n.spatialReference,e,t,r))}function Wn(n,e,t,r,l){const{rings:u,hasZ:o,hasM:s}=n,i=[];return xn(u,o,s,e,i,r,l)?(t.rings=i,t.spatialReference=r,t.hasZ=o,t.hasM=s,t):null}function mn(n,e,t=e.spatialReference,r=0){return u(t)&&u(Tn(n,n.spatialReference,e,t,r))}function Tn(n,e,t,r,l){const{xmin:u,ymin:o,xmax:s,ymax:i,hasZ:a,hasM:c}=n;if(!Hn(u,o,a?n.zmin:l,e,be,r))return null;t.xmin=be[0],t.ymin=be[1],a&&(t.zmin=be[2]);return Hn(s,i,a?n.zmax:l,e,be,r)?(t.xmax=be[0],t.ymax=be[1],a&&(t.zmax=be[2]),c&&(t.mmin=n.mmin,t.mmax=n.mmax),t.spatialReference=r,t):null}function Fn(n,e,t){if(o(e)||o(t))return null;const r=new T({spatialReference:t});return wn(n,e,0,be,t,0,1)?(r.x=be[0],r.y=be[1],r.z=be[2],r):null}function In(n,e,t){return wn(n,e,0,be,t.spatialReference,0,1)?(t.x=be[0],t.y=be[1],t.z=be[2],t):null}function dn(n,e,t,r=0){be[0]=n.x,be[1]=n.y;const l=n.z;return be[2]=void 0!==l?l:r,wn(be,n.spatialReference,0,e,t,0,1)}function Hn(n,e,t,r,l,u){return Ue[0]=n,Ue[1]=e,Ue[2]=t,wn(Ue,r,0,l,u,0,1)}function Bn(n,e,t,r){return!(o(e)||o(r)||n.length<2)&&(2===n.length&&(Ue[0]=n[0],Ue[1]=n[1],Ue[2]=0,n=Ue),wn(n,e,0,t,r,0,1))}function gn(n,e){be[0]=n.x,be[1]=n.y;const t=n.z;return be[2]=void 0!==t?t:0,jn(be,n.spatialReference,e)}function jn(n,e,t){return yn(n,e,t)}function yn(n,e,t){if(o(e))return!1;const r=Xn(e,He),l=Te[r][cn.WGS84_COMPARABLE_LON_LAT];return!o(l)&&(l(n,0,Ue,0),t!==Ue&&(t[0]=Ue[0],t[1]=Ue[1],t.length>2&&(t[2]=Ue[2])),!0)}function wn(n,e,t,r,l,u,s=1){const i=Fe(e,l,ge);if(o(i))return!1;if(i===Dn){if(n===r&&t===u)return!0;const e=t+3*s;for(let l=t,o=u;l<e;l++,o++)r[o]=n[l];return!0}const a=t+3*s;for(let o=t,c=u;o<a;o+=3,c+=3)i(n,o,r,c);return!0}function Un(n,e,t,r,l){S(be,n),P(ke,n,e),Bn(be,t,be,l),Bn(ke,t,ke,l),L(r,ke,be),M(r,r)}function xn(n,e,t,r,l,u,o=0){const s=new Array;for(const a of n)for(const n of a)s.push(n[0],n[1],e?n[2]:o);if(!wn(s,r,0,s,u,0,s.length/3))return!1;let i=0;l.length=0;for(const a of n){const n=new Array;for(const r of a)e&&t?n.push([s[i++],s[i++],s[i++],r[3]]):e?n.push([s[i++],s[i++],s[i++]]):t?(n.push([s[i++],s[i++],r[2]]),i++):(n.push([s[i++],s[i++]]),i++);l.push(n)}return!0}function Kn(n,e,t,r){if(o(e)||o(r))return!1;const l=Ie(e,r,je);if(l.projector===Dn)return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],!0;if(o(l.projector))return!1;const{source:s,dest:i}=l;if(i.spatialReferenceId===cn.WEB_MERCATOR){const e=Te[s.spatialReferenceId][cn.WGS84];return!o(e)&&(e(n,0,xe,0),ne(xe,0,t,0),t[3]=bn(xe[1],n[2],n[3],y.radius),!0)}if(s.spatialReferenceId!==cn.WGS84&&s.spatialReferenceId!==cn.CGCS2000||i.spatialReferenceId!==cn.PLATE_CARREE)l.projector(n,0,t,0),t[3]=n[3]*s.metersPerUnit/i.metersPerUnit;else{const e=Te[s.spatialReferenceId][cn.SPHERICAL_ECEF],r=Te[cn.SPHERICAL_ECEF][cn.PLATE_CARREE];let o=n[3];u(e)&&u(r)&&(o=bn(n[1],n[2],n[3],y.radius)),l.projector(n,0,t,0),t[3]=o}return!0}function bn(n,e,t,r){const l=r+e;if(l<r/2||t>l)return Number.MAX_VALUE;const u=Math.abs(ye*n)+Math.asin(t/l);return u>=Math.PI/2?Number.MAX_VALUE:t/Math.cos(u)}function kn(n,e,t,r){return null!=n&&(b(e,r)?(j(t,n),!0):(Ue[0]=n[0],Ue[1]=n[1],Ue[2]=0,!!wn(Ue,e,0,Ue,r,0,1)&&(t[0]=Ue[0],t[1]=Ue[1],Ue[0]=n[2],Ue[1]=n[3],Ue[2]=0,!!wn(Ue,e,0,Ue,r,0,1)&&(t[2]=Ue[0],t[3]=Ue[1],!0))))}function zn(n,e,t,r){if(o(e)||o(r))return!1;const l=Xn(e,He),u=Xn(r,Be);if(l===u&&l!==cn.UNKNOWN||b(e,r))return t[0]=1,t[1]=1,t[2]=1,!0;if(l===cn.SPHERICAL_ECEF){const e=O(n),r=e/Math.sqrt(n[0]*n[0]+n[1]*n[1]),l=e/y.radius;if(u===cn.WEB_MERCATOR)return t[0]=r*l,t[1]=r*l,t[2]=1,!0;if(u===cn.WGS84||u===cn.CGCS2000){const n=te;return t[0]=n*r*l,t[1]=n*l,t[2]=1,!0}}else if(l===cn.PLATE_CARREE){if(u===cn.WGS84||u===cn.CGCS2000)return t[0]=te,t[1]=te,t[2]=1,!0;if(u===cn.WEB_MERCATOR){const e=n[1]/y.radius;return t[0]=1,t[1]=1/Math.cos(e),t[2]=1,!0}}return!1}function vn(n,e,t,r){if(o(n)||o(r))return!1;const l=Xn(n,He),u=Xn(r,Be);if(l===u&&!qn(u)&&(l!==cn.UNKNOWN||b(n,r)))return R(t,e),!0;if(qn(u)){const n=Te[l][cn.LON_LAT],r=Te[cn.LON_LAT][u];return!o(n)&&!o(r)&&(n(e,0,xe,0),r(xe,0,Ke,0),Zn(ye*xe[0],ye*xe[1],t),t[12]=Ke[0],t[13]=Ke[1],t[14]=Ke[2],!0)}if((u===cn.WEB_MERCATOR||u===cn.PLATE_CARREE)&&(l===cn.WGS84||l===cn.CGCS2000&&u===cn.PLATE_CARREE||l===cn.SPHERICAL_ECEF||l===cn.WEB_MERCATOR)){const n=Te[l][cn.LON_LAT],r=Te[cn.LON_LAT][u];return!o(n)&&!o(r)&&(n(e,0,xe,0),r(xe,0,Ke,0),l===cn.SPHERICAL_ECEF?Vn(ye*xe[0],ye*xe[1],t):A(t),t[12]=Ke[0],t[13]=Ke[1],t[14]=Ke[2],!0)}return!1}function qn(n){return n===cn.SPHERICAL_ECEF||n===cn.SPHERICAL_MARS_PCPF||n===cn.SPHERICAL_MOON_PCPF}function Zn(n,e,t){const r=Math.sin(n),l=Math.cos(n),u=Math.sin(e),o=Math.cos(e),s=t;return s[0]=-r,s[4]=-u*l,s[8]=o*l,s[12]=0,s[1]=l,s[5]=-u*r,s[9]=o*r,s[13]=0,s[2]=0,s[6]=o,s[10]=u,s[14]=0,s[3]=0,s[7]=0,s[11]=0,s[15]=1,s}function Vn(n,e,t){return Zn(n,e,t),_(t,t),t}function Xn(n,e){return e.spatialReference===n?e.spatialReferenceId:(e.spatialReference=n,"metersPerUnit"in e&&(e.metersPerUnit=c(n,1)),n.wkt===d.wkt?e.spatialReferenceId=cn.SPHERICAL_ECEF:z(n)?e.spatialReferenceId=cn.WGS84:v(n)?e.spatialReferenceId=cn.WEB_MERCATOR:q(n)?e.spatialReferenceId=cn.PLATE_CARREE:n.wkt===H.wkt?e.spatialReferenceId=cn.WGS84_ECEF:n.wkid===X.CGCS2000?e.spatialReferenceId=cn.CGCS2000:n.wkt===B.wkt?e.spatialReferenceId=cn.SPHERICAL_MARS_PCPF:n.wkt===g.wkt?e.spatialReferenceId=cn.SPHERICAL_MOON_PCPF:Z(n)?e.spatialReferenceId=cn.GCSMARS2000:V(n)?e.spatialReferenceId=cn.GCSMOON2000:e.spatialReferenceId=cn.UNKNOWN)}function Dn(n,e,t,r){n!==t&&(t[r++]=n[e++],t[r++]=n[e++],t[r]=n[e])}function Jn(n,e,t,r){t[r++]=we*(n[e++]/y.radius),t[r++]=we*(Math.PI/2-2*Math.atan(Math.exp(-n[e++]/y.radius))),t[r]=n[e]}function Qn(n,e,t,r){Jn(n,e,t,r),fe(t,r,t,r)}function Yn(n,e,t,r){Jn(n,e,t,r),Ge(t,r,t,r)}function $n(n,t,r,l,u){const o=.4999999*Math.PI,s=e(ye*n[t+1],-o,o),i=Math.sin(s);r[l++]=ye*n[t]*u.radius,r[l++]=u.halfSemiMajorAxis*Math.log((1+i)/(1-i)),r[l]=n[t+2]}function ne(n,e,t,r){$n(n,e,t,r,y)}const ee=y.radius*Math.PI/180,te=180/(y.radius*Math.PI);function re(n,e,t,r){t[r]=n[e]*ee,t[r+1]=n[e+1]*ee,t[r+2]=n[e+2]}function le(n,e,t,r){t[r]=n[e]*te,t[r+1]=n[e+1]*te,t[r+2]=n[e+2]}function ue(n,e,t,r){Jn(n,e,t,r),re(t,r,t,r)}function oe(n,e,t,r){he(n,e,t,r),re(t,r,t,r)}function se(n,e,t,r){Me(n,e,t,r),re(t,r,t,r)}function ie(n,e,t,r){le(n,e,t,r),fe(t,r,t,r)}function ae(n,e,t,r){le(n,e,t,r),ne(t,r,t,r)}function ce(n,e,t,r){le(n,e,t,r),Ge(t,r,t,r)}function Ee(n){if(o(n))return!1;const e=Xn(n,He);return!!Te[e][cn.WGS84_COMPARABLE_LON_LAT]}function Ce(n,e,t,r){const l=Math.cos(t);n[0]=Math.cos(e)*l*r,n[1]=Math.sin(e)*l*r,n[2]=Math.sin(t)*r}function Re(n,e,t,r,l){const u=l+n[e+2],o=ye*n[e+1],s=ye*n[e],i=Math.cos(o);t[r++]=Math.cos(s)*i*u,t[r++]=Math.sin(s)*i*u,t[r]=Math.sin(o)*u}function Ae(n,e,t,r){Re(n,e,t,r,w.radius)}function _e(n,e,t,r){Re(n,e,t,r,U.radius)}function fe(n,e,t,r){Re(n,e,t,r,y.radius)}function Se(n,e,t,r,u){const o=n[e],s=n[e+1],i=n[e+2],a=Math.sqrt(o*o+s*s+i*i),c=l(i/(0===a?1:a)),E=Math.atan2(s,o);t[r++]=we*E,t[r++]=we*c,t[r]=a-u}function Pe(n,e,t,r){Se(n,e,t,r,w.radius)}function Le(n,e,t,r){Se(n,e,t,r,U.radius)}function Me(n,e,t,r){Se(n,e,t,r,y.radius)}function Oe(n,e,t,r){Me(n,e,t,r),ne(t,r,t,r)}function pe(n,e,t,r){Me(n,e,t,r),Ge(t,r,t,r)}function Ne(n,e,t,r,l){const u=ye*n[e],o=ye*n[e+1],s=n[e+2],i=Math.sin(o),a=Math.cos(o),c=l.radius/Math.sqrt(1-l.eccentricitySquared*i*i);t[r++]=(c+s)*a*Math.cos(u),t[r++]=(c+s)*a*Math.sin(u),t[r++]=(c*(1-l.eccentricitySquared)+s)*i}function Ge(n,e,t,r){Ne(n,e,t,r,y)}function he(n,e,t,r){const l=x,u=n[e],o=n[e+1],s=n[e+2];let i,a,c,E,C,R,A,_,f,S,P,L,M,O,p,N,G,h,W,m,T;i=Math.abs(s),a=u*u+o*o,c=Math.sqrt(a),E=a+s*s,C=Math.sqrt(E),m=Math.atan2(o,u),R=s*s/E,A=a/E,O=l.a2/C,p=l.a3-l.a4/C,A>.3?(_=i/C*(1+A*(l.a1+O+R*p)/C),W=Math.asin(_),S=_*_,f=Math.sqrt(1-S)):(f=c/C*(1-R*(l.a5-O-A*p)/C),W=Math.acos(f),S=1-f*f,_=Math.sqrt(S)),P=1-y.eccentricitySquared*S,L=y.radius/Math.sqrt(P),M=l.a6*L,O=c-L*f,p=i-M*_,G=f*O+_*p,N=f*p-_*O,h=N/(M/P+G),W+=h,T=G+N*h/2,s<0&&(W=-W),t[r++]=we*m,t[r++]=we*W,t[r]=T}function We(n,e,t,r){he(n,e,t,r),fe(t,r,t,r)}function me(n,e,t,r){he(n,e,t,r),ne(t,r,t,r)}const Te={[cn.WGS84]:{[cn.CGCS2000]:null,[cn.GCSMARS2000]:null,[cn.GCSMOON2000]:null,[cn.LON_LAT]:Dn,[cn.WGS84_COMPARABLE_LON_LAT]:Dn,[cn.SPHERICAL_ECEF]:fe,[cn.SPHERICAL_MARS_PCPF]:null,[cn.SPHERICAL_MOON_PCPF]:null,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:ne,[cn.PLATE_CARREE]:re,[cn.WGS84]:Dn,[cn.WGS84_ECEF]:Ge},[cn.CGCS2000]:{[cn.CGCS2000]:Dn,[cn.GCSMARS2000]:null,[cn.GCSMOON2000]:null,[cn.LON_LAT]:Dn,[cn.WGS84_COMPARABLE_LON_LAT]:Dn,[cn.SPHERICAL_ECEF]:fe,[cn.SPHERICAL_MARS_PCPF]:null,[cn.SPHERICAL_MOON_PCPF]:null,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:null,[cn.PLATE_CARREE]:re,[cn.WGS84]:null,[cn.WGS84_ECEF]:Ge},[cn.GCSMARS2000]:{[cn.CGCS2000]:null,[cn.GCSMARS2000]:Dn,[cn.GCSMOON2000]:null,[cn.LON_LAT]:Dn,[cn.WGS84_COMPARABLE_LON_LAT]:null,[cn.SPHERICAL_ECEF]:null,[cn.SPHERICAL_MARS_PCPF]:_e,[cn.SPHERICAL_MOON_PCPF]:null,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:null,[cn.PLATE_CARREE]:null,[cn.WGS84]:null,[cn.WGS84_ECEF]:null},[cn.GCSMOON2000]:{[cn.CGCS2000]:null,[cn.GCSMARS2000]:null,[cn.GCSMOON2000]:Dn,[cn.LON_LAT]:Dn,[cn.WGS84_COMPARABLE_LON_LAT]:null,[cn.SPHERICAL_ECEF]:null,[cn.SPHERICAL_MARS_PCPF]:null,[cn.SPHERICAL_MOON_PCPF]:Ae,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:null,[cn.PLATE_CARREE]:null,[cn.WGS84]:null,[cn.WGS84_ECEF]:null},[cn.WEB_MERCATOR]:{[cn.CGCS2000]:null,[cn.GCSMARS2000]:null,[cn.GCSMOON2000]:null,[cn.LON_LAT]:Jn,[cn.WGS84_COMPARABLE_LON_LAT]:Jn,[cn.SPHERICAL_ECEF]:Qn,[cn.SPHERICAL_MARS_PCPF]:null,[cn.SPHERICAL_MOON_PCPF]:null,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:Dn,[cn.PLATE_CARREE]:ue,[cn.WGS84]:Jn,[cn.WGS84_ECEF]:Yn},[cn.WGS84_ECEF]:{[cn.CGCS2000]:he,[cn.GCSMARS2000]:null,[cn.GCSMOON2000]:null,[cn.LON_LAT]:he,[cn.WGS84_COMPARABLE_LON_LAT]:he,[cn.SPHERICAL_ECEF]:We,[cn.SPHERICAL_MARS_PCPF]:null,[cn.SPHERICAL_MOON_PCPF]:null,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:me,[cn.PLATE_CARREE]:oe,[cn.WGS84]:he,[cn.WGS84_ECEF]:Dn},[cn.SPHERICAL_ECEF]:{[cn.CGCS2000]:Me,[cn.GCSMARS2000]:null,[cn.GCSMOON2000]:null,[cn.LON_LAT]:Me,[cn.WGS84_COMPARABLE_LON_LAT]:Me,[cn.SPHERICAL_ECEF]:Dn,[cn.SPHERICAL_MARS_PCPF]:null,[cn.SPHERICAL_MOON_PCPF]:null,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:Oe,[cn.PLATE_CARREE]:se,[cn.WGS84]:Me,[cn.WGS84_ECEF]:pe},[cn.SPHERICAL_MARS_PCPF]:{[cn.CGCS2000]:null,[cn.GCSMARS2000]:Le,[cn.GCSMOON2000]:null,[cn.LON_LAT]:Le,[cn.WGS84_COMPARABLE_LON_LAT]:null,[cn.SPHERICAL_ECEF]:null,[cn.SPHERICAL_MARS_PCPF]:Dn,[cn.SPHERICAL_MOON_PCPF]:null,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:null,[cn.PLATE_CARREE]:null,[cn.WGS84]:null,[cn.WGS84_ECEF]:null},[cn.SPHERICAL_MOON_PCPF]:{[cn.CGCS2000]:null,[cn.GCSMARS2000]:null,[cn.GCSMOON2000]:Pe,[cn.LON_LAT]:Pe,[cn.WGS84_COMPARABLE_LON_LAT]:null,[cn.SPHERICAL_ECEF]:null,[cn.SPHERICAL_MARS_PCPF]:null,[cn.SPHERICAL_MOON_PCPF]:Dn,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:null,[cn.PLATE_CARREE]:null,[cn.WGS84]:null,[cn.WGS84_ECEF]:null},[cn.UNKNOWN]:{[cn.CGCS2000]:null,[cn.GCSMARS2000]:null,[cn.GCSMOON2000]:null,[cn.LON_LAT]:null,[cn.WGS84_COMPARABLE_LON_LAT]:null,[cn.SPHERICAL_ECEF]:null,[cn.SPHERICAL_MARS_PCPF]:null,[cn.SPHERICAL_MOON_PCPF]:null,[cn.UNKNOWN]:Dn,[cn.WEB_MERCATOR]:null,[cn.PLATE_CARREE]:null,[cn.WGS84]:null,[cn.WGS84_ECEF]:null},[cn.LON_LAT]:{[cn.CGCS2000]:Dn,[cn.GCSMARS2000]:Dn,[cn.GCSMOON2000]:Dn,[cn.LON_LAT]:Dn,[cn.WGS84_COMPARABLE_LON_LAT]:Dn,[cn.SPHERICAL_ECEF]:fe,[cn.SPHERICAL_MARS_PCPF]:_e,[cn.SPHERICAL_MOON_PCPF]:Ae,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:ne,[cn.PLATE_CARREE]:re,[cn.WGS84]:Dn,[cn.WGS84_ECEF]:Ge},[cn.WGS84_COMPARABLE_LON_LAT]:{[cn.CGCS2000]:null,[cn.GCSMARS2000]:null,[cn.GCSMOON2000]:null,[cn.LON_LAT]:Dn,[cn.WGS84_COMPARABLE_LON_LAT]:Dn,[cn.SPHERICAL_ECEF]:fe,[cn.SPHERICAL_MARS_PCPF]:null,[cn.SPHERICAL_MOON_PCPF]:null,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:null,[cn.PLATE_CARREE]:re,[cn.WGS84]:Dn,[cn.WGS84_ECEF]:Ge},[cn.PLATE_CARREE]:{[cn.CGCS2000]:le,[cn.GCSMARS2000]:null,[cn.GCSMOON2000]:null,[cn.LON_LAT]:le,[cn.WGS84_COMPARABLE_LON_LAT]:le,[cn.SPHERICAL_ECEF]:ie,[cn.SPHERICAL_MARS_PCPF]:null,[cn.SPHERICAL_MOON_PCPF]:null,[cn.UNKNOWN]:null,[cn.WEB_MERCATOR]:ae,[cn.PLATE_CARREE]:Dn,[cn.WGS84]:le,[cn.WGS84_ECEF]:ce}};function Fe(n,e,t=de()){return o(n)||o(e)?null:Ie(n,e,t).projector}function Ie(n,e,t){if(o(n)||o(e)||t.source.spatialReference===n&&t.dest.spatialReference===e)return t;const r=Xn(n,t.source),l=Xn(e,t.dest);return r===cn.UNKNOWN&&l===cn.UNKNOWN?b(n,e)?t.projector=Dn:t.projector=null:t.projector=Te[r][l],t}function de(){return{source:{spatialReference:null,spatialReferenceId:cn.UNKNOWN,metersPerUnit:1},dest:{spatialReference:null,spatialReferenceId:cn.UNKNOWN,metersPerUnit:1},projector:Dn}}const He={spatialReference:null,spatialReferenceId:cn.UNKNOWN},Be={spatialReference:null,spatialReferenceId:cn.UNKNOWN},ge=de(),je=de(),ye=t(1),we=r(1),Ue=p(),xe=p(),Ke=p(),be=p(),ke=p();export{Ee as canProjectToWGS84ComparableLonLat,An as canProjectWithoutEngine,Zn as computeENUToSphericalPCPFLocalRotation,Vn as computeSphericalPCPFToENULocalRotation,vn as computeTranslationToOriginAndRotation,fn as getProjectorName,on as getTransformation,sn as getTransformations,_n as initializeProjection,en as isLoaded,tn as load,zn as localLinearScaleFactors,Ce as lonLatToSphericalPCPF,$n as lonLatToWebMercatorComparable,rn as project,kn as projectBoundingRect,Kn as projectBoundingSphere,wn as projectBuffer,Un as projectDirection,mn as projectExtent,ln as projectMany,Mn as projectMultipoint,un as projectOrLoad,Pn as projectPoint,dn as projectPointToVector,gn as projectPointToWGS84ComparableLonLat,hn as projectPolygon,pn as projectPolyline,Gn as projectPolylineToWGS84ComparableLonLat,In as projectVectorToDehydratedPoint,Fn as projectVectorToPoint,Bn as projectVectorToVector,jn as projectVectorToWGS84ComparableLonLat,Sn as projectWithoutEngine,Hn as projectXYZToVector,Se as sphericalPCPFtoLonLatElevation,Cn as test,Rn as tryProjectWithZConversion,En as unload};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import"../../geometry.js";import e from"../../core/Error.js";import{convertUnit as t}from"../../core/unitUtils.js";import{toRadians as n,spheroids as i,WKT_SPHEROID_REGEX as s}from"./geodesicConstants.js";import a from"../Polyline.js";import r from"../Polygon.js";import o from"../Point.js";import c from"../SpatialReference.js";function l(e){if(!e)return null;if(e.isGeographic&&e.wkid){const t=i[e.wkid];if(t)return t}if(e.wkt){const t=h(e.wkt);if(t)return t}return null}function h(e){const t=s.exec(e);if(!t||2!==t.length)return null;const n=t[1].split(",");if(!n||n.length<3)return null;const i=parseFloat(n[1]),a=parseFloat(n[2]);if(isNaN(i)||isNaN(a))return null;return{a:i,f:0===a?0:1/a}}function f(e){const t=l(e||c.WGS84);if(p(t))return t;const n=t.a*(1-t.f);return Object.assign(t,{b:n,eSq:1-(n/t.a)**2,radius:(2*t.a+n)/3,densificationRatio:1e4/((2*t.a+n)/3)})}function p(e){return"b"in e&&"eSq"in e&&"radius"in e}function u(e){return e<0?e+360:e}function d(e,t,i){const{a:s,eSq:a}=f(i),r=Math.sqrt(a),o=Math.sin(t[1]*n),c=s*t[0]*n;let l;if(a>0){l=s*((1-a)*(o/(1-a*(o*o))-1/(2*r)*Math.log((1-r*o)/(1+r*o))))*.5}else l=s*o;return e[0]=c,e[1]=l,e}function m(e){return null!==l(e)}function g(n,i="square-meters"){if(n.some((e=>!m(e.spatialReference))))throw new e("geodesic-areas:invalid-spatial-reference","the input geometries spatial reference is not supported");const s=[];for(let e=0;e<n.length;e++){const t=n[e],i=t.spatialReference,{radius:a,densificationRatio:r}=f(i),o=a*r;s.push(w(t,o))}const a=[],r=[0,0],o=[0,0];for(let e=0;e<s.length;e++){const{rings:n,spatialReference:c}=s[e];let l=0;for(let e=0;e<n.length;e++){const t=n[e];d(r,t[0],c),d(o,t[t.length-1],c);let i=o[0]*r[1]-r[0]*o[1];for(let e=0;e<t.length-1;e++)d(r,t[e+1],c),d(o,t[e],c),i+=o[0]*r[1]-r[0]*o[1];l+=i}l=t(l,"square-meters",i),a.push(l/-2)}return a}function M(n,i="meters"){if(!n)throw new e("geodesic-lengths:invalid-geometries","the input geometries type is not supported");if(n.some((e=>!m(e.spatialReference))))throw new e("geodesic-lengths:invalid-spatial-reference","the input geometries spatial reference is not supported");const s=[];for(let e=0;e<n.length;e++){const a=n[e],{spatialReference:r}=a,o="polyline"===a.type?a.paths:a.rings;let c=0;for(let e=0;e<o.length;e++){const t=o[e];let n=0;for(let e=1;e<t.length;e++){const i=t[e-1][0],s=t[e][0],a=t[e-1][1],o=t[e][1];if(a!==o||i!==s){const e={distance:null};R(e,[i,a],[s,o],r),n+=e.distance}}c+=n}c=t(c,"meters",i),s.push(c)}return s}function w(t,n){if("polyline"!==t.type&&"polygon"!==t.type)throw new e("geodesic-densify:invalid-geometry","the input geometry is neither polyline nor polygon");const{spatialReference:i}=t;if(!m(i))throw new e("geodesic-densify:invalid-spatial-reference","the input geometry spatial reference is not supported");const s="polyline"===t.type?t.paths:t.rings,o=[],c=[0,0],l={distance:null};for(const e of s){const t=[];o.push(t),t.push([e[0][0],e[0][1]]);let s,a,r=e[0][0],h=e[0][1];for(let o=0;o<e.length-1;o++){if(s=e[o+1][0],a=e[o+1][1],r===s&&h===a)continue;const f=[r,h];R(l,[r,h],[s,a],i);const{azimuth:p,distance:u}=l,d=u/n;if(d>1){for(let e=1;e<=d-1;e++){y(c,f,p,e*n,i),t.push(c.slice(0))}y(c,f,p,(u+Math.floor(d-1)*n)/2,i),t.push(c.slice(0))}y(c,f,p,u,i),t.push(c.slice(0)),r=c[0],h=c[1]}}return"polyline"===t.type?new a({paths:o,spatialReference:i}):new r({rings:o,spatialReference:i})}function y(e,t,i,s,a){const r=t[0],o=t[1],c=r*n,l=o*n,h=i*n,{a:p,b:u,f:d}=f(a),m=Math.sin(h),g=Math.cos(h),M=(1-d)*Math.tan(l),w=1/Math.sqrt(1+M*M),y=M*w,R=Math.atan2(M,g),v=w*m,z=v*v,b=1-z,q=b*(p*p-u*u)/(u*u),j=1+q/16384*(4096+q*(q*(320-175*q)-768)),x=q/1024*(256+q*(q*(74-47*q)-128));let A,N,S,k,P=s/(u*j),F=2*Math.PI;for(;Math.abs(P-F)>1e-12;)S=Math.cos(2*R+P),A=Math.sin(P),N=Math.cos(P),k=x*A*(S+x/4*(N*(2*S*S-1)-x/6*S*(4*A*A-3)*(4*S*S-3))),F=P,P=s/(u*j)+k;const G=y*A-w*N*g,C=Math.atan2(y*N+w*A*g,(1-d)*Math.sqrt(z+G*G)),E=Math.atan2(A*m,w*N-y*A*g),I=d/16*b*(4+d*(4-3*b)),O=C/n,U=(c+(E-(1-I)*d*v*(P+I*A*(S+I*N*(2*S*S-1)))))/n;return e[0]=U,e[1]=O,e}function R(e,t,i,s){const a=t[0]*n,r=t[1]*n,o=i[0]*n,c=i[1]*n,{a:l,b:h,f:p,radius:u}=f(s),d=o-a,m=Math.atan((1-p)*Math.tan(r)),g=Math.atan((1-p)*Math.tan(c)),M=Math.sin(m),w=Math.cos(m),y=Math.sin(g),R=Math.cos(g);let v,z,b,q,j,x,A,N,S,k,P=1e3,F=d;do{if(A=Math.sin(F),N=Math.cos(F),b=Math.sqrt(R*A*(R*A)+(w*y-M*R*N)*(w*y-M*R*N)),0===b)return e.distance=0,e.azimuth=void 0,e.reverseAzimuth=void 0,e;j=M*y+w*R*N,x=Math.atan2(b,j),S=w*R*A/b,z=1-S*S,q=j-2*M*y/z,isNaN(q)&&(q=0),k=p/16*z*(4+p*(4-3*z)),v=F,F=d+(1-k)*p*S*(x+k*b*(q+k*j*(2*q*q-1)))}while(Math.abs(F-v)>1e-12&&--P>0);if(0===P){const t=u,i=Math.acos(Math.sin(r)*Math.sin(c)+Math.cos(r)*Math.cos(c)*Math.cos(o-a))*t,s=o-a,l=Math.sin(s)*Math.cos(c),h=Math.cos(r)*Math.sin(c)-Math.sin(r)*Math.cos(c)*Math.cos(s),f=Math.atan2(l,h);return e.azimuth=f/n,e.distance=i,e.reverseAzimuth=void 0,e}const G=z*(l*l-h*h)/(h*h),C=G/1024*(256+G*(G*(74-47*G)-128)),E=h*(1+G/16384*(4096+G*(G*(320-175*G)-768)))*(x-C*b*(q+C/4*(j*(2*q*q-1)-C/6*q*(4*b*b-3)*(4*q*q-3)))),I=Math.atan2(R*Math.sin(F),w*y-M*R*Math.cos(F)),O=Math.atan2(w*Math.sin(F),w*y*Math.cos(F)-M*R);return e.azimuth=I/n,e.distance=E,e.reverseAzimuth=O/n,e}function v(n,i,s="meters"){if(!n||!i)throw new e("geodesic-distance:missing-parameters","one or both input parameters are missing");if(!n.spatialReference||!i.spatialReference)throw new e("geodesic-distance:invalid-parameters","one or both input points do not have a spatial reference");if(!n.spatialReference.equals(i.spatialReference))throw new e("geodesic-distance:invalid-parameters","spatial references of input parameters do not match");const{spatialReference:a}=n;if(!m(a))throw new e("geodesic-distance:not-supported","input geometry spatial reference is not supported");if(n.equals(i))return{distance:0,azimuth:0,reverseAzimuth:0};const r={distance:null};return R(r,[n.x,n.y],[i.x,i.y],a),r.distance=t(r.distance,"meters",s),r.azimuth=u(r.azimuth),r.reverseAzimuth=u(r.reverseAzimuth),r}function z(t,n,i){if(!t||null==n||null==i)throw new e("point-from-distance:missing-parameters","one or more input parameters are missing or undefined");if(i<0||i>360)throw new e("point-from-distance:-of-bounds","azimuth is restricted to angles between, and including, 0° to 360° degrees");if(!t.spatialReference)throw new e("point-from-distance:missing-spatial-reference","the input point must have a spatial reference");const{spatialReference:s}=t;if(!m(s))throw new e("geodesic-distance:not-supported","input geometry spatial reference is not supported");const a=[0,0];return y(a,[t.x,t.y],i,n,s),new o({x:a[0],y:a[1],spatialReference:s})}export{y as directGeodeticSolver,g as geodesicAreas,w as geodesicDensify,v as geodesicDistance,M as geodesicLengths,R as inverseGeodeticSolver,m as isSupported,z as pointFromDistance};
5
+ import"../../geometry.js";import e from"../../core/Error.js";import{convertUnit as t}from"../../core/unitUtils.js";import{toRadians as n,spheroids as i,WKT_SPHEROID_REGEX as s}from"./geodesicConstants.js";import{equals as a,isGeographic as r}from"./spatialReferenceUtils.js";import o from"../Polyline.js";import c from"../Polygon.js";import l from"../Point.js";import h from"../SpatialReference.js";function f(e){if(!e)return null;if(r(e)&&e.wkid){const t=i[e.wkid];if(t)return t}if(e.wkt){const t=p(e.wkt);if(t)return t}return null}function p(e){const t=s.exec(e);if(!t||2!==t.length)return null;const n=t[1].split(",");if(!n||n.length<3)return null;const i=parseFloat(n[1]),a=parseFloat(n[2]);if(isNaN(i)||isNaN(a))return null;return{a:i,f:0===a?0:1/a}}function u(e){const t=f(e||h.WGS84);if(d(t))return t;const n=t.a*(1-t.f);return Object.assign(t,{b:n,eSq:1-(n/t.a)**2,radius:(2*t.a+n)/3,densificationRatio:1e4/((2*t.a+n)/3)})}function d(e){return"b"in e&&"eSq"in e&&"radius"in e}function m(e){return e<0?e+360:e}function g(e,t,i){const{a:s,eSq:a}=u(i),r=Math.sqrt(a),o=Math.sin(t[1]*n),c=s*t[0]*n;let l;if(a>0){l=s*((1-a)*(o/(1-a*(o*o))-1/(2*r)*Math.log((1-r*o)/(1+r*o))))*.5}else l=s*o;return e[0]=c,e[1]=l,e}function M(e){return null!==f(e)}function w(n,i="square-meters"){if(n.some((e=>!M(e.spatialReference))))throw new e("geodesic-areas:invalid-spatial-reference","the input geometries spatial reference is not supported");const s=[];for(let e=0;e<n.length;e++){const t=n[e],i=t.spatialReference,{radius:a,densificationRatio:r}=u(i),o=a*r;s.push(R(t,o))}const a=[],r=[0,0],o=[0,0];for(let e=0;e<s.length;e++){const{rings:n,spatialReference:c}=s[e];let l=0;for(let e=0;e<n.length;e++){const t=n[e];g(r,t[0],c),g(o,t[t.length-1],c);let i=o[0]*r[1]-r[0]*o[1];for(let e=0;e<t.length-1;e++)g(r,t[e+1],c),g(o,t[e],c),i+=o[0]*r[1]-r[0]*o[1];l+=i}l=t(l,"square-meters",i),a.push(l/-2)}return a}function y(n,i="meters"){if(!n)throw new e("geodesic-lengths:invalid-geometries","the input geometries type is not supported");if(n.some((e=>!M(e.spatialReference))))throw new e("geodesic-lengths:invalid-spatial-reference","the input geometries spatial reference is not supported");const s=[];for(let e=0;e<n.length;e++){const a=n[e],{spatialReference:r}=a,o="polyline"===a.type?a.paths:a.rings;let c=0;for(let e=0;e<o.length;e++){const t=o[e];let n=0;for(let e=1;e<t.length;e++){const i=t[e-1][0],s=t[e][0],a=t[e-1][1],o=t[e][1];if(a!==o||i!==s){const e={distance:null};z(e,[i,a],[s,o],r),n+=e.distance}}c+=n}c=t(c,"meters",i),s.push(c)}return s}function R(t,n){if("polyline"!==t.type&&"polygon"!==t.type)throw new e("geodesic-densify:invalid-geometry","the input geometry is neither polyline nor polygon");const{spatialReference:i}=t;if(!M(i))throw new e("geodesic-densify:invalid-spatial-reference","the input geometry spatial reference is not supported");const s="polyline"===t.type?t.paths:t.rings,a=[],r=[0,0],l={distance:null};for(const e of s){const t=[];a.push(t),t.push([e[0][0],e[0][1]]);let s,o,c=e[0][0],h=e[0][1];for(let a=0;a<e.length-1;a++){if(s=e[a+1][0],o=e[a+1][1],c===s&&h===o)continue;const f=[c,h];z(l,[c,h],[s,o],i);const{azimuth:p,distance:u}=l,d=u/n;if(d>1){for(let e=1;e<=d-1;e++){v(r,f,p,e*n,i),t.push(r.slice(0))}v(r,f,p,(u+Math.floor(d-1)*n)/2,i),t.push(r.slice(0))}v(r,f,p,u,i),t.push(r.slice(0)),c=r[0],h=r[1]}}return"polyline"===t.type?new o({paths:a,spatialReference:i}):new c({rings:a,spatialReference:i})}function v(e,t,i,s,a){const r=t[0],o=t[1],c=r*n,l=o*n,h=i*n,{a:f,b:p,f:d}=u(a),m=Math.sin(h),g=Math.cos(h),M=(1-d)*Math.tan(l),w=1/Math.sqrt(1+M*M),y=M*w,R=Math.atan2(M,g),v=w*m,z=v*v,b=1-z,j=b*(f*f-p*p)/(p*p),q=1+j/16384*(4096+j*(j*(320-175*j)-768)),x=j/1024*(256+j*(j*(74-47*j)-128));let A,N,S,k,P=s/(p*q),F=2*Math.PI;for(;Math.abs(P-F)>1e-12;)S=Math.cos(2*R+P),A=Math.sin(P),N=Math.cos(P),k=x*A*(S+x/4*(N*(2*S*S-1)-x/6*S*(4*A*A-3)*(4*S*S-3))),F=P,P=s/(p*q)+k;const U=y*A-w*N*g,C=Math.atan2(y*N+w*A*g,(1-d)*Math.sqrt(z+U*U)),E=Math.atan2(A*m,w*N-y*A*g),G=d/16*b*(4+d*(4-3*b)),I=C/n,O=(c+(E-(1-G)*d*v*(P+G*A*(S+G*N*(2*S*S-1)))))/n;return e[0]=O,e[1]=I,e}function z(e,t,i,s){const a=t[0]*n,r=t[1]*n,o=i[0]*n,c=i[1]*n,{a:l,b:h,f,radius:p}=u(s),d=o-a,m=Math.atan((1-f)*Math.tan(r)),g=Math.atan((1-f)*Math.tan(c)),M=Math.sin(m),w=Math.cos(m),y=Math.sin(g),R=Math.cos(g);let v,z,b,j,q,x,A,N,S,k,P=1e3,F=d;do{if(A=Math.sin(F),N=Math.cos(F),b=Math.sqrt(R*A*(R*A)+(w*y-M*R*N)*(w*y-M*R*N)),0===b)return e.distance=0,e.azimuth=void 0,e.reverseAzimuth=void 0,e;q=M*y+w*R*N,x=Math.atan2(b,q),S=w*R*A/b,z=1-S*S,j=q-2*M*y/z,isNaN(j)&&(j=0),k=f/16*z*(4+f*(4-3*z)),v=F,F=d+(1-k)*f*S*(x+k*b*(j+k*q*(2*j*j-1)))}while(Math.abs(F-v)>1e-12&&--P>0);if(0===P){const t=p,i=Math.acos(Math.sin(r)*Math.sin(c)+Math.cos(r)*Math.cos(c)*Math.cos(o-a))*t,s=o-a,l=Math.sin(s)*Math.cos(c),h=Math.cos(r)*Math.sin(c)-Math.sin(r)*Math.cos(c)*Math.cos(s),f=Math.atan2(l,h);return e.azimuth=f/n,e.distance=i,e.reverseAzimuth=void 0,e}const U=z*(l*l-h*h)/(h*h),C=U/1024*(256+U*(U*(74-47*U)-128)),E=h*(1+U/16384*(4096+U*(U*(320-175*U)-768)))*(x-C*b*(j+C/4*(q*(2*j*j-1)-C/6*j*(4*b*b-3)*(4*j*j-3)))),G=Math.atan2(R*Math.sin(F),w*y-M*R*Math.cos(F)),I=Math.atan2(w*Math.sin(F),w*y*Math.cos(F)-M*R);return e.azimuth=G/n,e.distance=E,e.reverseAzimuth=I/n,e}function b(n,i,s="meters"){if(!n||!i)throw new e("geodesic-distance:missing-parameters","one or both input parameters are missing");if(!n.spatialReference||!i.spatialReference)throw new e("geodesic-distance:invalid-parameters","one or both input points do not have a spatial reference");if(!a(n.spatialReference,i.spatialReference))throw new e("geodesic-distance:invalid-parameters","spatial references of input parameters do not match");const{spatialReference:r}=n;if(!M(r))throw new e("geodesic-distance:not-supported","input geometry spatial reference is not supported");if(n.x===i.x&&n.y===i.y)return{distance:0,azimuth:0,reverseAzimuth:0};const o={distance:null};return z(o,[n.x,n.y],[i.x,i.y],r),o.distance=t(o.distance,"meters",s),o.azimuth=m(o.azimuth),o.reverseAzimuth=m(o.reverseAzimuth),o}function j(t,n,i){if(!t||null==n||null==i)throw new e("point-from-distance:missing-parameters","one or more input parameters are missing or undefined");if(i<0||i>360)throw new e("point-from-distance:-of-bounds","azimuth is restricted to angles between, and including, 0° to 360° degrees");if(!t.spatialReference)throw new e("point-from-distance:missing-spatial-reference","the input point must have a spatial reference");const{spatialReference:s}=t;if(!M(s))throw new e("geodesic-distance:not-supported","input geometry spatial reference is not supported");const a=[0,0];return v(a,[t.x,t.y],i,n,s),new l({x:a[0],y:a[1],spatialReference:s})}export{v as directGeodeticSolver,w as geodesicAreas,R as geodesicDensify,b as geodesicDistance,y as geodesicLengths,z as inverseGeodeticSolver,M as isSupported,j as pointFromDistance};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{clamp as n}from"../../core/mathUtils.js";import{isSome as t}from"../../core/maybe.js";import{c as r,k as c,b as o,n as e,e as u,f as i,g as f,a as s}from"../../chunks/vec3.js";import{c as a}from"../../chunks/vec3f64.js";import{g as I}from"../../chunks/sphere.js";import{sv4d as N,sv3d as M}from"./vectorStacks.js";function g(n=R){return[n[0],n[1],n[2],n[3]]}function m(n,t,r,c){return E(n,t,r,c,N.get())}function h(n,t){return E(t[0],t[1],t[2],t[3],n)}function E(n,t,r,c,o=g()){return o[0]=n,o[1]=t,o[2]=r,o[3]=c,o}function A(n,t,c){return r(c,n),c[3]=t,c}function F(n,t,r){const c=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],o=Math.abs(c-1)>1e-5&&c>1e-12?1/Math.sqrt(c):1;return r[0]=t[0]*o,r[1]=t[1]*o,r[2]=t[2]*o,r[3]=-(r[0]*n[0]+r[1]*n[1]+r[2]*n[2]),r}function T(n,t,r,c=g()){const o=r[0]-t[0],e=r[1]-t[1],u=r[2]-t[2],i=n[0]-t[0],f=n[1]-t[1],s=n[2]-t[2],a=e*s-u*f,I=u*i-o*s,N=o*f-e*i,M=a*a+I*I+N*N,m=Math.abs(M-1)>1e-5&&M>1e-12?1/Math.sqrt(M):1;c[0]=a*m,c[1]=I*m,c[2]=N*m,c[3]=-(c[0]*n[0]+c[1]*n[1]+c[2]*n[2])}function _(n,t){return p(n,t,0,1,2)}function p(n,t,r,i,f){if(n.count<3)return!1;n.getVec(r,j);let s=i,a=!1;for(;s<n.count-1&&!a;)n.getVec(s,v),s++,a=!c(j,v);if(!a)return!1;for(s=Math.max(s,f),a=!1;s<n.count&&!a;)n.getVec(s,k),s++,o(y,j,v),e(y,y),o(X,v,k),e(X,X),a=!c(j,k)&&!c(v,k)&&Math.abs(u(y,X))<b;return a?(T(j,v,k,t),!0):(0!==r||1!==i||2!==f)&&p(n,t,0,1,2)}const b=.99619469809,j=a(),v=a(),k=a(),y=a(),X=a();function C(n,t,r){return t!==n&&h(n,t),n[3]=-u(Q(n),r),n}function L(n,t){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t}function P(n,t,r,c){return i(k,t,n),F(r,k,c)}function d(n,t,r,c){return K(n,t,o(M.get(),r,t),Y,c)}function l(n,r,c){return!!t(r)&&K(n,r.origin,r.direction,Z,c)}function O(n,t,r){return K(n,t.origin,t.vector,W.NONE,r)}function V(n,t,r){return K(n,t.origin,t.vector,W.CLAMP,r)}function q(n,t){return J(n,I(t))-t[3]>=0}function x(n,t){return J(n,I(t))+t[3]<0}function S(n,t){return J(n,t)>=0}function U(n,t){return J(n,t)<0}function w(n,t){const r=t[0],c=t[1],o=t[2],e=t[3],u=t[4],i=t[5];return n[0]*(n[0]>0?r:e)+n[1]*(n[1]>0?c:u)+n[2]*(n[2]>0?o:i)+n[3]>=0}function z(n,t){const r=u(Q(n),t.ray.direction),c=-J(n,t.ray.origin);if(c<0&&r>=0)return!1;if(r>-1e-6&&r<1e-6)return c>0;if((c<0||r<0)&&!(c<0&&r<0))return!0;const o=c/r;return r>0?o<t.c1&&(t.c1=o):o>t.c0&&(t.c0=o),t.c0<=t.c1}function B(n,t){const r=u(Q(n),t.ray.direction),c=-J(n,t.ray.origin);if(r>-1e-6&&r<1e-6)return c>0;const o=c/r;return r>0?o<t.c1&&(t.c1=o):o>t.c0&&(t.c0=o),t.c0<=t.c1}function D(n,t,r){const c=f(M.get(),Q(n),-n[3]),e=G(n,o(M.get(),t,c),M.get());return s(r,e,c),r}function G(n,t,r){const c=f(M.get(),Q(n),u(Q(n),t));return o(r,t,c),r}function H(n,t){return Math.abs(J(n,t))}function J(n,t){return u(Q(n),t)+n[3]}function K(t,r,c,o,e){const i=u(Q(t),c);if(0===i)return!1;let a=-(u(Q(t),r)+t[3])/i;return o&W.CLAMP&&(a=n(a,0,1)),!(!(o&W.INFINITE_MIN)&&a<0||!(o&W.INFINITE_MAX)&&a>1)&&(s(e,r,f(e,c,a)),!0)}function Q(n){return n}const R=[0,0,1,0];var W;!function(n){n[n.NONE=0]="NONE",n[n.CLAMP=1]="CLAMP",n[n.INFINITE_MIN=4]="INFINITE_MIN",n[n.INFINITE_MAX=8]="INFINITE_MAX"}(W||(W={}));const Y=W.INFINITE_MIN|W.INFINITE_MAX,Z=W.INFINITE_MAX;export{R as UP,z as clip,B as clipInfinite,h as copy,g as create,H as distance,_ as fromManyPoints,p as fromManyPointsSampleAt,A as fromNormalAndOffset,T as fromPoints,F as fromPositionAndNormal,E as fromValues,P as fromVectorsAndPoint,d as intersectLine,O as intersectLineSegment,V as intersectLineSegmentClamp,l as intersectRay,w as isAABBFullyInside,S as isPointInside,U as isPointOutside,q as isSphereFullyInside,x as isSphereFullyOutside,L as negate,Q as normal,D as projectPoint,G as projectVector,C as setOffsetFromPoint,J as signedDistance,m as wrap};
5
+ import{clamp as t}from"../../core/mathUtils.js";import{isSome as n}from"../../core/maybe.js";import{c as r,k as o,b as c,n as e,e as u,f as i,g as f,a as s,s as a}from"../../chunks/vec3.js";import{c as I}from"../../chunks/vec3f64.js";import{g as N}from"../../chunks/sphere.js";import{projectPointSignedLength as m}from"./vector.js";import{sv4d as M,sv3d as g}from"./vectorStacks.js";import{tangentFrame as h}from"../../views/3d/support/mathUtils.js";function p(t=$){return[t[0],t[1],t[2],t[3]]}function E(t=$[0],n=$[1],r=$[2],o=$[3]){return F(t,n,r,o,M.get())}function A(t,n){return F(n[0],n[1],n[2],n[3],t)}function F(t,n,r,o,c=p()){return c[0]=t,c[1]=n,c[2]=r,c[3]=o,c}function T(t,n,o){return r(o,t),o[3]=n,o}function _(t,n,r){const o=n[0]*n[0]+n[1]*n[1]+n[2]*n[2],c=Math.abs(o-1)>1e-5&&o>1e-12?1/Math.sqrt(o):1;return r[0]=n[0]*c,r[1]=n[1]*c,r[2]=n[2]*c,r[3]=-(r[0]*t[0]+r[1]*t[1]+r[2]*t[2]),r}function j(t,n,r,o=p()){const c=r[0]-n[0],e=r[1]-n[1],u=r[2]-n[2],i=t[0]-n[0],f=t[1]-n[1],s=t[2]-n[2],a=e*s-u*f,I=u*i-c*s,N=c*f-e*i,m=a*a+I*I+N*N,M=Math.abs(m-1)>1e-5&&m>1e-12?1/Math.sqrt(m):1;return o[0]=a*M,o[1]=I*M,o[2]=N*M,o[3]=-(o[0]*t[0]+o[1]*t[1]+o[2]*t[2]),o}function v(t,n){return b(t,n,0,1,2)}function b(t,n,r,i,f){if(t.count<3)return!1;t.getVec(r,y);let s=i,a=!1;for(;s<t.count-1&&!a;)t.getVec(s,X),s++,a=!o(y,X);if(!a)return!1;for(s=Math.max(s,f),a=!1;s<t.count&&!a;)t.getVec(s,d),s++,c(l,y,X),e(l,l),c(C,X,d),e(C,C),a=!o(y,d)&&!o(X,d)&&Math.abs(u(l,C))<k;return a?(j(y,X,d,n),!0):(0!==r||1!==i||2!==f)&&b(t,n,0,1,2)}const k=.99619469809,y=I(),X=I(),d=I(),l=I(),C=I();function L(t,n,r){return n!==t&&A(t,n),t[3]=-u(Z(t),r),t}function P(t,n){return n[0]=-t[0],n[1]=-t[1],n[2]=-t[2],n[3]=-t[3],n}function O(t,n,r,o){return i(d,n,t),_(r,d,o)}function V(t,n,r,o){return Y(t,n,c(g.get(),r,n),nt,o)}function q(t,r,o){return!!n(r)&&Y(t,r.origin,r.direction,rt,o)}function x(t,n,r){return Y(t,n.origin,n.vector,tt.NONE,r)}function U(t,n,r){return Y(t,n.origin,n.vector,tt.CLAMP,r)}function w(t,n){return W(t,N(n))-n[3]>=0}function S(t,n){return W(t,N(n))+n[3]<0}function z(t,n){return W(t,n)>=0}function B(t,n){return W(t,n)<0}function D(t,n){const r=n[0],o=n[1],c=n[2],e=n[3],u=n[4],i=n[5];return t[0]*(t[0]>0?r:e)+t[1]*(t[1]>0?o:u)+t[2]*(t[2]>0?c:i)+t[3]>=0}function G(t,n){const r=u(Z(t),n.ray.direction),o=-W(t,n.ray.origin);if(o<0&&r>=0)return!1;if(r>-1e-6&&r<1e-6)return o>0;if((o<0||r<0)&&!(o<0&&r<0))return!0;const c=o/r;return r>0?c<n.c1&&(n.c1=c):c>n.c0&&(n.c0=c),n.c0<=n.c1}function H(t,n){const r=u(Z(t),n.ray.direction),o=-W(t,n.ray.origin);if(r>-1e-6&&r<1e-6)return o>0;const c=o/r;return r>0?c<n.c1&&(n.c1=c):c>n.c0&&(n.c0=c),n.c0<=n.c1}function J(t,n,r){const o=f(g.get(),Z(t),-t[3]),e=Q(t,c(g.get(),n,o),g.get());return s(r,e,o),r}function K(t,n,r,o){const e=Z(t),u=g.get(),i=g.get();h(e,u,i);const f=c(g.get(),r,n),s=m(u,f),I=m(i,f),N=m(e,f);return a(o,s,I,N)}function Q(t,n,r){const o=f(g.get(),Z(t),u(Z(t),n));return c(r,n,o),r}function R(t,n){return Math.abs(W(t,n))}function W(t,n){return u(Z(t),n)+t[3]}function Y(n,r,o,c,e){const i=u(Z(n),o);if(0===i)return!1;let a=-(u(Z(n),r)+n[3])/i;return c&tt.CLAMP&&(a=t(a,0,1)),!(!(c&tt.INFINITE_MIN)&&a<0||!(c&tt.INFINITE_MAX)&&a>1)&&(s(e,r,f(e,o,a)),!0)}function Z(t){return t}const $=[0,0,1,0];var tt;!function(t){t[t.NONE=0]="NONE",t[t.CLAMP=1]="CLAMP",t[t.INFINITE_MIN=4]="INFINITE_MIN",t[t.INFINITE_MAX=8]="INFINITE_MAX"}(tt||(tt={}));const nt=tt.INFINITE_MIN|tt.INFINITE_MAX,rt=tt.INFINITE_MAX;export{$ as UP,G as clip,H as clipInfinite,A as copy,p as create,R as distance,v as fromManyPoints,b as fromManyPointsSampleAt,T as fromNormalAndOffset,j as fromPoints,_ as fromPositionAndNormal,F as fromValues,O as fromVectorsAndPoint,V as intersectLine,x as intersectLineSegment,U as intersectLineSegmentClamp,q as intersectRay,D as isAABBFullyInside,z as isPointInside,B as isPointOutside,w as isSphereFullyInside,S as isSphereFullyOutside,P as negate,Z as normal,J as projectPoint,K as projectPointLocal,Q as projectVector,L as setOffsetFromPoint,W as signedDistance,E as wrap};