@arcgis/core 5.2.0-next.87 → 5.2.0-next.89

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 (679) hide show
  1. package/Graphic.js +1 -1
  2. package/arcade/Dictionary.js +1 -1
  3. package/arcade/Feature.js +1 -1
  4. package/arcade/ImmutablePointArray.js +1 -1
  5. package/arcade/Pixel.js +1 -1
  6. package/arcade/Voxel.js +1 -1
  7. package/arcade/arcadeAsyncRuntime.js +1 -1
  8. package/arcade/arcadeCompiler.js +1 -1
  9. package/arcade/arcadeRuntime.js +1 -1
  10. package/arcade/containerUtils.js +1 -1
  11. package/arcade/debug.js +1 -1
  12. package/arcade/deepClone.js +1 -1
  13. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  14. package/arcade/featureset/support/FeatureSet.js +1 -1
  15. package/arcade/functions/centroid.js +1 -1
  16. package/arcade/functions/date.js +1 -1
  17. package/arcade/functions/feature.js +1 -1
  18. package/arcade/functions/featuresetbase.js +1 -1
  19. package/arcade/functions/featuresetgeom.js +1 -1
  20. package/arcade/functions/featuresetstats.js +1 -1
  21. package/arcade/functions/featuresetstring.js +1 -1
  22. package/arcade/functions/fieldStats.js +1 -1
  23. package/arcade/functions/geomasync.js +1 -1
  24. package/arcade/functions/geometry.js +1 -1
  25. package/arcade/functions/geomsync.js +1 -1
  26. package/arcade/functions/knowledgegraph.js +1 -1
  27. package/arcade/functions/maths.js +1 -1
  28. package/arcade/functions/stats.js +1 -1
  29. package/arcade/functions/string.js +1 -1
  30. package/arcade/functions/track.js +1 -1
  31. package/arcade/geometry/adapters/accessor.js +2 -0
  32. package/arcade/geometry/adapters/dehydrated.js +2 -0
  33. package/arcade/geometry/adapters/gx.js +2 -0
  34. package/arcade/geometry/adapters/json.js +2 -0
  35. package/arcade/geometry/adapters/optimized.js +2 -0
  36. package/arcade/geometry/adapters/tuple.js +2 -0
  37. package/arcade/geometry/adapters/utils.js +2 -0
  38. package/arcade/geometry/arrayOfPointsConversions.js +2 -0
  39. package/arcade/geometry/constructors.js +1 -1
  40. package/arcade/geometry/functions.js +1 -1
  41. package/arcade/geometry/isSelfIntersecting.js +2 -0
  42. package/arcade/geometry/nearestCoordinate.js +2 -0
  43. package/arcade/geometry/nearestVertex.js +1 -1
  44. package/arcade/geometry/operators.js +1 -1
  45. package/arcade/geometry/operatorsWorker.js +1 -1
  46. package/arcade/geometry/rotate.js +1 -1
  47. package/arcade/geometry.js +2 -0
  48. package/arcade/languageUtils.js +1 -1
  49. package/arcade.js +1 -1
  50. package/arcgisGlobal.d.ts +1 -0
  51. package/assets/esri/core/workers/RemoteClient.js +1 -1
  52. package/assets/esri/core/workers/chunks/{0b8c9657975388f1e4c8.js → 00181785a180e934bf7c.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{01e648b258efa6408070.js → 0336f4f8498a22347720.js} +1 -1
  54. package/assets/esri/core/workers/chunks/05393b23ab24126d4236.js +1 -0
  55. package/assets/esri/core/workers/chunks/07613ecf13c38ad58b79.js +1 -0
  56. package/assets/esri/core/workers/chunks/08263c07d92c48806834.js +1 -0
  57. package/assets/esri/core/workers/chunks/090ea7a131f8f60203ed.js +1 -0
  58. package/assets/esri/core/workers/chunks/09e01fd1c199be0c8e03.js +1 -0
  59. package/assets/esri/core/workers/chunks/{12d6d73ca1fa55640a4f.js → 0b4a7209b99227a842ad.js} +1 -1
  60. package/assets/esri/core/workers/chunks/0d95f72e1c07ab867d21.js +1 -0
  61. package/assets/esri/core/workers/chunks/0dbbac7a2378728571a7.js +1 -0
  62. package/assets/esri/core/workers/chunks/0f15468ffefd3e9a17b8.js +29 -0
  63. package/assets/esri/core/workers/chunks/13e92f6a9573a2818fb7.js +1 -0
  64. package/assets/esri/core/workers/chunks/159b16f47665f94a0305.js +1 -0
  65. package/assets/esri/core/workers/chunks/15f4f7e34e14e3cf52e6.js +1 -0
  66. package/assets/esri/core/workers/chunks/19e93d4d37018e3ee849.js +1 -0
  67. package/assets/esri/core/workers/chunks/{911f3a1b8dd4bc5c9782.js → 1bf5c0a4bc5a960a3fa2.js} +1 -1
  68. package/assets/esri/core/workers/chunks/1bf967c68d0c795d3fb4.js +1 -0
  69. package/assets/esri/core/workers/chunks/1c378d489c5402888f76.js +1 -0
  70. package/assets/esri/core/workers/chunks/1d1e8d8b1fcf2d9f3dfc.js +1 -0
  71. package/assets/esri/core/workers/chunks/{e5c8f9fef88ca33624e9.js → 1e087fb13b7b0a5d6fec.js} +1 -1
  72. package/assets/esri/core/workers/chunks/1e192ac0533a5c0b5a7a.js +1 -0
  73. package/assets/esri/core/workers/chunks/1f9d6180a96d557838e9.js +1 -0
  74. package/assets/esri/core/workers/chunks/1fe077f57a087c0e9119.js +1 -0
  75. package/assets/esri/core/workers/chunks/20f6e681ccd8bf884b77.js +1 -0
  76. package/assets/esri/core/workers/chunks/212222b64039d436b9a6.js +1 -0
  77. package/assets/esri/core/workers/chunks/22c94f9a69b2157f8dbd.js +1 -0
  78. package/assets/esri/core/workers/chunks/23addf8b11938e0c96e9.js +1 -0
  79. package/assets/esri/core/workers/chunks/25a2e02677a74834c8b5.js +1 -0
  80. package/assets/esri/core/workers/chunks/26ecc841396e5e719b6a.js +1 -0
  81. package/assets/esri/core/workers/chunks/27c0bed59626c7f64125.js +1 -0
  82. package/assets/esri/core/workers/chunks/2bc3e7f394386fa75447.js +1 -0
  83. package/assets/esri/core/workers/chunks/2c9783e3b44986e86797.js +1 -0
  84. package/assets/esri/core/workers/chunks/2ceb07b125c84b51f02a.js +1 -0
  85. package/assets/esri/core/workers/chunks/2cf2f2842c19be84ab4d.js +1 -0
  86. package/assets/esri/core/workers/chunks/2d07d5a9ec67c39ef10c.js +1 -0
  87. package/assets/esri/core/workers/chunks/{a7c715648a07ed70b122.js → 2ec44ebc48beeba11201.js} +1 -1
  88. package/assets/esri/core/workers/chunks/2f2d699b072472fa710e.js +1 -0
  89. package/assets/esri/core/workers/chunks/2f3bbc1f7d4abbbeec2f.js +1 -0
  90. package/assets/esri/core/workers/chunks/30af0f7c4cfa541c9efd.js +1 -0
  91. package/assets/esri/core/workers/chunks/30d816bdeea00f6fa1ca.js +1 -0
  92. package/assets/esri/core/workers/chunks/{39c0a3eb6a870953d530.js → 31a0620a6028e94c7532.js} +3 -3
  93. package/assets/esri/core/workers/chunks/32f11b4aeae1ef00e466.js +1 -0
  94. package/assets/esri/core/workers/chunks/37adb55d9f83faad1712.js +1 -0
  95. package/assets/esri/core/workers/chunks/3869dca884d7ca6488f5.js +1 -0
  96. package/assets/esri/core/workers/chunks/39b6a5222f45cb8dbc94.js +1 -0
  97. package/assets/esri/core/workers/chunks/3a9c6f58a1a065c14017.js +1 -0
  98. package/assets/esri/core/workers/chunks/3aceedec9abfb2fdfa18.js +1 -0
  99. package/assets/esri/core/workers/chunks/3b552afffaa78bf4fe18.js +1 -0
  100. package/assets/esri/core/workers/chunks/{fe06cc2f90b2d551e4c1.js → 3bbd2d4a19c3b7ad82e4.js} +1 -1
  101. package/assets/esri/core/workers/chunks/3de07326da4c47cd2aab.js +1 -0
  102. package/assets/esri/core/workers/chunks/3f5234120d3a14186c1c.js +1 -0
  103. package/assets/esri/core/workers/chunks/3f82410d9f701e7ad8eb.js +1 -0
  104. package/assets/esri/core/workers/chunks/{dbd6bbd3e834ff9d220e.js → 41cf6163758d28fb1968.js} +1 -1
  105. package/assets/esri/core/workers/chunks/45858d1c6487f4a98e40.js +1 -0
  106. package/assets/esri/core/workers/chunks/45c1c90ac6c14657f3ff.js +1 -0
  107. package/assets/esri/core/workers/chunks/46f8c7ae7fb356c3410d.js +1 -0
  108. package/assets/esri/core/workers/chunks/486f1a3b7269ce6c3911.js +1 -0
  109. package/assets/esri/core/workers/chunks/497c5a9c95e9a89ac217.js +1 -0
  110. package/assets/esri/core/workers/chunks/49d36e54644dc2966128.js +1 -0
  111. package/assets/esri/core/workers/chunks/4aefe6fd4d725a107758.js +1 -0
  112. package/assets/esri/core/workers/chunks/4b6f433022a6822706cb.js +1 -0
  113. package/assets/esri/core/workers/chunks/4c7264e3f4156f92d613.js +1 -0
  114. package/assets/esri/core/workers/chunks/4ee99e654dad6f09abee.js +1 -0
  115. package/assets/esri/core/workers/chunks/50525b617ef78086d3c7.js +1 -0
  116. package/assets/esri/core/workers/chunks/{a7727a2377470d586ff9.js → 51c9bd7c03d780fadebc.js} +1 -1
  117. package/assets/esri/core/workers/chunks/5235b9c21ac4156c2375.js +1 -0
  118. package/assets/esri/core/workers/chunks/52422500ca3d6cf2e596.js +1 -0
  119. package/assets/esri/core/workers/chunks/527b87fddf33bb5d519e.js +1 -0
  120. package/assets/esri/core/workers/chunks/{a4bae2396fae48b57047.js → 595edbc1e9bba47d5676.js} +1 -1
  121. package/assets/esri/core/workers/chunks/5af16937904c06fb06f6.js +1 -0
  122. package/assets/esri/core/workers/chunks/5bf65dbfd9c7a5ea187d.js +1 -0
  123. package/assets/esri/core/workers/chunks/5d7a5aa608ed6192b016.js +1 -0
  124. package/assets/esri/core/workers/chunks/5d9c92c4e60a4696fdad.js +1 -0
  125. package/assets/esri/core/workers/chunks/5ed7bc9e6cb7cdee92e2.js +1 -0
  126. package/assets/esri/core/workers/chunks/{272c8ccdbd3dcc14e99b.js → 5ed89c862eee1345e3af.js} +1 -1
  127. package/assets/esri/core/workers/chunks/5fbd7d8d8896a224fff3.js +1 -0
  128. package/assets/esri/core/workers/chunks/607acd9f615f87e14075.js +1 -0
  129. package/assets/esri/core/workers/chunks/62ee6c247f783acabb74.js +1 -0
  130. package/assets/esri/core/workers/chunks/64ce2d060ae7cdd412cf.js +1 -0
  131. package/assets/esri/core/workers/chunks/65f4ca7201e7267bfc81.js +1 -0
  132. package/assets/esri/core/workers/chunks/67efdd296007a809586c.js +1 -0
  133. package/assets/esri/core/workers/chunks/680557b8832fbdab7f46.js +1 -0
  134. package/assets/esri/core/workers/chunks/691434d4c6a38e63d819.js +1 -0
  135. package/assets/esri/core/workers/chunks/{ba67aaa08e4f11e1140a.js → 696cb3bf167327d5b0b9.js} +1 -1
  136. package/assets/esri/core/workers/chunks/69700ed16727ed0c4e3a.js +1 -0
  137. package/assets/esri/core/workers/chunks/6a2d890640b2cd6c5ccb.js +1 -0
  138. package/assets/esri/core/workers/chunks/6b84982dfaf084a61b93.js +1 -0
  139. package/assets/esri/core/workers/chunks/{7343a44a2382a1d68497.js → 6b9dbf43c0659e55c539.js} +1 -1
  140. package/assets/esri/core/workers/chunks/6de5c6af62776e1b9776.js +1 -0
  141. package/assets/esri/core/workers/chunks/71308dca3fd05687e7bd.js +1 -0
  142. package/assets/esri/core/workers/chunks/75bddfe2be64379db8fd.js +1 -0
  143. package/assets/esri/core/workers/chunks/777f2fdf1f4b9f243893.js +1 -0
  144. package/assets/esri/core/workers/chunks/78085f804969c9282700.js +1 -0
  145. package/assets/esri/core/workers/chunks/7aa9b61ca9b66f30449f.js +1 -0
  146. package/assets/esri/core/workers/chunks/7c56446184abcd14678b.js +1 -0
  147. package/assets/esri/core/workers/chunks/7e41cee4a0ae75e1490d.js +1 -0
  148. package/assets/esri/core/workers/chunks/7f55a150e4da02786311.js +1 -0
  149. package/assets/esri/core/workers/chunks/847b02d188ece9b563ad.js +1 -0
  150. package/assets/esri/core/workers/chunks/86c3d3c7015f1cd55fac.js +1 -0
  151. package/assets/esri/core/workers/chunks/87e0ceb1a64ab08e679a.js +1 -0
  152. package/assets/esri/core/workers/chunks/903c7bd079888f65fef1.js +1 -0
  153. package/assets/esri/core/workers/chunks/9226205850e35b7fc610.js +1 -0
  154. package/assets/esri/core/workers/chunks/94453d075ce02eff4844.js +1 -0
  155. package/assets/esri/core/workers/chunks/9474c913e53f69679197.js +1 -0
  156. package/assets/esri/core/workers/chunks/94ddfe165ac25aef8229.js +1 -0
  157. package/assets/esri/core/workers/chunks/{75a2c43311f5f9058f62.js → 94f62ff81cc6fb83e73f.js} +1 -1
  158. package/assets/esri/core/workers/chunks/95ccac3734ac70387b03.js +1 -0
  159. package/assets/esri/core/workers/chunks/97c7dfd29ad4c2966cb4.js +1 -0
  160. package/assets/esri/core/workers/chunks/{1354b8442c2c501238f1.js → 986c5024f22bbfc49aba.js} +1 -1
  161. package/assets/esri/core/workers/chunks/9b81bd62a2c72f592db1.js +1 -0
  162. package/assets/esri/core/workers/chunks/{62596065747abce1964d.js → 9b8e33985310f281f084.js} +1 -1
  163. package/assets/esri/core/workers/chunks/9e2b3754a76e0dd4a94a.js +1 -0
  164. package/assets/esri/core/workers/chunks/a03e7333e3328036f478.js +1 -0
  165. package/assets/esri/core/workers/chunks/a0565137027c83108953.js +1 -0
  166. package/assets/esri/core/workers/chunks/a176727a1148ca4fb432.js +1 -0
  167. package/assets/esri/core/workers/chunks/a3b403f8acb90af19adb.js +1 -0
  168. package/assets/esri/core/workers/chunks/a4596f028758649da099.js +1 -0
  169. package/assets/esri/core/workers/chunks/a46ac0be9aabc4cfedc7.js +1 -0
  170. package/assets/esri/core/workers/chunks/a4a22149077c7780481c.js +1 -0
  171. package/assets/esri/core/workers/chunks/a6ab627e965fe7e5bd52.js +1 -0
  172. package/assets/esri/core/workers/chunks/a6d4132a16c51323a38a.js +1 -0
  173. package/assets/esri/core/workers/chunks/a7954ad55a241af9064f.js +1 -0
  174. package/assets/esri/core/workers/chunks/a7e6382ecc91c876117f.js +1 -0
  175. package/assets/esri/core/workers/chunks/a88bf8ae93077e1b48cf.js +1 -0
  176. package/assets/esri/core/workers/chunks/a8b878c12cb1a6ea012b.js +1 -0
  177. package/assets/esri/core/workers/chunks/{ec0803cfa5051c4d300d.js → aa0ef4493a7e9bed159f.js} +1 -1
  178. package/assets/esri/core/workers/chunks/aa8ab28e0c1ae3b55ac0.js +1 -0
  179. package/assets/esri/core/workers/chunks/add834f867900a7091d2.js +1 -0
  180. package/assets/esri/core/workers/chunks/{bbf4c2ee4d56bb0f1a81.js → afa6b74d9ca9ed0154af.js} +1 -1
  181. package/assets/esri/core/workers/chunks/b0e25ccb5a1e57a82628.js +1 -0
  182. package/assets/esri/core/workers/chunks/b17a9853250ab626d58d.js +1 -0
  183. package/assets/esri/core/workers/chunks/b19cff0e43fab2632660.js +1 -0
  184. package/assets/esri/core/workers/chunks/b2e2234fdf8e05bc3312.js +1 -0
  185. package/assets/esri/core/workers/chunks/b6063d1755def00d4889.js +1 -0
  186. package/assets/esri/core/workers/chunks/bb56ab53c5a10c9518a6.js +1 -0
  187. package/assets/esri/core/workers/chunks/bd1a7e95a797e1ed4a7b.js +1 -0
  188. package/assets/esri/core/workers/chunks/bd2602195e265f8fdb15.js +1 -0
  189. package/assets/esri/core/workers/chunks/bdfffa5f88b559a4b42d.js +1 -0
  190. package/assets/esri/core/workers/chunks/{f762f0f6c83748d8e328.js → bee411f08e2a9499f8f5.js} +1 -1
  191. package/assets/esri/core/workers/chunks/bf11319138facf44752c.js +1 -0
  192. package/assets/esri/core/workers/chunks/bf357afbabaa8dec4d75.js +1 -0
  193. package/assets/esri/core/workers/chunks/bf7875fda48b15271a10.js +1 -0
  194. package/assets/esri/core/workers/chunks/bfa59005a9b191d18546.js +1 -0
  195. package/assets/esri/core/workers/chunks/bfb8fc6b940bd5510e29.js +1 -0
  196. package/assets/esri/core/workers/chunks/{b311658b8a223efe35d6.js → c0e073a77484b0dfd383.js} +1 -1
  197. package/assets/esri/core/workers/chunks/c13aa45ccd5efb662f88.js +1 -0
  198. package/assets/esri/core/workers/chunks/c176df477bbbbc9c6922.js +1 -0
  199. package/assets/esri/core/workers/chunks/{073224c6ac77dc9e97af.js → c23943e51734254d31e8.js} +1 -1
  200. package/assets/esri/core/workers/chunks/c35553d07ad169910742.js +1 -0
  201. package/assets/esri/core/workers/chunks/c4fef90cf08bbe4f0bb5.js +1 -0
  202. package/assets/esri/core/workers/chunks/c5c2fed38e0ccf84f1fa.js +1 -0
  203. package/assets/esri/core/workers/chunks/c80277a313205853a857.js +1 -0
  204. package/assets/esri/core/workers/chunks/c88bfa51d2a8a024fc24.js +1 -0
  205. package/assets/esri/core/workers/chunks/c91042f8bf886056a29c.js +1 -0
  206. package/assets/esri/core/workers/chunks/ca204c110438f7315790.js +1 -0
  207. package/assets/esri/core/workers/chunks/ca36d85a47179d95f2fc.js +1 -0
  208. package/assets/esri/core/workers/chunks/cb6fb04fe5c8d90d4196.js +1 -0
  209. package/assets/esri/core/workers/chunks/ccaeabc3be07f3c96f50.js +1 -0
  210. package/assets/esri/core/workers/chunks/{85f459297b0214141d43.js → cd02a6078443b8f63927.js} +1 -1
  211. package/assets/esri/core/workers/chunks/{3a36c132ceddef3d15c8.js → cdbcc4cd9145dd93db49.js} +1 -1
  212. package/assets/esri/core/workers/chunks/{e90feee1756a2209f93f.js → ce9fe1a89b474f9e7ee7.js} +1 -1
  213. package/assets/esri/core/workers/chunks/d0cf9ff48f051adbd455.js +1 -0
  214. package/assets/esri/core/workers/chunks/d119671a32a050517cca.js +1 -0
  215. package/assets/esri/core/workers/chunks/d26be8313526ecea9c68.js +1 -0
  216. package/assets/esri/core/workers/chunks/d270b49c037085503016.js +1 -0
  217. package/assets/esri/core/workers/chunks/{f5eee6e548bb24b5a003.js → d30a7fc8dab4ebb8893b.js} +1 -1
  218. package/assets/esri/core/workers/chunks/d344c3fd9f6b113bbcd7.js +1 -0
  219. package/assets/esri/core/workers/chunks/d36bbda9b7261534568f.js +1 -0
  220. package/assets/esri/core/workers/chunks/d4b0012ae1d3b8a9ba01.js +1 -0
  221. package/assets/esri/core/workers/chunks/d58d6b55b2749a535eb3.js +1 -0
  222. package/assets/esri/core/workers/chunks/d6f7aa280f1bd201d4ef.js +1 -0
  223. package/assets/esri/core/workers/chunks/{60f490afdbe299f89669.js → d871572997600930e017.js} +1 -1
  224. package/assets/esri/core/workers/chunks/da9aacdb0b4a04f42fb8.js +1 -0
  225. package/assets/esri/core/workers/chunks/daf7b647bd960d8bad56.js +1 -0
  226. package/assets/esri/core/workers/chunks/{10ac92dcd3738ec23dfb.js → db04c1bad40d068306ba.js} +1 -1
  227. package/assets/esri/core/workers/chunks/{3427f0c026301bcf7272.js → db180f8d25471cfa48af.js} +1 -1
  228. package/assets/esri/core/workers/chunks/ddf284648a73b6993737.js +1 -0
  229. package/assets/esri/core/workers/chunks/dfbe0efe453587ec5eb2.js +1 -0
  230. package/assets/esri/core/workers/chunks/e1682e94cc714197ebb4.js +1 -0
  231. package/assets/esri/core/workers/chunks/e2576c37cf13dc421f69.js +1 -0
  232. package/assets/esri/core/workers/chunks/e370a3337b3c90240e73.js +1 -0
  233. package/assets/esri/core/workers/chunks/e39bccc000c768120a32.js +1 -0
  234. package/assets/esri/core/workers/chunks/e40e08029325f43452d0.js +1 -0
  235. package/assets/esri/core/workers/chunks/e50adcfb392adfb3f79c.js +1 -0
  236. package/assets/esri/core/workers/chunks/{0d7d54e74b5639a0be6e.js → e707534a700a2de687ca.js} +1 -1
  237. package/assets/esri/core/workers/chunks/e823c9ccb7bc348d8824.js +1 -0
  238. package/assets/esri/core/workers/chunks/e88eee4c2fc4229c2a8b.js +1 -0
  239. package/assets/esri/core/workers/chunks/e9f29019aa78f07ace66.js +1 -0
  240. package/assets/esri/core/workers/chunks/ea75c23c44452f45a949.js +1 -0
  241. package/assets/esri/core/workers/chunks/ea91c57a0b31f3f65ee5.js +1 -0
  242. package/assets/esri/core/workers/chunks/eda04911553cf99fb99b.js +1 -0
  243. package/assets/esri/core/workers/chunks/ee77999df3785468b2b6.js +1 -0
  244. package/assets/esri/core/workers/chunks/ef851a2cff76fd211c07.js +1 -0
  245. package/assets/esri/core/workers/chunks/f106cc7f559856f69b9f.js +1 -0
  246. package/assets/esri/core/workers/chunks/f247f3c5148fa0237a7c.js +1 -0
  247. package/assets/esri/core/workers/chunks/{a26dc2647a15b830390e.js → f253875feb11883deb84.js} +1 -1
  248. package/assets/esri/core/workers/chunks/f3716ce04d09af31cfb1.js +1 -0
  249. package/assets/esri/core/workers/chunks/f3d57c5b9dffd12e45b4.js +1 -0
  250. package/assets/esri/core/workers/chunks/f3e53be08ab9dbdf17ae.js +1 -0
  251. package/assets/esri/core/workers/chunks/f43ae1c2f89e1c4396cc.js +1 -0
  252. package/assets/esri/core/workers/chunks/f60ed579981913d44675.js +1 -0
  253. package/assets/esri/core/workers/chunks/{147d1e7e2852a4197e5f.js → f665fb4c5633e0a459d8.js} +1 -1
  254. package/assets/esri/core/workers/chunks/f66e597e524b26e61cd3.js +1 -0
  255. package/assets/esri/core/workers/chunks/{bec140a69cfdb0519680.js → f74c7cbe4bd12f73ae90.js} +1 -1
  256. package/assets/esri/core/workers/chunks/{e6f6b38eda34708d61c5.js → f7f2102b16d201e5f531.js} +1 -1
  257. package/assets/esri/core/workers/chunks/f82ae237452b97cfc024.js +1 -0
  258. package/assets/esri/core/workers/chunks/f83c3597e9332bd991eb.js +1 -0
  259. package/assets/esri/core/workers/chunks/f8a6d8cdcabcd1d511b6.js +1 -0
  260. package/assets/esri/core/workers/chunks/f8f7b86bbd62106bc3d4.js +1 -0
  261. package/assets/esri/core/workers/chunks/f9a4387f850d85c44ca5.js +1 -0
  262. package/assets/esri/core/workers/chunks/fbc7576ed12964059da6.js +1 -0
  263. package/assets/esri/core/workers/chunks/fdd0e6d9927d3c43b0d3.js +1 -0
  264. package/assets/esri/core/workers/chunks/fddcb8be714ad18ad0c8.js +1 -0
  265. package/assets/esri/core/workers/chunks/{baa46edd87e97f922128.js → ffe749d790320dddfa74.js} +1 -1
  266. package/chunks/Bufferer-CclWhXVb.js +1 -1
  267. package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
  268. package/chunks/Envelope.js +1 -1
  269. package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
  270. package/chunks/GeodeticUtils.js +1 -1
  271. package/chunks/GeographicTransformation.js +1 -1
  272. package/chunks/Geometry.js +1 -1
  273. package/chunks/GlowComposite.glsl.js +9 -7
  274. package/chunks/MultiPathImpl.js +1 -1
  275. package/chunks/OperatorCentroid2D.js +1 -1
  276. package/chunks/OperatorContains.js +2 -0
  277. package/chunks/OperatorCrosses.js +1 -1
  278. package/chunks/OperatorCut.js +1 -1
  279. package/chunks/OperatorDisjoint.js +2 -0
  280. package/chunks/OperatorDistance.js +2 -0
  281. package/chunks/OperatorEquals.js +2 -0
  282. package/chunks/OperatorGeodesicBuffer.js +1 -1
  283. package/chunks/OperatorGeodeticArea.js +1 -1
  284. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  285. package/chunks/OperatorGeodeticLength.js +1 -1
  286. package/chunks/OperatorGraphicBuffer.js +1 -1
  287. package/chunks/OperatorIntegrate.js +1 -1
  288. package/chunks/OperatorIntersects.js +1 -1
  289. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  290. package/chunks/OperatorOverlaps.js +1 -1
  291. package/chunks/OperatorProximity.js +1 -1
  292. package/chunks/OperatorProximityGeodesic.js +1 -1
  293. package/chunks/OperatorRelate.js +2 -0
  294. package/chunks/OperatorShapePreservingLength.js +1 -1
  295. package/chunks/OperatorShapePreservingProject.js +1 -1
  296. package/chunks/OperatorSimplifyOGC.js +1 -1
  297. package/chunks/OperatorTouches.js +1 -1
  298. package/chunks/OperatorWithin.js +1 -1
  299. package/chunks/Point2D.js +1 -1
  300. package/chunks/ProjectionTransformation.js +1 -1
  301. package/chunks/SideCalculator2D-DX0718xq.js +1 -1
  302. package/chunks/UnitFactory.js +1 -1
  303. package/chunks/aiServices.js +1 -1
  304. package/chunks/array.js +1 -1
  305. package/chunks/boundedPlane.js +1 -1
  306. package/chunks/cameraUtilsSpherical.js +1 -1
  307. package/chunks/languageUtils.js +1 -1
  308. package/config.js +1 -1
  309. package/core/accessorSupport/Property.js +1 -1
  310. package/core/sql/TimeOnly.js +1 -1
  311. package/core/units.js +1 -1
  312. package/editing/sharedTemplates/executor/builders/bufferLineToPolygon.js +1 -1
  313. package/editing/sharedTemplates/executor/builders/bufferPointToPolygon.js +1 -1
  314. package/editing/sharedTemplates/executor/builders/bufferPolygonToPolygon.js +1 -1
  315. package/editing/sharedTemplates/executor/builders/pointAtIntersectionVerticesOfLine.js +1 -1
  316. package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
  317. package/form/elements/inputs/inputUtils.js +1 -1
  318. package/geometry/operators/areaOperator.js +1 -1
  319. package/geometry/operators/bufferOperator.js +1 -1
  320. package/geometry/operators/centroidOperator.js +1 -1
  321. package/geometry/operators/clipOperator.js +1 -1
  322. package/geometry/operators/containsOperator.js +1 -1
  323. package/geometry/operators/convexHullOperator.js +1 -1
  324. package/geometry/operators/crossesOperator.js +1 -1
  325. package/geometry/operators/cutOperator.js +1 -1
  326. package/geometry/operators/densifyOperator.js +1 -1
  327. package/geometry/operators/differenceOperator.js +1 -1
  328. package/geometry/operators/disjointOperator.js +1 -1
  329. package/geometry/operators/distanceOperator.js +1 -1
  330. package/geometry/operators/equalsOperator.js +1 -1
  331. package/geometry/operators/generalizeOperator.js +1 -1
  332. package/geometry/operators/geodesicBufferOperator.js +1 -1
  333. package/geometry/operators/geodeticAreaOperator.js +1 -1
  334. package/geometry/operators/geodeticDensifyOperator.js +1 -1
  335. package/geometry/operators/geodeticDistanceOperator.js +1 -1
  336. package/geometry/operators/geodeticLengthOperator.js +1 -1
  337. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  338. package/geometry/operators/gx/operatorBuffer.js +1 -1
  339. package/geometry/operators/gx/operatorDifference.js +1 -1
  340. package/geometry/operators/gx/operatorIntersection.js +1 -1
  341. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  342. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  343. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  344. package/geometry/operators/gx/operatorSimplify.js +1 -1
  345. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  346. package/geometry/operators/gx/operatorUnion.js +1 -1
  347. package/geometry/operators/intersectionOperator.js +1 -1
  348. package/geometry/operators/intersectsOperator.js +1 -1
  349. package/geometry/operators/json/containsOperator.js +1 -1
  350. package/geometry/operators/json/crossesOperator.js +1 -1
  351. package/geometry/operators/json/disjointOperator.js +1 -1
  352. package/geometry/operators/json/intersectsOperator.js +1 -1
  353. package/geometry/operators/json/overlapsOperator.js +1 -1
  354. package/geometry/operators/json/touchesOperator.js +1 -1
  355. package/geometry/operators/json/unionOperator.js +1 -1
  356. package/geometry/operators/json/withinOperator.js +1 -1
  357. package/geometry/operators/labelPointOperator.js +1 -1
  358. package/geometry/operators/lengthOperator.js +1 -1
  359. package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
  360. package/geometry/operators/offsetOperator.js +1 -1
  361. package/geometry/operators/overlapsOperator.js +1 -1
  362. package/geometry/operators/proximityOperator.js +1 -1
  363. package/geometry/operators/relateOperator.js +1 -1
  364. package/geometry/operators/reshapeOperator.js +1 -1
  365. package/geometry/operators/simplifyOGCOperator.js +1 -1
  366. package/geometry/operators/simplifyOperator.js +1 -1
  367. package/geometry/operators/support/apiConverter.js +1 -1
  368. package/geometry/operators/support/jsonConverter.js +1 -1
  369. package/geometry/operators/support/projectionTransformation.js +1 -1
  370. package/geometry/operators/symmetricDifferenceOperator.js +1 -1
  371. package/geometry/operators/touchesOperator.js +1 -1
  372. package/geometry/operators/unionOperator.js +1 -1
  373. package/geometry/operators/withinOperator.js +1 -1
  374. package/geometry/support/convexPolyhedron.js +1 -1
  375. package/geometry/support/curves/circleUtils.js +1 -1
  376. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  377. package/geometry/support/frustum.js +1 -1
  378. package/geometry/support/plane.js +1 -1
  379. package/geometry/support/webMercatorUtils.js +1 -1
  380. package/kernel.js +1 -1
  381. package/layers/VectorTileLayer.js +1 -1
  382. package/layers/graphics/data/FlatFeatureStore.js +1 -1
  383. package/layers/graphics/data/QueryEngine.js +1 -1
  384. package/layers/graphics/hydratedFeatures.js +1 -1
  385. package/layers/mixins/DataSeriesLayer.js +1 -1
  386. package/layers/support/csvUtils.js +1 -1
  387. package/layers/support/fieldUtils.js +1 -1
  388. package/layers/video/VideoController.js +1 -1
  389. package/package.json +4 -4
  390. package/support/ArcadeExpression.js +1 -1
  391. package/support/arcadeUtils.js +1 -1
  392. package/support/loadArcade.js +1 -1
  393. package/support/revision.js +1 -1
  394. package/support/tests/serviceMockDependencies.js +1 -1
  395. package/views/2d/analysis/AreaMeasurement/AreaMeasurementController.js +1 -1
  396. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementController.js +1 -1
  397. package/views/2d/engine/vectorTiles/TileManager.js +1 -1
  398. package/views/2d/engine/webgl/util/Fader.js +1 -1
  399. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  400. package/views/2d/layers/support/RouteLayerWaypointVisualization.js +1 -1
  401. package/views/3d/analysis/LineOfSight/LineOfSightConfiguration.js +1 -1
  402. package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
  403. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  404. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  405. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementController.js +1 -1
  406. package/views/3d/input/SceneInputManager.js +1 -1
  407. package/views/3d/input/handlers/RopePullNavigation.js +2 -0
  408. package/views/3d/layers/I3SMeshView3D.js +1 -1
  409. package/views/3d/layers/IntegratedMeshNormals.js +1 -1
  410. package/views/3d/layers/TiledLayerView3D.js +1 -1
  411. package/views/3d/layers/graphics/featureExpressionInfoUtils.js +1 -1
  412. package/views/3d/layers/i3s/I3SNode.js +1 -1
  413. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  414. package/views/3d/layers/i3s/SweptSphereVolume.js +1 -1
  415. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  416. package/views/3d/layers/support/IntegratedMesh3DTilesVertexProcessing.js +1 -1
  417. package/views/3d/state/Frustum.js +1 -1
  418. package/views/3d/state/controllers/RopePullController.js +2 -0
  419. package/views/3d/state/utils/ropePullUtils.js +1 -1
  420. package/views/3d/support/ElevationAgnosticVisibility.js +1 -1
  421. package/views/3d/support/sphericalTileUtils.js +1 -1
  422. package/views/3d/terrain/PlanarPatch.js +1 -1
  423. package/views/3d/terrain/SphericalPatch.js +1 -1
  424. package/views/3d/terrain/Tile.js +1 -1
  425. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  426. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  427. package/views/3d/webgl-engine/lib/LineMaterial.js +2 -0
  428. package/views/3d/webgl-engine/lib/Material.js +1 -1
  429. package/views/3d/webgl-engine/lib/PointMaterial.js +2 -0
  430. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  431. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  432. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  433. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  434. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  435. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  436. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  437. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  438. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  439. package/views/SelectionManager.js +1 -1
  440. package/views/draw/DrawTool.js +1 -1
  441. package/views/draw/support/createUtils.js +1 -1
  442. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  443. package/views/interactive/sketch/constraints.js +1 -1
  444. package/views/popupAdapter.js +1 -1
  445. package/views/support/GeometryWorker.js +1 -1
  446. package/views/support/geometry3dUtils.js +1 -1
  447. package/views/support/selectionUtils.js +1 -1
  448. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  449. package/widgets/BatchAttributeForm/expressions/ArcadeExecutorProvider.js +1 -1
  450. package/widgets/BatchAttributeForm/templates/FieldElementTemplate.js +1 -1
  451. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  452. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  453. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  454. package/widgets/FeatureTable/support/types.d.ts +3 -1
  455. package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
  456. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  457. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  458. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  459. package/widgets/OrientedImageryViewer/support/panConstraint.js +1 -1
  460. package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
  461. package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
  462. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  463. package/widgets/support/SelectionList/selectionListUtils.d.ts +58 -0
  464. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  465. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  466. package/arcade/kernel.js +0 -2
  467. package/assets/esri/core/workers/chunks/01b7babaefe6500fd6eb.js +0 -1
  468. package/assets/esri/core/workers/chunks/06e109e92de7fa0956e3.js +0 -1
  469. package/assets/esri/core/workers/chunks/0775d1e3034d5e7ef7bc.js +0 -1
  470. package/assets/esri/core/workers/chunks/0993e51d3a9701ed2198.js +0 -1
  471. package/assets/esri/core/workers/chunks/09a0a1e794ddff65aa08.js +0 -1
  472. package/assets/esri/core/workers/chunks/0e57d33bd202d0972207.js +0 -1
  473. package/assets/esri/core/workers/chunks/114ba901fd319ce87dc6.js +0 -1
  474. package/assets/esri/core/workers/chunks/12a3b55195ce3244259d.js +0 -1
  475. package/assets/esri/core/workers/chunks/151bac9e519a3b821baf.js +0 -1
  476. package/assets/esri/core/workers/chunks/156f85ac1885464f0072.js +0 -1
  477. package/assets/esri/core/workers/chunks/180eebd8b7badc2840c9.js +0 -1
  478. package/assets/esri/core/workers/chunks/19cb8963d5ec2246357b.js +0 -1
  479. package/assets/esri/core/workers/chunks/19d4ecee1c161ac0f33c.js +0 -1
  480. package/assets/esri/core/workers/chunks/19ece9f5313f53384cac.js +0 -1
  481. package/assets/esri/core/workers/chunks/1d770e8f0fe57d937daa.js +0 -1
  482. package/assets/esri/core/workers/chunks/1dd22b8df6a52277c64b.js +0 -1
  483. package/assets/esri/core/workers/chunks/1ede298ab815e9ad625c.js +0 -1
  484. package/assets/esri/core/workers/chunks/208bc524bd1e0d3aab79.js +0 -1
  485. package/assets/esri/core/workers/chunks/20a4ae83542c7d39cf0f.js +0 -1
  486. package/assets/esri/core/workers/chunks/21071ab3d7b2771406ae.js +0 -1
  487. package/assets/esri/core/workers/chunks/21bfa89363104f041101.js +0 -1
  488. package/assets/esri/core/workers/chunks/21d0a4d6639d32278f11.js +0 -1
  489. package/assets/esri/core/workers/chunks/22a75fdc6ba60213a870.js +0 -1
  490. package/assets/esri/core/workers/chunks/22e004ed97e06536ecef.js +0 -1
  491. package/assets/esri/core/workers/chunks/23942712a3f6290e0fdb.js +0 -1
  492. package/assets/esri/core/workers/chunks/242287de82586d42f0a4.js +0 -1
  493. package/assets/esri/core/workers/chunks/25cb5086eaa412f6820b.js +0 -1
  494. package/assets/esri/core/workers/chunks/26c8ed0aef59ed6d5267.js +0 -1
  495. package/assets/esri/core/workers/chunks/2742d62fceaf0736aef0.js +0 -1
  496. package/assets/esri/core/workers/chunks/276eba546dc8774076ee.js +0 -1
  497. package/assets/esri/core/workers/chunks/28e02b213da9e682d3dc.js +0 -29
  498. package/assets/esri/core/workers/chunks/2d8195231cb16247f198.js +0 -1
  499. package/assets/esri/core/workers/chunks/2db1227ecd421728630d.js +0 -1
  500. package/assets/esri/core/workers/chunks/2ddc9c9ff6ec243d85e2.js +0 -1
  501. package/assets/esri/core/workers/chunks/2e712154ebb895d96ba1.js +0 -1
  502. package/assets/esri/core/workers/chunks/2f2df51d4976ae65edae.js +0 -1
  503. package/assets/esri/core/workers/chunks/32d31fd4cffdf5a80acb.js +0 -1
  504. package/assets/esri/core/workers/chunks/33aaa5a49e396a0aca47.js +0 -1
  505. package/assets/esri/core/workers/chunks/35622088727e120c93b9.js +0 -1
  506. package/assets/esri/core/workers/chunks/3714cc26f446c4d9cc2c.js +0 -1
  507. package/assets/esri/core/workers/chunks/3722d40d161d60370936.js +0 -1
  508. package/assets/esri/core/workers/chunks/3ac4cfeb1af12a9dc27d.js +0 -1
  509. package/assets/esri/core/workers/chunks/3b009c05eaec5a7048a8.js +0 -1
  510. package/assets/esri/core/workers/chunks/3b376318df4ff8519370.js +0 -1
  511. package/assets/esri/core/workers/chunks/3bf37fd3280f4891c76b.js +0 -1
  512. package/assets/esri/core/workers/chunks/3d18a10a1ecfabe92db3.js +0 -1
  513. package/assets/esri/core/workers/chunks/3de20165796fa4f76728.js +0 -1
  514. package/assets/esri/core/workers/chunks/3fbd4c7e25440c4713f2.js +0 -1
  515. package/assets/esri/core/workers/chunks/407dba2be21255eb47fc.js +0 -1
  516. package/assets/esri/core/workers/chunks/414093fa4957d17bf551.js +0 -1
  517. package/assets/esri/core/workers/chunks/44b1a4e8a65221ad3808.js +0 -1
  518. package/assets/esri/core/workers/chunks/48b31b8534e7bfe42976.js +0 -1
  519. package/assets/esri/core/workers/chunks/48f6af09436723f2d861.js +0 -1
  520. package/assets/esri/core/workers/chunks/49e37f653b81f9e4f7cc.js +0 -1
  521. package/assets/esri/core/workers/chunks/4b4221a869b3f0d517fa.js +0 -1
  522. package/assets/esri/core/workers/chunks/4b86bcde5992eb752ab0.js +0 -1
  523. package/assets/esri/core/workers/chunks/4b9095e2bd060efd47c4.js +0 -1
  524. package/assets/esri/core/workers/chunks/5084de4d0d4961b63ab7.js +0 -1
  525. package/assets/esri/core/workers/chunks/51a8a47aac1d8d22ba9d.js +0 -1
  526. package/assets/esri/core/workers/chunks/5324e4feb78203204c0c.js +0 -1
  527. package/assets/esri/core/workers/chunks/5536cee0dfc183584a9b.js +0 -1
  528. package/assets/esri/core/workers/chunks/58d10928959ae1e2e8d9.js +0 -1
  529. package/assets/esri/core/workers/chunks/597a8e3d9e458298fdd3.js +0 -1
  530. package/assets/esri/core/workers/chunks/5a006ff759fad9fc25cb.js +0 -1
  531. package/assets/esri/core/workers/chunks/60be6de19c5659091d8f.js +0 -1
  532. package/assets/esri/core/workers/chunks/61a38237e163b39520e5.js +0 -1
  533. package/assets/esri/core/workers/chunks/61fcdba6f2097378dce5.js +0 -1
  534. package/assets/esri/core/workers/chunks/6561c01c67db1f4c546e.js +0 -1
  535. package/assets/esri/core/workers/chunks/65eff0ae773505495f21.js +0 -1
  536. package/assets/esri/core/workers/chunks/67452ba9e87962b9e01e.js +0 -1
  537. package/assets/esri/core/workers/chunks/68195277046861ed39a7.js +0 -1
  538. package/assets/esri/core/workers/chunks/68705692335d57522030.js +0 -1
  539. package/assets/esri/core/workers/chunks/6a2a4da3a1cd64ff576f.js +0 -1
  540. package/assets/esri/core/workers/chunks/6af1680771fd8ae8c7dc.js +0 -1
  541. package/assets/esri/core/workers/chunks/6c367de583e0e657ca3a.js +0 -1
  542. package/assets/esri/core/workers/chunks/6d2021a0f0c9a3c6a0e6.js +0 -1
  543. package/assets/esri/core/workers/chunks/6db4a4f9a9ce7cc738d0.js +0 -1
  544. package/assets/esri/core/workers/chunks/6f2a9259240769c7cd6e.js +0 -1
  545. package/assets/esri/core/workers/chunks/724260e36efea90585f4.js +0 -1
  546. package/assets/esri/core/workers/chunks/74ae1222787389d5fcaa.js +0 -1
  547. package/assets/esri/core/workers/chunks/74bfaa98da6c5d375f05.js +0 -1
  548. package/assets/esri/core/workers/chunks/7a68a16f7fea712b9fd6.js +0 -1
  549. package/assets/esri/core/workers/chunks/7b2174b19d06c16715f0.js +0 -1
  550. package/assets/esri/core/workers/chunks/7d8e59ad438fb34b476d.js +0 -1
  551. package/assets/esri/core/workers/chunks/7eb94fc75926bc739233.js +0 -1
  552. package/assets/esri/core/workers/chunks/80795118467fb31ea4ed.js +0 -1
  553. package/assets/esri/core/workers/chunks/820c530b8765ecb1f36e.js +0 -1
  554. package/assets/esri/core/workers/chunks/830daaca32352da6eebe.js +0 -1
  555. package/assets/esri/core/workers/chunks/852649460d664b0a1a1d.js +0 -1
  556. package/assets/esri/core/workers/chunks/85c538bf1209f0da1f8e.js +0 -1
  557. package/assets/esri/core/workers/chunks/8c2921081ca3e7fd0385.js +0 -1
  558. package/assets/esri/core/workers/chunks/8db3fd97e8eccd3ba1db.js +0 -1
  559. package/assets/esri/core/workers/chunks/8e225dd0319672103561.js +0 -1
  560. package/assets/esri/core/workers/chunks/8e79a84e224d05204e7d.js +0 -1
  561. package/assets/esri/core/workers/chunks/8e9aff66a2d4e2cc102b.js +0 -1
  562. package/assets/esri/core/workers/chunks/917318f8e186f466dc52.js +0 -1
  563. package/assets/esri/core/workers/chunks/9267f6a65c2245696eac.js +0 -1
  564. package/assets/esri/core/workers/chunks/9407db0584c730591161.js +0 -1
  565. package/assets/esri/core/workers/chunks/958e161634b5bfd50625.js +0 -1
  566. package/assets/esri/core/workers/chunks/9658b46a7111cda53b0d.js +0 -1
  567. package/assets/esri/core/workers/chunks/974bcaf2a059b8cfb153.js +0 -1
  568. package/assets/esri/core/workers/chunks/99881d0a6c2490a16268.js +0 -1
  569. package/assets/esri/core/workers/chunks/99980c944acb8ff88d6a.js +0 -1
  570. package/assets/esri/core/workers/chunks/9c227785f4454d3966ea.js +0 -1
  571. package/assets/esri/core/workers/chunks/9d61d9136f3d00aab530.js +0 -1
  572. package/assets/esri/core/workers/chunks/9df2685583393a87df2d.js +0 -1
  573. package/assets/esri/core/workers/chunks/9e840a71906c4deef776.js +0 -1
  574. package/assets/esri/core/workers/chunks/9ee6e8a6b9bfda758c21.js +0 -1
  575. package/assets/esri/core/workers/chunks/a03f4605bde69bfb6d41.js +0 -1
  576. package/assets/esri/core/workers/chunks/a327843cee2057ee76c0.js +0 -1
  577. package/assets/esri/core/workers/chunks/a557347fb313df6fcc79.js +0 -1
  578. package/assets/esri/core/workers/chunks/a8da0728a12fc46dca23.js +0 -1
  579. package/assets/esri/core/workers/chunks/a9ea28e0f22cfe3ccf92.js +0 -1
  580. package/assets/esri/core/workers/chunks/aae92f23b38ae22dd8bf.js +0 -1
  581. package/assets/esri/core/workers/chunks/ad3714da9c90d7471385.js +0 -1
  582. package/assets/esri/core/workers/chunks/b047f9e9ba26037657ed.js +0 -1
  583. package/assets/esri/core/workers/chunks/b1323800119bd5c1759b.js +0 -1
  584. package/assets/esri/core/workers/chunks/b18c35f25da18a3219d7.js +0 -1
  585. package/assets/esri/core/workers/chunks/b1f68ee65cce457d7b5b.js +0 -1
  586. package/assets/esri/core/workers/chunks/b2d6fd436981c890152f.js +0 -1
  587. package/assets/esri/core/workers/chunks/b3c518ca8679fbe16ece.js +0 -1
  588. package/assets/esri/core/workers/chunks/b4b4fe06364bea9b0750.js +0 -1
  589. package/assets/esri/core/workers/chunks/b61b7005edd9ced925e9.js +0 -1
  590. package/assets/esri/core/workers/chunks/b661aae7e3ce955a783e.js +0 -1
  591. package/assets/esri/core/workers/chunks/b66ebe53bd879aa9de57.js +0 -1
  592. package/assets/esri/core/workers/chunks/b8ca80134abfcc692244.js +0 -1
  593. package/assets/esri/core/workers/chunks/bbdf10d76d852072c878.js +0 -1
  594. package/assets/esri/core/workers/chunks/bbeb61d9302323bae9fb.js +0 -1
  595. package/assets/esri/core/workers/chunks/bbfd2b4af8e498b61af9.js +0 -1
  596. package/assets/esri/core/workers/chunks/bdafd4f03585351cecc3.js +0 -1
  597. package/assets/esri/core/workers/chunks/bddd5aa7a14cd45ff91c.js +0 -1
  598. package/assets/esri/core/workers/chunks/be31c2cb97f664a54306.js +0 -1
  599. package/assets/esri/core/workers/chunks/be4319827db91aa71bf5.js +0 -1
  600. package/assets/esri/core/workers/chunks/bef32acf368b4d5aba37.js +0 -1
  601. package/assets/esri/core/workers/chunks/c1568bcd3f04014152e1.js +0 -1
  602. package/assets/esri/core/workers/chunks/c1a7c475ce0c59ffa75a.js +0 -1
  603. package/assets/esri/core/workers/chunks/c229a4eedda468c914a9.js +0 -1
  604. package/assets/esri/core/workers/chunks/c2b2942456f1b10d0e96.js +0 -1
  605. package/assets/esri/core/workers/chunks/c308d8f419ba63c583e6.js +0 -1
  606. package/assets/esri/core/workers/chunks/c5dc2743c7116d0bc0d8.js +0 -1
  607. package/assets/esri/core/workers/chunks/c68cc3b9c170b8de22dc.js +0 -1
  608. package/assets/esri/core/workers/chunks/c6ef0636073e28350c91.js +0 -1
  609. package/assets/esri/core/workers/chunks/c71368cd64f240da1743.js +0 -1
  610. package/assets/esri/core/workers/chunks/cb2f27e5d465124b9868.js +0 -1
  611. package/assets/esri/core/workers/chunks/cee2f7f3b3f84688e49d.js +0 -1
  612. package/assets/esri/core/workers/chunks/d0942860a53b02371e94.js +0 -1
  613. package/assets/esri/core/workers/chunks/d13eeff678972a245d5d.js +0 -1
  614. package/assets/esri/core/workers/chunks/d3d7b4cd28a0dc2720d4.js +0 -1
  615. package/assets/esri/core/workers/chunks/d3ea7ac6fe71c95faa75.js +0 -1
  616. package/assets/esri/core/workers/chunks/d41e4498aaf4970f48b0.js +0 -1
  617. package/assets/esri/core/workers/chunks/d56603e1d0031f3c5f3b.js +0 -1
  618. package/assets/esri/core/workers/chunks/d7c8725ffb175cec5f8a.js +0 -1
  619. package/assets/esri/core/workers/chunks/d96fa373dcb621c2a869.js +0 -1
  620. package/assets/esri/core/workers/chunks/da233362b06b6db375f1.js +0 -1
  621. package/assets/esri/core/workers/chunks/dbc8f15a6be835f4897d.js +0 -1
  622. package/assets/esri/core/workers/chunks/e00d0036974aaec7d876.js +0 -1
  623. package/assets/esri/core/workers/chunks/e0c75ae3a211a8da10f7.js +0 -1
  624. package/assets/esri/core/workers/chunks/e474106292834633e7d4.js +0 -1
  625. package/assets/esri/core/workers/chunks/e557043f90c051e93925.js +0 -1
  626. package/assets/esri/core/workers/chunks/e5cbed6f19c743915c8e.js +0 -1
  627. package/assets/esri/core/workers/chunks/e5ecd93bd32e99bc99d1.js +0 -1
  628. package/assets/esri/core/workers/chunks/e64ccdb8328eb6514e59.js +0 -1
  629. package/assets/esri/core/workers/chunks/eb8c4f194bb66a27d418.js +0 -1
  630. package/assets/esri/core/workers/chunks/ebd8c77df5df63bd3efe.js +0 -1
  631. package/assets/esri/core/workers/chunks/f14347f5d63f5d102617.js +0 -1
  632. package/assets/esri/core/workers/chunks/f3c0280b6c87f2383a60.js +0 -1
  633. package/assets/esri/core/workers/chunks/f42c4dcb8f413ca1c6fd.js +0 -1
  634. package/assets/esri/core/workers/chunks/f5773321487ec248fa3b.js +0 -1
  635. package/assets/esri/core/workers/chunks/f76911f71540b058a881.js +0 -1
  636. package/assets/esri/core/workers/chunks/f988d5a6dcc15fe34797.js +0 -1
  637. package/assets/esri/core/workers/chunks/fa29b5064d6626cfc019.js +0 -1
  638. package/assets/esri/core/workers/chunks/fa882d0f4a9826533421.js +0 -1
  639. package/assets/esri/core/workers/chunks/fb2d43608006f588e3cb.js +0 -1
  640. package/assets/esri/core/workers/chunks/fbd02e8277fe2252ecd2.js +0 -1
  641. package/assets/esri/core/workers/chunks/fc1aeea22f8c9d63864a.js +0 -1
  642. package/assets/esri/core/workers/chunks/fc3c03cfa3d6bf3b37dc.js +0 -1
  643. package/assets/esri/core/workers/chunks/fcf7299e2ee904ab9882.js +0 -1
  644. package/assets/esri/core/workers/chunks/ff07d351553deb70b889.js +0 -1
  645. package/assets/esri/core/workers/chunks/ffee66699f5d26569baf.js +0 -1
  646. package/chunks/OperatorDefinitions.js +0 -2
  647. package/chunks/areaOperator.js +0 -2
  648. package/chunks/bufferOperator.js +0 -2
  649. package/chunks/centroidOperator.js +0 -2
  650. package/chunks/clipOperator.js +0 -2
  651. package/chunks/containsOperator.js +0 -2
  652. package/chunks/convexHullOperator.js +0 -2
  653. package/chunks/crossesOperator.js +0 -2
  654. package/chunks/cutOperator.js +0 -2
  655. package/chunks/densifyOperator.js +0 -2
  656. package/chunks/differenceOperator.js +0 -2
  657. package/chunks/disjointOperator.js +0 -2
  658. package/chunks/distanceOperator.js +0 -2
  659. package/chunks/equalsOperator.js +0 -2
  660. package/chunks/generalizeOperator.js +0 -2
  661. package/chunks/geodesicBufferOperator.js +0 -2
  662. package/chunks/geodeticAreaOperator.js +0 -2
  663. package/chunks/geodeticDensifyOperator.js +0 -2
  664. package/chunks/geodeticDistanceOperator.js +0 -2
  665. package/chunks/geodeticLengthOperator.js +0 -2
  666. package/chunks/intersectionOperator.js +0 -2
  667. package/chunks/intersectsOperator.js +0 -2
  668. package/chunks/labelPointOperator.js +0 -2
  669. package/chunks/lengthOperator.js +0 -2
  670. package/chunks/multiPartToSinglePartOperator.js +0 -2
  671. package/chunks/offsetOperator.js +0 -2
  672. package/chunks/overlapsOperator.js +0 -2
  673. package/chunks/proximityOperator.js +0 -2
  674. package/chunks/relateOperator.js +0 -2
  675. package/chunks/simplifyOperator.js +0 -2
  676. package/chunks/symmetricDifferenceOperator.js +0 -2
  677. package/chunks/touchesOperator.js +0 -2
  678. package/chunks/unionOperator.js +0 -2
  679. package/chunks/withinOperator.js +0 -2
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{c as e}from"./Centroid-CA-TwbbN.js";class r{getOperatorType(){return 10205}accelerateGeometry(e,r,t){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}execute(r,t){return e(r)}}export{r as O};
2
+ import{c as e}from"./Centroid-CA-TwbbN.js";class r{getOperatorType(){return 10205}accelerateGeometry(e,r,t){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}execute(r,t){return e(r)}}export{r as OperatorCentroid2D};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{x as o}from"./UnitFactory.js";export{o as OperatorContains};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{W as e,X as r}from"./UnitFactory.js";class t extends e{getOperatorType(){return 6}execute(e,t,s,a){return r(e,t,s,16,a)}}export{t as O};
2
+ import{Z as e,_ as r}from"./UnitFactory.js";class t extends e{getOperatorType(){return 6}execute(e,t,s,a){return r(e,t,s,16,a)}}export{t as OperatorCrosses};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as t}from"./GeometryCursor.js";import{G as e,d as s,g as r}from"./Geometry.js";import{a as n,P as o,E as m,n as i}from"./MultiPathImpl.js";import{g as c,c as u}from"./Envelope.js";import{L as a,K as l,M as h,a1 as d,a2 as y,R as p}from"./UnitFactory.js";var _=p;function g(t,e){return{m_geometry:t,m_side:e}}function f(t,e,s,r,n,o){if(e.isEmpty()){const t=g(e,0);return void n.push(t)}if(s.isEmpty()){const t=g(e,0);return void n.push(t)}const i=[],c=new m;{const m=c.createGeometryUserIndex(),u=c.addGeometry(e),p=c.addGeometry(s),f=new d(o);let C=0,E=null;if(c.hasCurves()){E=new _;const t=c.getEnvelope2D(o);C=a(r.total());const e=l(r.total(),t);h(c,e,r.total(),12e3,E,null,o)}c.dbgVerifyCurves(),f.setEditShapeCrackAndCluster(c,r),f.cut(t,m,u,p,i);for(const t of i){null!==E&&E.stitchCurves(c,t,C,!1);const e=g(c.getGeometry(t),y(c.getGeometryUserIndex(t,m)));n.push(e)}null!==E&&E.clearStitcher(c)}}function C(t,e,s,r,n,c){if(e.isEmpty()){const t=g(e,0);return void n.push(t)}if(s.isEmpty()){const t=g(e,0);return void n.push(t)}const u=[],y=new m;{const t=y.createGeometryUserIndex(),p=y.addGeometry(e),f=y.addGeometry(s),C=new d(c);let E=0,G=null;if(y.hasCurves()){G=new _;const t=y.getEnvelope2D(c);E=a(r.total());const e=l(r.total(),t);h(y,e,r.total(),12e3,G,null,c)}y.dbgVerifyCurves(),C.setEditShapeCrackAndCluster(y,r),C.cut(!1,t,p,f,u),null!==G&&G.stitchCurves(y,i,E,!0);let v=y.getGeometry(p);const w=new o,x=new o,k=[];for(let e=0;e<u.length;e++){let s=null;{const n=new m,o=n.addGeometry(v),d=n.addGeometry(y.getGeometry(u[e]));if(n.hasCurves()){const t=n.getEnvelope2D(c);E=a(r.total());const e=l(r.total(),t);h(n,e,r.total(),12e3,G,null,c)}C.setEditShapeCrackAndCluster(n,r);const p=C.intersection(o,d);if(null!==G&&G.stitchCurves(n,i,E,!0),s=n.getGeometry(p),s.isEmpty())continue;const _=y.getGeometryUserIndex(u[e],t);2===_?w.add(s,!1):1===_?x.add(s,!1):k.push(s)}{const t=new m,s=t.addGeometry(v),n=t.addGeometry(y.getGeometry(u[e]));if(t.hasCurves()){const e=t.getEnvelope2D(c);E=a(r.total());const s=l(r.total(),e);h(t,s,r.total(),12e3,G,null,c)}C.setEditShapeCrackAndCluster(t,r);const o=C.difference(s,n);null!==G&&G.stitchCurves(t,i,E,!0);v=t.getGeometry(o)}}if(!v.isEmpty()&&u.length>0&&k.push(v),w.isEmpty()&&x.isEmpty())return;if(!w.isEmpty()){const t=g(w,1);n.push(t)}if(!x.isEmpty()){const t=g(x,2);n.push(t)}for(let e=0,s=k.length;e<s;++e){const t=g(k[e],3);n.push(t)}}}class E{getOperatorType(){return 10005}accelerateGeometry(t,e,s){return!1}canAccelerateGeometry(t){return!1}supportsCurves(){return!0}execute(t,e,s,r,n){return new G(t,e,s,r,n)}}class G extends t{m_bConsiderTouch;m_cuttee;m_cutter;m_tolerance;m_cutIndex=-1;m_cuts=[];m_progressTracker;constructor(t,e,s,r,o){super(),this.m_progressTracker=o,this.m_cuttee=e.clone(),this.m_cutter=new n({copy:s}),this.m_bConsiderTouch=t;const m=c(e,s);this.m_tolerance=u(r,m,!0)}next(){return-1===this.m_cutIndex&&this.generateCuts(),++this.m_cutIndex<this.m_cuts.length?this.m_cuts[this.m_cutIndex]:null}getGeometryID(){return this.m_cutIndex}tock(){return!0}getRank(){return 1}generateCuts(){switch(this.m_cuttee.getGeometryType()){case e.enumPolyline:this.generatePolylineCuts();break;case e.enumPolygon:this.generatePolygonCuts()}}generatePolylineCuts(){const t=new n,e=new n,r=new n;this.m_cuts.length=0,this.m_cuts.push(t),this.m_cuts.push(e);const o=[];f(this.m_bConsiderTouch,this.m_cuttee,this.m_cutter,this.m_tolerance,o,this.m_progressTracker);for(let n=0;n<o.length;n++){const m=o[n];1===m.m_side?t.add(m.m_geometry,!1):2===m.m_side||4===m.m_side?e.add(m.m_geometry,!1):3===m.m_side?this.m_cuts.push(m.m_geometry):0===m.m_side?r.add(m.m_geometry,!1):s("")}r.isEmpty()||t.isEmpty()&&e.isEmpty()&&!(this.m_cuts.length>=3)||this.m_cuts.push(r),t.isEmpty()&&e.isEmpty()&&this.m_cuts.length<3&&(this.m_cuts.length=0)}generatePolygonCuts(){const t=new o,e=new o,n=new o;this.m_cuts.length=0,this.m_cuts.push(t),this.m_cuts.push(e);const m=[];C(this.m_bConsiderTouch,this.m_cuttee,this.m_cutter,this.m_tolerance,m,this.m_progressTracker);for(let r=0;r<m.length;r++){const o=m[r];1===o.m_side?t.add(o.m_geometry,!1):2===o.m_side?e.add(o.m_geometry,!1):3===o.m_side?this.m_cuts.push(o.m_geometry):0===o.m_side?n.add(o.m_geometry,!1):s("")}r(n.isEmpty()||1===m.length),t.isEmpty()&&e.isEmpty()&&this.m_cuts.length<3&&(this.m_cuts.length=0)}}export{E as O};
2
+ import{G as t}from"./GeometryCursor.js";import{G as e,d as s,g as r}from"./Geometry.js";import{a as n,P as o,E as m,n as i}from"./MultiPathImpl.js";import{g as c,c as u}from"./Envelope.js";import{N as a,M as l,Q as h,a6 as d,a7 as y,U as p}from"./UnitFactory.js";var _=p;function g(t,e){return{m_geometry:t,m_side:e}}function f(t,e,s,r,n,o){if(e.isEmpty()){const t=g(e,0);return void n.push(t)}if(s.isEmpty()){const t=g(e,0);return void n.push(t)}const i=[],c=new m;{const m=c.createGeometryUserIndex(),u=c.addGeometry(e),p=c.addGeometry(s),f=new d(o);let C=0,E=null;if(c.hasCurves()){E=new _;const t=c.getEnvelope2D(o);C=a(r.total());const e=l(r.total(),t);h(c,e,r.total(),12e3,E,null,o)}c.dbgVerifyCurves(),f.setEditShapeCrackAndCluster(c,r),f.cut(t,m,u,p,i);for(const t of i){null!==E&&E.stitchCurves(c,t,C,!1);const e=g(c.getGeometry(t),y(c.getGeometryUserIndex(t,m)));n.push(e)}null!==E&&E.clearStitcher(c)}}function C(t,e,s,r,n,c){if(e.isEmpty()){const t=g(e,0);return void n.push(t)}if(s.isEmpty()){const t=g(e,0);return void n.push(t)}const u=[],y=new m;{const t=y.createGeometryUserIndex(),p=y.addGeometry(e),f=y.addGeometry(s),C=new d(c);let E=0,G=null;if(y.hasCurves()){G=new _;const t=y.getEnvelope2D(c);E=a(r.total());const e=l(r.total(),t);h(y,e,r.total(),12e3,G,null,c)}y.dbgVerifyCurves(),C.setEditShapeCrackAndCluster(y,r),C.cut(!1,t,p,f,u),null!==G&&G.stitchCurves(y,i,E,!0);let v=y.getGeometry(p);const w=new o,x=new o,k=[];for(let e=0;e<u.length;e++){let s=null;{const n=new m,o=n.addGeometry(v),d=n.addGeometry(y.getGeometry(u[e]));if(n.hasCurves()){const t=n.getEnvelope2D(c);E=a(r.total());const e=l(r.total(),t);h(n,e,r.total(),12e3,G,null,c)}C.setEditShapeCrackAndCluster(n,r);const p=C.intersection(o,d);if(null!==G&&G.stitchCurves(n,i,E,!0),s=n.getGeometry(p),s.isEmpty())continue;const _=y.getGeometryUserIndex(u[e],t);2===_?w.add(s,!1):1===_?x.add(s,!1):k.push(s)}{const t=new m,s=t.addGeometry(v),n=t.addGeometry(y.getGeometry(u[e]));if(t.hasCurves()){const e=t.getEnvelope2D(c);E=a(r.total());const s=l(r.total(),e);h(t,s,r.total(),12e3,G,null,c)}C.setEditShapeCrackAndCluster(t,r);const o=C.difference(s,n);null!==G&&G.stitchCurves(t,i,E,!0);v=t.getGeometry(o)}}if(!v.isEmpty()&&u.length>0&&k.push(v),w.isEmpty()&&x.isEmpty())return;if(!w.isEmpty()){const t=g(w,1);n.push(t)}if(!x.isEmpty()){const t=g(x,2);n.push(t)}for(let e=0,s=k.length;e<s;++e){const t=g(k[e],3);n.push(t)}}}class E{getOperatorType(){return 10005}accelerateGeometry(t,e,s){return!1}canAccelerateGeometry(t){return!1}supportsCurves(){return!0}execute(t,e,s,r,n){return new G(t,e,s,r,n)}}class G extends t{m_bConsiderTouch;m_cuttee;m_cutter;m_tolerance;m_cutIndex=-1;m_cuts=[];m_progressTracker;constructor(t,e,s,r,o){super(),this.m_progressTracker=o,this.m_cuttee=e.clone(),this.m_cutter=new n({copy:s}),this.m_bConsiderTouch=t;const m=c(e,s);this.m_tolerance=u(r,m,!0)}next(){return-1===this.m_cutIndex&&this.generateCuts(),++this.m_cutIndex<this.m_cuts.length?this.m_cuts[this.m_cutIndex]:null}getGeometryID(){return this.m_cutIndex}tock(){return!0}getRank(){return 1}generateCuts(){switch(this.m_cuttee.getGeometryType()){case e.enumPolyline:this.generatePolylineCuts();break;case e.enumPolygon:this.generatePolygonCuts()}}generatePolylineCuts(){const t=new n,e=new n,r=new n;this.m_cuts.length=0,this.m_cuts.push(t),this.m_cuts.push(e);const o=[];f(this.m_bConsiderTouch,this.m_cuttee,this.m_cutter,this.m_tolerance,o,this.m_progressTracker);for(let n=0;n<o.length;n++){const m=o[n];1===m.m_side?t.add(m.m_geometry,!1):2===m.m_side||4===m.m_side?e.add(m.m_geometry,!1):3===m.m_side?this.m_cuts.push(m.m_geometry):0===m.m_side?r.add(m.m_geometry,!1):s("")}r.isEmpty()||t.isEmpty()&&e.isEmpty()&&!(this.m_cuts.length>=3)||this.m_cuts.push(r),t.isEmpty()&&e.isEmpty()&&this.m_cuts.length<3&&(this.m_cuts.length=0)}generatePolygonCuts(){const t=new o,e=new o,n=new o;this.m_cuts.length=0,this.m_cuts.push(t),this.m_cuts.push(e);const m=[];C(this.m_bConsiderTouch,this.m_cuttee,this.m_cutter,this.m_tolerance,m,this.m_progressTracker);for(let r=0;r<m.length;r++){const o=m[r];1===o.m_side?t.add(o.m_geometry,!1):2===o.m_side?e.add(o.m_geometry,!1):3===o.m_side?this.m_cuts.push(o.m_geometry):0===o.m_side?n.add(o.m_geometry,!1):s("")}r(n.isEmpty()||1===m.length),t.isEmpty()&&e.isEmpty()&&this.m_cuts.length<3&&(this.m_cuts.length=0)}}export{E as O};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{v as o}from"./UnitFactory.js";export{o as OperatorDisjoint};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{c as e}from"./Geometry.js";import{D as r}from"./Distance2DCalculator-DjIp2uQi.js";export{m as makeOutput,a as makeOutputEx}from"./Distance2DCalculator-DjIp2uQi.js";class t{getOperatorType(){return 10100}supportsCurves(){return!0}accelerateGeometry(e,r,t){return!1}canAccelerateGeometry(e){return!1}execute(e,r,t){return this.executeEx(e,r,t,null,null,Number.NaN)}executeEx(t,u,a,s,m,c){if(t.isEmpty()||u.isEmpty())return Number.NaN;e(t),e(u);const n=t,o=u;Number.isNaN(c)&&(c=Number.POSITIVE_INFINITY);const N=new r(c,a).calculate(n,o,s,m);return Number.isFinite(N)?N:Number.NaN}}export{t as OperatorDistance};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{Z as e,_ as r}from"./UnitFactory.js";class t extends e{getOperatorType(){return 2}execute(e,t,s,a){return r(e,t,s,3,a)}}export{t as OperatorEquals};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as e}from"./GeometryCursor.js";import{d as t,t as s,a as n,c as i,i as r,G as o,n as m,h as a,f as h,j as c,o as u}from"./Geometry.js";import{Envelope2D as l}from"./Envelope2D.js";import{_,B as f,a9 as d,aa as g,O as p,ab as P,ac as x,a6 as b,e as y,ad as w,ae as C,Y as v,H as S,af as D,ag as I,ah as G,ai as T,aj as M,r as N,ak as k,al as A,am as E,an as q,ao as R,ap as z}from"./UnitFactory.js";import{__addDisposableResource as X,__disposeResources as B}from"tslib";import{P as O,a as Y,E as j}from"./MultiPathImpl.js";import{f as F,c as W,P as U,e as J,h as H,j as L,s as V}from"./Envelope.js";import{T as K}from"./Transformation2D.js";import{d as Q,m as Z,P as $,S as ee,l as te,n as se}from"./Point2D.js";import{c as ne}from"./OperatorClip.js";import{c as ie}from"./GeometryCleaner-CIE8Wfmb.js";import{O as re}from"./OperatorDensify.js";import{S as oe}from"./SimpleGeometryCursor.js";function me(e,t,s,m,a,h){m<Number.MAX_VALUE&&m>-Number.MAX_VALUE||n("Geodesic_bufferer.buffer - bad distance"),i(e);const c=ie(e),u=c.getGeometryType();if(r(u)){const e=c.getPointCount(),n=8e6;if(Math.abs(m)>n&&(e>50||u!==o.enumMultiPoint&&4===s&&e>2)){let e=c;const i=m>0?1:-1,r=7e6;let o=m,u=1;do{u++,o=(Math.abs(o)-r)*i}while(Math.abs(o)>n);o=m;for(let n=0;n<u-1;n++)e=he(e,t,s,r*i,a,u,h),o=(Math.abs(o)-r)*i;return e=he(e,t,s,o,a,u,h),e}}return he(c,t,s,m,a,1,h)}class ae{m_sr=null;m_gcs=null;m_transform=null;m_progressTracker;m_a=0;m_eSquared=0;m_rpu=0;m_radTolerance=0;m_q90=0;m_gcs90=0;m_gcs180=0;m_gcs360=0;m_gcs60=0;m_ellipticToGeodesicMaxRatio=0;m_curveType=0;m_bShapePreserving=!1;m_distance=0;m_absDistance=0;m_convergenceOffset=0;m_cornerStep=0;m_segmentStep=0;constructor(e){this.m_progressTracker=e}bufferPolygon(e){const t=new O,s=new we(this,e,t);return this.processGnomonicBufferPiecesCursor(!0,s)}bufferPolyline(e){const t=new we(this,e,null);return this.processGnomonicBufferPiecesCursor(!0,t)}bufferMultiPoint(e){const t=new Ce(this,e);return this.processGnomonicBufferPiecesCursor(!1,t)}bufferPoint(e){const t=e.getXY();t.scale(this.m_rpu);let s=new O;if(this.bufferPoint2D(t,!1,s)){const e=J(null,s,!0);s=b(s,e,!0,!0,-1,this.m_progressTracker,0,!1)}return s=(new p).foldInto360RangeGeodetic(s,this.m_gcs,2),s}processGnomonicBufferPiecesCursor(e,t){const s=t;let n=s.getGnomonic();const i=y(w());let r=new C,o=(new _).executeMany(r,i,this.m_progressTracker,2);const m=Q(6,!1),a=Z(l,6);this.initializeGrid(m,a);const h=[null,null,null,null,null,null],c=[null,null,null,null,null,null],u=[null,null,null,null,null,null];let f,d,g;for(;null!==(f=s.next());){if(d=s.getGnomonic(),d!==n){if(null!==n){let t=o.next();if(r=null,o=null,null!=t){const s=J(i,t,!0),r=F(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,m,a,h,c,u)}}null!==d&&(r=new C,o=(new _).executeMany(r,i,this.m_progressTracker,2)),n=d}if(s.isRunningInGnomonic()){if(d.project(f),s.needsSimplify()){const e=J(null,f,!0);f=b(f,e,!0,!0,-1,this.m_progressTracker,0,!1)}r.tick(be(f)),o.tock()}else this.putInGridCursors(e,f,i,!0,m,a,h,c,u)}let P=!1;for(let l=0;l<6;l++)if(null!=u[l]){P=!0;break}if(P){let t=!1;const l=[null,null,null,null,null,null];if(e){const n=s.m_densified;if(s.m_densified=null,null!==n){const s=new K;s.scale(1/this.m_rpu,1/this.m_rpu),n.applyTransformation(s),this.m_distance>0?this.putInGridCursors(e,n,i,!1,m,a,h,c,u):(this.processInGrid(e,n,!1,m,a,h,l),t=!0)}}const f=new C,d=(new _).executeMany(f,this.m_gcs,this.m_progressTracker,2);if(null!==o){let t=o.next();r=null,o=null;const s=J(i,t,!0),l=F(s);t=n.unproject(t,l,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,m,a,h,c,u)}for(let e=0;e<6;e++)if(null!=u[e]){let s=u[e].next();u[e]=null,c[e]=null,t&&null!==l[e]&&(s=(new v).execute(l[e],s,i,this.m_progressTracker));const n=J(i,s,!0),r=F(n);s=h[e].unproject(s,r,this.m_progressTracker),s=(new S).execute(s,this.m_gcs,!0,this.m_progressTracker),f.tick(be(s)),d.tock()}g=d.next()}else{let t,m=!1;if(e){let e=s.m_densified;if(s.m_densified=null,null!==e){const s=new K;s.scale(1/this.m_rpu,1/this.m_rpu),e.applyTransformation(s),d.project(e);const n=J(null,e,!0);e=b(e,n,!1,!0,-1,this.m_progressTracker,0,!1),this.m_distance>0?(r.tick(be(e)),o.tock()):(t=e,m=!0)}}let a=o.next();r=null,o=null,m&&(a=(new v).execute(t,a,i,this.m_progressTracker));const h=J(i,a,!0),c=F(h);g=n.unproject(a,c,this.m_progressTracker),g=(new S).execute(g,this.m_gcs,!0,this.m_progressTracker)}return g=(new p).foldInto360RangeGeodetic(g,this.m_gcs,2),g}putInGridCursors(e,t,s,n,i,r,o,m,a){const h=[null,null,null,null,null,null];this.processInGrid(e,t,n,i,r,o,h);for(let c=0;c<6;c++)null!==h[c]&&(null===m[c]&&(m[c]=new C,a[c]=(new _).executeMany(m[c],s,this.m_progressTracker,2)),m[c].tick(be(h[c])),a[c].tock())}processInGrid(e,t,s,n,i,r,o){const m=.01,a=this.insertGeodeticPointsAlongGrid(t,i,m);for(let h=0;h<6;h++){if(n[h])continue;const e=i[h].clone();e.inflateCoords(m,m);const c=H(t,e),u=W(null,c,!1).total();let l=ne(a,e,u,Number.NaN,this.m_progressTracker);if(null!==l&&!l.isEmpty()){if(l===a&&(l=l.clone()),null===r[h]){const e=new $;h<3?e.setCoords(0,1):e.setCoords(0,-1);const t=new $;t.setAdd(i[h].getCenter(),e),r[h]=xe(this.m_gcs,t)}r[h].project(l);const e=J(null,l,!0);l=b(l,e,s,!0,-1,this.m_progressTracker,0,!1),o[h]=l}}}insertGeodeticPointsAlongGrid(e,t,s){const n=l.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=D(this.m_gcs,n,e,!0,this.m_progressTracker),r=new j,o=r.addGeometry(i);return I(r,o,this.m_gcs,0,2,!0,t[0].xmax+s),I(r,o,this.m_gcs,0,2,!0,t[1].xmax+s),I(r,o,this.m_gcs,0,2,!1,t[1].ymin+s),0!==s&&(I(r,o,this.m_gcs,0,2,!0,t[0].xmax-s),I(r,o,this.m_gcs,0,2,!0,t[1].xmax-s),I(r,o,this.m_gcs,0,2,!1,t[1].ymin-s)),r.getGeometry(o)}initializeGrid(e,t){for(let s=0;s<6;s++)e[s]=!1;t[0].setCoords({xmin:-this.m_gcs180,ymin:0,xmax:-this.m_gcs60,ymax:this.m_gcs90}),t[1].setCoords({xmin:-this.m_gcs60,ymin:0,xmax:this.m_gcs60,ymax:this.m_gcs90}),t[2].setCoords({xmin:this.m_gcs60,ymin:0,xmax:this.m_gcs180,ymax:this.m_gcs90}),t[3].setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:-this.m_gcs60,ymax:0}),t[4].setCoords({xmin:-this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs60,ymax:0}),t[5].setCoords({xmin:this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:0})}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t,s,n,i,r){const o=e[0],m=e.at(-1),a=o.y<m.y?o.y:m.y,h=o.y>m.y?o.y:m.y,c=d.q(this.m_a,this.m_eSquared,a),u=d.q(this.m_a,this.m_eSquared,h);if(this.m_q90-(c+t+this.m_absDistance)>.001&&this.m_q90+(u-t-this.m_absDistance)>.001)return!1;const l=s-te,_=n+te,f=l-Math.PI,g=l+Math.PI,p=_+Math.PI,P=[Number.NaN],x=[Number.NaN],b=[Number.NaN],y=[Number.NaN];let w=!1;if(le(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,l,f,m,_,P,x),le(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,p,_,o,f,b,y),(_<P[0]&&P[0]<p||_<x[0]&&x[0]<p)&&(w=!0),w||(f<b[0]&&b[0]<l||f<y[0]&&y[0]<l)&&(w=!0),!w&&i)return!1;const C=[];for(let d=e.length-1;d>=0;d--)C.push(e[d]);r.setEmpty(),r.addPathPoint2D(null,0,!0);let v=0;v=ce(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,e,l,_,i,v,r),v=ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,_,p,this.m_cornerStep,i,v,r,P[0],x[0]),v=ce(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,C,p,g,i,v,r),v=ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,f,l,this.m_cornerStep,i,v,r,b[0],y[0]);let S=!1;return i||(S=this.checkAndPrepForPole(r)),w||S}bufferPoint2D(e,t,s){s.setEmpty(),s.addPathPoint2D(null,0,!0);const n=0;ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,e,-this.m_cornerStep,2*Math.PI,this.m_cornerStep,t,n,s);let i=!1;return t||(i=this.checkAndPrepForPole(s)),i}checkAndPrepForPole(e){const t=this.checkAndPrepForPoleTouch(e),s=this.checkAndPrepForPoleWrap(e);return t||s}checkAndPrepForPoleTouch(e){const t=new l;return e.queryEnvelope(t),!(!G(t.ymax,this.m_gcs90)&&!G(t.ymin,-this.m_gcs90))&&(this.prepPoleTouch(e),!0)}checkAndPrepForPoleWrap(e){const t=e.getXY(0),s=e.getXY(e.getPointCount()-1);return Math.abs(t.x-s.x)>this.m_gcs180?(this.prepSinglePoleWrap(e),!0):this.checkAndPrepForDoublePoleWrap(e)}checkAndPrepForDoublePoleWrap(e){return e.calculateArea2D()<0&&(this.prepDoublePoleWrap(e),!0)}prepPoleTouch(e){const t=new O;t.insertPath2D(-1,null,0,0,!0);const s=e.getPathStart(0),n=e.getPathEnd(0),i=n-s;let r=-1;for(r=s;r<n;r++){const t=e.getXY(r),s=G(t.y,this.m_gcs90),n=G(t.y,-this.m_gcs90);if(!s&&!n)break}let o=r,m=!1,a=Number.NaN;do{const n=e.getXY(o),r=G(n.y,this.m_gcs90),h=G(n.y,-this.m_gcs90),c=s+(o+1-s)%i;if(r||h){let s=$.construct(a,n.y);t.insertPoint2D(0,-1,s);const i=e.getXY(c),r=G(i.y,this.m_gcs90),o=G(i.y,-this.m_gcs90);r||o||(s=$.construct(i.x,n.y),m?t.setXY(t.getPointCount()-1,s):t.insertPoint2D(0,-1,s)),m=!0}else t.insertPoint2D(0,-1,n),a=n.x,m=!1;o=c}while(o!==r);e.setEmpty(),e.add(t,!1)}prepSinglePoleWrap(e){const t=new O,s=new O,n=new K,i=e.getXY(e.getPathStart(0)),r=e.getXY(e.getPathEnd(0)-1),o=this.m_gcs360,m=this.m_gcs180,a=new l;a.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const h=new l;e.queryEnvelope(h);const c=Math.ceil(h.width()/o);let u,_;i.x>r.x?(u=-o,_=this.m_gcs90):(u=o,_=-this.m_gcs90),n.setShiftCoords(u,0),t.addPath(e,0,!0),s.add(t,!1);const f=new U;for(let l=0;l<c;l++)s.applyTransformation(n),s.getPointByVal(0,f),t.lineToPoint(f),t.addSegmentsFromPath(s,0,0,s.getSegmentCount()-1,!1);const d=t.getXY(0),g=t.getXY(t.getPointCount()-1);d.y=_,g.y=_,t.lineTo(g);const p=new $;for(p.setCoordsPoint2D(g),p.x-=.5*u;Math.abs(p.x-d.x)>m;)t.lineTo(p),p.x-=.5*u;t.lineTo(d);const P=a.getCenterX(),x=new l;t.queryEnvelope(x);let b=0;const y=x.getCenter().x;y-P>m?b=-Math.ceil((y-P-m)/o):P-y>m&&(b=Math.ceil((P-y-m)/o)),0!==b&&(n.setShiftCoords(b*o,0),t.applyTransformation(n));const w=new j,C=w.addGeometry(t);I(w,C,this.m_gcs,0,2,!0,a.xmin),I(w,C,this.m_gcs,0,2,!0,a.xmax);const v=w.getGeometry(C),S=H(v,a);S.inflateCoords(0,1);const D=W(null,S,!0).total(),G=ne(v,a,D,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(G,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,s=this.m_gcs180,n=new l;n.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const i=n.getCenter().x,r=new l;e.queryPathEnvelope(0,r);let o,m=0,a=r.getCenter().x;if(a-i>s?m=-Math.ceil((a-i-s)/t):i-a>s&&(m=Math.ceil((i-a-s)/t)),0!==m){const s=new K;s.setShiftCoords(m*t,0),e.getImpl().applyTransformationToPath(s,0),e.queryPathEnvelope(0,r),a=r.getCenter().x}const h=new l;n.containsExclusiveEnvelope(r)?(o=!1,h.setCoords({env2D:n})):(o=!0,h.setCoords({env2D:n}),h.xmin-=t,h.xmax+=t);let c=e.createInstance();c.addPathPoint2D(null,0,!0);const u=new $;if(u.setCoords(h.xmin,h.ymin),c.insertPoint2D(0,-1,u),u.setCoords(h.xmin,h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(.5*(h.xmin+h.xmax),h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(h.xmax,h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(h.xmax,h.ymin),c.insertPoint2D(0,-1,u),u.setCoords(.5*(h.xmin+h.xmax),h.ymin),c.insertPoint2D(0,-1,u),o){c.addPath(e,0,!0);const s=new K;a<i?s.setShiftCoords(t,0):s.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(s,0),c.addPath(e,0,!0);const r=new j,o=r.addGeometry(c);I(r,o,this.m_gcs,0,2,!0,n.xmin),I(r,o,this.m_gcs,0,2,!0,n.xmax),c=r.getGeometry(o);const m=H(c,n);m.inflateCoords(0,1);const h=W(null,m,!0).total();c=ne(c,n,h,Number.NaN,this.m_progressTracker)}else c.addPath(e,0,!0);e.setEmpty(),e.add(c,!1)}setMinCornerStep(){const e={stack:[],error:void 0,hasError:!1};try{let s=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);s=Math.min(s,.125*this.m_a*Math.PI);const n=new $;n.setCoords(0,10*this.m_rpu);const i=0;let r=45*this.m_rpu;const o=X(e,new ee(new T,new T),!1),m=X(e,new ee(new T,new T),!1),a=X(e,new ee(new T,new T),!1),h=X(e,new ee(new T,new T),!1),c=new $,u=new $,l=new $,_=new $;for(M.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,i,o.at(0),o.at(1)),c.setCoords(o.at(0).val,o.at(1).val),M.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,r,m.at(0),m.at(1)),u.setCoords(m.at(0).val,m.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const t=.5*(i+r);M.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,t,a.at(0),a.at(1)),l.setCoords(a.at(0).val,a.at(1).val);const o=X(e,new T,!1),f=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,c.x,c.y,u.x,u.y,o,f,null,2),M.geodeticCoordinate(this.m_a,this.m_eSquared,c.x,c.y,.5*o.val,f.val,h.at(0),h.at(1),2),_.setCoords(h.at(0).val,h.at(1).val);const d=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,d,null,null,2);if(d.val<=this.m_convergenceOffset)break;r*=.9,M.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,r,m.at(0),m.at(1)),u.setCoords(m.at(0).val,m.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{B(e)}}const f=r-i,d=2*Math.PI/Math.ceil(2*Math.PI/f);this.m_cornerStep=d}catch(s){e.error=s,e.hasError=!0}finally{B(e)}}setMinSegmentStep(){const e={stack:[],error:void 0,hasError:!1};try{let n=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);n=Math.min(n,.125*this.m_a*Math.PI);const i=new $,r=new $;i.setCoords(0,10*this.m_rpu),r.setCoords(10*this.m_rpu,10*this.m_rpu);const o=X(e,new T,!1),m=X(e,new T,!1),a=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,r.x,r.y,a,o,m,this.m_curveType);const h=X(e,new ee(new T,new T),!1),c=X(e,new ee(new T,new T),!1),u=new $,l=X(e,new T,!1),_=X(e,new ee(new T,new T),!1),f=X(e,new ee(new T,new T),!1),d=X(e,new ee(new T,new T),!1),g=X(e,new ee(new T,new T),!1),p=new $,P=new $,x=new $,b=new $,y=0;let w=1;const C=o.val,v=m.val,S=C-.5*Math.PI,D=v+.5*Math.PI,I=a.val;for(M.geodesicCoordinate(this.m_a,this.m_eSquared,i.x,i.y,n,S,_.at(0),_.at(1)),p.setCoords(_.at(0).val,_.at(1).val),M.geodesicCoordinate(this.m_a,this.m_eSquared,r.x,r.y,n,D,f.at(0),f.at(1)),P.setCoords(f.at(0).val,f.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const s=.5*(y+w);M.geodeticCoordinate(this.m_a,this.m_eSquared,i.x,i.y,s*I,C,h.at(0),h.at(1),this.m_curveType),u.setCoords(h.at(0).val,h.at(1).val),M.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,u.x,u.y,null,null,l,this.m_curveType);const o=l.val+.5*Math.PI;M.geodesicCoordinate(this.m_a,this.m_eSquared,u.x,u.y,n,o,d.at(0),d.at(1)),x.setCoords(d.at(0).val,d.at(1).val);const m=X(e,new T,!1),a=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,p.x,p.y,P.x,P.y,m,a,null,2),M.geodeticCoordinate(this.m_a,this.m_eSquared,p.x,p.y,.5*m.val,a.val,g.at(0),g.at(1),2),b.setCoords(g.at(0).val,g.at(1).val);const _=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,x.x,x.y,b.x,b.y,_,null,null,2);if(_.val<=this.m_convergenceOffset)break;{const e={stack:[],error:void 0,hasError:!1};try{w*=.9,M.geodeticCoordinate(this.m_a,this.m_eSquared,i.x,i.y,w*I,C,c.at(0),c.at(1),this.m_curveType),r.setCoords(c.at(0).val,c.at(1).val);const t=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,r.x,r.y,null,null,t,this.m_curveType);const s=t.val+.5*Math.PI;M.geodesicCoordinate(this.m_a,this.m_eSquared,r.x,r.y,n,s,f.at(0),f.at(1)),P.setCoords(f.at(0).val,f.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{B(e)}}}catch(s){e.error=s,e.hasError=!0}finally{B(e)}}let G=w*I;G>1e5&&(G=1e5),this.m_segmentStep=G}catch(n){e.error=n,e.hasError=!0}finally{B(e)}}setConvergenceOffset(){let e;e=this.m_absDistance>5e4?100:this.m_absDistance>1e4?10:1,this.m_absDistance/e<500&&(e=this.m_absDistance/500),e<.01&&(e=.01),this.m_convergenceOffset=e}}function he(e,t,s,n,i,r,_){if(e.isEmpty())return new O({vd:e.getDescription()});let b=e;if(m(b)){const e=10*t.getTolerance(0);b=(new re).execute(b,0,e,0,_,12e3)}const y=new ae(_);y.m_sr=t,y.m_gcs=t.getGCS(),y.m_transform=f(t,y.m_gcs,null);const w=N();y.m_gcs.querySpheroidData(w);const C=new l;b.queryEnvelope(C),y.m_a=w.majorSemiAxis,y.m_eSquared=w.e2,y.m_rpu=y.m_gcs.getUnit().getUnitToBaseFactor(),y.m_gcs90=.5*Math.PI/y.m_rpu,y.m_gcs180=Math.PI/y.m_rpu,y.m_gcs360=2*Math.PI/y.m_rpu,y.m_gcs60=y.m_gcs360/6,y.m_q90=d.q90(y.m_a,y.m_eSquared),y.m_ellipticToGeodesicMaxRatio=.5*y.m_a*Math.PI/y.m_q90;const v=y.m_gcs.getTolerance(0);y.m_radTolerance=v*y.m_rpu,4===s?(y.m_curveType=2,y.m_bShapePreserving=!0):(y.m_curveType=s,y.m_bShapePreserving=!1),y.m_distance=n,y.m_absDistance=Math.abs(n),Number.isNaN(i)||i<=0?y.setConvergenceOffset():y.m_convergenceOffset=Math.max(i,.001),y.m_convergenceOffset/=r;let S,D=b.getGeometryType();if(a(D)){const e=new Y({vd:b.getDescription()});e.addSegment(b,!0),S=e,D=o.enumPolyline}else if(D===o.enumEnvelope){const e=b,t=new l;e.queryEnvelope(t);const s=F(W(y.m_sr,C,!0));if(t.minDimension()<=s)if(0===t.maxDimension()){const t=new U({vd:b.getDescription()});e.getCenter(t),S=t,D=o.enumPoint}else{const t=new Y({vd:b.getDescription()});t.addEnvelope(e,!1),S=t,D=o.enumPolyline}else{const t=new O({vd:b.getDescription()});t.addEnvelope(e,!1),S=t,D=o.enumPolygon}}else S=b;if(y.setMinCornerStep(),h(D)||y.setMinSegmentStep(),y.m_absDistance<=.5*y.m_convergenceOffset)return D!==o.enumPolygon?new O({vd:S.getDescription()}):y.m_bShapePreserving?S:g(S,y.m_sr,y.m_curveType,y.m_segmentStep,-1,_);if(y.m_distance<0&&D!==o.enumPolygon)return new O({vd:S.getDescription()});if(y.m_bShapePreserving&&c(D)){const e=g(S,t,4,Number.NaN,y.m_convergenceOffset,_);S=(new p).execute(e,y.m_transform,_)}else S=(new p).execute(S,y.m_transform,_);if(S=P(S,y.m_gcs),S.isEmpty())return new O({vd:S.getDescription()});!y.m_bShapePreserving&&c(D)&&(S=x(y.m_rpu,S)),S=fe(S,y.m_gcs);let I=new O;switch(D){case o.enumPolygon:I=y.bufferPolygon(S);break;case o.enumPolyline:I=y.bufferPolyline(S);break;case o.enumMultiPoint:I=y.bufferMultiPoint(S);break;case o.enumPoint:I=y.bufferPoint(S);break;default:u("")}const G=(new p).execute(I,y.m_transform.getInverse(),_);return G.mergeVertexDescription(S.getDescription()),G}function ce(e,t,s,n,i,r,o,m,a,h,c){const u={stack:[],error:void 0,hasError:!1};try{const l=new $;l.setNAN(),a||c.getPointCount()>0&&(l.setCoordsPoint2D(c.getXY(c.getPointCount()-1)),l.scale(s));const _=X(u,new T,!1),f=X(u,new ee(new T,new T),!1),d=new $,g=new $,p=r.at(-1),P=1/s;for(let s=0;s<r.length;s++){const u=r[s];let x;0===s?x=o:s===r.length-1?x=m:(M.geodeticDistance(e,t,p.x,p.y,u.x,u.y,null,null,_,i),x=_.val-.5*Math.PI),M.geodesicCoordinate(e,t,u.x,u.y,n,x,f.at(0),f.at(1)),a?g.setCoords(f.at(0).val,f.at(1).val):(d.setCoords(f.at(0).val,f.at(1).val),h=_e(u.x,d.x,l.x,h),g.setCoords(h+d.x,d.y),l.setCoordsPoint2D(g)),g.scale(P),c.insertPoint2D(0,-1,g)}return h}catch(l){u.error=l,u.hasError=!0}finally{B(u)}}function ue(e,t,s,n,i,r,o,m,a,h,c,u=Number.NaN,l=Number.NaN){const _={stack:[],error:void 0,hasError:!1};try{if(o-r<m)return h;const f=X(_,new ee(new T,new T),!1),d=new $,g=new $,p=new $;g.setNAN(),a||c.getPointCount()>0&&(g.setCoordsPoint2D(c.getXY(c.getPointCount()-1)),g.scale(s));let P=Math.ceil(r/m),x=P++*m;x===r&&(x=P++*m);let b=r;const y=1/s;for(;x<o+m&&(b<u&&u<x?(x=u,P--):b<l&&l<x&&(x=l,P--),!(x>=o));)M.geodesicCoordinate(e,t,i.x,i.y,n,x,f.at(0),f.at(1)),a?p.setCoords(f.at(0).val,f.at(1).val):(d.setCoords(f.at(0).val,f.at(1).val),h=_e(i.x,d.x,g.x,h),p.setCoords(h+d.x,d.y),g.setCoordsPoint2D(p)),p.scale(y),c.insertPoint2D(0,-1,p),b=x,x=P++*m;return h}catch(f){_.error=f,_.hasError=!0}finally{B(_)}}function le(e,t,s,n,i,r,o,m,a,h,c){const u={stack:[],error:void 0,hasError:!1};try{const s=new $,l=new $,_=X(u,new ee(new T,new T),!1);M.geodesicCoordinate(e,t,i.x,i.y,n,r,_.at(0),_.at(1)),s.setCoords(_.at(0).val,_.at(1).val),M.geodesicCoordinate(e,t,i.x,i.y,n,o,_.at(0),_.at(1)),l.setCoords(_.at(0).val,_.at(1).val);const f=X(u,new T,!1);for(M.geodeticDistance(e,t,m.x,m.y,s.x,s.y,null,f,null,0),h[0]=f.val,M.geodeticDistance(e,t,m.x,m.y,l.x,l.y,null,f,null,0),c[0]=f.val;h[0]<=c[0];)h[0]+=se;for(;h[0]>c[0];)h[0]-=se;for(;h[0]>=a;)h[0]-=se,c[0]-=se;for(;h[0]<a;)h[0]+=se,c[0]+=se}catch(l){u.error=l,u.hasError=!0}finally{B(u)}}function _e(e,t,s,n){if(Number.isNaN(s)){for(;n+t-e>Math.PI;)n-=se;for(;e-(n+t)>Math.PI;)n+=se;return n}return n+t-s>Math.PI?n-=se:s-(n+t)>Math.PI&&(n+=se),n}function fe(e,t){const s=e.getGeometryType();let n;if(n=c(s)?e.getPathCount():s===o.enumMultiPoint?e.getPointCount():1,1===n)return e;const i=[],r=[];for(let o=0;o<n;o++){i.push(o);const n=new $;if(c(s)){const t=new l;e.queryPathEnvelope(o,t),n.assign(t.getCenter())}else n.assign(e.getXY(o));const m=t.toGeohash(n);r.push(m)}i.sort((e,t)=>r[e]<r[t]?-1:r[e]>r[t]?1:0);const m=e.createInstance();for(let o=0;o<n;o++){const t=i[o];c(s)?m.addPath(e,t,!0):m.addPoints(e,t,t+1)}return m}function de(e,t,s,n,i,r){const o={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const m=s[0],a=s.at(-1),h=X(o,new T,!1),c=X(o,new T,!1),u=X(o,new T,!1);M.greatEllipticDistance(e,t,i.x,i.y,m.x,m.y,h,null,null),M.greatEllipticDistance(e,t,i.x,i.y,a.x,a.y,c,null,null),M.greatEllipticDistance(e,t,m.x,m.y,a.x,a.y,u,null,null);let l=Math.min(h.val,c.val)+u.val,_=l+n;if(_<r)return!0;const f=X(o,new T,!1);l=Math.max(h.val,c.val);for(let n=1;n<s.length-1;n++){const r=s[n];M.greatEllipticDistance(e,t,i.x,i.y,r.x,r.y,f,null,null),f.val>l&&(l=f.val)}return _=l+n,_<r}catch(m){o.error=m,o.hasError=!0}finally{B(o)}}function ge(e,t,s,n,i,r,o,m){let a;if(n.length%2==0){const e=n.length>>1,t=n[e],s=n[e-1];a=$.lerp(t,s,.5)}else{a=n[n.length-1>>1].clone()}const h=a.clone(),c=k(e,t,h,75/180*Math.PI);return!!de(e,t,n,i,h,c)&&(null!==r&&(r.setCoordsPoint2D(a),r.scale(1/s)),null!==o&&o.setCoordsPoint2D(h),null!==m&&(m[0]=c),!0)}function pe(e,t,s,n,i,r){const o={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const m=X(o,new T,!1);M.greatEllipticDistance(e,t,i.x,i.y,s.x,s.y,m,null,null);return m.val+n<r}catch(m){o.error=m,o.hasError=!0}finally{B(o)}}function Pe(e,t,s,n,i,r,o,m){const a=k(e,t,n,75/180*Math.PI);return!!pe(e,t,n,i,n,a)&&(null!==r&&(r.setCoordsPoint2D(n),r.scale(1/s)),null!==o&&o.setCoordsPoint2D(n),null!==m&&(m[0]=a),!0)}function xe(e,t){return new z(e,t)}function be(e){return L(e,0)||V(e,0),e}class ye{m_bRunningInGnomonic=!1;m_bNeedsSimplify=!1;m_gnomonic=null;m_gnomonicCenterRad=new $;m_minGnomonicRadius=Number.NaN;m_progressTracker;constructor(e){this.m_progressTracker=e}isRunningInGnomonic(){return this.m_bRunningInGnomonic}needsSimplify(){return this.m_bNeedsSimplify}getGnomonic(){return this.m_gnomonic}}class we extends ye{m_bufferer;m_multiPath;m_segIter=null;m_bNextSegmentCannotJoin=!1;m_currentDensifiedDelta=[0];m_currentBufferedDelta=0;m_lastAzimuth=0;m_startAzimuth=[0];m_endAzimuth=[0];m_numWinds=0;m_debugCounter=0;m_bufferHelper=new O;m_densifiedPoints=[];m_densified;constructor(e,t,s){super(e.m_progressTracker),this.m_bufferer=e,this.m_multiPath=t,this.m_densified=s,this.m_bNeedsSimplify=!0;const n=new l;this.m_multiPath.queryEnvelope(n);const i=n.getCenter(),r=i.clone();r.scale(this.m_bufferer.m_rpu),this.m_gnomonic=xe(this.m_bufferer.m_gcs,i),this.m_gnomonicCenterRad=r.clone(),this.m_minGnomonicRadius=k(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,r,75/180*Math.PI)}next(){let e;if(this.m_bNextSegmentCannotJoin)return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e;if(null===this.m_segIter){if(this.m_segIter=this.m_multiPath.getImpl().querySegmentIterator(),!this.m_segIter.nextPath())return null;null!==this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}if(!this.m_segIter.hasNextSegment()){if(!this.m_segIter.nextPath())return null;null!=this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}let t=null;this.m_currentBufferedDelta=0,this.m_currentDensifiedDelta=[0],this.m_numWinds=0,this.m_lastAzimuth=Number.NaN,this.m_bNextSegmentCannotJoin=!1,this.m_densifiedPoints.length=0;const s=16;let n=0;const i=new $,r=new $;for(;this.m_segIter.hasNextSegment()&&this.m_numWinds<s;){const e=this.m_segIter.nextSegment();if(i.setCoordsPoint2D(e.getStartXY()),r.setCoordsPoint2D(e.getEndXY()),i.scale(this.m_bufferer.m_rpu),r.scale(this.m_bufferer.m_rpu),A(i,r))i.x=r.x;else if(E(i,r))r.x=i.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),n=this.m_multiPath.getPathStart(s),o=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<n&&(e=this.m_multiPath.isClosedPath(s)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(s)?n:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),E(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),A(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0;const s=q(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,i,r,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta);if(0===n)this.m_bRunningInGnomonic=this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(this.m_densifiedPoints));else if(this.m_bRunningInGnomonic){if(!this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}else{if(ge(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_densifiedPoints,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,null,null,null)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}if(0===s||R(i,r)?(this.m_bufferHelper.setEmpty(),this.m_bufferer.bufferPoint2D(i,this.m_bRunningInGnomonic,this.m_bufferHelper),this.m_bNextSegmentCannotJoin=!0):(this.m_bufferHelper.setEmpty(),this.m_bNextSegmentCannotJoin=this.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(s,this.m_bufferHelper)),this.m_bNextSegmentCannotJoin){this.m_segIter.previousSegment(),this.m_segIter.hasPreviousSegment()?(this.m_segIter.previousSegment(),this.m_segIter.nextSegment()):this.m_segIter.resetToFirstSegment(),null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0);break}null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0),null===t&&(t=new O,t.addPathPoint2D(null,0,!0)),this.addJoinAndBufferLeftSide(t),n++}if(this.m_currentDensifiedDelta=[0],n>0){const e=this.m_segIter.getStartPointIndex(),s=this.m_segIter.getPathIndex();for(;n>0;){if(this.m_segIter.previousSegment(),i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),r.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getEndPointIndex())),i.scale(this.m_bufferer.m_rpu),r.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic)if(A(i,r))i.x=r.x;else if(E(i,r))r.x=i.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),n=this.m_multiPath.getPathStart(s),o=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<n&&(e=this.m_multiPath.isClosedPath(s)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(s)?n:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),E(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),A(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0,q(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,r,i,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta),this.addJoinAndBufferLeftSide(t),n--}return i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),i.scale(this.m_bufferer.m_rpu),this.m_currentBufferedDelta=ue(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,i,this.m_lastAzimuth+.5*Math.PI,this.m_lastAzimuth+1.5*Math.PI,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,t),this.m_segIter.resetToVertex(e,s),this.m_segIter.nextSegment(),t}return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e}isSegmentBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&de(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new $,s=new $,n=[0];return ge(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=xe(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t){return this.m_bufferer.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(this.m_densifiedPoints,e,this.m_startAzimuth[0],this.m_endAzimuth[0],this.m_bRunningInGnomonic,t)}addJoinAndBufferLeftSide(e){const t=this.m_densifiedPoints[0];let s=Number.NaN,n=this.m_startAzimuth[0]-te;const i=this.m_endAzimuth[0]+te;let r=!1;if(!Number.isNaN(this.m_lastAzimuth)){this.m_lastAzimuth>=this.m_startAzimuth[0]?(s=this.m_lastAzimuth+te,n=s+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(s=this.m_lastAzimuth+te,n=s+Math.PI-(se-(this.m_startAzimuth[0]-this.m_lastAzimuth))),r=!(this.m_lastAzimuth>=this.m_startAzimuth[0]&&this.m_lastAzimuth-this.m_startAzimuth[0]<=Math.PI)&&!(this.m_lastAzimuth<this.m_startAzimuth[0]&&this.m_startAzimuth[0]-this.m_lastAzimuth>=Math.PI);let i=!1;if(Math.abs(n-s)<=.5*this.m_bufferer.m_cornerStep&&(r||(i=!0)),i){if(e.removePointFromPath(0,e.getPointCount()-1),!this.m_bRunningInGnomonic){const t=new $;t.setCoordsPoint2D(e.getXY(e.getPointCount()-1)),t.scale(this.m_bufferer.m_rpu),t.x-this.m_currentBufferedDelta<-Math.PI?this.m_currentBufferedDelta-=se:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=se)}n=.5*(n+s)}else if(r){const s=new $;s.setCoordsPoint2D(t),s.scale(1/this.m_bufferer.m_rpu),e.insertPoint2D(0,-1,s)}else ue(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_densifiedPoints[0],s,n,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e)}this.m_startAzimuth[0]!==this.m_lastAzimuth&&this.m_numWinds++,ce(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_bufferer.m_curveType,this.m_densifiedPoints,n,i,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e),this.m_lastAzimuth=this.m_endAzimuth[0]}}class Ce extends ye{m_bufferer;m_multiPoint;m_pointIndex=-1;constructor(e,t){super(e.m_progressTracker),this.m_bufferer=e,this.m_multiPoint=t,this.m_bNeedsSimplify=!1;const s=new l;this.m_multiPoint.queryEnvelope(s);const n=s.getCenter(),i=n.clone();i.scale(this.m_bufferer.m_rpu),this.m_gnomonic=xe(this.m_bufferer.m_gcs,n),this.m_gnomonicCenterRad=i.clone(),this.m_minGnomonicRadius=k(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,i,75/180*Math.PI)}next(){if(this.m_bNeedsSimplify=!1,++this.m_pointIndex===this.m_multiPoint.getPointCount())return null;const e=this.m_multiPoint.getXY(this.m_pointIndex);e.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic=this.isPointBufferInCurrentGnomonic(e),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(e));const t=new O,s=this.m_bufferer.bufferPoint2D(e,this.m_bRunningInGnomonic,t);return this.m_bNeedsSimplify=s,t}isPointBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&pe(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new $,s=new $,n=[0];return Pe(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=xe(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}}class ve{getOperatorType(){return 10110}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n,i,r,o,m){if(o){const o=new Se(e,t,s,n,i,!1,r,m);return(new _).executeMany(o,t,m)}return new Se(e,t,s,n,i,!1,r,m)}execute(e,s,n,i,r,o,m){const a=new oe([e]),h=[i],c=this.executeMany(a,s,n,h,r,!1,o,m).next();return c||t("geodesic buffer null output"),c}}class Se extends e{m_inputGeoms;m_spatialReference;m_curveType;m_progressTracker;m_distances;m_convergenceOffset;m_currentUnionEnvelope2D=new l;m_bOutlineOnly;m_bUnion;m_index=-1;m_dindex=-1;constructor(e,t,i,r,o,m,a,h){super(),this.m_progressTracker=h,m&&s(""),t||n("");0===t.getCoordinateSystemType()&&n(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=i,this.m_distances=r,this.m_convergenceOffset=o,this.m_bOutlineOnly=m,this.m_bUnion=a}next(){let e;for(;e=this.m_inputGeoms.next();)return i(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.geodesicBuffer(e,this.m_distances[this.m_dindex]);return null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodesicBuffer(e,t){return me(e,this.m_spatialReference,this.m_curveType,t,this.m_convergenceOffset,this.m_progressTracker)}}export{ve as OperatorGeodesicBuffer};
2
+ import{G as e}from"./GeometryCursor.js";import{d as t,t as s,a as n,c as i,i as r,G as o,n as m,h as a,f as h,j as c,o as u}from"./Geometry.js";import{Envelope2D as l}from"./Envelope2D.js";import{a5 as _,D as f,ae as d,af as g,O as p,ag as P,ah as x,ab as b,e as y,ai as w,aj as C,a3 as v,J as S,ak as D,al as I,am as G,an as T,ao as M,r as N,ap as k,aq as A,ar as E,as as q,at as R,au as z}from"./UnitFactory.js";import{__addDisposableResource as X,__disposeResources as B}from"tslib";import{P as O,a as Y,E as j}from"./MultiPathImpl.js";import{f as F,c as W,P as J,e as U,h as H,j as L,s as V}from"./Envelope.js";import{T as K}from"./Transformation2D.js";import{d as Q,m as Z,P as $,S as ee,l as te,n as se}from"./Point2D.js";import{c as ne}from"./OperatorClip.js";import{c as ie}from"./GeometryCleaner-CIE8Wfmb.js";import{O as re}from"./OperatorDensify.js";import{S as oe}from"./SimpleGeometryCursor.js";function me(e,t,s,m,a,h){m<Number.MAX_VALUE&&m>-Number.MAX_VALUE||n("Geodesic_bufferer.buffer - bad distance"),i(e);const c=ie(e),u=c.getGeometryType();if(r(u)){const e=c.getPointCount(),n=8e6;if(Math.abs(m)>n&&(e>50||u!==o.enumMultiPoint&&4===s&&e>2)){let e=c;const i=m>0?1:-1,r=7e6;let o=m,u=1;do{u++,o=(Math.abs(o)-r)*i}while(Math.abs(o)>n);o=m;for(let n=0;n<u-1;n++)e=he(e,t,s,r*i,a,u,h),o=(Math.abs(o)-r)*i;return e=he(e,t,s,o,a,u,h),e}}return he(c,t,s,m,a,1,h)}class ae{m_sr=null;m_gcs=null;m_transform=null;m_progressTracker;m_a=0;m_eSquared=0;m_rpu=0;m_radTolerance=0;m_q90=0;m_gcs90=0;m_gcs180=0;m_gcs360=0;m_gcs60=0;m_ellipticToGeodesicMaxRatio=0;m_curveType=0;m_bShapePreserving=!1;m_distance=0;m_absDistance=0;m_convergenceOffset=0;m_cornerStep=0;m_segmentStep=0;constructor(e){this.m_progressTracker=e}bufferPolygon(e){const t=new O,s=new we(this,e,t);return this.processGnomonicBufferPiecesCursor(!0,s)}bufferPolyline(e){const t=new we(this,e,null);return this.processGnomonicBufferPiecesCursor(!0,t)}bufferMultiPoint(e){const t=new Ce(this,e);return this.processGnomonicBufferPiecesCursor(!1,t)}bufferPoint(e){const t=e.getXY();t.scale(this.m_rpu);let s=new O;if(this.bufferPoint2D(t,!1,s)){const e=U(null,s,!0);s=b(s,e,!0,!0,-1,this.m_progressTracker,0,!1)}return s=(new p).foldInto360RangeGeodetic(s,this.m_gcs,2),s}processGnomonicBufferPiecesCursor(e,t){const s=t;let n=s.getGnomonic();const i=y(w());let r=new C,o=(new _).executeMany(r,i,this.m_progressTracker,2);const m=Q(6,!1),a=Z(l,6);this.initializeGrid(m,a);const h=[null,null,null,null,null,null],c=[null,null,null,null,null,null],u=[null,null,null,null,null,null];let f,d,g;for(;null!==(f=s.next());){if(d=s.getGnomonic(),d!==n){if(null!==n){let t=o.next();if(r=null,o=null,null!=t){const s=U(i,t,!0),r=F(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,m,a,h,c,u)}}null!==d&&(r=new C,o=(new _).executeMany(r,i,this.m_progressTracker,2)),n=d}if(s.isRunningInGnomonic()){if(d.project(f),s.needsSimplify()){const e=U(null,f,!0);f=b(f,e,!0,!0,-1,this.m_progressTracker,0,!1)}r.tick(be(f)),o.tock()}else this.putInGridCursors(e,f,i,!0,m,a,h,c,u)}let P=!1;for(let l=0;l<6;l++)if(null!=u[l]){P=!0;break}if(P){let t=!1;const l=[null,null,null,null,null,null];if(e){const n=s.m_densified;if(s.m_densified=null,null!==n){const s=new K;s.scale(1/this.m_rpu,1/this.m_rpu),n.applyTransformation(s),this.m_distance>0?this.putInGridCursors(e,n,i,!1,m,a,h,c,u):(this.processInGrid(e,n,!1,m,a,h,l),t=!0)}}const f=new C,d=(new _).executeMany(f,this.m_gcs,this.m_progressTracker,2);if(null!==o){let t=o.next();r=null,o=null;const s=U(i,t,!0),l=F(s);t=n.unproject(t,l,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,m,a,h,c,u)}for(let e=0;e<6;e++)if(null!=u[e]){let s=u[e].next();u[e]=null,c[e]=null,t&&null!==l[e]&&(s=(new v).execute(l[e],s,i,this.m_progressTracker));const n=U(i,s,!0),r=F(n);s=h[e].unproject(s,r,this.m_progressTracker),s=(new S).execute(s,this.m_gcs,!0,this.m_progressTracker),f.tick(be(s)),d.tock()}g=d.next()}else{let t,m=!1;if(e){let e=s.m_densified;if(s.m_densified=null,null!==e){const s=new K;s.scale(1/this.m_rpu,1/this.m_rpu),e.applyTransformation(s),d.project(e);const n=U(null,e,!0);e=b(e,n,!1,!0,-1,this.m_progressTracker,0,!1),this.m_distance>0?(r.tick(be(e)),o.tock()):(t=e,m=!0)}}let a=o.next();r=null,o=null,m&&(a=(new v).execute(t,a,i,this.m_progressTracker));const h=U(i,a,!0),c=F(h);g=n.unproject(a,c,this.m_progressTracker),g=(new S).execute(g,this.m_gcs,!0,this.m_progressTracker)}return g=(new p).foldInto360RangeGeodetic(g,this.m_gcs,2),g}putInGridCursors(e,t,s,n,i,r,o,m,a){const h=[null,null,null,null,null,null];this.processInGrid(e,t,n,i,r,o,h);for(let c=0;c<6;c++)null!==h[c]&&(null===m[c]&&(m[c]=new C,a[c]=(new _).executeMany(m[c],s,this.m_progressTracker,2)),m[c].tick(be(h[c])),a[c].tock())}processInGrid(e,t,s,n,i,r,o){const m=.01,a=this.insertGeodeticPointsAlongGrid(t,i,m);for(let h=0;h<6;h++){if(n[h])continue;const e=i[h].clone();e.inflateCoords(m,m);const c=H(t,e),u=W(null,c,!1).total();let l=ne(a,e,u,Number.NaN,this.m_progressTracker);if(null!==l&&!l.isEmpty()){if(l===a&&(l=l.clone()),null===r[h]){const e=new $;h<3?e.setCoords(0,1):e.setCoords(0,-1);const t=new $;t.setAdd(i[h].getCenter(),e),r[h]=xe(this.m_gcs,t)}r[h].project(l);const e=U(null,l,!0);l=b(l,e,s,!0,-1,this.m_progressTracker,0,!1),o[h]=l}}}insertGeodeticPointsAlongGrid(e,t,s){const n=l.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=D(this.m_gcs,n,e,!0,this.m_progressTracker),r=new j,o=r.addGeometry(i);return I(r,o,this.m_gcs,0,2,!0,t[0].xmax+s),I(r,o,this.m_gcs,0,2,!0,t[1].xmax+s),I(r,o,this.m_gcs,0,2,!1,t[1].ymin+s),0!==s&&(I(r,o,this.m_gcs,0,2,!0,t[0].xmax-s),I(r,o,this.m_gcs,0,2,!0,t[1].xmax-s),I(r,o,this.m_gcs,0,2,!1,t[1].ymin-s)),r.getGeometry(o)}initializeGrid(e,t){for(let s=0;s<6;s++)e[s]=!1;t[0].setCoords({xmin:-this.m_gcs180,ymin:0,xmax:-this.m_gcs60,ymax:this.m_gcs90}),t[1].setCoords({xmin:-this.m_gcs60,ymin:0,xmax:this.m_gcs60,ymax:this.m_gcs90}),t[2].setCoords({xmin:this.m_gcs60,ymin:0,xmax:this.m_gcs180,ymax:this.m_gcs90}),t[3].setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:-this.m_gcs60,ymax:0}),t[4].setCoords({xmin:-this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs60,ymax:0}),t[5].setCoords({xmin:this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:0})}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t,s,n,i,r){const o=e[0],m=e.at(-1),a=o.y<m.y?o.y:m.y,h=o.y>m.y?o.y:m.y,c=d.q(this.m_a,this.m_eSquared,a),u=d.q(this.m_a,this.m_eSquared,h);if(this.m_q90-(c+t+this.m_absDistance)>.001&&this.m_q90+(u-t-this.m_absDistance)>.001)return!1;const l=s-te,_=n+te,f=l-Math.PI,g=l+Math.PI,p=_+Math.PI,P=[Number.NaN],x=[Number.NaN],b=[Number.NaN],y=[Number.NaN];let w=!1;if(le(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,l,f,m,_,P,x),le(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,p,_,o,f,b,y),(_<P[0]&&P[0]<p||_<x[0]&&x[0]<p)&&(w=!0),w||(f<b[0]&&b[0]<l||f<y[0]&&y[0]<l)&&(w=!0),!w&&i)return!1;const C=[];for(let d=e.length-1;d>=0;d--)C.push(e[d]);r.setEmpty(),r.addPathPoint2D(null,0,!0);let v=0;v=ce(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,e,l,_,i,v,r),v=ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,_,p,this.m_cornerStep,i,v,r,P[0],x[0]),v=ce(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,C,p,g,i,v,r),v=ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,f,l,this.m_cornerStep,i,v,r,b[0],y[0]);let S=!1;return i||(S=this.checkAndPrepForPole(r)),w||S}bufferPoint2D(e,t,s){s.setEmpty(),s.addPathPoint2D(null,0,!0);const n=0;ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,e,-this.m_cornerStep,2*Math.PI,this.m_cornerStep,t,n,s);let i=!1;return t||(i=this.checkAndPrepForPole(s)),i}checkAndPrepForPole(e){const t=this.checkAndPrepForPoleTouch(e),s=this.checkAndPrepForPoleWrap(e);return t||s}checkAndPrepForPoleTouch(e){const t=new l;return e.queryEnvelope(t),!(!G(t.ymax,this.m_gcs90)&&!G(t.ymin,-this.m_gcs90))&&(this.prepPoleTouch(e),!0)}checkAndPrepForPoleWrap(e){const t=e.getXY(0),s=e.getXY(e.getPointCount()-1);return Math.abs(t.x-s.x)>this.m_gcs180?(this.prepSinglePoleWrap(e),!0):this.checkAndPrepForDoublePoleWrap(e)}checkAndPrepForDoublePoleWrap(e){return e.calculateArea2D()<0&&(this.prepDoublePoleWrap(e),!0)}prepPoleTouch(e){const t=new O;t.insertPath2D(-1,null,0,0,!0);const s=e.getPathStart(0),n=e.getPathEnd(0),i=n-s;let r=-1;for(r=s;r<n;r++){const t=e.getXY(r),s=G(t.y,this.m_gcs90),n=G(t.y,-this.m_gcs90);if(!s&&!n)break}let o=r,m=!1,a=Number.NaN;do{const n=e.getXY(o),r=G(n.y,this.m_gcs90),h=G(n.y,-this.m_gcs90),c=s+(o+1-s)%i;if(r||h){let s=$.construct(a,n.y);t.insertPoint2D(0,-1,s);const i=e.getXY(c),r=G(i.y,this.m_gcs90),o=G(i.y,-this.m_gcs90);r||o||(s=$.construct(i.x,n.y),m?t.setXY(t.getPointCount()-1,s):t.insertPoint2D(0,-1,s)),m=!0}else t.insertPoint2D(0,-1,n),a=n.x,m=!1;o=c}while(o!==r);e.setEmpty(),e.add(t,!1)}prepSinglePoleWrap(e){const t=new O,s=new O,n=new K,i=e.getXY(e.getPathStart(0)),r=e.getXY(e.getPathEnd(0)-1),o=this.m_gcs360,m=this.m_gcs180,a=new l;a.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const h=new l;e.queryEnvelope(h);const c=Math.ceil(h.width()/o);let u,_;i.x>r.x?(u=-o,_=this.m_gcs90):(u=o,_=-this.m_gcs90),n.setShiftCoords(u,0),t.addPath(e,0,!0),s.add(t,!1);const f=new J;for(let l=0;l<c;l++)s.applyTransformation(n),s.getPointByVal(0,f),t.lineToPoint(f),t.addSegmentsFromPath(s,0,0,s.getSegmentCount()-1,!1);const d=t.getXY(0),g=t.getXY(t.getPointCount()-1);d.y=_,g.y=_,t.lineTo(g);const p=new $;for(p.setCoordsPoint2D(g),p.x-=.5*u;Math.abs(p.x-d.x)>m;)t.lineTo(p),p.x-=.5*u;t.lineTo(d);const P=a.getCenterX(),x=new l;t.queryEnvelope(x);let b=0;const y=x.getCenter().x;y-P>m?b=-Math.ceil((y-P-m)/o):P-y>m&&(b=Math.ceil((P-y-m)/o)),0!==b&&(n.setShiftCoords(b*o,0),t.applyTransformation(n));const w=new j,C=w.addGeometry(t);I(w,C,this.m_gcs,0,2,!0,a.xmin),I(w,C,this.m_gcs,0,2,!0,a.xmax);const v=w.getGeometry(C),S=H(v,a);S.inflateCoords(0,1);const D=W(null,S,!0).total(),G=ne(v,a,D,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(G,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,s=this.m_gcs180,n=new l;n.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const i=n.getCenter().x,r=new l;e.queryPathEnvelope(0,r);let o,m=0,a=r.getCenter().x;if(a-i>s?m=-Math.ceil((a-i-s)/t):i-a>s&&(m=Math.ceil((i-a-s)/t)),0!==m){const s=new K;s.setShiftCoords(m*t,0),e.getImpl().applyTransformationToPath(s,0),e.queryPathEnvelope(0,r),a=r.getCenter().x}const h=new l;n.containsExclusiveEnvelope(r)?(o=!1,h.setCoords({env2D:n})):(o=!0,h.setCoords({env2D:n}),h.xmin-=t,h.xmax+=t);let c=e.createInstance();c.addPathPoint2D(null,0,!0);const u=new $;if(u.setCoords(h.xmin,h.ymin),c.insertPoint2D(0,-1,u),u.setCoords(h.xmin,h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(.5*(h.xmin+h.xmax),h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(h.xmax,h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(h.xmax,h.ymin),c.insertPoint2D(0,-1,u),u.setCoords(.5*(h.xmin+h.xmax),h.ymin),c.insertPoint2D(0,-1,u),o){c.addPath(e,0,!0);const s=new K;a<i?s.setShiftCoords(t,0):s.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(s,0),c.addPath(e,0,!0);const r=new j,o=r.addGeometry(c);I(r,o,this.m_gcs,0,2,!0,n.xmin),I(r,o,this.m_gcs,0,2,!0,n.xmax),c=r.getGeometry(o);const m=H(c,n);m.inflateCoords(0,1);const h=W(null,m,!0).total();c=ne(c,n,h,Number.NaN,this.m_progressTracker)}else c.addPath(e,0,!0);e.setEmpty(),e.add(c,!1)}setMinCornerStep(){const e={stack:[],error:void 0,hasError:!1};try{let s=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);s=Math.min(s,.125*this.m_a*Math.PI);const n=new $;n.setCoords(0,10*this.m_rpu);const i=0;let r=45*this.m_rpu;const o=X(e,new ee(new T,new T),!1),m=X(e,new ee(new T,new T),!1),a=X(e,new ee(new T,new T),!1),h=X(e,new ee(new T,new T),!1),c=new $,u=new $,l=new $,_=new $;for(M.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,i,o.at(0),o.at(1)),c.setCoords(o.at(0).val,o.at(1).val),M.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,r,m.at(0),m.at(1)),u.setCoords(m.at(0).val,m.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const t=.5*(i+r);M.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,t,a.at(0),a.at(1)),l.setCoords(a.at(0).val,a.at(1).val);const o=X(e,new T,!1),f=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,c.x,c.y,u.x,u.y,o,f,null,2),M.geodeticCoordinate(this.m_a,this.m_eSquared,c.x,c.y,.5*o.val,f.val,h.at(0),h.at(1),2),_.setCoords(h.at(0).val,h.at(1).val);const d=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,d,null,null,2);if(d.val<=this.m_convergenceOffset)break;r*=.9,M.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,r,m.at(0),m.at(1)),u.setCoords(m.at(0).val,m.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{B(e)}}const f=r-i,d=2*Math.PI/Math.ceil(2*Math.PI/f);this.m_cornerStep=d}catch(s){e.error=s,e.hasError=!0}finally{B(e)}}setMinSegmentStep(){const e={stack:[],error:void 0,hasError:!1};try{let n=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);n=Math.min(n,.125*this.m_a*Math.PI);const i=new $,r=new $;i.setCoords(0,10*this.m_rpu),r.setCoords(10*this.m_rpu,10*this.m_rpu);const o=X(e,new T,!1),m=X(e,new T,!1),a=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,r.x,r.y,a,o,m,this.m_curveType);const h=X(e,new ee(new T,new T),!1),c=X(e,new ee(new T,new T),!1),u=new $,l=X(e,new T,!1),_=X(e,new ee(new T,new T),!1),f=X(e,new ee(new T,new T),!1),d=X(e,new ee(new T,new T),!1),g=X(e,new ee(new T,new T),!1),p=new $,P=new $,x=new $,b=new $,y=0;let w=1;const C=o.val,v=m.val,S=C-.5*Math.PI,D=v+.5*Math.PI,I=a.val;for(M.geodesicCoordinate(this.m_a,this.m_eSquared,i.x,i.y,n,S,_.at(0),_.at(1)),p.setCoords(_.at(0).val,_.at(1).val),M.geodesicCoordinate(this.m_a,this.m_eSquared,r.x,r.y,n,D,f.at(0),f.at(1)),P.setCoords(f.at(0).val,f.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const s=.5*(y+w);M.geodeticCoordinate(this.m_a,this.m_eSquared,i.x,i.y,s*I,C,h.at(0),h.at(1),this.m_curveType),u.setCoords(h.at(0).val,h.at(1).val),M.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,u.x,u.y,null,null,l,this.m_curveType);const o=l.val+.5*Math.PI;M.geodesicCoordinate(this.m_a,this.m_eSquared,u.x,u.y,n,o,d.at(0),d.at(1)),x.setCoords(d.at(0).val,d.at(1).val);const m=X(e,new T,!1),a=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,p.x,p.y,P.x,P.y,m,a,null,2),M.geodeticCoordinate(this.m_a,this.m_eSquared,p.x,p.y,.5*m.val,a.val,g.at(0),g.at(1),2),b.setCoords(g.at(0).val,g.at(1).val);const _=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,x.x,x.y,b.x,b.y,_,null,null,2);if(_.val<=this.m_convergenceOffset)break;{const e={stack:[],error:void 0,hasError:!1};try{w*=.9,M.geodeticCoordinate(this.m_a,this.m_eSquared,i.x,i.y,w*I,C,c.at(0),c.at(1),this.m_curveType),r.setCoords(c.at(0).val,c.at(1).val);const t=X(e,new T,!1);M.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,r.x,r.y,null,null,t,this.m_curveType);const s=t.val+.5*Math.PI;M.geodesicCoordinate(this.m_a,this.m_eSquared,r.x,r.y,n,s,f.at(0),f.at(1)),P.setCoords(f.at(0).val,f.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{B(e)}}}catch(s){e.error=s,e.hasError=!0}finally{B(e)}}let G=w*I;G>1e5&&(G=1e5),this.m_segmentStep=G}catch(n){e.error=n,e.hasError=!0}finally{B(e)}}setConvergenceOffset(){let e;e=this.m_absDistance>5e4?100:this.m_absDistance>1e4?10:1,this.m_absDistance/e<500&&(e=this.m_absDistance/500),e<.01&&(e=.01),this.m_convergenceOffset=e}}function he(e,t,s,n,i,r,_){if(e.isEmpty())return new O({vd:e.getDescription()});let b=e;if(m(b)){const e=10*t.getTolerance(0);b=(new re).execute(b,0,e,0,_,12e3)}const y=new ae(_);y.m_sr=t,y.m_gcs=t.getGCS(),y.m_transform=f(t,y.m_gcs,null);const w=N();y.m_gcs.querySpheroidData(w);const C=new l;b.queryEnvelope(C),y.m_a=w.majorSemiAxis,y.m_eSquared=w.e2,y.m_rpu=y.m_gcs.getUnit().getUnitToBaseFactor(),y.m_gcs90=.5*Math.PI/y.m_rpu,y.m_gcs180=Math.PI/y.m_rpu,y.m_gcs360=2*Math.PI/y.m_rpu,y.m_gcs60=y.m_gcs360/6,y.m_q90=d.q90(y.m_a,y.m_eSquared),y.m_ellipticToGeodesicMaxRatio=.5*y.m_a*Math.PI/y.m_q90;const v=y.m_gcs.getTolerance(0);y.m_radTolerance=v*y.m_rpu,4===s?(y.m_curveType=2,y.m_bShapePreserving=!0):(y.m_curveType=s,y.m_bShapePreserving=!1),y.m_distance=n,y.m_absDistance=Math.abs(n),Number.isNaN(i)||i<=0?y.setConvergenceOffset():y.m_convergenceOffset=Math.max(i,.001),y.m_convergenceOffset/=r;let S,D=b.getGeometryType();if(a(D)){const e=new Y({vd:b.getDescription()});e.addSegment(b,!0),S=e,D=o.enumPolyline}else if(D===o.enumEnvelope){const e=b,t=new l;e.queryEnvelope(t);const s=F(W(y.m_sr,C,!0));if(t.minDimension()<=s)if(0===t.maxDimension()){const t=new J({vd:b.getDescription()});e.getCenter(t),S=t,D=o.enumPoint}else{const t=new Y({vd:b.getDescription()});t.addEnvelope(e,!1),S=t,D=o.enumPolyline}else{const t=new O({vd:b.getDescription()});t.addEnvelope(e,!1),S=t,D=o.enumPolygon}}else S=b;if(y.setMinCornerStep(),h(D)||y.setMinSegmentStep(),y.m_absDistance<=.5*y.m_convergenceOffset)return D!==o.enumPolygon?new O({vd:S.getDescription()}):y.m_bShapePreserving?S:g(S,y.m_sr,y.m_curveType,y.m_segmentStep,-1,_);if(y.m_distance<0&&D!==o.enumPolygon)return new O({vd:S.getDescription()});if(y.m_bShapePreserving&&c(D)){const e=g(S,t,4,Number.NaN,y.m_convergenceOffset,_);S=(new p).execute(e,y.m_transform,_)}else S=(new p).execute(S,y.m_transform,_);if(S=P(S,y.m_gcs),S.isEmpty())return new O({vd:S.getDescription()});!y.m_bShapePreserving&&c(D)&&(S=x(y.m_rpu,S)),S=fe(S,y.m_gcs);let I=new O;switch(D){case o.enumPolygon:I=y.bufferPolygon(S);break;case o.enumPolyline:I=y.bufferPolyline(S);break;case o.enumMultiPoint:I=y.bufferMultiPoint(S);break;case o.enumPoint:I=y.bufferPoint(S);break;default:u("")}const G=(new p).execute(I,y.m_transform.getInverse(),_);return G.mergeVertexDescription(S.getDescription()),G}function ce(e,t,s,n,i,r,o,m,a,h,c){const u={stack:[],error:void 0,hasError:!1};try{const l=new $;l.setNAN(),a||c.getPointCount()>0&&(l.setCoordsPoint2D(c.getXY(c.getPointCount()-1)),l.scale(s));const _=X(u,new T,!1),f=X(u,new ee(new T,new T),!1),d=new $,g=new $,p=r.at(-1),P=1/s;for(let s=0;s<r.length;s++){const u=r[s];let x;0===s?x=o:s===r.length-1?x=m:(M.geodeticDistance(e,t,p.x,p.y,u.x,u.y,null,null,_,i),x=_.val-.5*Math.PI),M.geodesicCoordinate(e,t,u.x,u.y,n,x,f.at(0),f.at(1)),a?g.setCoords(f.at(0).val,f.at(1).val):(d.setCoords(f.at(0).val,f.at(1).val),h=_e(u.x,d.x,l.x,h),g.setCoords(h+d.x,d.y),l.setCoordsPoint2D(g)),g.scale(P),c.insertPoint2D(0,-1,g)}return h}catch(l){u.error=l,u.hasError=!0}finally{B(u)}}function ue(e,t,s,n,i,r,o,m,a,h,c,u=Number.NaN,l=Number.NaN){const _={stack:[],error:void 0,hasError:!1};try{if(o-r<m)return h;const f=X(_,new ee(new T,new T),!1),d=new $,g=new $,p=new $;g.setNAN(),a||c.getPointCount()>0&&(g.setCoordsPoint2D(c.getXY(c.getPointCount()-1)),g.scale(s));let P=Math.ceil(r/m),x=P++*m;x===r&&(x=P++*m);let b=r;const y=1/s;for(;x<o+m&&(b<u&&u<x?(x=u,P--):b<l&&l<x&&(x=l,P--),!(x>=o));)M.geodesicCoordinate(e,t,i.x,i.y,n,x,f.at(0),f.at(1)),a?p.setCoords(f.at(0).val,f.at(1).val):(d.setCoords(f.at(0).val,f.at(1).val),h=_e(i.x,d.x,g.x,h),p.setCoords(h+d.x,d.y),g.setCoordsPoint2D(p)),p.scale(y),c.insertPoint2D(0,-1,p),b=x,x=P++*m;return h}catch(f){_.error=f,_.hasError=!0}finally{B(_)}}function le(e,t,s,n,i,r,o,m,a,h,c){const u={stack:[],error:void 0,hasError:!1};try{const s=new $,l=new $,_=X(u,new ee(new T,new T),!1);M.geodesicCoordinate(e,t,i.x,i.y,n,r,_.at(0),_.at(1)),s.setCoords(_.at(0).val,_.at(1).val),M.geodesicCoordinate(e,t,i.x,i.y,n,o,_.at(0),_.at(1)),l.setCoords(_.at(0).val,_.at(1).val);const f=X(u,new T,!1);for(M.geodeticDistance(e,t,m.x,m.y,s.x,s.y,null,f,null,0),h[0]=f.val,M.geodeticDistance(e,t,m.x,m.y,l.x,l.y,null,f,null,0),c[0]=f.val;h[0]<=c[0];)h[0]+=se;for(;h[0]>c[0];)h[0]-=se;for(;h[0]>=a;)h[0]-=se,c[0]-=se;for(;h[0]<a;)h[0]+=se,c[0]+=se}catch(l){u.error=l,u.hasError=!0}finally{B(u)}}function _e(e,t,s,n){if(Number.isNaN(s)){for(;n+t-e>Math.PI;)n-=se;for(;e-(n+t)>Math.PI;)n+=se;return n}return n+t-s>Math.PI?n-=se:s-(n+t)>Math.PI&&(n+=se),n}function fe(e,t){const s=e.getGeometryType();let n;if(n=c(s)?e.getPathCount():s===o.enumMultiPoint?e.getPointCount():1,1===n)return e;const i=[],r=[];for(let o=0;o<n;o++){i.push(o);const n=new $;if(c(s)){const t=new l;e.queryPathEnvelope(o,t),n.assign(t.getCenter())}else n.assign(e.getXY(o));const m=t.toGeohash(n);r.push(m)}i.sort((e,t)=>r[e]<r[t]?-1:r[e]>r[t]?1:0);const m=e.createInstance();for(let o=0;o<n;o++){const t=i[o];c(s)?m.addPath(e,t,!0):m.addPoints(e,t,t+1)}return m}function de(e,t,s,n,i,r){const o={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const m=s[0],a=s.at(-1),h=X(o,new T,!1),c=X(o,new T,!1),u=X(o,new T,!1);M.greatEllipticDistance(e,t,i.x,i.y,m.x,m.y,h,null,null),M.greatEllipticDistance(e,t,i.x,i.y,a.x,a.y,c,null,null),M.greatEllipticDistance(e,t,m.x,m.y,a.x,a.y,u,null,null);let l=Math.min(h.val,c.val)+u.val,_=l+n;if(_<r)return!0;const f=X(o,new T,!1);l=Math.max(h.val,c.val);for(let n=1;n<s.length-1;n++){const r=s[n];M.greatEllipticDistance(e,t,i.x,i.y,r.x,r.y,f,null,null),f.val>l&&(l=f.val)}return _=l+n,_<r}catch(m){o.error=m,o.hasError=!0}finally{B(o)}}function ge(e,t,s,n,i,r,o,m){let a;if(n.length%2==0){const e=n.length>>1,t=n[e],s=n[e-1];a=$.lerp(t,s,.5)}else{a=n[n.length-1>>1].clone()}const h=a.clone(),c=k(e,t,h,75/180*Math.PI);return!!de(e,t,n,i,h,c)&&(null!==r&&(r.setCoordsPoint2D(a),r.scale(1/s)),null!==o&&o.setCoordsPoint2D(h),null!==m&&(m[0]=c),!0)}function pe(e,t,s,n,i,r){const o={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const m=X(o,new T,!1);M.greatEllipticDistance(e,t,i.x,i.y,s.x,s.y,m,null,null);return m.val+n<r}catch(m){o.error=m,o.hasError=!0}finally{B(o)}}function Pe(e,t,s,n,i,r,o,m){const a=k(e,t,n,75/180*Math.PI);return!!pe(e,t,n,i,n,a)&&(null!==r&&(r.setCoordsPoint2D(n),r.scale(1/s)),null!==o&&o.setCoordsPoint2D(n),null!==m&&(m[0]=a),!0)}function xe(e,t){return new z(e,t)}function be(e){return L(e,0)||V(e,0),e}class ye{m_bRunningInGnomonic=!1;m_bNeedsSimplify=!1;m_gnomonic=null;m_gnomonicCenterRad=new $;m_minGnomonicRadius=Number.NaN;m_progressTracker;constructor(e){this.m_progressTracker=e}isRunningInGnomonic(){return this.m_bRunningInGnomonic}needsSimplify(){return this.m_bNeedsSimplify}getGnomonic(){return this.m_gnomonic}}class we extends ye{m_bufferer;m_multiPath;m_segIter=null;m_bNextSegmentCannotJoin=!1;m_currentDensifiedDelta=[0];m_currentBufferedDelta=0;m_lastAzimuth=0;m_startAzimuth=[0];m_endAzimuth=[0];m_numWinds=0;m_debugCounter=0;m_bufferHelper=new O;m_densifiedPoints=[];m_densified;constructor(e,t,s){super(e.m_progressTracker),this.m_bufferer=e,this.m_multiPath=t,this.m_densified=s,this.m_bNeedsSimplify=!0;const n=new l;this.m_multiPath.queryEnvelope(n);const i=n.getCenter(),r=i.clone();r.scale(this.m_bufferer.m_rpu),this.m_gnomonic=xe(this.m_bufferer.m_gcs,i),this.m_gnomonicCenterRad=r.clone(),this.m_minGnomonicRadius=k(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,r,75/180*Math.PI)}next(){let e;if(this.m_bNextSegmentCannotJoin)return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e;if(null===this.m_segIter){if(this.m_segIter=this.m_multiPath.getImpl().querySegmentIterator(),!this.m_segIter.nextPath())return null;null!==this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}if(!this.m_segIter.hasNextSegment()){if(!this.m_segIter.nextPath())return null;null!=this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}let t=null;this.m_currentBufferedDelta=0,this.m_currentDensifiedDelta=[0],this.m_numWinds=0,this.m_lastAzimuth=Number.NaN,this.m_bNextSegmentCannotJoin=!1,this.m_densifiedPoints.length=0;const s=16;let n=0;const i=new $,r=new $;for(;this.m_segIter.hasNextSegment()&&this.m_numWinds<s;){const e=this.m_segIter.nextSegment();if(i.setCoordsPoint2D(e.getStartXY()),r.setCoordsPoint2D(e.getEndXY()),i.scale(this.m_bufferer.m_rpu),r.scale(this.m_bufferer.m_rpu),A(i,r))i.x=r.x;else if(E(i,r))r.x=i.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),n=this.m_multiPath.getPathStart(s),o=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<n&&(e=this.m_multiPath.isClosedPath(s)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(s)?n:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),E(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),A(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0;const s=q(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,i,r,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta);if(0===n)this.m_bRunningInGnomonic=this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(this.m_densifiedPoints));else if(this.m_bRunningInGnomonic){if(!this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}else{if(ge(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_densifiedPoints,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,null,null,null)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}if(0===s||R(i,r)?(this.m_bufferHelper.setEmpty(),this.m_bufferer.bufferPoint2D(i,this.m_bRunningInGnomonic,this.m_bufferHelper),this.m_bNextSegmentCannotJoin=!0):(this.m_bufferHelper.setEmpty(),this.m_bNextSegmentCannotJoin=this.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(s,this.m_bufferHelper)),this.m_bNextSegmentCannotJoin){this.m_segIter.previousSegment(),this.m_segIter.hasPreviousSegment()?(this.m_segIter.previousSegment(),this.m_segIter.nextSegment()):this.m_segIter.resetToFirstSegment(),null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0);break}null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0),null===t&&(t=new O,t.addPathPoint2D(null,0,!0)),this.addJoinAndBufferLeftSide(t),n++}if(this.m_currentDensifiedDelta=[0],n>0){const e=this.m_segIter.getStartPointIndex(),s=this.m_segIter.getPathIndex();for(;n>0;){if(this.m_segIter.previousSegment(),i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),r.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getEndPointIndex())),i.scale(this.m_bufferer.m_rpu),r.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic)if(A(i,r))i.x=r.x;else if(E(i,r))r.x=i.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),n=this.m_multiPath.getPathStart(s),o=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<n&&(e=this.m_multiPath.isClosedPath(s)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(s)?n:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),E(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),A(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0,q(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,r,i,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta),this.addJoinAndBufferLeftSide(t),n--}return i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),i.scale(this.m_bufferer.m_rpu),this.m_currentBufferedDelta=ue(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,i,this.m_lastAzimuth+.5*Math.PI,this.m_lastAzimuth+1.5*Math.PI,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,t),this.m_segIter.resetToVertex(e,s),this.m_segIter.nextSegment(),t}return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e}isSegmentBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&de(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new $,s=new $,n=[0];return ge(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=xe(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t){return this.m_bufferer.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(this.m_densifiedPoints,e,this.m_startAzimuth[0],this.m_endAzimuth[0],this.m_bRunningInGnomonic,t)}addJoinAndBufferLeftSide(e){const t=this.m_densifiedPoints[0];let s=Number.NaN,n=this.m_startAzimuth[0]-te;const i=this.m_endAzimuth[0]+te;let r=!1;if(!Number.isNaN(this.m_lastAzimuth)){this.m_lastAzimuth>=this.m_startAzimuth[0]?(s=this.m_lastAzimuth+te,n=s+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(s=this.m_lastAzimuth+te,n=s+Math.PI-(se-(this.m_startAzimuth[0]-this.m_lastAzimuth))),r=!(this.m_lastAzimuth>=this.m_startAzimuth[0]&&this.m_lastAzimuth-this.m_startAzimuth[0]<=Math.PI)&&!(this.m_lastAzimuth<this.m_startAzimuth[0]&&this.m_startAzimuth[0]-this.m_lastAzimuth>=Math.PI);let i=!1;if(Math.abs(n-s)<=.5*this.m_bufferer.m_cornerStep&&(r||(i=!0)),i){if(e.removePointFromPath(0,e.getPointCount()-1),!this.m_bRunningInGnomonic){const t=new $;t.setCoordsPoint2D(e.getXY(e.getPointCount()-1)),t.scale(this.m_bufferer.m_rpu),t.x-this.m_currentBufferedDelta<-Math.PI?this.m_currentBufferedDelta-=se:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=se)}n=.5*(n+s)}else if(r){const s=new $;s.setCoordsPoint2D(t),s.scale(1/this.m_bufferer.m_rpu),e.insertPoint2D(0,-1,s)}else ue(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_densifiedPoints[0],s,n,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e)}this.m_startAzimuth[0]!==this.m_lastAzimuth&&this.m_numWinds++,ce(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_bufferer.m_curveType,this.m_densifiedPoints,n,i,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e),this.m_lastAzimuth=this.m_endAzimuth[0]}}class Ce extends ye{m_bufferer;m_multiPoint;m_pointIndex=-1;constructor(e,t){super(e.m_progressTracker),this.m_bufferer=e,this.m_multiPoint=t,this.m_bNeedsSimplify=!1;const s=new l;this.m_multiPoint.queryEnvelope(s);const n=s.getCenter(),i=n.clone();i.scale(this.m_bufferer.m_rpu),this.m_gnomonic=xe(this.m_bufferer.m_gcs,n),this.m_gnomonicCenterRad=i.clone(),this.m_minGnomonicRadius=k(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,i,75/180*Math.PI)}next(){if(this.m_bNeedsSimplify=!1,++this.m_pointIndex===this.m_multiPoint.getPointCount())return null;const e=this.m_multiPoint.getXY(this.m_pointIndex);e.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic=this.isPointBufferInCurrentGnomonic(e),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(e));const t=new O,s=this.m_bufferer.bufferPoint2D(e,this.m_bRunningInGnomonic,t);return this.m_bNeedsSimplify=s,t}isPointBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&pe(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new $,s=new $,n=[0];return Pe(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=xe(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}}class ve{getOperatorType(){return 10110}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n,i,r,o,m){if(o){const o=new Se(e,t,s,n,i,!1,r,m);return(new _).executeMany(o,t,m)}return new Se(e,t,s,n,i,!1,r,m)}execute(e,s,n,i,r,o,m){const a=new oe([e]),h=[i],c=this.executeMany(a,s,n,h,r,!1,o,m).next();return c||t("geodesic buffer null output"),c}}class Se extends e{m_inputGeoms;m_spatialReference;m_curveType;m_progressTracker;m_distances;m_convergenceOffset;m_currentUnionEnvelope2D=new l;m_bOutlineOnly;m_bUnion;m_index=-1;m_dindex=-1;constructor(e,t,i,r,o,m,a,h){super(),this.m_progressTracker=h,m&&s(""),t||n("");0===t.getCoordinateSystemType()&&n(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=i,this.m_distances=r,this.m_convergenceOffset=o,this.m_bOutlineOnly=m,this.m_bUnion=a}next(){let e;for(;e=this.m_inputGeoms.next();)return i(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.geodesicBuffer(e,this.m_distances[this.m_dindex]);return null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodesicBuffer(e,t){return me(e,this.m_spatialReference,this.m_curveType,t,this.m_convergenceOffset,this.m_progressTracker)}}export{ve as OperatorGeodesicBuffer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{a as e,c as t,G as i,d as s,g as n}from"./Geometry.js";import{P as a,x as _,L as r}from"./MultiPathImpl.js";import{O as h}from"./OperatorDensify.js";import{B as o,H as m,r as l,ay as p,O as u,aI as c,j as g,b as d,ab as E,aA as f,aW as P,aX as S,ai as A,aj as y,aq as x,aY as R,ax as M,at as C}from"./UnitFactory.js";import{P as T,K as w,d as q,o as N,l as b,a as I,E as v,q as $,f as z,c as O,y as D,z as G,A as k}from"./Point2D.js";import{Envelope2D as L}from"./Envelope2D.js";import{c as F,k as J}from"./Envelope.js";import{O as Y}from"./OperatorClip.js";import{O as U}from"./OperatorShapePreservingLength.js";import{__addDisposableResource as X,__disposeResources as j}from"tslib";import{T as B}from"./Transformation2D.js";import{a as H}from"./GeodeticDistanceCalculator-zRp89-dW.js";class Q{m_startPt;m_endPt;m_cE2;m_cE;m_c1By2e;m_cRpu;isPcs;PEProjcs;m_points;constructor(e,t,i,s,n=100){this.m_startPt=e.clone(),this.m_endPt=t.clone(),this.m_cE2=s,this.m_cE=Math.sqrt(this.m_cE2),this.m_c1By2e=1/(2*this.m_cE),this.m_cRpu=i.getGCS().getUnit().getUnitToBaseFactor(),this.isPcs=2===i.getCoordinateSystemType(),this.PEProjcs=i.getPECoordSys(),this.m_points=q(2*n,Number.NaN)}setSegmentEndPoints(e,t){this.m_startPt.assign(e),this.m_endPt.assign(t)}makeFunctor(){return e=>{const t=[0,0];t[0]=this.m_startPt.x*(1-e)+this.m_endPt.x*e,t[1]=this.m_startPt.y*(1-e)+this.m_endPt.y*e,this.isPcs&&p.projToGeogCenter(this.PEProjcs,1,t,0);const i=Math.sin(t[1]*this.m_cRpu);if(0===this.m_cE2)return i;return-Math.log((1-this.m_cE*i)/(1+this.m_cE*i))*this.m_c1By2e+i/(1-this.m_cE2*i*i)}}}function V(e,t,i){const s=new L;e.queryEnvelope(s);const n=F(t,s,!0).total(),a=t.getPannableExtent();a.xmin=s.xmin-10*n,a.xmax=s.xmax+10*n;const r=(new Y).execute(e,a,t,i).getImpl().querySegmentIterator();r.stripAttributes();const h=l();t.querySpheroidData(h);const o=h.e2,m=0===o?2:1,p=new T(0,0),u=new T(0,0),c=new w(0),g=new Q(p,u,t,o,100);for(;r.nextPath();)for(;r.hasNextSegment();){const e=r.nextSegment();p.assign(e.getStartXY()),u.assign(e.getEndXY()),g.setSegmentEndPoints(p,u);const t=_(6,0,1,1e-12,1e-15,g.makeFunctor());c.pe((u.x-p.x)*t)}const d=h.majorSemiAxis;return m*d*d*(1-o)*Math.PI*c.getResult()/t.getPannableExtent().width()}function W(e,t,i,s,n){const a=se(e,t,n);let _=Z(e,a.first,i,s,n),r=1,h=0,o=0;do{if(r++,a.first*=.5,a.first<50*t.getTolerance(0))return _;a.second*=2,o=Z(e,a.first,i,s,n),h=Math.abs(o-_),_=o}while(Math.abs(_)>1&&h>1e-8*Math.abs(_)&&(a.second<65e3&&r<8||r<4));return o}function Z(e,t,i,s,n){const a=(new h).execute(e,t,0,0,n);let _;_=s?(new u).execute(a,s,n):a;const r=1===i.getUnit().getUnitToBaseFactor()?Math.PI/180:1,o=new L;_.queryEnvelope(o);const m=new L,l=new L,p=new L;m.setCoords({xmin:o.xmin,ymin:75*r,xmax:o.xmax,ymax:90*r}),l.setCoords({xmin:o.xmin,ymin:-60*r,xmax:o.xmax,ymax:75*r}),p.setCoords({xmin:o.xmin,ymin:-90*r,xmax:o.xmax,ymax:-60*r}),m.inflateCoords(.01*m.width(),0),l.inflateCoords(.01*l.width(),0),p.inflateCoords(.01*p.width(),0);let c=0;return c+=K(_,m,i,n),c+=K(_,l,i,n),c+=K(_,p,i,n),c}function K(e,t,i,s){const n=(new Y).execute(e,t,i,s);if(null!==n&&!n.isEmpty()){const e=new L;n.queryEnvelope(e);const{first:t,second:a}=ie(i,e,!1),_=o(i,t,null),r=(new u).execute(n,_,s).calculateArea2D();return a&&t.destroy(),r}return 0}const ee=[null,null,null,null,null,null,null];function te(e,t,i){const a=e.getUnit().getUnitToBaseFactor(),_=t.getCenter();_.scale(180*a/Math.PI);const r=new T;r.x=0,r.y=0;let h=0;if(0===h){_.y>45?(r.y=b,h=0):_.y<-45?(r.y=-b,h=1):_.x>=45&&_.x<135?(r.x=b,h=2):_.x>=135||_.x<-135?(r.x=b,h=3):_.x<-45&&_.x>=-135?(r.x=-b,h=4):(r.x=0,h=5);const e=a*Math.sqrt(I(t.xmin-t.xmax)+I(t.ymin-t.ymax)),i=r.clone(),s=t.getCenter();s.scale(a),h<2&&(i.x=s.x);if(T.distance(i,s)+.5*e>b)return null}const o=ee[h];if(null!==o&&o.getGCS().equalHorizontal(e))return o;const m=e.getText(),l=r.x,p=r.y,u=0,E=0;let f=0,P=-1;6!==h?P=c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:(n(i),f=0,P=c.PE_PRJ_CYLINDRICAL_EQAREA);const S=g("EqualAreaPCS");let A;P===c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${u}],PARAMETER["False_Northing",${E}],PARAMETER["Central_Meridian",${l}],PARAMETER["Latitude_of_Origin",${p}],UNIT["Meter",1.0]]`:P===c.PE_PRJ_CYLINDRICAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",${u}],PARAMETER["False_Northing",${E}],PARAMETER["Central_Meridian",${l}],PARAMETER["Standard_Parallel_1",${f}],PARAMETER["Latitude_of_Origin",${p}],UNIT["Meter",1.0]]`:s("getEqualAreaPcsFixed");const y=d(A);return ee[h]&&ee[h].destroy(),ee[h]=y,y}function ie(e,t,i){const n=te(e,t,i);if(null!==n)return N(n,!1);const a=e.getText(),_=e.getUnit().getUnitToBaseFactor(),r=(t.xmin+t.width()/2)*_,h=(t.ymin+t.height()/2)*_,o=0,m=0;let l=0,p=0,u=-1;t.ymin*_>=75*Math.PI/180||t.ymax*_<=-60*Math.PI/180?u=c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:t.ymin>0||t.ymax<0?(l=(t.ymin+1/3*t.height())*_,p=(t.ymin+2/3*t.height())*_,u=c.PE_PRJ_ALBERS):(l=(t.ymin+2/3*t.height())*_,u=c.PE_PRJ_CYLINDRICAL_EQAREA);const E=g("EqualAreaPCS");let f;return u===c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?f=`PROJCS["${E}",${a},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:u===c.PE_PRJ_ALBERS?f=`PROJCS["${E}",${a},PROJECTION["Albers"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Standard_Parallel_1",${l}],PARAMETER["Standard_Parallel_2",${p}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:u===c.PE_PRJ_CYLINDRICAL_EQAREA?f=`PROJCS["${E}",${a},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Standard_Parallel_1",${l}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:s("getEqualAreaPCSInstance"),N(d(f),!0)}function se(e,t,i){const s=e.calculateLength2D(),n=(new U).execute(e,t,i)/25e3,a=s/e.getSegmentCount()*2;let _=Math.min(a,s/n);0===_&&(_=1);return N(_,s/_)}class ne{getOperatorType(){return 10314}supportsCurves(){return!0}accelerateGeometry(e,t,i){return!1}canAccelerateGeometry(e){return!1}execute(s,n,_){if(0===n.getCoordinateSystemType()&&e(""),s.isEmpty()||s.getDimension()<2)return 0;if(t(s),s.getGeometryType()===i.enumEnvelope){const e=new a;return e.addEnvelope(s,!1),this.execute(e,n,_)}let r=s;s.getDescription().getAttributeCount()>1&&(r=s.clone(),r.dropAllAttributes());const l=(new h).execute(r,0,n.getTolerance(0),0,_);let p=null;const u=n.getGCS();u!==n&&(p=o(n,u));let c=(new m).execute(l,n,!1,_);return c.isEmpty()?0:(c===s&&(c=s.clone()),n.isPannable()?V(c,n,_):W(c,n,u,p,_))}}function ae(){return{m_p_PCS:new T,m_factor:Number.NaN,setValues:_e,assign:re}}function _e(e,t){this.m_factor=e,this.m_p_PCS.assign(t)}function re(e){this.m_factor=e.m_factor,this.m_p_PCS.assign(e.m_p_PCS)}class he{m_ptStart=new J;m_ptEnd=new J;m_deltaX;m_deltaY;m_e;m_e2;m_c1MinusE2;m_baseA;constructor(e,t,i,s){this.m_ptStart.assign(t),this.m_ptEnd.assign(i),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y,this.m_e=Math.sqrt(e),this.m_e2=e,this.m_c1MinusE2=1-e;const n=Math.sin(s);let a;a=0===this.m_e2?2*n:n*(G(this.m_e*n)+1/(1-this.m_e2*n*n)),this.m_baseA=a}setSegmentEndPoints(e,t){this.m_ptStart.assign(e),this.m_ptEnd.assign(t),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y}makeFunctor(){return e=>{const t=1-e,i=t*this.m_ptStart.x+e*this.m_ptEnd.x,s=t*this.m_ptStart.y+e*this.m_ptEnd.y,n=t*this.m_ptStart.z+e*this.m_ptEnd.z,a=i*i+s*s,_=n/Math.sqrt(n*n+this.m_c1MinusE2*this.m_c1MinusE2*a);let r;if(0===this.m_e2)r=2*_;else{r=_*(G(this.m_e*_)+1/(1-this.m_e2*_*_))}return(this.m_deltaY*i-this.m_deltaX*s)/a*(r-this.m_baseA)}}}function oe(){return{e:Number.NaN,one_p_e:Number.NaN,one_m_e:Number.NaN,one_m_e_2:Number.NaN,atanh_e_over_e:Number.NaN,half_qp:Number.NaN,f:Number.NaN,z:Number.NaN}}function me(){return{sin_phi:Number.NaN,one_p_sin_phi:Number.NaN,one_m_sin_phi:Number.NaN,one_m_e_2_sin_2_phi:Number.NaN,sin_half_phi_pf:Number.NaN,sin_half_phi_pz:Number.NaN,sin_half_asin_e_sin_phi_pf:Number.NaN,sin_half_asin_e_sin_phi_pz:Number.NaN,atanh_sin_phi:Number.NaN,atanh_esin_phi:Number.NaN,make_negative:!1,initialize:le,changeSign:pe,assign:ue,clone:ce}}function le(e,t,i,s){const n=.5*e;this.sin_phi=Math.sin(e);const a=t*this.sin_phi,_=.5*Math.asin(a);this.one_p_sin_phi=1+this.sin_phi,this.one_m_sin_phi=1-this.sin_phi,this.one_m_e_2_sin_2_phi=(1+a)*(1-a),this.sin_half_phi_pf=Math.sin(n+i),this.sin_half_phi_pz=Math.sin(n+s),this.sin_half_asin_e_sin_phi_pf=Math.sin(_+i),this.sin_half_asin_e_sin_phi_pz=Math.sin(_+s),this.atanh_sin_phi=Math.log(this.sin_half_phi_pf/this.sin_half_phi_pz),this.atanh_esin_phi=Math.log(this.sin_half_asin_e_sin_phi_pf/this.sin_half_asin_e_sin_phi_pz)}function pe(){this.sin_phi=-this.sin_phi;let e=this.one_p_sin_phi;this.one_p_sin_phi=this.one_m_sin_phi,this.one_m_sin_phi=e,e=this.sin_half_phi_pf,this.sin_half_phi_pf=this.sin_half_phi_pz,this.sin_half_phi_pz=e,e=this.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pf=this.sin_half_asin_e_sin_phi_pz,this.sin_half_asin_e_sin_phi_pz=e,this.atanh_sin_phi=-this.atanh_sin_phi,this.atanh_esin_phi=-this.atanh_esin_phi}function ue(e){this.sin_phi=e.sin_phi,this.one_p_sin_phi=e.one_p_sin_phi,this.one_m_sin_phi=e.one_m_sin_phi,this.one_m_e_2_sin_2_phi=e.one_m_e_2_sin_2_phi,this.sin_half_phi_pf=e.sin_half_phi_pf,this.sin_half_phi_pz=e.sin_half_phi_pz,this.sin_half_asin_e_sin_phi_pf=e.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pz=e.sin_half_asin_e_sin_phi_pz,this.atanh_sin_phi=e.atanh_sin_phi,this.atanh_esin_phi=e.atanh_esin_phi,this.make_negative=e.make_negative}function ce(){return{...this}}class ge{m_a;m_b;m_eSquared;m_inputSR;m_inputGCS;m_transformPCS2GCS=null;m_curveType;m_progressTracker;m_scaleToRadians=new B;m_scaleToDegrees=new B;m_rpu;constructor(t,i,s){this.m_progressTracker=s,n(4!==i),this.m_curveType=i,this.m_inputSR=t,t&&0!==t.getCoordinateSystemType()||e(""),this.m_inputGCS=t.getGCS(),this.m_a=0,this.m_eSquared=0,this.m_b=0,this.m_rpu=0}executePolygonGeodeticArea(e){let t,i=e.clone();if(i.dropAllAttributes(),e.hasNonLinearSegments()){i=(new h).execute(i,0,this.m_inputSR.getTolerance(0),0,this.m_progressTracker)}if(this.m_inputSR.isPannable()){const e=new L;i.queryEnvelope(e);const t=this.m_inputSR.getPannableExtent();if(!t.containsEnvelope(e)){const s=t.getCenterX()-e.getCenterX(),n=new B;n.setShiftCoords(s,0),i.applyTransformation(n),e.move(s,0);const a=new v;t.queryIntervalX(a);const _=new v;e.queryIntervalX(_),i=a.contains(_)?E(i,this.m_inputSR):(new u).foldInto360RangeGeodetic(i,this.m_inputSR,this.m_curveType)}}if(this.m_transformPCS2GCS?(i=(new m).execute(i,this.m_inputSR,!1,this.m_progressTracker),t=i.createInstance(),f(this.m_transformPCS2GCS,i,t,this.m_progressTracker)||(t=(new u).execute(i,this.m_transformPCS2GCS,this.m_progressTracker))):t=(new m).execute(i,this.m_inputGCS,!1,this.m_progressTracker),t.isEmpty())return 0;if(1===this.m_curveType){const e=l();return this.m_inputGCS.querySpheroidData(e),this.m_a=e.majorSemiAxis,this.m_eSquared=e.e2,this.loxodromeArea(t)}const s=t.getImpl();this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_scaleToRadians.setScale(this.m_rpu),s.applyTransformation(this.m_scaleToRadians),this.m_scaleToDegrees=this.m_scaleToRadians,this.m_scaleToDegrees.invertThis();const n=l();if(this.m_inputGCS.querySpheroidData(n),this.m_a=n.majorSemiAxis,this.m_b=n.minorSemiAxis,this.m_eSquared=n.e2,2===this.m_curveType)return this.executeClippedPolygonGreatEllipticArea(t);{const e={stack:[],error:void 0,hasError:!1};try{const i=P.unit(9101),s=this.m_inputGCS.getPECoordSys(),n=X(e,s.cloneAlterUnits(i),!1);let a,_,r=this.executeClippedPolygonGeodeticArea(t,n,0),h=0;do{h++,a=this.executeClippedPolygonGeodeticArea(t,n,h),_=Math.abs(a-r),r=a}while(Math.abs(a)>1&&_>1e-8*Math.abs(a)&&h<7);return a}catch(a){e.error=a,e.hasError=!0}finally{j(e)}}}executeClippedPolygonGeodeticArea(e,t,i){const s={stack:[],error:void 0,hasError:!1};try{const n=new L;e.queryEnvelope(n);const a=X(s,this.getEqualAreaPCSInstance(t,n),!1),_=e.clone();S(a,_);const r=50,h=_.getImpl().getAttributeStreamRef(0),o=e.getImpl().getAttributeStreamRef(0),m=X(s,new A,!1),l=X(s,new A,!1),u=40,c=[0,0],g=$(ae,u),d=q(u,-1),E=ae(),f=ae();let P,x;const R=a;let M=_.calculateArea2D();const C=new w(0),N=.5*Math.PI,b=1e-10*Math.abs(M)+1e-6,I=e.getPathCount();let v,O,D,G;const k=new T,F=new T,J=new T,Y=new T,U=new T,j=new T;let B,H;for(O=e.getPathStart(0),v=0;v<I;v++,O=D)for(D=e.getPathEnd(v),h.queryPoint2D(D-1<<1,J),o.queryPoint2D(D-1<<1,k),Math.abs(k.y)>N&&(k.y=z(N,k.y)),G=O;G<D;G++,J.assign(Y),k.assign(F)){if(h.queryPoint2D(G<<1,Y),o.queryPoint2D(G<<1,F),Math.abs(F.y)>N&&(F.y=z(N,F.y)),B=T.distance(J,Y),B<r||0===k.y&&0===F.y)continue;y.geodeticDistance(this.m_a,this.m_eSquared,k.x,k.y,F.x,F.y,m,l,null,this.m_curveType);const e=m.val,t=l.val;for(E.setValues(0,J),f.setValues(1,Y),x=i,g[0].assign(f),d[0]=i,P=0;P>=0;){H=.5*(E.m_factor+f.m_factor),y.geodeticCoordinate(this.m_a,this.m_eSquared,k.x,k.y,e*H,t,m,l,this.m_curveType),U.x=m.val,U.y=l.val,c[0]=U.x,c[1]=U.y,p.geogToProj(R,1,c),j.x=c[0],j.y=c[1];const i=-j.offset(E.m_p_PCS,f.m_p_PCS),s=.5*i*T.distance(E.m_p_PCS,f.m_p_PCS);if(C.pe(s),Math.abs(s)>b||Math.abs(s)>0&&x>0)f.setValues(H,j),P++,g[P].assign(f),Math.abs(s)<=b?(x--,d[P-1]=x,d[P]=x):(x=d[P-1],d[P]=x);else{if(P<=0)break;E.assign(f),P--,f.assign(g[P]),x=d[P]}}}return M+=C.getResult(),Math.abs(M)}catch(n){s.error=n,s.hasError=!0}finally{j(s)}}executeClippedPolygonGreatEllipticArea(e){const t=[],i=[],s=new T,n=new T,a=x(1,this.m_eSquared,new T(0,.5*Math.PI)),_=new w(0),r=new w(0),h=new w(0),o=new J,m=new J,l=new L;e.queryLooseEnvelope(l);let p=0;l.containsCoords(l.xmin,0)||(p=Math.abs(l.ymin)<Math.abs(l.ymax)?l.ymin:l.ymax);const u=new he(this.m_eSquared,o,m,p),c=this.m_a*this.m_a,g=e.getImpl().querySegmentIterator();for(g.stripAttributes();g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment();s.assign(e.getStartXY()),n.assign(e.getEndXY()),n.x-s.x>Math.PI?s.x+=2*Math.PI:n.x-s.x<-Math.PI&&(n.x+=2*Math.PI),this.splitSegmentCrossingItegralThreshold(e,t,i);for(let i of t)o.assign(x(this.m_a,this.m_eSquared,i.getStartXY())),m.assign(x(this.m_a,this.m_eSquared,i.getEndXY())),u.setSegmentEndPoints(o,m),this.adaptiveIntegrationWithRomberg(u,_);for(let t of i){let e=t.getStartXY(),i=t.getEndXY(),s=p;e.y<0&&(i=O(e,e=i),e.y=-e.y,i.y=-i.y,s=-s);const n=x(1,this.m_eSquared,e),_=x(1,this.m_eSquared,i),o=Math.min(e.y,i.y),m=R(this.m_eSquared,e.x,i.x,s,o);r.pe(m);const l=Math.abs(R(this.m_eSquared,e.x,i.x,o,b)),u=new J;u.setSub(n,a);const g=new J;g.setSub(_,a);const d=new J;d.setCrossProductVector(u,g);let E=c*(l-.5*d.length());E=z(E,i.x-e.x),h.pe(E)}t.length=0,i.length=0}return h.getResult()+c*(.5*(1-this.m_eSquared)*_.getResult()+r.getResult())}getEqualAreaPCSInstance(e,t){const i=t.getCenterX(),s=0,n=0;let a,_;const r=t.height();let h,o;(h=t.ymin>45*Math.PI/180||t.ymax<45*-Math.PI/180)?a=z(.5*Math.PI,t.getCenterY()):(a=t.getCenterY(),_=t.ymin+r*(2/3));const m=g("EqualAreaPCS"),l=e.toString();return o=h?P.fromString(c.PE_TYPE_PROJCS,`PROJCS["${m}", ${l}, PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${s}],PARAMETER["False_Northing", ${n}],PARAMETER["Central_Meridian", ${i}], PARAMETER["Latitude_of_Origin", ${a}], UNIT["Meter",1.0]]`,!0):P.fromString(c.PE_TYPE_PROJCS,`PROJCS["${m}", ${l}, PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting", ${s}],PARAMETER["False_Northing", ${n}],PARAMETER["Central_Meridian", ${i}],PARAMETER["Standard_Parallel_1", ${_}],PARAMETER["Latitude_of_Origin", ${a}],UNIT["Meter",1.0]]`,!0),o}splitSegmentCrossingItegralThreshold(e,t,i){const s=100,n=20,a=n*n,_=x(this.m_a,this.m_eSquared,new T(0,b)),h=x(this.m_a,this.m_eSquared,new T(0,-b)),o=this.splitSegmentPassingThroughPole(e);for(let m of o){const e=m.getStartXY(),o=m.getEndXY(),l=x(this.m_a,this.m_eSquared,e),p=x(this.m_a,this.m_eSquared,o),u=new T,c=new J;let g=J.sqrDistance(_,l),d=J.sqrDistance(l,p);if(g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(l.add(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:e,end:u})),e.assign(u)}if(l.assign(x(this.m_a,this.m_eSquared,e)),g=J.sqrDistance(_,p),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(p.sub(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:u,end:o})),o.assign(u)}if(l.assign(x(this.m_a,this.m_eSquared,e)),p.assign(x(this.m_a,this.m_eSquared,o)),g=J.sqrDistance(h,l),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(l.add(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:e,end:u})),e.assign(u)}if(l.assign(x(this.m_a,this.m_eSquared,e)),p.assign(x(this.m_a,this.m_eSquared,o)),g=J.sqrDistance(h,p),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(p.sub(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:u,end:o})),o.assign(u)}t.push(new r({start:e,end:o}))}}splitSegmentPassingThroughPole(e){const t={stack:[],error:void 0,hasError:!1};try{const i=[],s=new J,n=new J,a=new J,_=new T,h=20,o=3.124139361,m=10,l=e.getStartXY(),p=e.getEndXY(),u=X(t,new A,!1);if(y.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,p.x,p.y,u,null,null,2),Math.abs(p.x-l.x)>o&&u.val>h){const e=new H(new T(0,90),l.divide(this.m_rpu),p.divide(this.m_rpu),this.m_inputGCS,2,2);let t=C(e.makeFunctor(),0,1,1e-10);if(t.second<=m&&t.first>0&&t.first<1)return s.assign(x(this.m_a,this.m_eSquared,l)),n.assign(x(this.m_a,this.m_eSquared,p)),D(s,n,t.first,a),_.assign(M(this.m_a,this.m_eSquared,a)),i.push(new r({start:l,end:_})),i.push(new r({start:_,end:p})),i;if(e.setPointDistFrom(new T(0,-90)),t=C(e.makeFunctor(),0,1,1e-10),t.second<=m&&t.first>0&&t.first<1)return s.assign(x(this.m_a,this.m_eSquared,l)),n.assign(x(this.m_a,this.m_eSquared,p)),D(s,n,t.first,a),_.assign(M(this.m_a,this.m_eSquared,a)),i.push(new r({start:l,end:_})),i.push(new r({start:_,end:p})),i}return i.push(new r({start:l,end:p})),i}catch(i){t.error=i,t.hasError=!0}finally{j(t)}}adaptiveIntegrationWithRomberg(e,t){const i=e.makeFunctor();let s=0,n=1,a=i(s),r=i(n);const h=1e-17,o=1e-14;let m=(s+n)/2,l=i(m),p=Math.abs(l-a),u=Math.abs(r-l),c=0;for(;c++<32&&(p/u<.1||u/p<.1);)p<u?(t.pe(_(5,s,m,o,h,i)),s=m,a=l):(t.pe(_(5,m,n,o,h,i)),n=m,r=l),m=(s+n)/2,l=Math.abs(i(m)),p=Math.abs(l-a),u=Math.abs(r-l);t.pe(_(5,s,n,o,h,i))}loxodromeAreaHemi(e,t,i,s,n){const a=i.clone(),_=n.clone();let r,h,o,m,l,p,u,c,g,d,E,f,P,S,A,y;return a.make_negative&&a.changeSign(),_.make_negative&&_.changeSign(),E=s-t,1===Math.abs(a.sin_phi)||1===Math.abs(_.sin_phi)?e.half_qp*E:a.sin_phi===_.sin_phi?(d=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+G(e.e*a.sin_phi))*E,d):(A=Math.log(_.sin_half_phi_pf*a.sin_half_phi_pz/(_.sin_half_phi_pz*a.sin_half_phi_pf)),y=Math.log(_.sin_half_asin_e_sin_phi_pf*a.sin_half_asin_e_sin_phi_pz/(_.sin_half_asin_e_sin_phi_pz*a.sin_half_asin_e_sin_phi_pf)),1===this.m_eSquared?(l=0,r=.5*(A+_.sin_phi/_.one_m_e_2_sin_2_phi-a.sin_phi/a.one_m_e_2_sin_2_phi),h=0):(l=-2*e.atanh_e_over_e*(Math.log(_.one_p_sin_phi/a.one_p_sin_phi)-e.e*y),r=(A-e.e*y)/e.one_m_e_2,h=(Math.log(_.one_m_e_2_sin_2_phi/a.one_m_e_2_sin_2_phi)+l/e.atanh_e_over_e)/e.one_m_e_2),o=-y*(a.atanh_esin_phi+_.atanh_esin_phi),m=1/a.one_m_e_2_sin_2_phi-1/_.one_m_e_2_sin_2_phi,p=k(_.one_m_sin_phi/e.one_p_e,e.e)-k(a.one_m_sin_phi/e.one_p_e,e.e),u=k(_.one_p_sin_phi/e.one_p_e,e.e)-k(a.one_p_sin_phi/e.one_p_e,e.e),c=k(a.one_m_sin_phi/-e.one_m_e,e.e)-k(_.one_m_sin_phi/-e.one_m_e,e.e),g=k(a.one_p_sin_phi/-e.one_m_e,e.e)-k(_.one_p_sin_phi/-e.one_m_e,e.e),d=.25/r*(h+o+m+l+.5*(p+u+c+g)),d+=e.half_qp,f=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+G(e.e*a.sin_phi)),P=.5*e.one_m_e_2*_.sin_phi*(1/_.one_m_e_2_sin_2_phi+G(e.e*_.sin_phi)),P<f&&(S=f,f=P,P=S),d<f&&(d=f),d>P&&(d=P),d*=E,d)}loxodromeArea(e){const t=Math.PI/180;let i=0;const s=oe(),n=me(),a=me();s.e=Math.sqrt(this.m_eSquared),s.one_p_e=1+s.e,s.one_m_e=1-s.e,s.one_m_e_2=1-this.m_eSquared,s.atanh_e_over_e=G(s.e),this.m_eSquared>=1?s.half_qp=1:s.half_qp=.5*(1+s.atanh_e_over_e*s.one_m_e_2),s.f=.25*Math.PI,s.z=.75*Math.PI,a.initialize(0,s.e,s.f,s.z);const _=e.getPathCount(),r=new T,h=new T,o=e.getImpl().getAttributeStreamRef(0);for(let m=0;m<_;m++){const _=e.getPathStart(m),l=e.getPathEnd(m);if(!(l-_<=1)){o.queryPoint2D(2*(l-1),r);for(let e=_;e<l;e++){o.queryPoint2D(2*e,h);const m=r.y*t,l=h.y*t;if(e===_?(n.initialize(m,s.e,s.f,s.z),n.make_negative=!1):n.assign(a),a.initialize(l,s.e,s.f,s.z),a.make_negative=!1,r.y*h.y<0){if(r.y>=90&&h.y<=-90||h.y>=90&&r.y<=-90)return Number.NaN;const e=me();e.initialize(0,s.e,s.f,s.z),e.make_negative=!1;const _=n.atanh_sin_phi-s.e*n.atanh_esin_phi,o=a.atanh_sin_phi-s.e*a.atanh_esin_phi,l=(o*r.x-_*h.x)/(o-_);m<0?(n.make_negative=!0,i-=this.loxodromeAreaHemi(s,r.x*t,n,l*t,e),n.make_negative=!1,i+=this.loxodromeAreaHemi(s,l*t,e,h.x*t,a)):(i+=this.loxodromeAreaHemi(s,r.x*t,n,l*t,e),a.make_negative=!0,i-=this.loxodromeAreaHemi(s,l*t,e,h.x*t,a),a.make_negative=!1)}else r.y>=0?i+=this.loxodromeAreaHemi(s,r.x*t,n,h.x*t,a):(n.make_negative=!0,a.make_negative=!0,i-=this.loxodromeAreaHemi(s,r.x*t,n,h.x*t,a),n.make_negative=!1,a.make_negative=!1);r.assign(h)}}}return this.m_a*i*this.m_a}calculate(e){if(e.isEmpty()||e.getDimension()<2)return 0;if(e.getGeometryType()===i.enumEnvelope){const t=new a;return t.addEnvelope(e,!1),this.calculate(t)}return this.m_inputSR!==this.m_inputGCS&&null===this.m_transformPCS2GCS&&(this.m_transformPCS2GCS=o(this.m_inputSR,this.m_inputGCS,null)),this.executePolygonGeodeticArea(e)}}class de{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,i){return!1}canAccelerateGeometry(e){return!1}execute(e,i,s,n){if(t(e),4===s)return(new ne).execute(e,i,n);return new ge(i,s,n).calculate(e)}}export{de as OperatorGeodeticArea};
2
+ import{a as e,c as t,G as i,d as s,g as n}from"./Geometry.js";import{P as a,x as _,L as r}from"./MultiPathImpl.js";import{O as h}from"./OperatorDensify.js";import{D as o,J as m,r as l,aD as p,O as u,aN as c,j as g,b as d,ag as E,aF as f,aX as P,aY as S,an as A,ao as y,av as x,aZ as R,aC as M,ay as C}from"./UnitFactory.js";import{P as T,K as w,d as N,o as q,l as b,a as I,E as v,q as $,f as z,c as D,y as O,z as G,A as k}from"./Point2D.js";import{Envelope2D as L}from"./Envelope2D.js";import{c as F,k as J}from"./Envelope.js";import{O as Y}from"./OperatorClip.js";import{O as U}from"./OperatorShapePreservingLength.js";import{__addDisposableResource as X,__disposeResources as j}from"tslib";import{T as B}from"./Transformation2D.js";import{a as H}from"./GeodeticDistanceCalculator-zRp89-dW.js";class Q{m_startPt;m_endPt;m_cE2;m_cE;m_c1By2e;m_cRpu;isPcs;PEProjcs;m_points;constructor(e,t,i,s,n=100){this.m_startPt=e.clone(),this.m_endPt=t.clone(),this.m_cE2=s,this.m_cE=Math.sqrt(this.m_cE2),this.m_c1By2e=1/(2*this.m_cE),this.m_cRpu=i.getGCS().getUnit().getUnitToBaseFactor(),this.isPcs=2===i.getCoordinateSystemType(),this.PEProjcs=i.getPECoordSys(),this.m_points=N(2*n,Number.NaN)}setSegmentEndPoints(e,t){this.m_startPt.assign(e),this.m_endPt.assign(t)}makeFunctor(){return e=>{const t=[0,0];t[0]=this.m_startPt.x*(1-e)+this.m_endPt.x*e,t[1]=this.m_startPt.y*(1-e)+this.m_endPt.y*e,this.isPcs&&p.projToGeogCenter(this.PEProjcs,1,t,0);const i=Math.sin(t[1]*this.m_cRpu);if(0===this.m_cE2)return i;return-Math.log((1-this.m_cE*i)/(1+this.m_cE*i))*this.m_c1By2e+i/(1-this.m_cE2*i*i)}}}function V(e,t,i){const s=new L;e.queryEnvelope(s);const n=F(t,s,!0).total(),a=t.getPannableExtent();a.xmin=s.xmin-10*n,a.xmax=s.xmax+10*n;const r=(new Y).execute(e,a,t,i).getImpl().querySegmentIterator();r.stripAttributes();const h=l();t.querySpheroidData(h);const o=h.e2,m=0===o?2:1,p=new T(0,0),u=new T(0,0),c=new w(0),g=new Q(p,u,t,o,100);for(;r.nextPath();)for(;r.hasNextSegment();){const e=r.nextSegment();p.assign(e.getStartXY()),u.assign(e.getEndXY()),g.setSegmentEndPoints(p,u);const t=_(6,0,1,1e-12,1e-15,g.makeFunctor());c.pe((u.x-p.x)*t)}const d=h.majorSemiAxis;return m*d*d*(1-o)*Math.PI*c.getResult()/t.getPannableExtent().width()}function Z(e,t,i,s,n){const a=se(e,t,n);let _=W(e,a.first,i,s,n),r=1,h=0,o=0;do{if(r++,a.first*=.5,a.first<50*t.getTolerance(0))return _;a.second*=2,o=W(e,a.first,i,s,n),h=Math.abs(o-_),_=o}while(Math.abs(_)>1&&h>1e-8*Math.abs(_)&&(a.second<65e3&&r<8||r<4));return o}function W(e,t,i,s,n){const a=(new h).execute(e,t,0,0,n);let _;_=s?(new u).execute(a,s,n):a;const r=1===i.getUnit().getUnitToBaseFactor()?Math.PI/180:1,o=new L;_.queryEnvelope(o);const m=new L,l=new L,p=new L;m.setCoords({xmin:o.xmin,ymin:75*r,xmax:o.xmax,ymax:90*r}),l.setCoords({xmin:o.xmin,ymin:-60*r,xmax:o.xmax,ymax:75*r}),p.setCoords({xmin:o.xmin,ymin:-90*r,xmax:o.xmax,ymax:-60*r}),m.inflateCoords(.01*m.width(),0),l.inflateCoords(.01*l.width(),0),p.inflateCoords(.01*p.width(),0);let c=0;return c+=K(_,m,i,n),c+=K(_,l,i,n),c+=K(_,p,i,n),c}function K(e,t,i,s){const n=(new Y).execute(e,t,i,s);if(null!==n&&!n.isEmpty()){const e=new L;n.queryEnvelope(e);const{first:t,second:a}=ie(i,e,!1),_=o(i,t,null),r=(new u).execute(n,_,s).calculateArea2D();return a&&t.destroy(),r}return 0}const ee=[null,null,null,null,null,null,null];function te(e,t,i){const a=e.getUnit().getUnitToBaseFactor(),_=t.getCenter();_.scale(180*a/Math.PI);const r=new T;r.x=0,r.y=0;let h=0;if(0===h){_.y>45?(r.y=b,h=0):_.y<-45?(r.y=-b,h=1):_.x>=45&&_.x<135?(r.x=b,h=2):_.x>=135||_.x<-135?(r.x=b,h=3):_.x<-45&&_.x>=-135?(r.x=-b,h=4):(r.x=0,h=5);const e=a*Math.sqrt(I(t.xmin-t.xmax)+I(t.ymin-t.ymax)),i=r.clone(),s=t.getCenter();s.scale(a),h<2&&(i.x=s.x);if(T.distance(i,s)+.5*e>b)return null}const o=ee[h];if(null!==o&&o.getGCS().equalHorizontal(e))return o;const m=e.getText(),l=r.x,p=r.y,u=0,E=0;let f=0,P=-1;6!==h?P=c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:(n(i),f=0,P=c.PE_PRJ_CYLINDRICAL_EQAREA);const S=g("EqualAreaPCS");let A;P===c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${u}],PARAMETER["False_Northing",${E}],PARAMETER["Central_Meridian",${l}],PARAMETER["Latitude_of_Origin",${p}],UNIT["Meter",1.0]]`:P===c.PE_PRJ_CYLINDRICAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",${u}],PARAMETER["False_Northing",${E}],PARAMETER["Central_Meridian",${l}],PARAMETER["Standard_Parallel_1",${f}],PARAMETER["Latitude_of_Origin",${p}],UNIT["Meter",1.0]]`:s("getEqualAreaPcsFixed");const y=d(A);return ee[h]&&ee[h].destroy(),ee[h]=y,y}function ie(e,t,i){const n=te(e,t,i);if(null!==n)return q(n,!1);const a=e.getText(),_=e.getUnit().getUnitToBaseFactor(),r=(t.xmin+t.width()/2)*_,h=(t.ymin+t.height()/2)*_,o=0,m=0;let l=0,p=0,u=-1;t.ymin*_>=75*Math.PI/180||t.ymax*_<=-60*Math.PI/180?u=c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:t.ymin>0||t.ymax<0?(l=(t.ymin+1/3*t.height())*_,p=(t.ymin+2/3*t.height())*_,u=c.PE_PRJ_ALBERS):(l=(t.ymin+2/3*t.height())*_,u=c.PE_PRJ_CYLINDRICAL_EQAREA);const E=g("EqualAreaPCS");let f;return u===c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?f=`PROJCS["${E}",${a},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:u===c.PE_PRJ_ALBERS?f=`PROJCS["${E}",${a},PROJECTION["Albers"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Standard_Parallel_1",${l}],PARAMETER["Standard_Parallel_2",${p}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:u===c.PE_PRJ_CYLINDRICAL_EQAREA?f=`PROJCS["${E}",${a},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Standard_Parallel_1",${l}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:s("getEqualAreaPCSInstance"),q(d(f),!0)}function se(e,t,i){const s=e.calculateLength2D(),n=(new U).execute(e,t,i)/25e3,a=s/e.getSegmentCount()*2;let _=Math.min(a,s/n);0===_&&(_=1);return q(_,s/_)}class ne{getOperatorType(){return 10314}supportsCurves(){return!0}accelerateGeometry(e,t,i){return!1}canAccelerateGeometry(e){return!1}execute(s,n,_){if(0===n.getCoordinateSystemType()&&e(""),s.isEmpty()||s.getDimension()<2)return 0;if(t(s),s.getGeometryType()===i.enumEnvelope){const e=new a;return e.addEnvelope(s,!1),this.execute(e,n,_)}let r=s;s.getDescription().getAttributeCount()>1&&(r=s.clone(),r.dropAllAttributes());const l=(new h).execute(r,0,n.getTolerance(0),0,_);let p=null;const u=n.getGCS();u!==n&&(p=o(n,u));let c=(new m).execute(l,n,!1,_);return c.isEmpty()?0:(c===s&&(c=s.clone()),n.isPannable()?V(c,n,_):Z(c,n,u,p,_))}}function ae(){return{m_p_PCS:new T,m_factor:Number.NaN,setValues:_e,assign:re}}function _e(e,t){this.m_factor=e,this.m_p_PCS.assign(t)}function re(e){this.m_factor=e.m_factor,this.m_p_PCS.assign(e.m_p_PCS)}class he{m_ptStart=new J;m_ptEnd=new J;m_deltaX;m_deltaY;m_e;m_e2;m_c1MinusE2;m_baseA;constructor(e,t,i,s){this.m_ptStart.assign(t),this.m_ptEnd.assign(i),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y,this.m_e=Math.sqrt(e),this.m_e2=e,this.m_c1MinusE2=1-e;const n=Math.sin(s);let a;a=0===this.m_e2?2*n:n*(G(this.m_e*n)+1/(1-this.m_e2*n*n)),this.m_baseA=a}setSegmentEndPoints(e,t){this.m_ptStart.assign(e),this.m_ptEnd.assign(t),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y}makeFunctor(){return e=>{const t=1-e,i=t*this.m_ptStart.x+e*this.m_ptEnd.x,s=t*this.m_ptStart.y+e*this.m_ptEnd.y,n=t*this.m_ptStart.z+e*this.m_ptEnd.z,a=i*i+s*s,_=n/Math.sqrt(n*n+this.m_c1MinusE2*this.m_c1MinusE2*a);let r;if(0===this.m_e2)r=2*_;else{r=_*(G(this.m_e*_)+1/(1-this.m_e2*_*_))}return(this.m_deltaY*i-this.m_deltaX*s)/a*(r-this.m_baseA)}}}function oe(){return{e:Number.NaN,one_p_e:Number.NaN,one_m_e:Number.NaN,one_m_e_2:Number.NaN,atanh_e_over_e:Number.NaN,half_qp:Number.NaN,f:Number.NaN,z:Number.NaN}}function me(){return{sin_phi:Number.NaN,one_p_sin_phi:Number.NaN,one_m_sin_phi:Number.NaN,one_m_e_2_sin_2_phi:Number.NaN,sin_half_phi_pf:Number.NaN,sin_half_phi_pz:Number.NaN,sin_half_asin_e_sin_phi_pf:Number.NaN,sin_half_asin_e_sin_phi_pz:Number.NaN,atanh_sin_phi:Number.NaN,atanh_esin_phi:Number.NaN,make_negative:!1,initialize:le,changeSign:pe,assign:ue,clone:ce}}function le(e,t,i,s){const n=.5*e;this.sin_phi=Math.sin(e);const a=t*this.sin_phi,_=.5*Math.asin(a);this.one_p_sin_phi=1+this.sin_phi,this.one_m_sin_phi=1-this.sin_phi,this.one_m_e_2_sin_2_phi=(1+a)*(1-a),this.sin_half_phi_pf=Math.sin(n+i),this.sin_half_phi_pz=Math.sin(n+s),this.sin_half_asin_e_sin_phi_pf=Math.sin(_+i),this.sin_half_asin_e_sin_phi_pz=Math.sin(_+s),this.atanh_sin_phi=Math.log(this.sin_half_phi_pf/this.sin_half_phi_pz),this.atanh_esin_phi=Math.log(this.sin_half_asin_e_sin_phi_pf/this.sin_half_asin_e_sin_phi_pz)}function pe(){this.sin_phi=-this.sin_phi;let e=this.one_p_sin_phi;this.one_p_sin_phi=this.one_m_sin_phi,this.one_m_sin_phi=e,e=this.sin_half_phi_pf,this.sin_half_phi_pf=this.sin_half_phi_pz,this.sin_half_phi_pz=e,e=this.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pf=this.sin_half_asin_e_sin_phi_pz,this.sin_half_asin_e_sin_phi_pz=e,this.atanh_sin_phi=-this.atanh_sin_phi,this.atanh_esin_phi=-this.atanh_esin_phi}function ue(e){this.sin_phi=e.sin_phi,this.one_p_sin_phi=e.one_p_sin_phi,this.one_m_sin_phi=e.one_m_sin_phi,this.one_m_e_2_sin_2_phi=e.one_m_e_2_sin_2_phi,this.sin_half_phi_pf=e.sin_half_phi_pf,this.sin_half_phi_pz=e.sin_half_phi_pz,this.sin_half_asin_e_sin_phi_pf=e.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pz=e.sin_half_asin_e_sin_phi_pz,this.atanh_sin_phi=e.atanh_sin_phi,this.atanh_esin_phi=e.atanh_esin_phi,this.make_negative=e.make_negative}function ce(){return{...this}}class ge{m_a;m_b;m_eSquared;m_inputSR;m_inputGCS;m_transformPCS2GCS=null;m_curveType;m_progressTracker;m_scaleToRadians=new B;m_scaleToDegrees=new B;m_rpu;constructor(t,i,s){this.m_progressTracker=s,n(4!==i),this.m_curveType=i,this.m_inputSR=t,t&&0!==t.getCoordinateSystemType()||e(""),this.m_inputGCS=t.getGCS(),this.m_a=0,this.m_eSquared=0,this.m_b=0,this.m_rpu=0}executePolygonGeodeticArea(e){let t,i=e.clone();if(i.dropAllAttributes(),e.hasNonLinearSegments()){i=(new h).execute(i,0,this.m_inputSR.getTolerance(0),0,this.m_progressTracker)}if(this.m_inputSR.isPannable()){const e=new L;i.queryEnvelope(e);const t=this.m_inputSR.getPannableExtent();if(!t.containsEnvelope(e)){const s=t.getCenterX()-e.getCenterX(),n=new B;n.setShiftCoords(s,0),i.applyTransformation(n),e.move(s,0);const a=new v;t.queryIntervalX(a);const _=new v;e.queryIntervalX(_),i=a.contains(_)?E(i,this.m_inputSR):(new u).foldInto360RangeGeodetic(i,this.m_inputSR,this.m_curveType)}}if(this.m_transformPCS2GCS?(i=(new m).execute(i,this.m_inputSR,!1,this.m_progressTracker),t=i.createInstance(),f(this.m_transformPCS2GCS,i,t,this.m_progressTracker)||(t=(new u).execute(i,this.m_transformPCS2GCS,this.m_progressTracker))):t=(new m).execute(i,this.m_inputGCS,!1,this.m_progressTracker),t.isEmpty())return 0;if(1===this.m_curveType){const e=l();return this.m_inputGCS.querySpheroidData(e),this.m_a=e.majorSemiAxis,this.m_eSquared=e.e2,this.loxodromeArea(t)}const s=t.getImpl();this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_scaleToRadians.setScale(this.m_rpu),s.applyTransformation(this.m_scaleToRadians),this.m_scaleToDegrees=this.m_scaleToRadians,this.m_scaleToDegrees.invertThis();const n=l();if(this.m_inputGCS.querySpheroidData(n),this.m_a=n.majorSemiAxis,this.m_b=n.minorSemiAxis,this.m_eSquared=n.e2,2===this.m_curveType)return this.executeClippedPolygonGreatEllipticArea(t);{const e={stack:[],error:void 0,hasError:!1};try{const i=P.unit(9101),s=this.m_inputGCS.getPECoordSys(),n=X(e,s.cloneAlterUnits(i),!1);let a,_,r=this.executeClippedPolygonGeodeticArea(t,n,0),h=0;do{h++,a=this.executeClippedPolygonGeodeticArea(t,n,h),_=Math.abs(a-r),r=a}while(Math.abs(a)>1&&_>1e-8*Math.abs(a)&&h<7);return a}catch(a){e.error=a,e.hasError=!0}finally{j(e)}}}executeClippedPolygonGeodeticArea(e,t,i){const s={stack:[],error:void 0,hasError:!1};try{const n=new L;e.queryEnvelope(n);const a=X(s,this.getEqualAreaPCSInstance(t,n),!1),_=e.clone();S(a,_);const r=50,h=_.getImpl().getAttributeStreamRef(0),o=e.getImpl().getAttributeStreamRef(0),m=X(s,new A,!1),l=X(s,new A,!1),u=40,c=[0,0],g=$(ae,u),d=N(u,-1),E=ae(),f=ae();let P,x;const R=a;let M=_.calculateArea2D();const C=new w(0),q=.5*Math.PI,b=1e-10*Math.abs(M)+1e-6,I=e.getPathCount();let v,D,O,G;const k=new T,F=new T,J=new T,Y=new T,U=new T,j=new T;let B,H;for(D=e.getPathStart(0),v=0;v<I;v++,D=O)for(O=e.getPathEnd(v),h.queryPoint2D(O-1<<1,J),o.queryPoint2D(O-1<<1,k),Math.abs(k.y)>q&&(k.y=z(q,k.y)),G=D;G<O;G++,J.assign(Y),k.assign(F)){if(h.queryPoint2D(G<<1,Y),o.queryPoint2D(G<<1,F),Math.abs(F.y)>q&&(F.y=z(q,F.y)),B=T.distance(J,Y),B<r||0===k.y&&0===F.y)continue;y.geodeticDistance(this.m_a,this.m_eSquared,k.x,k.y,F.x,F.y,m,l,null,this.m_curveType);const e=m.val,t=l.val;for(E.setValues(0,J),f.setValues(1,Y),x=i,g[0].assign(f),d[0]=i,P=0;P>=0;){H=.5*(E.m_factor+f.m_factor),y.geodeticCoordinate(this.m_a,this.m_eSquared,k.x,k.y,e*H,t,m,l,this.m_curveType),U.x=m.val,U.y=l.val,c[0]=U.x,c[1]=U.y,p.geogToProj(R,1,c),j.x=c[0],j.y=c[1];const i=-j.offset(E.m_p_PCS,f.m_p_PCS),s=.5*i*T.distance(E.m_p_PCS,f.m_p_PCS);if(C.pe(s),Math.abs(s)>b||Math.abs(s)>0&&x>0)f.setValues(H,j),P++,g[P].assign(f),Math.abs(s)<=b?(x--,d[P-1]=x,d[P]=x):(x=d[P-1],d[P]=x);else{if(P<=0)break;E.assign(f),P--,f.assign(g[P]),x=d[P]}}}return M+=C.getResult(),Math.abs(M)}catch(n){s.error=n,s.hasError=!0}finally{j(s)}}executeClippedPolygonGreatEllipticArea(e){const t=[],i=[],s=new T,n=new T,a=x(1,this.m_eSquared,new T(0,.5*Math.PI)),_=new w(0),r=new w(0),h=new w(0),o=new J,m=new J,l=new L;e.queryLooseEnvelope(l);let p=0;l.containsCoords(l.xmin,0)||(p=Math.abs(l.ymin)<Math.abs(l.ymax)?l.ymin:l.ymax);const u=new he(this.m_eSquared,o,m,p),c=this.m_a*this.m_a,g=e.getImpl().querySegmentIterator();for(g.stripAttributes();g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment();s.assign(e.getStartXY()),n.assign(e.getEndXY()),n.x-s.x>Math.PI?s.x+=2*Math.PI:n.x-s.x<-Math.PI&&(n.x+=2*Math.PI),this.splitSegmentCrossingItegralThreshold(e,t,i);for(let i of t)o.assign(x(this.m_a,this.m_eSquared,i.getStartXY())),m.assign(x(this.m_a,this.m_eSquared,i.getEndXY())),u.setSegmentEndPoints(o,m),this.adaptiveIntegrationWithRomberg(u,_);for(let t of i){let e=t.getStartXY(),i=t.getEndXY(),s=p;e.y<0&&(i=D(e,e=i),e.y=-e.y,i.y=-i.y,s=-s);const n=x(1,this.m_eSquared,e),_=x(1,this.m_eSquared,i),o=Math.min(e.y,i.y),m=R(this.m_eSquared,e.x,i.x,s,o);r.pe(m);const l=Math.abs(R(this.m_eSquared,e.x,i.x,o,b)),u=new J;u.setSub(n,a);const g=new J;g.setSub(_,a);const d=new J;d.setCrossProductVector(u,g);let E=c*(l-.5*d.length());E=z(E,i.x-e.x),h.pe(E)}t.length=0,i.length=0}return h.getResult()+c*(.5*(1-this.m_eSquared)*_.getResult()+r.getResult())}getEqualAreaPCSInstance(e,t){const i=t.getCenterX(),s=0,n=0;let a,_;const r=t.height();let h,o;(h=t.ymin>45*Math.PI/180||t.ymax<45*-Math.PI/180)?a=z(.5*Math.PI,t.getCenterY()):(a=t.getCenterY(),_=t.ymin+r*(2/3));const m=g("EqualAreaPCS"),l=e.toString();return o=h?P.fromString(c.PE_TYPE_PROJCS,`PROJCS["${m}", ${l}, PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${s}],PARAMETER["False_Northing", ${n}],PARAMETER["Central_Meridian", ${i}], PARAMETER["Latitude_of_Origin", ${a}], UNIT["Meter",1.0]]`,!0):P.fromString(c.PE_TYPE_PROJCS,`PROJCS["${m}", ${l}, PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting", ${s}],PARAMETER["False_Northing", ${n}],PARAMETER["Central_Meridian", ${i}],PARAMETER["Standard_Parallel_1", ${_}],PARAMETER["Latitude_of_Origin", ${a}],UNIT["Meter",1.0]]`,!0),o}splitSegmentCrossingItegralThreshold(e,t,i){const s=100,n=20,a=n*n,_=x(this.m_a,this.m_eSquared,new T(0,b)),h=x(this.m_a,this.m_eSquared,new T(0,-b)),o=this.splitSegmentPassingThroughPole(e);for(let m of o){const e=m.getStartXY(),o=m.getEndXY(),l=x(this.m_a,this.m_eSquared,e),p=x(this.m_a,this.m_eSquared,o),u=new T,c=new J;let g=J.sqrDistance(_,l),d=J.sqrDistance(l,p);if(g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(l.add(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:e,end:u})),e.assign(u)}if(l.assign(x(this.m_a,this.m_eSquared,e)),g=J.sqrDistance(_,p),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(p.sub(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:u,end:o})),o.assign(u)}if(l.assign(x(this.m_a,this.m_eSquared,e)),p.assign(x(this.m_a,this.m_eSquared,o)),g=J.sqrDistance(h,l),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(l.add(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:e,end:u})),e.assign(u)}if(l.assign(x(this.m_a,this.m_eSquared,e)),p.assign(x(this.m_a,this.m_eSquared,o)),g=J.sqrDistance(h,p),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(p.sub(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:u,end:o})),o.assign(u)}t.push(new r({start:e,end:o}))}}splitSegmentPassingThroughPole(e){const t={stack:[],error:void 0,hasError:!1};try{const i=[],s=new J,n=new J,a=new J,_=new T,h=20,o=3.124139361,m=10,l=e.getStartXY(),p=e.getEndXY(),u=X(t,new A,!1);if(y.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,p.x,p.y,u,null,null,2),Math.abs(p.x-l.x)>o&&u.val>h){const e=new H(new T(0,90),l.divide(this.m_rpu),p.divide(this.m_rpu),this.m_inputGCS,2,2);let t=C(e.makeFunctor(),0,1,1e-10);if(t.second<=m&&t.first>0&&t.first<1)return s.assign(x(this.m_a,this.m_eSquared,l)),n.assign(x(this.m_a,this.m_eSquared,p)),O(s,n,t.first,a),_.assign(M(this.m_a,this.m_eSquared,a)),i.push(new r({start:l,end:_})),i.push(new r({start:_,end:p})),i;if(e.setPointDistFrom(new T(0,-90)),t=C(e.makeFunctor(),0,1,1e-10),t.second<=m&&t.first>0&&t.first<1)return s.assign(x(this.m_a,this.m_eSquared,l)),n.assign(x(this.m_a,this.m_eSquared,p)),O(s,n,t.first,a),_.assign(M(this.m_a,this.m_eSquared,a)),i.push(new r({start:l,end:_})),i.push(new r({start:_,end:p})),i}return i.push(new r({start:l,end:p})),i}catch(i){t.error=i,t.hasError=!0}finally{j(t)}}adaptiveIntegrationWithRomberg(e,t){const i=e.makeFunctor();let s=0,n=1,a=i(s),r=i(n);const h=1e-17,o=1e-14;let m=(s+n)/2,l=i(m),p=Math.abs(l-a),u=Math.abs(r-l),c=0;for(;c++<32&&(p/u<.1||u/p<.1);)p<u?(t.pe(_(5,s,m,o,h,i)),s=m,a=l):(t.pe(_(5,m,n,o,h,i)),n=m,r=l),m=(s+n)/2,l=Math.abs(i(m)),p=Math.abs(l-a),u=Math.abs(r-l);t.pe(_(5,s,n,o,h,i))}loxodromeAreaHemi(e,t,i,s,n){const a=i.clone(),_=n.clone();let r,h,o,m,l,p,u,c,g,d,E,f,P,S,A,y;return a.make_negative&&a.changeSign(),_.make_negative&&_.changeSign(),E=s-t,1===Math.abs(a.sin_phi)||1===Math.abs(_.sin_phi)?e.half_qp*E:a.sin_phi===_.sin_phi?(d=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+G(e.e*a.sin_phi))*E,d):(A=Math.log(_.sin_half_phi_pf*a.sin_half_phi_pz/(_.sin_half_phi_pz*a.sin_half_phi_pf)),y=Math.log(_.sin_half_asin_e_sin_phi_pf*a.sin_half_asin_e_sin_phi_pz/(_.sin_half_asin_e_sin_phi_pz*a.sin_half_asin_e_sin_phi_pf)),1===this.m_eSquared?(l=0,r=.5*(A+_.sin_phi/_.one_m_e_2_sin_2_phi-a.sin_phi/a.one_m_e_2_sin_2_phi),h=0):(l=-2*e.atanh_e_over_e*(Math.log(_.one_p_sin_phi/a.one_p_sin_phi)-e.e*y),r=(A-e.e*y)/e.one_m_e_2,h=(Math.log(_.one_m_e_2_sin_2_phi/a.one_m_e_2_sin_2_phi)+l/e.atanh_e_over_e)/e.one_m_e_2),o=-y*(a.atanh_esin_phi+_.atanh_esin_phi),m=1/a.one_m_e_2_sin_2_phi-1/_.one_m_e_2_sin_2_phi,p=k(_.one_m_sin_phi/e.one_p_e,e.e)-k(a.one_m_sin_phi/e.one_p_e,e.e),u=k(_.one_p_sin_phi/e.one_p_e,e.e)-k(a.one_p_sin_phi/e.one_p_e,e.e),c=k(a.one_m_sin_phi/-e.one_m_e,e.e)-k(_.one_m_sin_phi/-e.one_m_e,e.e),g=k(a.one_p_sin_phi/-e.one_m_e,e.e)-k(_.one_p_sin_phi/-e.one_m_e,e.e),d=.25/r*(h+o+m+l+.5*(p+u+c+g)),d+=e.half_qp,f=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+G(e.e*a.sin_phi)),P=.5*e.one_m_e_2*_.sin_phi*(1/_.one_m_e_2_sin_2_phi+G(e.e*_.sin_phi)),P<f&&(S=f,f=P,P=S),d<f&&(d=f),d>P&&(d=P),d*=E,d)}loxodromeArea(e){const t=Math.PI/180;let i=0;const s=oe(),n=me(),a=me();s.e=Math.sqrt(this.m_eSquared),s.one_p_e=1+s.e,s.one_m_e=1-s.e,s.one_m_e_2=1-this.m_eSquared,s.atanh_e_over_e=G(s.e),this.m_eSquared>=1?s.half_qp=1:s.half_qp=.5*(1+s.atanh_e_over_e*s.one_m_e_2),s.f=.25*Math.PI,s.z=.75*Math.PI,a.initialize(0,s.e,s.f,s.z);const _=e.getPathCount(),r=new T,h=new T,o=e.getImpl().getAttributeStreamRef(0);for(let m=0;m<_;m++){const _=e.getPathStart(m),l=e.getPathEnd(m);if(!(l-_<=1)){o.queryPoint2D(2*(l-1),r);for(let e=_;e<l;e++){o.queryPoint2D(2*e,h);const m=r.y*t,l=h.y*t;if(e===_?(n.initialize(m,s.e,s.f,s.z),n.make_negative=!1):n.assign(a),a.initialize(l,s.e,s.f,s.z),a.make_negative=!1,r.y*h.y<0){if(r.y>=90&&h.y<=-90||h.y>=90&&r.y<=-90)return Number.NaN;const e=me();e.initialize(0,s.e,s.f,s.z),e.make_negative=!1;const _=n.atanh_sin_phi-s.e*n.atanh_esin_phi,o=a.atanh_sin_phi-s.e*a.atanh_esin_phi,l=(o*r.x-_*h.x)/(o-_);m<0?(n.make_negative=!0,i-=this.loxodromeAreaHemi(s,r.x*t,n,l*t,e),n.make_negative=!1,i+=this.loxodromeAreaHemi(s,l*t,e,h.x*t,a)):(i+=this.loxodromeAreaHemi(s,r.x*t,n,l*t,e),a.make_negative=!0,i-=this.loxodromeAreaHemi(s,l*t,e,h.x*t,a),a.make_negative=!1)}else r.y>=0?i+=this.loxodromeAreaHemi(s,r.x*t,n,h.x*t,a):(n.make_negative=!0,a.make_negative=!0,i-=this.loxodromeAreaHemi(s,r.x*t,n,h.x*t,a),n.make_negative=!1,a.make_negative=!1);r.assign(h)}}}return this.m_a*i*this.m_a}calculate(e){if(e.isEmpty()||e.getDimension()<2)return 0;if(e.getGeometryType()===i.enumEnvelope){const t=new a;return t.addEnvelope(e,!1),this.calculate(t)}return this.m_inputSR!==this.m_inputGCS&&null===this.m_transformPCS2GCS&&(this.m_transformPCS2GCS=o(this.m_inputSR,this.m_inputGCS,null)),this.executePolygonGeodeticArea(e)}}class de{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,i){return!1}canAccelerateGeometry(e){return!1}execute(e,i,s,n){if(t(e),4===s)return(new ne).execute(e,i,n);return new ge(i,s,n).calculate(e)}}export{de as OperatorGeodeticArea};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as e}from"./GeometryCursor.js";import{d as t,t as r,a as s,c as m}from"./Geometry.js";import{aa as n}from"./UnitFactory.js";import{S as i}from"./SimpleGeometryCursor.js";class a{getOperatorType(){return 10310}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,r,s,m){return new o(e,r,s,t,-1,-1,m)}execute(e,r,s,m,n){const a=new i([e]),o=this.executeMany(a,r,s,m,n).next();return o||t("null output"),o}}class o extends e{m_inputGeoms;m_spatialReference;m_curveType;m_maxLengthMeters;m_maxDeviationMeters;m_maxAngle;m_progressTracker;m_index;constructor(e,t,m,n,i,a,o){super(),this.m_progressTracker=o,a>0&&r(""),4!==m&&i>0&&r(""),t||s("");0===t.getCoordinateSystemType()&&s(""),n>0||i>0||s(""),this.m_index=-1,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=m,this.m_maxLengthMeters=n,this.m_maxDeviationMeters=i,this.m_maxAngle=a}next(){{let e;for(;e=this.m_inputGeoms.next();)return m(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.geodeticDensify(e);return null}}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodeticDensify(e){return n(e,this.m_spatialReference,this.m_curveType,this.m_maxLengthMeters,this.m_maxDeviationMeters,this.m_progressTracker)}}export{a as OperatorGeodeticDensifyByLength,o as OperatorGeodeticDensifyCursor};
2
+ import{G as e}from"./GeometryCursor.js";import{d as t,t as r,a as s,c as m}from"./Geometry.js";import{af as n}from"./UnitFactory.js";import{S as i}from"./SimpleGeometryCursor.js";class a{getOperatorType(){return 10310}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,r,s,m){return new o(e,r,s,t,-1,-1,m)}execute(e,r,s,m,n){const a=new i([e]),o=this.executeMany(a,r,s,m,n).next();return o||t("null output"),o}}class o extends e{m_inputGeoms;m_spatialReference;m_curveType;m_maxLengthMeters;m_maxDeviationMeters;m_maxAngle;m_progressTracker;m_index;constructor(e,t,m,n,i,a,o){super(),this.m_progressTracker=o,a>0&&r(""),4!==m&&i>0&&r(""),t||s("");0===t.getCoordinateSystemType()&&s(""),n>0||i>0||s(""),this.m_index=-1,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=m,this.m_maxLengthMeters=n,this.m_maxDeviationMeters=i,this.m_maxAngle=a}next(){{let e;for(;e=this.m_inputGeoms.next();)return m(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.geodeticDensify(e);return null}}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodeticDensify(e){return n(e,this.m_spatialReference,this.m_curveType,this.m_maxLengthMeters,this.m_maxDeviationMeters,this.m_progressTracker)}}export{a as OperatorGeodeticDensifyByLength,o as OperatorGeodeticDensifyCursor};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{a as r,c as n,G as a,h as o}from"./Geometry.js";import{O as s}from"./OperatorShapePreservingLength.js";import{c as i,a as c}from"./MultiPathImpl.js";import{E as m}from"./Point2D.js";import{ab as l,az as u,aA as g,O as p,ai as y,aj as f,r as h}from"./UnitFactory.js";import{O as x}from"./OperatorDensify.js";class S{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}execute(e,t,y,f){if(4===y)return(new s).execute(e,t,f);if(0===t.getCoordinateSystemType()&&r(""),n(e),e.isEmpty()||e.getDimension()<1)return 0;const S=t.getGCS(),d=h();S.querySpheroidData(d);const P=d.majorSemiAxis,E=d.e2,G=S.getUnit().getUnitToBaseFactor();let j;const v=e.getGeometryType();if(v===a.enumPolygon?j=e.getBoundary():v===a.enumEnvelope?j=i(e):o(v)?(j=new c({vd:e.getDescription()}),j.addSegment(e,!0)):j=e,j.hasNonLinearSegments()){j=(new x).execute(j,0,t.getTolerance(0),0,f)}if(S!==t){const r=t.getSRToGCSTransform();if(t.isPannable()){j=l(j,t),v===a.enumPolyline&&j===e&&(j=e.clone());const r=new m;t.getPannableExtent().queryIntervalX(r);for(let e=0,t=j.getPointCount();e<t;e++){const t=j.getXY(e);t.x=u(t.x,r),j.setXY(e,t)}}const n=j.createInstance();j=g(r,j,n,f)?n:(new p).execute(j,r,f)}return this._ExecuteMultiPathGeodeticLength(j,y,P,E,G)}_ExecuteMultiPathGeodeticLength(r,n,a,o,s){const i={stack:[],error:void 0,hasError:!1};try{const t=e(i,new y,!1);let c=0;const m=r.querySegmentIterator();for(;m.nextPath();)for(;m.hasNextSegment();){const e=m.nextSegment(),r=e.getStartXY(),i=e.getEndXY();r.scale(s),i.scale(s),f.geodeticDistance(a,o,r.x,r.y,i.x,i.y,t,null,null,n),c+=t.val}return c}catch(c){i.error=c,i.hasError=!0}finally{t(i)}}}export{S as OperatorGeodeticLength};
2
+ import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{a as r,c as n,G as o,h as a}from"./Geometry.js";import{O as s}from"./OperatorShapePreservingLength.js";import{c as i,a as c}from"./MultiPathImpl.js";import{E as m}from"./Point2D.js";import{ag as l,aE as u,aF as g,O as p,an as y,ao as f,r as h}from"./UnitFactory.js";import{O as x}from"./OperatorDensify.js";class S{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}execute(e,t,y,f){if(4===y)return(new s).execute(e,t,f);if(0===t.getCoordinateSystemType()&&r(""),n(e),e.isEmpty()||e.getDimension()<1)return 0;const S=t.getGCS(),d=h();S.querySpheroidData(d);const P=d.majorSemiAxis,E=d.e2,G=S.getUnit().getUnitToBaseFactor();let j;const v=e.getGeometryType();if(v===o.enumPolygon?j=e.getBoundary():v===o.enumEnvelope?j=i(e):a(v)?(j=new c({vd:e.getDescription()}),j.addSegment(e,!0)):j=e,j.hasNonLinearSegments()){j=(new x).execute(j,0,t.getTolerance(0),0,f)}if(S!==t){const r=t.getSRToGCSTransform();if(t.isPannable()){j=l(j,t),v===o.enumPolyline&&j===e&&(j=e.clone());const r=new m;t.getPannableExtent().queryIntervalX(r);for(let e=0,t=j.getPointCount();e<t;e++){const t=j.getXY(e);t.x=u(t.x,r),j.setXY(e,t)}}const n=j.createInstance();j=g(r,j,n,f)?n:(new p).execute(j,r,f)}return this._ExecuteMultiPathGeodeticLength(j,y,P,E,G)}_ExecuteMultiPathGeodeticLength(r,n,o,a,s){const i={stack:[],error:void 0,hasError:!1};try{const t=e(i,new y,!1);let c=0;const m=r.querySegmentIterator();for(;m.nextPath();)for(;m.hasNextSegment();){const e=m.nextSegment(),r=e.getStartXY(),i=e.getEndXY();r.scale(s),i.scale(s),f.geodeticDistance(o,a,r.x,r.y,i.x,i.y,t,null,null,n),c+=t.val}return c}catch(c){i.error=c,i.hasError=!0}finally{t(i)}}}export{S as OperatorGeodeticLength};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as e}from"./GeometryCursor.js";import{c as t}from"./Geometry.js";import{_ as r}from"./UnitFactory.js";import{Envelope2D as i}from"./Envelope2D.js";import{B as s}from"./Bufferer-CclWhXVb.js";class m{getOperatorType(){return 10111}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,i,s,m,o,a,_,c,u,h){if(c){const c=new n(e,t,i,s,m,o,a,_,h);return(new r).executeMany(c,t,h,2)}return new n(e,t,i,s,m,o,a,_,h)}}class n extends e{m_inputGeoms;m_spatialReference;m_progressTracker;m_bufferer;m_distances;m_maxDeviation;m_miterLimit;m_maxVerticesInFullCircle;m_joins;m_caps;m_currentUnionEnvelope2D=new i;m_index=-1;m_dindex=-1;constructor(e,t,r,i,m,n,o,a,_){super(),this.m_progressTracker=_,this.m_bufferer=new s(_),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_distances=r,this.m_maxDeviation=o,this.m_maxVerticesInFullCircle=a,this.m_joins=i,this.m_caps=m,this.m_miterLimit=n}tock(){return!0}getRank(){return 1}next(){{let e;for(;e=this.m_inputGeoms.next();)return t(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.buffer(e,this.m_distances[this.m_dindex]);return null}}getGeometryID(){return this.m_index}buffer(e,t){return this.m_bufferer.buffer(e,t,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_maxDeviation,this.m_maxVerticesInFullCircle)}}export{m as O};
2
+ import{G as e}from"./GeometryCursor.js";import{c as t}from"./Geometry.js";import{a5 as r}from"./UnitFactory.js";import{Envelope2D as i}from"./Envelope2D.js";import{B as s}from"./Bufferer-CclWhXVb.js";class m{getOperatorType(){return 10111}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,i,s,m,a,o,_,c,u,h){if(c){const c=new n(e,t,i,s,m,a,o,_,h);return(new r).executeMany(c,t,h,2)}return new n(e,t,i,s,m,a,o,_,h)}}class n extends e{m_inputGeoms;m_spatialReference;m_progressTracker;m_bufferer;m_distances;m_maxDeviation;m_miterLimit;m_maxVerticesInFullCircle;m_joins;m_caps;m_currentUnionEnvelope2D=new i;m_index=-1;m_dindex=-1;constructor(e,t,r,i,m,n,a,o,_){super(),this.m_progressTracker=_,this.m_bufferer=new s(_),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_distances=r,this.m_maxDeviation=a,this.m_maxVerticesInFullCircle=o,this.m_joins=i,this.m_caps=m,this.m_miterLimit=n}tock(){return!0}getRank(){return 1}next(){{let e;for(;e=this.m_inputGeoms.next();)return t(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.buffer(e,this.m_distances[this.m_dindex]);return null}}getGeometryID(){return this.m_index}buffer(e,t){return this.m_bufferer.buffer(e,t,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_maxDeviation,this.m_maxVerticesInFullCircle)}}export{m as O};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as e}from"./GeometryCursor.js";import{e as t,G as s,c as m}from"./Geometry.js";import{E as r,n as i}from"./MultiPathImpl.js";import{Envelope2D as o}from"./Envelope2D.js";import{c as h,P as n}from"./Envelope.js";import{l as _,J as p,s as a,K as l,L as u,M as y,N as c,Q as G,R as g,T as d}from"./UnitFactory.js";class f{getOperatorType(){return 10009}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,m=0){return new x(e,t,s,m)}}class x extends e{m_inputGeometries;m_sr;m_progressTracker;m_shape=new r;m_currentGeom=i;m_options;m_progressCounter=0;m_geomIndex=-1;m_geomTypeIndex=-1;m_index=-1;m_bBuilt=!1;m_bOutputOnlyModified=!1;m_bSimplifyPolygons=!1;m_bSnapToSr=!1;constructor(e,s,m,r){super(),this.m_progressTracker=m,this.m_inputGeometries=e,this.m_sr=s,this.m_options=r,1===r||2===r?(this.m_bOutputOnlyModified=!0,this.m_options=0,this.m_bSimplifyPolygons=!0,this.m_bSnapToSr=null!=s&&2===r,this.m_bSnapToSr&&!_()&&t("PE is required for snapping to spatial reference operation")):0===r&&(this.m_bSimplifyPolygons=!0)}progress_(e=!1){}tock(){return!0}getRank(){return 1}moveToNextGeom(){for(;;){if(this.m_bBuilt?this.m_currentGeom=this.m_shape.getNextGeometry(this.m_currentGeom):(this.m_currentGeom=this.m_shape.getFirstGeometry(),this.m_bBuilt=!0),this.m_currentGeom!==i){let e=!1;if(this.m_bSimplifyPolygons&&this.m_shape.getGeometryType(this.m_currentGeom)===s.enumPolygon&&(e=p(this.m_shape,this.m_currentGeom,-1,!1,i,this.m_progressTracker)),this.m_bOutputOnlyModified&&!e&&!this.m_shape.getGeometryModified(this.m_currentGeom))continue}break}}next(){if(this.m_bBuilt)this.moveToNextGeom();else{this.m_geomIndex=this.m_shape.createGeometryUserIndex();const e=new o;for(let i=this.m_inputGeometries.next();null!=i;i=this.m_inputGeometries.next()){this.progress_(),m(i);let t=!1;this.m_bSnapToSr&&(i=i.clone(),t=a(this.m_sr,i));const r=this.m_shape.addGeometry(i);this.m_shape.setGeometryUserIndex(r,this.m_geomIndex,this.m_inputGeometries.getGeometryID());const h=i.getGeometryType();h===s.enumPoint&&(-1===this.m_geomTypeIndex&&(this.m_geomTypeIndex=this.m_shape.createGeometryUserIndex()),this.m_shape.setGeometryUserIndex(r,this.m_geomTypeIndex,h));const n=new o;i.queryLooseEnvelope(n),e.mergeEnvelope2D(n),t&&this.m_shape.setGeometryModified(r,!0)}const t=h(this.m_sr,e,!0),r=h(this.m_sr,e,!1);e.inflate(10*t.total()),this.m_shape.forceSetEnvelope2D(e);let n=null,_=0,f=0;if(this.m_shape.hasCurves()){n=new g;const s=l(t.total(),e);_=u(t.total()),f=d(s,_),y(this.m_shape,s,t.total(),12e3,n,null,this.m_progressTracker)}if(c(this.m_shape,r,this.m_progressTracker)){if(G(this.m_shape,t.add(f),this.m_progressTracker,0===this.m_options,this.m_bOutputOnlyModified),null!==n){if(this.m_bSimplifyPolygons){for(let e=this.m_shape.getFirstGeometry();e!==i;e=this.m_shape.getNextGeometry(e))if(this.m_shape.getGeometryType(e)===s.enumPolygon){p(this.m_shape,e,-1,!1,i,this.m_progressTracker)&&this.m_shape.setGeometryModified(e,!0)}this.m_bSimplifyPolygons=!1}n.stitchCurves(this.m_shape,i,_,!0),n.clearStitcher(this.m_shape)}}else this.m_bSimplifyPolygons=!1,null!==n&&(n.stitchCurves(this.m_shape,i,_,!0),n.clearStitcher(this.m_shape));this.moveToNextGeom()}if(this.m_currentGeom!==i){if(this.m_index=this.m_shape.getGeometryUserIndex(this.m_currentGeom,this.m_geomIndex),-1!==this.m_geomTypeIndex&&this.m_shape.getGeometryUserIndex(this.m_currentGeom,this.m_geomTypeIndex)===s.enumPoint){const e=new n({vd:this.m_shape.getVertexDescription()});return this.m_shape.queryPointGeometryOnly(this.m_currentGeom,e),this.m_bSnapToSr&&a(this.m_sr,e),e}{const e=this.m_shape.getGeometry(this.m_currentGeom);return this.m_bSnapToSr&&a(this.m_sr,e),e}}return null}getGeometryID(){return this.m_index}}export{f as O};
2
+ import{G as e}from"./GeometryCursor.js";import{e as t,G as s,c as m}from"./Geometry.js";import{E as r,n as i}from"./MultiPathImpl.js";import{Envelope2D as o}from"./Envelope2D.js";import{c as h,P as n}from"./Envelope.js";import{l as _,L as p,s as a,M as l,N as u,Q as y,R as c,T as G,U as g,V as d}from"./UnitFactory.js";class f{getOperatorType(){return 10009}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,m=0){return new x(e,t,s,m)}}class x extends e{m_inputGeometries;m_sr;m_progressTracker;m_shape=new r;m_currentGeom=i;m_options;m_progressCounter=0;m_geomIndex=-1;m_geomTypeIndex=-1;m_index=-1;m_bBuilt=!1;m_bOutputOnlyModified=!1;m_bSimplifyPolygons=!1;m_bSnapToSr=!1;constructor(e,s,m,r){super(),this.m_progressTracker=m,this.m_inputGeometries=e,this.m_sr=s,this.m_options=r,1===r||2===r?(this.m_bOutputOnlyModified=!0,this.m_options=0,this.m_bSimplifyPolygons=!0,this.m_bSnapToSr=null!=s&&2===r,this.m_bSnapToSr&&!_()&&t("PE is required for snapping to spatial reference operation")):0===r&&(this.m_bSimplifyPolygons=!0)}progress_(e=!1){}tock(){return!0}getRank(){return 1}moveToNextGeom(){for(;;){if(this.m_bBuilt?this.m_currentGeom=this.m_shape.getNextGeometry(this.m_currentGeom):(this.m_currentGeom=this.m_shape.getFirstGeometry(),this.m_bBuilt=!0),this.m_currentGeom!==i){let e=!1;if(this.m_bSimplifyPolygons&&this.m_shape.getGeometryType(this.m_currentGeom)===s.enumPolygon&&(e=p(this.m_shape,this.m_currentGeom,-1,!1,i,this.m_progressTracker)),this.m_bOutputOnlyModified&&!e&&!this.m_shape.getGeometryModified(this.m_currentGeom))continue}break}}next(){if(this.m_bBuilt)this.moveToNextGeom();else{this.m_geomIndex=this.m_shape.createGeometryUserIndex();const e=new o;for(let i=this.m_inputGeometries.next();null!=i;i=this.m_inputGeometries.next()){this.progress_(),m(i);let t=!1;this.m_bSnapToSr&&(i=i.clone(),t=a(this.m_sr,i));const r=this.m_shape.addGeometry(i);this.m_shape.setGeometryUserIndex(r,this.m_geomIndex,this.m_inputGeometries.getGeometryID());const h=i.getGeometryType();h===s.enumPoint&&(-1===this.m_geomTypeIndex&&(this.m_geomTypeIndex=this.m_shape.createGeometryUserIndex()),this.m_shape.setGeometryUserIndex(r,this.m_geomTypeIndex,h));const n=new o;i.queryLooseEnvelope(n),e.mergeEnvelope2D(n),t&&this.m_shape.setGeometryModified(r,!0)}const t=h(this.m_sr,e,!0),r=h(this.m_sr,e,!1);e.inflate(10*t.total()),this.m_shape.forceSetEnvelope2D(e);let n=null,_=0,f=0;if(this.m_shape.hasCurves()){n=new g;const s=l(t.total(),e);_=u(t.total()),f=d(s,_),y(this.m_shape,s,t.total(),12e3,n,null,this.m_progressTracker)}if(c(this.m_shape,r,this.m_progressTracker)){if(G(this.m_shape,t.add(f),this.m_progressTracker,0===this.m_options,this.m_bOutputOnlyModified),null!==n){if(this.m_bSimplifyPolygons){for(let e=this.m_shape.getFirstGeometry();e!==i;e=this.m_shape.getNextGeometry(e))if(this.m_shape.getGeometryType(e)===s.enumPolygon){p(this.m_shape,e,-1,!1,i,this.m_progressTracker)&&this.m_shape.setGeometryModified(e,!0)}this.m_bSimplifyPolygons=!1}n.stitchCurves(this.m_shape,i,_,!0),n.clearStitcher(this.m_shape)}}else this.m_bSimplifyPolygons=!1,null!==n&&(n.stitchCurves(this.m_shape,i,_,!0),n.clearStitcher(this.m_shape));this.moveToNextGeom()}if(this.m_currentGeom!==i){if(this.m_index=this.m_shape.getGeometryUserIndex(this.m_currentGeom,this.m_geomIndex),-1!==this.m_geomTypeIndex&&this.m_shape.getGeometryUserIndex(this.m_currentGeom,this.m_geomTypeIndex)===s.enumPoint){const e=new n({vd:this.m_shape.getVertexDescription()});return this.m_shape.queryPointGeometryOnly(this.m_currentGeom,e),this.m_bSnapToSr&&a(this.m_sr,e),e}{const e=this.m_shape.getGeometry(this.m_currentGeom);return this.m_bSnapToSr&&a(this.m_sr,e),e}}return null}getGeometryID(){return this.m_index}}export{f as O};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{W as e,X as r}from"./UnitFactory.js";class t extends e{getOperatorType(){return 4}execute(e,t,s,a){return!r(e,t,s,4,a)}}export{t as O};
2
+ import{Z as e,_ as r}from"./UnitFactory.js";class t extends e{getOperatorType(){return 4}execute(e,t,s,a){return!r(e,t,s,4,a)}}export{t as OperatorIntersects};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as e}from"./GeometryCursor.js";import{E as t,n as s,P as r}from"./MultiPathImpl.js";import{c as n,G as o,g as a,a as i}from"./Geometry.js";import{Envelope2D as m}from"./Envelope2D.js";import{i as l,e as g,P as h}from"./Envelope.js";import{H as u,K as c,a3 as p,a4 as _,R as P,a5 as y}from"./UnitFactory.js";class d{getOperatorType(){return 10700}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}executeMany(e,t,s,r=1){return new I(e,t,s,r)}}class I extends e{m_inputGeoms;m_spatialReference;m_progressTracker;m_currentGeometry;m_singlePartIndex;m_singlePartCount;m_polygonStart;m_index;m_options;constructor(e,t,s,r){super(),this.m_progressTracker=s,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_currentGeometry=null,this.m_singlePartIndex=-1,this.m_singlePartCount=-1,this.m_polygonStart=-1,this.m_index=-1,this.m_options=r}tock(){return!0}getRank(){return 1}next(){if(this.m_singlePartIndex===this.m_singlePartCount){const e=this.m_inputGeoms.next();if(null===e)return null;if(n(e),e.getGeometryType()===o.enumPolygon)if(1===this.m_options)this.m_currentGeometry=(new u).execute(e,this.m_spatialReference,!1,this.m_progressTracker);else if(2===this.m_options)if(e.getPathCount()<2)this.m_currentGeometry=e;else{const n=[0],o=e.getImpl().getIsSimple(0,n);if(l(o))this.m_currentGeometry=e;else{const n=new t,o=n.addGeometry(e);let i=null;if(n.hasCurves()){i=new P;const t=new m;e.queryEnvelope(t);const s=g(null,e,!0),r=c(s.total(),t);p(n,r,s.total(),12e3,null,i,null,this.m_progressTracker)}const l=n.createPathUserIndex();{let e=0;for(let t=n.getFirstPath(o);t!==s;t=n.getNextPath(t))n.setPathUserIndex(t,l,e++)}const h=_(n,o,this.m_progressTracker);a(h>=0);const u=[];for(let e=n.getFirstPath(o);e!==s;e=n.getNextPath(e))u.push(e);u.sort((e,t)=>Math.abs(n.getPathUserIndex(e,h))-Math.abs(n.getPathUserIndex(t,h)));const y=e,d=new r({vd:e.getDescription()});d.reserveParts(y.getPointCount(),y.getPathCount());for(let e=0,t=u.length;e<t;e++){const t=u[e],s=n.getPathUserIndex(t,l),r=y.calculateRingArea2D(s)>0,o=n.getPathUserIndex(t,h)>=0;d.addPath(y,s,r===o)}this.m_currentGeometry=d}}else i("");else this.m_currentGeometry=e;this.m_singlePartCount=G(this.m_currentGeometry),this.m_singlePartIndex=0,this.m_polygonStart=0,this.m_index=this.m_inputGeoms.getGeometryID()}const e=this.getSingleGeometry(this.m_singlePartIndex,this.m_singlePartCount,this.m_polygonStart,this.m_currentGeometry);return e.getGeometryType()===o.enumPolygon&&(this.m_polygonStart+=e.getPathCount()),this.m_singlePartIndex++,e}getGeometryID(){return this.m_index}getSingleGeometry(e,t,s,r){let n=null;switch(r.getGeometryType()){case o.enumMultiPoint:n=new h({vd:r.getDescription()}),r.isEmpty()||r.getPointByVal(e,n);break;case o.enumPolyline:if(1===t)n=r;else{n=r.createInstance(),n.getImpl().addPath(r.getImpl(),e,!0);const t=[0],s=r.getImpl().getIsSimple(0,t);n.getImpl().setIsSimple(s,t[0],!0)}break;case o.enumPolygon:if(1===t)n=r;else{n=r.createInstance();const e=n.getImpl(),t=r.getImpl(),o=t.getPathFlagsStreamRef();let a=s;const i=t.getPathCount();do{e.addPath(t,a,!0),a++}while(a<i&&!(8&o.read(a)));e.getPathFlagsStreamRef().setBits(0,8);const m=[0],l=t.getIsSimple(0,m);e.setIsSimple(l,m[0],!0)}break;default:n=r}return n}}function G(e){return e.isEmpty()?1:y(e)}export{d as O};
2
+ import{G as e}from"./GeometryCursor.js";import{E as t,n as s,P as r}from"./MultiPathImpl.js";import{c as n,G as o,g as a,a as i}from"./Geometry.js";import{Envelope2D as m}from"./Envelope2D.js";import{i as l,e as g,P as h}from"./Envelope.js";import{J as u,M as c,a8 as p,a9 as _,U as P,aa as y}from"./UnitFactory.js";class d{getOperatorType(){return 10700}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}executeMany(e,t,s,r=1){return new I(e,t,s,r)}}class I extends e{m_inputGeoms;m_spatialReference;m_progressTracker;m_currentGeometry;m_singlePartIndex;m_singlePartCount;m_polygonStart;m_index;m_options;constructor(e,t,s,r){super(),this.m_progressTracker=s,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_currentGeometry=null,this.m_singlePartIndex=-1,this.m_singlePartCount=-1,this.m_polygonStart=-1,this.m_index=-1,this.m_options=r}tock(){return!0}getRank(){return 1}next(){if(this.m_singlePartIndex===this.m_singlePartCount){const e=this.m_inputGeoms.next();if(null===e)return null;if(n(e),e.getGeometryType()===o.enumPolygon)if(1===this.m_options)this.m_currentGeometry=(new u).execute(e,this.m_spatialReference,!1,this.m_progressTracker);else if(2===this.m_options)if(e.getPathCount()<2)this.m_currentGeometry=e;else{const n=[0],o=e.getImpl().getIsSimple(0,n);if(l(o))this.m_currentGeometry=e;else{const n=new t,o=n.addGeometry(e);let i=null;if(n.hasCurves()){i=new P;const t=new m;e.queryEnvelope(t);const s=g(null,e,!0),r=c(s.total(),t);p(n,r,s.total(),12e3,null,i,null,this.m_progressTracker)}const l=n.createPathUserIndex();{let e=0;for(let t=n.getFirstPath(o);t!==s;t=n.getNextPath(t))n.setPathUserIndex(t,l,e++)}const h=_(n,o,this.m_progressTracker);a(h>=0);const u=[];for(let e=n.getFirstPath(o);e!==s;e=n.getNextPath(e))u.push(e);u.sort((e,t)=>Math.abs(n.getPathUserIndex(e,h))-Math.abs(n.getPathUserIndex(t,h)));const y=e,d=new r({vd:e.getDescription()});d.reserveParts(y.getPointCount(),y.getPathCount());for(let e=0,t=u.length;e<t;e++){const t=u[e],s=n.getPathUserIndex(t,l),r=y.calculateRingArea2D(s)>0,o=n.getPathUserIndex(t,h)>=0;d.addPath(y,s,r===o)}this.m_currentGeometry=d}}else i("");else this.m_currentGeometry=e;this.m_singlePartCount=G(this.m_currentGeometry),this.m_singlePartIndex=0,this.m_polygonStart=0,this.m_index=this.m_inputGeoms.getGeometryID()}const e=this.getSingleGeometry(this.m_singlePartIndex,this.m_singlePartCount,this.m_polygonStart,this.m_currentGeometry);return e.getGeometryType()===o.enumPolygon&&(this.m_polygonStart+=e.getPathCount()),this.m_singlePartIndex++,e}getGeometryID(){return this.m_index}getSingleGeometry(e,t,s,r){let n=null;switch(r.getGeometryType()){case o.enumMultiPoint:n=new h({vd:r.getDescription()}),r.isEmpty()||r.getPointByVal(e,n);break;case o.enumPolyline:if(1===t)n=r;else{n=r.createInstance(),n.getImpl().addPath(r.getImpl(),e,!0);const t=[0],s=r.getImpl().getIsSimple(0,t);n.getImpl().setIsSimple(s,t[0],!0)}break;case o.enumPolygon:if(1===t)n=r;else{n=r.createInstance();const e=n.getImpl(),t=r.getImpl(),o=t.getPathFlagsStreamRef();let a=s;const i=t.getPathCount();do{e.addPath(t,a,!0),a++}while(a<i&&!(8&o.read(a)));e.getPathFlagsStreamRef().setBits(0,8);const m=[0],l=t.getIsSimple(0,m);e.setIsSimple(l,m[0],!0)}break;default:n=r}return n}}function G(e){return e.isEmpty()?1:y(e)}export{d as O};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{W as e,X as r}from"./UnitFactory.js";class t extends e{getOperatorType(){return 9}execute(e,t,s,a){return r(e,t,s,32,a)}}export{t as O};
2
+ import{Z as e,_ as r}from"./UnitFactory.js";class t extends e{getOperatorType(){return 9}execute(e,t,s,a){return r(e,t,s,32,a)}}export{t as OperatorOverlaps};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{a as e,t,G as r}from"./Geometry.js";import{Envelope2D as s}from"./Envelope2D.js";import{m as n,a as o,c as i}from"./SideCalculator2D-DX0718xq.js";import{d as a}from"./Envelope.js";import{P as u}from"./Point2D.js";import{I as c}from"./UnitFactory.js";class m{getOperatorType(){return 10500}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}getNearestCoordinate(s,o,i,a){if(o.isNAN()&&e("NAN xy coordinates are not allowed"),s.isEmpty())return n();switch(s.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertex(s,o);case r.enumMultiPoint:return this.multiVertexGetNearestVertex(s,o);case r.enumPolyline:case r.enumPolygon:return this.multiPathGetNearestCoordinate(s,o,i,a);default:t("")}}getNearestVertex(s,o){if(o.isNAN()&&e("NAN xy coordinates are not allowed"),s.isEmpty())return n();switch(s.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertex(s,o);case r.enumMultiPoint:case r.enumPolyline:case r.enumPolygon:return this.multiVertexGetNearestVertex(s,o);default:t("")}}getNearestVertices(s,n,o,i){if(0===i&&e(""),n.isNAN()&&e("NAN xy coordinates are not allowed"),s.isEmpty())return[];switch(s.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertices(s,n,o,i);case r.enumMultiPoint:case r.enumPolyline:case r.enumPolygon:return this.multiVertexGetNearestVertices(s,n,o,i);default:t("")}}multiPathGetNearestCoordinate(t,n,m,l){if(t.getGeometryType()===r.enumPolygon&&m){const e=new s;t.queryEnvelope(e);const r=a(null,e,!1);let i;if(i=c(t,n,l?0:r),0!==i){const e=o(n,-1,0);return l&&(e.m_bRightSide=!0),e}}const g=t.querySegmentIterator(),y=new u;let N=-1,p=-1,d=Number.MAX_VALUE,f=0;for(;g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment(),t=e.getClosestCoordinate(n,!1),r=e.getCoord2D(t),s=u.sqrDistance(r,n);s<d?(f=1,y.assign(r),N=g.getStartPointIndex(),p=g.getPathIndex(),d=s):s===d&&f++}-1===N&&e("");const h=o(y,N,Math.sqrt(d));if(l)if(t.getGeometryType()!==r.enumPolygon){let e=!1;if(f>1){const r=i(t,n,N,p);e=0!==r&&3!==r}else{g.resetToVertex(N,p);const t=g.nextSegment();e=0!==i(t,n)}h.m_bRightSide=e}else if(!m){0!==c(t,n,0)&&(h.m_bRightSide=!0)}return h}pointGetNearestVertex(e,t){const r=e.getXY(),s=u.distance(r,t);return o(r,0,s)}multiVertexGetNearestVertex(e,t){const r=e.getAttributeStreamRef(0),s=e.getPointCount();let n=-1;const i=new u;let a=Number.MAX_VALUE;const c=new u;for(let o=0;o<s;o++){r.queryPoint2D(2*o,c);const e=u.sqrDistance(c,t);e<a&&(i.assign(c),n=o,a=e)}return o(i,n,Math.sqrt(a))}pointGetNearestVertices(e,t,r,s){const n=[];if(0!==s){const s=r*r,i=e.getXY(),a=u.sqrDistance(i,t);a<=s&&n.push(o(i,0,Math.sqrt(a)))}return n}multiVertexGetNearestVertices(e,t,r,s){const n=[];if(0!==s){const i=e.getAttributeStreamRef(0),a=e.getPointCount();n.length=s+1;const c=r*r;for(let e=0;e<a;e++){const r=i.read(2*e),s=i.read(2*e+1),a=t.x-r,m=t.y-s,l=a*a+m*m;l<=c&&n.push(o(u.construct(r,s),e,Math.sqrt(l)))}n.sort((e,t)=>e.m_distance-t.m_distance)}return n.slice(0,s)}}export{m as O};
2
+ import{a as e,t,G as r}from"./Geometry.js";import{Envelope2D as s}from"./Envelope2D.js";import{m as n,a as o,c as i}from"./SideCalculator2D-DX0718xq.js";import{d as a}from"./Envelope.js";import{P as u}from"./Point2D.js";import{K as c}from"./UnitFactory.js";class m{getOperatorType(){return 10500}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}getNearestCoordinate(s,o,i,a){if(o.isNAN()&&e("NAN xy coordinates are not allowed"),s.isEmpty())return n();switch(s.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertex(s,o);case r.enumMultiPoint:return this.multiVertexGetNearestVertex(s,o);case r.enumPolyline:case r.enumPolygon:return this.multiPathGetNearestCoordinate(s,o,i,a);default:t("")}}getNearestVertex(s,o){if(o.isNAN()&&e("NAN xy coordinates are not allowed"),s.isEmpty())return n();switch(s.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertex(s,o);case r.enumMultiPoint:case r.enumPolyline:case r.enumPolygon:return this.multiVertexGetNearestVertex(s,o);default:t("")}}getNearestVertices(s,n,o,i){if(0===i&&e(""),n.isNAN()&&e("NAN xy coordinates are not allowed"),s.isEmpty())return[];switch(s.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertices(s,n,o,i);case r.enumMultiPoint:case r.enumPolyline:case r.enumPolygon:return this.multiVertexGetNearestVertices(s,n,o,i);default:t("")}}multiPathGetNearestCoordinate(t,n,m,l){if(t.getGeometryType()===r.enumPolygon&&m){const e=new s;t.queryEnvelope(e);const r=a(null,e,!1);let i;if(i=c(t,n,l?0:r),0!==i){const e=o(n,-1,0);return l&&(e.m_bRightSide=!0),e}}const g=t.querySegmentIterator(),y=new u;let N=-1,p=-1,d=Number.MAX_VALUE,f=0;for(;g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment(),t=e.getClosestCoordinate(n,!1),r=e.getCoord2D(t),s=u.sqrDistance(r,n);s<d?(f=1,y.assign(r),N=g.getStartPointIndex(),p=g.getPathIndex(),d=s):s===d&&f++}-1===N&&e("");const h=o(y,N,Math.sqrt(d));if(l)if(t.getGeometryType()!==r.enumPolygon){let e=!1;if(f>1){const r=i(t,n,N,p);e=0!==r&&3!==r}else{g.resetToVertex(N,p);const t=g.nextSegment();e=0!==i(t,n)}h.m_bRightSide=e}else if(!m){0!==c(t,n,0)&&(h.m_bRightSide=!0)}return h}pointGetNearestVertex(e,t){const r=e.getXY(),s=u.distance(r,t);return o(r,0,s)}multiVertexGetNearestVertex(e,t){const r=e.getAttributeStreamRef(0),s=e.getPointCount();let n=-1;const i=new u;let a=Number.MAX_VALUE;const c=new u;for(let o=0;o<s;o++){r.queryPoint2D(2*o,c);const e=u.sqrDistance(c,t);e<a&&(i.assign(c),n=o,a=e)}return o(i,n,Math.sqrt(a))}pointGetNearestVertices(e,t,r,s){const n=[];if(0!==s){const s=r*r,i=e.getXY(),a=u.sqrDistance(i,t);a<=s&&n.push(o(i,0,Math.sqrt(a)))}return n}multiVertexGetNearestVertices(e,t,r,s){const n=[];if(0!==s){const i=e.getAttributeStreamRef(0),a=e.getPointCount();n.length=s+1;const c=r*r;for(let e=0;e<a;e++){const r=i.read(2*e),s=i.read(2*e+1),a=t.x-r,m=t.y-s,l=a*a+m*m;l<=c&&n.push(o(u.construct(r,s),e,Math.sqrt(l)))}n.sort((e,t)=>e.m_distance-t.m_distance)}return n.slice(0,s)}}export{m as O};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{a as n,G as s,j as o,t as r,d as i,g as a}from"./Geometry.js";import{m as c,a as m,c as l}from"./SideCalculator2D-DX0718xq.js";import{P as u,b as g,S as f,s as y}from"./MultiPathImpl.js";import{P as S,d,c as N,m as x}from"./Point2D.js";import{P as p,k as h}from"./Envelope.js";import{G as A}from"./GeometryCursor.js";import{O as C,U as P,au as w,aq as E,aB as _,aC as j,aD as T,ax as G,r as I,aE as D,aF as v,aG as b,ai as R,aj as U,aH as q,aI as F}from"./UnitFactory.js";import{O as k}from"./OperatorShapePreservingDensify.js";class B{getOperatorType(){return 10501}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}getNearestCoordinate(e,t,y,d,N,x){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return c();if(Number.isNaN(d)&&(d=0),d>=0||n("maxDeviationMeters"),0===e.getDimension())return this.getNearestVertex(e,t,y);const A=e.getGeometryType();if(A===s.enumGeometryCollection){const n=e;let s=c();for(let e=0,o=n.getGeometryCount();e<o;++e){const o=n.getGeometry(e),r=this.getNearestCoordinate(o,t,y,d,N,x);if(!r.isEmpty()){if(0===r.m_distance)return r;r.m_distance>=s.m_distance||(s=r,s.m_geometryIndex=e)}}return s}if(A===s.enumEnvelope){const n=new u;return n.addEnvelope(e,!1),this.getNearestCoordinate(n,t,y,d,N,x)}o(A)||r("Operation is not implemented for this geometry type");const D=e;if((N||x)&&A===s.enumPolygon){const n=()=>{const e=m(t,-1,0);return e.m_bRightSide=!0,e};if(y.isPannable()){const s=(new C).foldInto360Range(new p(t),y);if(s.isEmpty())return c();const o=(new C).foldInto360Range(e,y);if(o.isEmpty())return c();if((new P).execute(o,s,y,null)&&N)return n()}else{const e=(new C).clipToSpatialReference(new p(t),y,null,1);if(e.isEmpty())return c();const s=w(D,y,0,null);if(s.isEmpty())return c();if((new P).execute(s,e,y,null)&&N)return n()}}const v=y!==y.getGCS()?y.getSRToGCSTransform():null,b=new S;if(v?(new C).transform(v,[t],1,[b],!1):b.assign(t),b.isNAN())return c();const R=V(D,t,y,1);let U=R.m_distance;if(0===U)return R;Number.isNaN(U)?U=Number.POSITIVE_INFINITY:U*=1+1e-7;const q=y.getGCS(),F=q.getUnit().getUnitToBaseFactor(),B=b.clone();B.scale(F);const O=I();y.querySpheroidData(O);const Y=E(O.majorSemiAxis,O.e2,B),L=_(O.majorSemiAxis,O.e2),H=new M(D.querySegmentIterator());0===d&&(d=.01);const z=O.majorSemiAxis*g(45),J=(new k).executeMany(H,y,z,d,0,null),K=[];let Q=-1;const W=new h,Z=new f;for(let n=J.next();null!==n;n=J.next()){if(n.isEmpty())continue;const t=J.getGeometryID(),s=e.getPathIndexFromPointIndex(t);e.isClosedPath(s)&&D.getPathEnd(s);const o=n;for(let e=0,n=o.getPathCount();e<n;++e){K.length=0;for(let t=o.getPathStart(e),r=o.getPathEnd(e);t<r;++t)K.push(o.getXY(t));if(v&&(new C).transform(v,K,K.length,K,!1),K.length>3){const e=X(K,K.length,b,q,1);if(e.m_distance<U){U=e.m_distance,W.assign(E(O.majorSemiAxis,O.e2,e.m_coordinate.mul(F))),Q=t;let n=e.m_vertexIndex;n+1===K.length&&(n-=1),o.getSegmentBuffer(n,Z,!0)}}K.forEach(e=>e.mulThis(F));const n=E(O.majorSemiAxis,O.e2,K[0]),s=new h;for(let e=1,r=K.length;e<r;++e){const r=E(O.majorSemiAxis,O.e2,K[e]);if(j(L,Y,n,r,s)<U){const{second:s}=T(O.majorSemiAxis,O.e2,Y,n,r,2,null);if(s<=U){const s=new h,{second:i}=T(O.majorSemiAxis,O.e2,Y,n,r,0,s);i<U&&(U=i,W.assign(s),Q=t,o.getSegmentBuffer(e-1,Z,!0))}}n.assign(r)}}}if(!Number.isFinite(U))return c();-1===Q&&n("");const $=G(O.majorSemiAxis,O.e2,W);$.divThis(F);const ee=$.clone(),te=y!==y.getGCS()?y.getGCSToSRTransform():null;te&&(new C).transform(te,[$],1,[ee],!1),ee.isNAN()&&i("closestPoint2DSr.isNAN()"),a(!Z.empty());const ne=Z.get().getClosestCoordinate(ee,!1);ee.assign(Z.get().getCoord2D(ne)),v?(new C).transform(v,[ee],1,[$],!1):$.assign(ee),a(!$.isNAN());const se=this.getNearestVertex(new p($),b,y.getGCS()),oe=m(ee,Q,se.m_distance);if(x&&e.getDimension()>0){const n=l(e,t,-1,-1),s=0!==n&&3!==n;oe.m_bRightSide=s}return oe}getNearestVertex(e,t,o){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return c();switch(e.getGeometryType()){case s.enumPoint:return O(e,t,o);case s.enumMultiPoint:case s.enumPolyline:case s.enumPolygon:return V(e,t,o);default:r("")}}getNearestVertexPoint2D(e,t,n,s){return X(e,t,n,s)}getNearestVertices(e,t,o,i,a){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return[];switch(e.getGeometryType()){case s.enumPoint:{const n=O(e,t,o);if(!n.isEmpty()&&n.m_distance<i&&a>=1){const e=[];return e.push(n),e}return[]}case s.enumMultiPoint:case s.enumPolyline:case s.enumPolygon:return Y(e,t,o,i,a);default:r("")}}}function O(s,o,r){const i={stack:[],error:void 0,hasError:!1};try{if(0===r.getCoordinateSystemType()&&n("Cannot use local SR"),1!==r.getCoordinateSystemType()){const e=new Array(2);e[0]=s.getXY(),e[1]=o.clone();const t=x(S,2);2!==q(r,e,2,t)&&n("Point cannot be projected to GCS");const i=r.getGCS(),a=O(new p(t[0]),t[1],i);return m(a.m_coordinate,0,a.m_distance)}const t=r.getUnit().getUnitToBaseFactor(),a=s.getXY();a.scale(t);const c=o.clone();c.scale(t);const l=I();r.querySpheroidData(l);const u=e(i,new R,!1);U.geodeticDistance(l.majorSemiAxis,l.e2,a.x,a.y,c.x,c.y,u,null,null,F.PE_LINETYPE_GEODESIC);const g=s.getXY();return m(g,0,u.val)}catch(a){i.error=a,i.hasError=!0}finally{t(i)}}function V(s,o,r,i=0){0===r.getCoordinateSystemType()&&n("Cannot use local SR");let a=s.getAttributeStreamRef(0),c=s.getPointCount();const l=r.getGCS(),u=o.clone();if(1!==r.getCoordinateSystemType()){const e=r.getSRToGCSTransform();if(D(e,[o],1,[u],null),u.isNAN())return m(S.getNAN(),-1,Number.NaN);const t=(new C).execute(s,e,null);a=t.getAttributeStreamRef(0),c=t.getPointCount()}const g=l.getUnit().getUnitToBaseFactor(),f=d(c,0);for(let e=0;e<c;++e)f[e]=e;y(c,f);const x=I();l.querySpheroidData(x);const p=u.clone();p.scale(g);const A=E(x.majorSemiAxis,x.e2,p);let P=-1,w=Number.MAX_VALUE;const _=v(x.majorSemiAxis,x.e2);let j=c;const T=new S,G=new S;for(let e=0;e<j;){if(a.queryPoint2D(2*f[e],T),T.isNAN())continue;G.assign(T),G.scale(g);const t=E(x.majorSemiAxis,x.e2,G);if(h.distance(t,A)>w){f[j-1]=N(f[e],f[e]=f[j-1]),j--;continue}const n=b(_,t,A);n<w&&(P=f[e],w=n),e++}if(0!==x.e2){const n={stack:[],error:void 0,hasError:!1};try{const t=e(n,new R,!1);for(let e=0;e<j;e++){if(a.queryPoint2D(2*f[e],T),T.isNAN())continue;G.assign(T),G.scale(g);const n=E(x.majorSemiAxis,x.e2,G);h.distance(n,A)>w||(U.geodeticDistance(x.majorSemiAxis,x.e2,p.x,p.y,G.x,G.y,t,null,null,i),t.val<w&&(P=f[e],w=t.val))}}catch(F){n.error=F,n.hasError=!0}finally{t(n)}}const q=new S;return-1!==P&&q.assign(s.getXY(P)),m(q,P,w)}function X(s,o,r,i,a=0){0===i.getCoordinateSystemType()&&n("Cannot use local SR");const l=i.getGCS(),u=r.clone();if(1!==i.getCoordinateSystemType()){const e=i.getSRToGCSTransform();if(D(e,[r],1,[u],null),u.isNAN())return c();const t=x(S,o);D(e,s,o,t,null);const n=X(t,o,r,l,a);return n.isEmpty()?n:m(s[n.m_vertexIndex],n.m_vertexIndex,n.m_distance)}const g=l.getUnit().getUnitToBaseFactor(),f=d(o,0);for(let e=0;e<o;++e)f[e]=e;y(o,f);const p=I();l.querySpheroidData(p);const A=u.clone();A.scale(g);const C=E(p.majorSemiAxis,p.e2,A);let P=-1,w=Number.MAX_VALUE;const _=v(p.majorSemiAxis,p.e2);let j=o;for(let e=0;e<j;){const t=s[f[e]];if(t.isNAN())continue;const n=t.clone();n.scale(g);const o=E(p.majorSemiAxis,p.e2,n);if(h.distance(o,C)>w){f[j-1]=N(f[e],f[e]=f[j-1]),j--;continue}const r=b(_,o,C);r<w&&(P=f[e],w=r),e++}if(0!==p.e2){const n={stack:[],error:void 0,hasError:!1};try{const t=e(n,new R,!1);for(let e=0;e<j;e++){const n=s[f[e]];if(n.isNAN())continue;const o=n.clone();o.scale(g);const r=E(p.majorSemiAxis,p.e2,o);h.distance(r,C)>w||(U.geodeticDistance(p.majorSemiAxis,p.e2,A.x,A.y,o.x,o.y,t,null,null,a),t.val<w&&(P=f[e],w=t.val))}}catch(G){n.error=G,n.hasError=!0}finally{t(n)}}const T=new S;return-1!==P&&T.assign(s[P]),m(T,P,w)}function Y(s,o,r,i,a){const c={stack:[],error:void 0,hasError:!1};try{0===r.getCoordinateSystemType()&&n("Cannot use local SR");let t=s.getAttributeStreamRef(0),l=s.getPointCount();const u=r.getGCS(),g=o.clone();if(1!==r.getCoordinateSystemType()){const e=r.getSRToGCSTransform();if(D(e,[o],1,[g],null),g.isNAN())return[];const n=(new C).execute(s,e,null);t=n.getAttributeStreamRef(0),l=n.getPointCount()}const f=u.getUnit().getUnitToBaseFactor(),x=d(l,0);for(let e=0;e<l;++e)x[e]=e;y(l,x);const p=I();u.querySpheroidData(p);const A=g.clone();A.scale(f);const P=E(p.majorSemiAxis,p.e2,A),w=[];let _=l;const j=new S,T=new S;for(let e=0;e<_;){if(t.queryPoint2D(2*x[e],j),j.isNAN())continue;T.assign(j),T.scale(f);const n=E(p.majorSemiAxis,p.e2,T);h.distance(n,P)>i?(x[_-1]=N(x[e],x[e]=x[_-1]),_--):e++}const G=(e,t)=>e.m_distance-t.m_distance,v=e(c,new R,!1);for(let e=0;e<_;e++)t.queryPoint2D(2*x[e],j),j.isNAN()||(U.geodeticDistance(p.majorSemiAxis,p.e2,A.x,A.y,j.x*f,j.y*f,v,null,null,F.PE_LINETYPE_GEODESIC),v.val<i&&w.push(m(j,x[e],v.val)));return w.sort(G),w.slice(0,a)}catch(l){c.error=l,c.hasError=!0}finally{t(c)}}class M extends A{m_segIter;m_first=!0;constructor(e){super(),this.m_segIter=e,this.m_segIter.stripAttributes()}tock(){return!0}getRank(){return 1}next(){if(this.m_first){if(!this.m_segIter.nextPath())return null;this.m_first=!1}for(;;){if(this.m_segIter.hasNextSegment())return this.m_segIter.nextSegment().clone();if(!this.m_segIter.nextPath())break}return null}getGeometryID(){return this.m_segIter.getStartPointIndex()}}export{B as OperatorProximityGeodesic};
2
+ import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{a as n,G as s,j as o,t as r,d as i,g as a}from"./Geometry.js";import{m as c,a as m,c as l}from"./SideCalculator2D-DX0718xq.js";import{P as u,b as g,S as f,s as y}from"./MultiPathImpl.js";import{P as S,d,c as N,m as x}from"./Point2D.js";import{P as p,k as h}from"./Envelope.js";import{G as A}from"./GeometryCursor.js";import{O as C,x as P,az as w,av as E,aG as _,aH as T,aI as j,aC as G,r as I,aJ as D,aK as v,aL as b,an as R,ao as U,aM as q,aN as F}from"./UnitFactory.js";import{O as k}from"./OperatorShapePreservingDensify.js";class M{getOperatorType(){return 10501}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}getNearestCoordinate(e,t,y,d,N,x){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return c();if(Number.isNaN(d)&&(d=0),d>=0||n("maxDeviationMeters"),0===e.getDimension())return this.getNearestVertex(e,t,y);const A=e.getGeometryType();if(A===s.enumGeometryCollection){const n=e;let s=c();for(let e=0,o=n.getGeometryCount();e<o;++e){const o=n.getGeometry(e),r=this.getNearestCoordinate(o,t,y,d,N,x);if(!r.isEmpty()){if(0===r.m_distance)return r;r.m_distance>=s.m_distance||(s=r,s.m_geometryIndex=e)}}return s}if(A===s.enumEnvelope){const n=new u;return n.addEnvelope(e,!1),this.getNearestCoordinate(n,t,y,d,N,x)}o(A)||r("Operation is not implemented for this geometry type");const D=e;if((N||x)&&A===s.enumPolygon){const n=()=>{const e=m(t,-1,0);return e.m_bRightSide=!0,e};if(y.isPannable()){const s=(new C).foldInto360Range(new p(t),y);if(s.isEmpty())return c();const o=(new C).foldInto360Range(e,y);if(o.isEmpty())return c();if((new P).execute(o,s,y,null)&&N)return n()}else{const e=(new C).clipToSpatialReference(new p(t),y,null,1);if(e.isEmpty())return c();const s=w(D,y,0,null);if(s.isEmpty())return c();if((new P).execute(s,e,y,null)&&N)return n()}}const v=y!==y.getGCS()?y.getSRToGCSTransform():null,b=new S;if(v?(new C).transform(v,[t],1,[b],!1):b.assign(t),b.isNAN())return c();const R=V(D,t,y,1);let U=R.m_distance;if(0===U)return R;Number.isNaN(U)?U=Number.POSITIVE_INFINITY:U*=1+1e-7;const q=y.getGCS(),F=q.getUnit().getUnitToBaseFactor(),M=b.clone();M.scale(F);const O=I();y.querySpheroidData(O);const Y=E(O.majorSemiAxis,O.e2,M),L=_(O.majorSemiAxis,O.e2),z=new B(D.querySegmentIterator());0===d&&(d=.01);const H=O.majorSemiAxis*g(45),J=(new k).executeMany(z,y,H,d,0,null),K=[];let Q=-1;const W=new h,Z=new f;for(let n=J.next();null!==n;n=J.next()){if(n.isEmpty())continue;const t=J.getGeometryID(),s=e.getPathIndexFromPointIndex(t);e.isClosedPath(s)&&D.getPathEnd(s);const o=n;for(let e=0,n=o.getPathCount();e<n;++e){K.length=0;for(let t=o.getPathStart(e),r=o.getPathEnd(e);t<r;++t)K.push(o.getXY(t));if(v&&(new C).transform(v,K,K.length,K,!1),K.length>3){const e=X(K,K.length,b,q,1);if(e.m_distance<U){U=e.m_distance,W.assign(E(O.majorSemiAxis,O.e2,e.m_coordinate.mul(F))),Q=t;let n=e.m_vertexIndex;n+1===K.length&&(n-=1),o.getSegmentBuffer(n,Z,!0)}}K.forEach(e=>e.mulThis(F));const n=E(O.majorSemiAxis,O.e2,K[0]),s=new h;for(let e=1,r=K.length;e<r;++e){const r=E(O.majorSemiAxis,O.e2,K[e]);if(T(L,Y,n,r,s)<U){const{second:s}=j(O.majorSemiAxis,O.e2,Y,n,r,2,null);if(s<=U){const s=new h,{second:i}=j(O.majorSemiAxis,O.e2,Y,n,r,0,s);i<U&&(U=i,W.assign(s),Q=t,o.getSegmentBuffer(e-1,Z,!0))}}n.assign(r)}}}if(!Number.isFinite(U))return c();-1===Q&&n("");const $=G(O.majorSemiAxis,O.e2,W);$.divThis(F);const ee=$.clone(),te=y!==y.getGCS()?y.getGCSToSRTransform():null;te&&(new C).transform(te,[$],1,[ee],!1),ee.isNAN()&&i("closestPoint2DSr.isNAN()"),a(!Z.empty());const ne=Z.get().getClosestCoordinate(ee,!1);ee.assign(Z.get().getCoord2D(ne)),v?(new C).transform(v,[ee],1,[$],!1):$.assign(ee),a(!$.isNAN());const se=this.getNearestVertex(new p($),b,y.getGCS()),oe=m(ee,Q,se.m_distance);if(x&&e.getDimension()>0){const n=l(e,t,-1,-1),s=0!==n&&3!==n;oe.m_bRightSide=s}return oe}getNearestVertex(e,t,o){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return c();switch(e.getGeometryType()){case s.enumPoint:return O(e,t,o);case s.enumMultiPoint:case s.enumPolyline:case s.enumPolygon:return V(e,t,o);default:r("")}}getNearestVertexPoint2D(e,t,n,s){return X(e,t,n,s)}getNearestVertices(e,t,o,i,a){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return[];switch(e.getGeometryType()){case s.enumPoint:{const n=O(e,t,o);if(!n.isEmpty()&&n.m_distance<i&&a>=1){const e=[];return e.push(n),e}return[]}case s.enumMultiPoint:case s.enumPolyline:case s.enumPolygon:return Y(e,t,o,i,a);default:r("")}}}function O(s,o,r){const i={stack:[],error:void 0,hasError:!1};try{if(0===r.getCoordinateSystemType()&&n("Cannot use local SR"),1!==r.getCoordinateSystemType()){const e=new Array(2);e[0]=s.getXY(),e[1]=o.clone();const t=x(S,2);2!==q(r,e,2,t)&&n("Point cannot be projected to GCS");const i=r.getGCS(),a=O(new p(t[0]),t[1],i);return m(a.m_coordinate,0,a.m_distance)}const t=r.getUnit().getUnitToBaseFactor(),a=s.getXY();a.scale(t);const c=o.clone();c.scale(t);const l=I();r.querySpheroidData(l);const u=e(i,new R,!1);U.geodeticDistance(l.majorSemiAxis,l.e2,a.x,a.y,c.x,c.y,u,null,null,F.PE_LINETYPE_GEODESIC);const g=s.getXY();return m(g,0,u.val)}catch(a){i.error=a,i.hasError=!0}finally{t(i)}}function V(s,o,r,i=0){0===r.getCoordinateSystemType()&&n("Cannot use local SR");let a=s.getAttributeStreamRef(0),c=s.getPointCount();const l=r.getGCS(),u=o.clone();if(1!==r.getCoordinateSystemType()){const e=r.getSRToGCSTransform();if(D(e,[o],1,[u],null),u.isNAN())return m(S.getNAN(),-1,Number.NaN);const t=(new C).execute(s,e,null);a=t.getAttributeStreamRef(0),c=t.getPointCount()}const g=l.getUnit().getUnitToBaseFactor(),f=d(c,0);for(let e=0;e<c;++e)f[e]=e;y(c,f);const x=I();l.querySpheroidData(x);const p=u.clone();p.scale(g);const A=E(x.majorSemiAxis,x.e2,p);let P=-1,w=Number.MAX_VALUE;const _=v(x.majorSemiAxis,x.e2);let T=c;const j=new S,G=new S;for(let e=0;e<T;){if(a.queryPoint2D(2*f[e],j),j.isNAN())continue;G.assign(j),G.scale(g);const t=E(x.majorSemiAxis,x.e2,G);if(h.distance(t,A)>w){f[T-1]=N(f[e],f[e]=f[T-1]),T--;continue}const n=b(_,t,A);n<w&&(P=f[e],w=n),e++}if(0!==x.e2){const n={stack:[],error:void 0,hasError:!1};try{const t=e(n,new R,!1);for(let e=0;e<T;e++){if(a.queryPoint2D(2*f[e],j),j.isNAN())continue;G.assign(j),G.scale(g);const n=E(x.majorSemiAxis,x.e2,G);h.distance(n,A)>w||(U.geodeticDistance(x.majorSemiAxis,x.e2,p.x,p.y,G.x,G.y,t,null,null,i),t.val<w&&(P=f[e],w=t.val))}}catch(F){n.error=F,n.hasError=!0}finally{t(n)}}const q=new S;return-1!==P&&q.assign(s.getXY(P)),m(q,P,w)}function X(s,o,r,i,a=0){0===i.getCoordinateSystemType()&&n("Cannot use local SR");const l=i.getGCS(),u=r.clone();if(1!==i.getCoordinateSystemType()){const e=i.getSRToGCSTransform();if(D(e,[r],1,[u],null),u.isNAN())return c();const t=x(S,o);D(e,s,o,t,null);const n=X(t,o,r,l,a);return n.isEmpty()?n:m(s[n.m_vertexIndex],n.m_vertexIndex,n.m_distance)}const g=l.getUnit().getUnitToBaseFactor(),f=d(o,0);for(let e=0;e<o;++e)f[e]=e;y(o,f);const p=I();l.querySpheroidData(p);const A=u.clone();A.scale(g);const C=E(p.majorSemiAxis,p.e2,A);let P=-1,w=Number.MAX_VALUE;const _=v(p.majorSemiAxis,p.e2);let T=o;for(let e=0;e<T;){const t=s[f[e]];if(t.isNAN())continue;const n=t.clone();n.scale(g);const o=E(p.majorSemiAxis,p.e2,n);if(h.distance(o,C)>w){f[T-1]=N(f[e],f[e]=f[T-1]),T--;continue}const r=b(_,o,C);r<w&&(P=f[e],w=r),e++}if(0!==p.e2){const n={stack:[],error:void 0,hasError:!1};try{const t=e(n,new R,!1);for(let e=0;e<T;e++){const n=s[f[e]];if(n.isNAN())continue;const o=n.clone();o.scale(g);const r=E(p.majorSemiAxis,p.e2,o);h.distance(r,C)>w||(U.geodeticDistance(p.majorSemiAxis,p.e2,A.x,A.y,o.x,o.y,t,null,null,a),t.val<w&&(P=f[e],w=t.val))}}catch(G){n.error=G,n.hasError=!0}finally{t(n)}}const j=new S;return-1!==P&&j.assign(s[P]),m(j,P,w)}function Y(s,o,r,i,a){const c={stack:[],error:void 0,hasError:!1};try{0===r.getCoordinateSystemType()&&n("Cannot use local SR");let t=s.getAttributeStreamRef(0),l=s.getPointCount();const u=r.getGCS(),g=o.clone();if(1!==r.getCoordinateSystemType()){const e=r.getSRToGCSTransform();if(D(e,[o],1,[g],null),g.isNAN())return[];const n=(new C).execute(s,e,null);t=n.getAttributeStreamRef(0),l=n.getPointCount()}const f=u.getUnit().getUnitToBaseFactor(),x=d(l,0);for(let e=0;e<l;++e)x[e]=e;y(l,x);const p=I();u.querySpheroidData(p);const A=g.clone();A.scale(f);const P=E(p.majorSemiAxis,p.e2,A),w=[];let _=l;const T=new S,j=new S;for(let e=0;e<_;){if(t.queryPoint2D(2*x[e],T),T.isNAN())continue;j.assign(T),j.scale(f);const n=E(p.majorSemiAxis,p.e2,j);h.distance(n,P)>i?(x[_-1]=N(x[e],x[e]=x[_-1]),_--):e++}const G=(e,t)=>e.m_distance-t.m_distance,v=e(c,new R,!1);for(let e=0;e<_;e++)t.queryPoint2D(2*x[e],T),T.isNAN()||(U.geodeticDistance(p.majorSemiAxis,p.e2,A.x,A.y,T.x*f,T.y*f,v,null,null,F.PE_LINETYPE_GEODESIC),v.val<i&&w.push(m(T,x[e],v.val)));return w.sort(G),w.slice(0,a)}catch(l){c.error=l,c.hasError=!0}finally{t(c)}}class B extends A{m_segIter;m_first=!0;constructor(e){super(),this.m_segIter=e,this.m_segIter.stripAttributes()}tock(){return!0}getRank(){return 1}next(){if(this.m_first){if(!this.m_segIter.nextPath())return null;this.m_first=!1}for(;;){if(this.m_segIter.hasNextSegment())return this.m_segIter.nextSegment().clone();if(!this.m_segIter.nextPath())break}return null}getGeometryID(){return this.m_segIter.getStartPointIndex()}}export{M as OperatorProximityGeodesic};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{$ as e,a0 as r,a1 as t,a2 as a}from"./UnitFactory.js";class s{supportsCurves(){return!0}getOperatorType(){return 1}execute(r,t,a,s,u){return e(r,t,a,s,u)}isValidDE9IM(e){return 0===r(e)}accelerateGeometry(e,r,a){return t(e,r,a)}canAccelerateGeometry(e){return a(e)}}export{s as OperatorRelate};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{a as e,G as t,h as s,d as n}from"./Geometry.js";import{ay as o,Z as r,B as a,r as i,aq as m}from"./UnitFactory.js";import{P as c,a as g}from"./MultiPathImpl.js";import{q as u,d as p,P as h}from"./Point2D.js";import{k as y}from"./Envelope.js";import{Envelope2D as l}from"./Envelope2D.js";import{O as f}from"./OperatorDensify.js";import{O as _}from"./OperatorClip.js";function x(){return{m_pGcs:new h,m_xyz:new y,m_factor:Number.NaN,m_geoLength:Number.NaN,setValues:d,setLength:P,assign:S}}function d(e,t,s,n){this.m_factor=e,this.m_pGcs.assign(t),this.m_xyz.assign(n),this.m_geoLength=s}function P(e){this.m_geoLength=e}function S(e){this.m_pGcs.assign(e.m_pGcs),this.m_xyz.assign(e.m_xyz),this.m_factor=e.m_factor,this.m_geoLength=e.m_geoLength}class w{getOperatorType(){return 10315}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}_ExecuteShapePreservingLength(e,t,s,n,a){if(e.hasNonLinearSegments()){e=(new f).execute(e,0,t.getTolerance(0),0,a)}if(t.isPannable()){let n=90,r=-90;if(1===s.getUnit().getUnitToBaseFactor()&&(n*=Math.PI/180,r*=Math.PI/180),2===t.getCoordinateSystemType()){let e=null;const s=[0,0,0,0];e=t.getPECoordSys(),s[0]=0,s[1]=n,s[2]=0,s[3]=r,o.geogToProj(e,2,s),n=s[1],r=s[3]}const i=new l;e.queryEnvelope(i),i.ymin=r,i.ymax=n,e=(new _).execute(e,i,t,a)}else{const s=t.getPCSHorizon();if((e=(new r).execute(e,s,t,a))===s){const t=e.clone();e=t}}return e.isEmpty()?0:this._ExecuteIterativeApproach(e,t,s,n,1,a)}_ExecuteIterativeApproach(e,t,s,r,a,m){const c=i();s.querySpheroidData(c);const g=c.majorSemiAxis,l=c.e2,f=s.getUnit().getUnitToBaseFactor(),_=40,d=u(x,_),P=p(_,Number.NaN),S=x(),w=x();let E;const G=[0,0,0,0],L=t.getPECoordSys(),j=new h,v=new h,T=new h,D=new h,b=new h;let z=0;const I=e.querySegmentIterator();for(;I.nextPath();)for(;I.hasNextSegment();){const e=I.nextSegment();j.assign(e.getStartXY()),v.assign(e.getEndXY()),2===t.getCoordinateSystemType()?(G[0]=j.x,G[1]=j.y,G[2]=v.x,G[3]=v.y,o.projToGeog(L,2,G),T.x=G[0]*f,T.y=G[1]*f,D.x=G[2]*f,D.y=G[3]*f):(T.setCoordsPoint2D(j),D.setCoordsPoint2D(v),T.scale(f),D.scale(f));const s=new y,r=new y;N(g,l,T,s),N(g,l,D,r);let i=C(g,s,r);S.setValues(0,T,Number.NaN,s),w.setValues(1,D,i,r),E=a,d[0].assign(w),P[0]=a;let m=0;for(;;){m>128&&n("iterations exceeded");const s=.5*(S.m_factor+w.m_factor),r=e.getCoord2D(s);2===t.getCoordinateSystemType()?(G[0]=r.x,G[1]=r.y,o.projToGeog(L,1,G),b.x=G[0]*f,b.y=G[1]*f):(b.setCoordsPoint2D(r),b.scale(f)),T.setCoordsPoint2D(S.m_pGcs),D.setCoordsPoint2D(w.m_pGcs);const c=new y;N(g,l,b,c);const u=C(g,S.m_xyz,c),p=C(g,w.m_xyz,c);i=w.m_geoLength,Number.isNaN(i)&&(i=C(g,S.m_xyz,w.m_xyz));const h=u+p,x=E===a&&h>=20&&Math.abs(h-i)>1e-8*(i+h);if(m+2<_&&(x||Math.abs(h-i)>0&&E>0))w.setLength(p),d[m].assign(w),w.setValues(s,b,u,c),d[++m].assign(w),x?(E=a,P[m]=a):(E--,P[m-1]=E,P[m]=E);else{if(z+=h,0===m)break;S.assign(w),w.assign(d[--m]),E=P[m]}}}return z}execute(n,o,r){if(o&&0!==o.getCoordinateSystemType()||e(""),n.isEmpty()||n.getDimension()<1)return 0;let i=null;const m=o.getGCS();m!==o&&(i=a(o,m,null));const u=n.getGeometryType();if(u===t.enumEnvelope){const e=new c;return e.addEnvelope(n,!1),this._ExecuteShapePreservingLength(e,o,m,i,r)}if(s(u)){const e=new g;return e.addSegment(n,!0),this._ExecuteShapePreservingLength(e,o,m,i,r)}return this._ExecuteShapePreservingLength(n,o,m,i,r)}}function N(e,t,s,n){n.assign(m(e,t,s))}function C(e,t,s){const n=e,o=new y;o.setSub(t,s);const r=o.length();return 2*n*Math.asin(r/(2*n))}export{w as O};
2
+ import{a as e,G as t,h as s,d as n}from"./Geometry.js";import{aD as o,a4 as r,D as a,r as i,av as m}from"./UnitFactory.js";import{P as c,a as g}from"./MultiPathImpl.js";import{q as u,d as p,P as h}from"./Point2D.js";import{k as y}from"./Envelope.js";import{Envelope2D as l}from"./Envelope2D.js";import{O as f}from"./OperatorDensify.js";import{O as _}from"./OperatorClip.js";function x(){return{m_pGcs:new h,m_xyz:new y,m_factor:Number.NaN,m_geoLength:Number.NaN,setValues:d,setLength:P,assign:S}}function d(e,t,s,n){this.m_factor=e,this.m_pGcs.assign(t),this.m_xyz.assign(n),this.m_geoLength=s}function P(e){this.m_geoLength=e}function S(e){this.m_pGcs.assign(e.m_pGcs),this.m_xyz.assign(e.m_xyz),this.m_factor=e.m_factor,this.m_geoLength=e.m_geoLength}class w{getOperatorType(){return 10315}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}_ExecuteShapePreservingLength(e,t,s,n,a){if(e.hasNonLinearSegments()){e=(new f).execute(e,0,t.getTolerance(0),0,a)}if(t.isPannable()){let n=90,r=-90;if(1===s.getUnit().getUnitToBaseFactor()&&(n*=Math.PI/180,r*=Math.PI/180),2===t.getCoordinateSystemType()){let e=null;const s=[0,0,0,0];e=t.getPECoordSys(),s[0]=0,s[1]=n,s[2]=0,s[3]=r,o.geogToProj(e,2,s),n=s[1],r=s[3]}const i=new l;e.queryEnvelope(i),i.ymin=r,i.ymax=n,e=(new _).execute(e,i,t,a)}else{const s=t.getPCSHorizon();if((e=(new r).execute(e,s,t,a))===s){const t=e.clone();e=t}}return e.isEmpty()?0:this._ExecuteIterativeApproach(e,t,s,n,1,a)}_ExecuteIterativeApproach(e,t,s,r,a,m){const c=i();s.querySpheroidData(c);const g=c.majorSemiAxis,l=c.e2,f=s.getUnit().getUnitToBaseFactor(),_=40,d=u(x,_),P=p(_,Number.NaN),S=x(),w=x();let E;const G=[0,0,0,0],v=t.getPECoordSys(),D=new h,L=new h,j=new h,T=new h,b=new h;let z=0;const I=e.querySegmentIterator();for(;I.nextPath();)for(;I.hasNextSegment();){const e=I.nextSegment();D.assign(e.getStartXY()),L.assign(e.getEndXY()),2===t.getCoordinateSystemType()?(G[0]=D.x,G[1]=D.y,G[2]=L.x,G[3]=L.y,o.projToGeog(v,2,G),j.x=G[0]*f,j.y=G[1]*f,T.x=G[2]*f,T.y=G[3]*f):(j.setCoordsPoint2D(D),T.setCoordsPoint2D(L),j.scale(f),T.scale(f));const s=new y,r=new y;N(g,l,j,s),N(g,l,T,r);let i=C(g,s,r);S.setValues(0,j,Number.NaN,s),w.setValues(1,T,i,r),E=a,d[0].assign(w),P[0]=a;let m=0;for(;;){m>128&&n("iterations exceeded");const s=.5*(S.m_factor+w.m_factor),r=e.getCoord2D(s);2===t.getCoordinateSystemType()?(G[0]=r.x,G[1]=r.y,o.projToGeog(v,1,G),b.x=G[0]*f,b.y=G[1]*f):(b.setCoordsPoint2D(r),b.scale(f)),j.setCoordsPoint2D(S.m_pGcs),T.setCoordsPoint2D(w.m_pGcs);const c=new y;N(g,l,b,c);const u=C(g,S.m_xyz,c),p=C(g,w.m_xyz,c);i=w.m_geoLength,Number.isNaN(i)&&(i=C(g,S.m_xyz,w.m_xyz));const h=u+p,x=E===a&&h>=20&&Math.abs(h-i)>1e-8*(i+h);if(m+2<_&&(x||Math.abs(h-i)>0&&E>0))w.setLength(p),d[m].assign(w),w.setValues(s,b,u,c),d[++m].assign(w),x?(E=a,P[m]=a):(E--,P[m-1]=E,P[m]=E);else{if(z+=h,0===m)break;S.assign(w),w.assign(d[--m]),E=P[m]}}}return z}execute(n,o,r){if(o&&0!==o.getCoordinateSystemType()||e(""),n.isEmpty()||n.getDimension()<1)return 0;let i=null;const m=o.getGCS();m!==o&&(i=a(o,m,null));const u=n.getGeometryType();if(u===t.enumEnvelope){const e=new c;return e.addEnvelope(n,!1),this._ExecuteShapePreservingLength(e,o,m,i,r)}if(s(u)){const e=new g;return e.addSegment(n,!0),this._ExecuteShapePreservingLength(e,o,m,i,r)}return this._ExecuteShapePreservingLength(n,o,m,i,r)}}function N(e,t,s,n){n.assign(m(e,t,s))}function C(e,t,s){const n=e,o=new y;o.setSub(t,s);const r=o.length();return 2*n*Math.asin(r/(2*n))}export{w as O};