@math.gl/geospatial 5.0.0-alpha.17 → 5.0.0-alpha.19

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 (1666) hide show
  1. package/README.md +12 -0
  2. package/crs/README.md +84 -0
  3. package/crs/schemas/README.md +9 -0
  4. package/crs/schemas/projjson.schema.json +1174 -0
  5. package/dist/crs/crs-metadata.cjs +67 -0
  6. package/dist/crs/crs-metadata.cjs.map +6 -0
  7. package/dist/crs/crs-metadata.d.ts +43 -0
  8. package/dist/crs/crs-metadata.d.ts.map +1 -0
  9. package/dist/crs/crs-metadata.js +26 -0
  10. package/dist/crs/crs-metadata.js.map +1 -0
  11. package/dist/crs/crs.d.ts +22 -0
  12. package/dist/crs/crs.d.ts.map +1 -0
  13. package/dist/crs/crs.js +5 -0
  14. package/dist/crs/crs.js.map +1 -0
  15. package/dist/crs/index.cjs +916 -0
  16. package/dist/crs/index.cjs.map +6 -0
  17. package/dist/crs/index.d.ts +12 -0
  18. package/dist/crs/index.d.ts.map +1 -0
  19. package/dist/crs/index.js +10 -0
  20. package/dist/crs/index.js.map +1 -0
  21. package/dist/crs/proj-string.cjs +219 -0
  22. package/dist/crs/proj-string.cjs.map +6 -0
  23. package/dist/crs/proj-string.d.ts +32 -0
  24. package/dist/crs/proj-string.d.ts.map +1 -0
  25. package/dist/crs/proj-string.js +204 -0
  26. package/dist/crs/proj-string.js.map +1 -0
  27. package/dist/crs/projjson-schema-constants.d.ts +5 -0
  28. package/dist/crs/projjson-schema-constants.d.ts.map +1 -0
  29. package/dist/crs/projjson-schema-constants.js +8 -0
  30. package/dist/crs/projjson-schema-constants.js.map +1 -0
  31. package/dist/crs/projjson-types.d.ts +557 -0
  32. package/dist/crs/projjson-types.d.ts.map +1 -0
  33. package/dist/crs/projjson-types.js +5 -0
  34. package/dist/crs/projjson-types.js.map +1 -0
  35. package/dist/crs/spatial-reference.cjs +80 -0
  36. package/dist/crs/spatial-reference.cjs.map +6 -0
  37. package/dist/crs/spatial-reference.d.ts +104 -0
  38. package/dist/crs/spatial-reference.d.ts.map +1 -0
  39. package/dist/crs/spatial-reference.js +86 -0
  40. package/dist/crs/spatial-reference.js.map +1 -0
  41. package/dist/crs/units-table.d.ts +4 -0
  42. package/dist/crs/units-table.d.ts.map +1 -0
  43. package/dist/crs/units-table.js +29 -0
  44. package/dist/crs/units-table.js.map +1 -0
  45. package/dist/crs/wkt-crs.cjs +610 -0
  46. package/dist/crs/wkt-crs.cjs.map +6 -0
  47. package/dist/crs/wkt-crs.d.ts +86 -0
  48. package/dist/crs/wkt-crs.d.ts.map +1 -0
  49. package/dist/crs/wkt-crs.js +613 -0
  50. package/dist/crs/wkt-crs.js.map +1 -0
  51. package/dist/ellipsoid-helpers/ellipsoid-transform.d.ts +1 -1
  52. package/dist/ellipsoid-helpers/ellipsoid-transform.d.ts.map +1 -1
  53. package/dist/ellipsoid-tangent-plane.d.ts +1 -1
  54. package/dist/ellipsoid-tangent-plane.d.ts.map +1 -1
  55. package/dist/ellipsoid-tangent-plane.js +1 -1
  56. package/dist/ellipsoid-tangent-plane.js.map +1 -1
  57. package/dist/ellipsoid.d.ts +1 -1
  58. package/dist/ellipsoid.d.ts.map +1 -1
  59. package/dist/entries/ellipsoid.cjs +572 -0
  60. package/dist/entries/ellipsoid.cjs.map +6 -0
  61. package/dist/entries/ellipsoid.d.ts +5 -0
  62. package/dist/entries/ellipsoid.d.ts.map +1 -0
  63. package/dist/entries/ellipsoid.js +7 -0
  64. package/dist/entries/ellipsoid.js.map +1 -0
  65. package/dist/expressions.cjs +528 -0
  66. package/dist/expressions.cjs.map +6 -0
  67. package/dist/expressions.d.ts +4 -0
  68. package/dist/expressions.d.ts.map +1 -0
  69. package/dist/expressions.js +23 -0
  70. package/dist/expressions.js.map +1 -0
  71. package/dist/geoarrow/builder-entry.cjs +699 -0
  72. package/dist/geoarrow/builder-entry.cjs.map +6 -0
  73. package/dist/geoarrow/builder-entry.d.ts +4 -0
  74. package/dist/geoarrow/builder-entry.d.ts.map +1 -0
  75. package/dist/geoarrow/builder-entry.js +5 -0
  76. package/dist/geoarrow/builder-entry.js.map +1 -0
  77. package/dist/geoarrow/builder.d.ts +106 -0
  78. package/dist/geoarrow/builder.d.ts.map +1 -0
  79. package/dist/geoarrow/builder.js +668 -0
  80. package/dist/geoarrow/builder.js.map +1 -0
  81. package/dist/geoarrow/codecs.d.ts +24 -0
  82. package/dist/geoarrow/codecs.d.ts.map +1 -0
  83. package/dist/geoarrow/codecs.js +921 -0
  84. package/dist/geoarrow/codecs.js.map +1 -0
  85. package/dist/geoarrow/index.cjs +4089 -0
  86. package/dist/geoarrow/index.cjs.map +6 -0
  87. package/dist/geoarrow/index.d.ts +15 -0
  88. package/dist/geoarrow/index.d.ts.map +1 -0
  89. package/dist/geoarrow/index.js +11 -0
  90. package/dist/geoarrow/index.js.map +1 -0
  91. package/dist/geoarrow/kernels.d.ts +56 -0
  92. package/dist/geoarrow/kernels.d.ts.map +1 -0
  93. package/dist/geoarrow/kernels.js +982 -0
  94. package/dist/geoarrow/kernels.js.map +1 -0
  95. package/dist/geoarrow/layout.d.ts +64 -0
  96. package/dist/geoarrow/layout.d.ts.map +1 -0
  97. package/dist/geoarrow/layout.js +722 -0
  98. package/dist/geoarrow/layout.js.map +1 -0
  99. package/dist/geoarrow/tessellate.d.ts +31 -0
  100. package/dist/geoarrow/tessellate.d.ts.map +1 -0
  101. package/dist/geoarrow/tessellate.js +102 -0
  102. package/dist/geoarrow/tessellate.js.map +1 -0
  103. package/dist/geoarrow/tessellation-entry.cjs +431 -0
  104. package/dist/geoarrow/tessellation-entry.cjs.map +6 -0
  105. package/dist/geoarrow/tessellation-entry.d.ts +4 -0
  106. package/dist/geoarrow/tessellation-entry.d.ts.map +1 -0
  107. package/dist/geoarrow/tessellation-entry.js +5 -0
  108. package/dist/geoarrow/tessellation-entry.js.map +1 -0
  109. package/dist/geoarrow/types.d.ts +147 -0
  110. package/dist/geoarrow/types.d.ts.map +1 -0
  111. package/dist/geoarrow/types.js +41 -0
  112. package/dist/geoarrow/types.js.map +1 -0
  113. package/dist/geoarrow/views.d.ts +45 -0
  114. package/dist/geoarrow/views.d.ts.map +1 -0
  115. package/dist/geoarrow/views.js +114 -0
  116. package/dist/geoarrow/views.js.map +1 -0
  117. package/dist/geoarrow/wkb-entry.cjs +2467 -0
  118. package/dist/geoarrow/wkb-entry.cjs.map +6 -0
  119. package/dist/geoarrow/wkb-entry.d.ts +4 -0
  120. package/dist/geoarrow/wkb-entry.d.ts.map +1 -0
  121. package/dist/geoarrow/wkb-entry.js +6 -0
  122. package/dist/geoarrow/wkb-entry.js.map +1 -0
  123. package/dist/geoarrow/worker.cjs +77 -0
  124. package/dist/geoarrow/worker.cjs.map +6 -0
  125. package/dist/geoarrow/worker.d.ts +11 -0
  126. package/dist/geoarrow/worker.d.ts.map +1 -0
  127. package/dist/geoarrow/worker.js +10 -0
  128. package/dist/geoarrow/worker.js.map +1 -0
  129. package/dist/globe.cjs +1002 -0
  130. package/dist/globe.cjs.map +6 -0
  131. package/dist/globe.d.ts +10 -0
  132. package/dist/globe.d.ts.map +1 -0
  133. package/dist/globe.js +9 -0
  134. package/dist/globe.js.map +1 -0
  135. package/dist/index.cjs +154 -261
  136. package/dist/index.cjs.map +3 -3
  137. package/dist/index.d.ts +3 -15
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +3 -9
  140. package/dist/index.js.map +1 -1
  141. package/dist/make-obb-from-region.d.ts +1 -1
  142. package/dist/make-obb-from-region.d.ts.map +1 -1
  143. package/dist/make-obb-from-region.js +1 -1
  144. package/dist/make-obb-from-region.js.map +1 -1
  145. package/dist/projection/analysis.cjs +239 -0
  146. package/dist/projection/analysis.cjs.map +6 -0
  147. package/dist/projection/analysis.d.ts +72 -0
  148. package/dist/projection/analysis.d.ts.map +1 -0
  149. package/dist/projection/analysis.js +221 -0
  150. package/dist/projection/analysis.js.map +1 -0
  151. package/dist/projection/bulk.cjs +203 -0
  152. package/dist/projection/bulk.cjs.map +6 -0
  153. package/dist/projection/bulk.d.ts +51 -0
  154. package/dist/projection/bulk.d.ts.map +1 -0
  155. package/dist/projection/bulk.js +215 -0
  156. package/dist/projection/bulk.js.map +1 -0
  157. package/dist/projection/datums.cjs +1383 -0
  158. package/dist/projection/datums.cjs.map +6 -0
  159. package/dist/projection/datums.d.ts +5 -0
  160. package/dist/projection/datums.d.ts.map +1 -0
  161. package/dist/projection/datums.js +10 -0
  162. package/dist/projection/datums.js.map +1 -0
  163. package/dist/projection/deformation.cjs +134 -0
  164. package/dist/projection/deformation.cjs.map +6 -0
  165. package/dist/projection/deformation.d.ts +3 -0
  166. package/dist/projection/deformation.d.ts.map +1 -0
  167. package/dist/projection/deformation.js +5 -0
  168. package/dist/projection/deformation.js.map +1 -0
  169. package/dist/projection/experimental/catalogue-kernel.d.ts +9 -0
  170. package/dist/projection/experimental/catalogue-kernel.d.ts.map +1 -0
  171. package/dist/projection/experimental/catalogue-kernel.js +44 -0
  172. package/dist/projection/experimental/catalogue-kernel.js.map +1 -0
  173. package/dist/projection/experimental/common/adjust_lat.d.ts +2 -0
  174. package/dist/projection/experimental/common/adjust_lat.d.ts.map +1 -0
  175. package/dist/projection/experimental/common/adjust_lat.js +10 -0
  176. package/dist/projection/experimental/common/adjust_lat.js.map +1 -0
  177. package/dist/projection/experimental/common/adjust_lon.d.ts +2 -0
  178. package/dist/projection/experimental/common/adjust_lon.d.ts.map +1 -0
  179. package/dist/projection/experimental/common/adjust_lon.js +13 -0
  180. package/dist/projection/experimental/common/adjust_lon.js.map +1 -0
  181. package/dist/projection/experimental/common/asinhy.d.ts +2 -0
  182. package/dist/projection/experimental/common/asinhy.d.ts.map +1 -0
  183. package/dist/projection/experimental/common/asinhy.js +12 -0
  184. package/dist/projection/experimental/common/asinhy.js.map +1 -0
  185. package/dist/projection/experimental/common/asinz.d.ts +2 -0
  186. package/dist/projection/experimental/common/asinz.d.ts.map +1 -0
  187. package/dist/projection/experimental/common/asinz.js +11 -0
  188. package/dist/projection/experimental/common/asinz.js.map +1 -0
  189. package/dist/projection/experimental/common/authlat.d.ts +2 -0
  190. package/dist/projection/experimental/common/authlat.d.ts.map +1 -0
  191. package/dist/projection/experimental/common/authlat.js +9 -0
  192. package/dist/projection/experimental/common/authlat.js.map +1 -0
  193. package/dist/projection/experimental/common/authset.d.ts +2 -0
  194. package/dist/projection/experimental/common/authset.d.ts.map +1 -0
  195. package/dist/projection/experimental/common/authset.js +24 -0
  196. package/dist/projection/experimental/common/authset.js.map +1 -0
  197. package/dist/projection/experimental/common/clens.d.ts +2 -0
  198. package/dist/projection/experimental/common/clens.d.ts.map +1 -0
  199. package/dist/projection/experimental/common/clens.js +18 -0
  200. package/dist/projection/experimental/common/clens.js.map +1 -0
  201. package/dist/projection/experimental/common/clens_cmplx.d.ts +5 -0
  202. package/dist/projection/experimental/common/clens_cmplx.d.ts.map +1 -0
  203. package/dist/projection/experimental/common/clens_cmplx.js +34 -0
  204. package/dist/projection/experimental/common/clens_cmplx.js.map +1 -0
  205. package/dist/projection/experimental/common/constants.d.ts +9 -0
  206. package/dist/projection/experimental/common/constants.d.ts.map +1 -0
  207. package/dist/projection/experimental/common/constants.js +14 -0
  208. package/dist/projection/experimental/common/constants.js.map +1 -0
  209. package/dist/projection/experimental/common/cosh.d.ts +2 -0
  210. package/dist/projection/experimental/common/cosh.d.ts.map +1 -0
  211. package/dist/projection/experimental/common/cosh.js +10 -0
  212. package/dist/projection/experimental/common/cosh.js.map +1 -0
  213. package/dist/projection/experimental/common/e0fn.d.ts +2 -0
  214. package/dist/projection/experimental/common/e0fn.d.ts.map +1 -0
  215. package/dist/projection/experimental/common/e0fn.js +8 -0
  216. package/dist/projection/experimental/common/e0fn.js.map +1 -0
  217. package/dist/projection/experimental/common/e1fn.d.ts +2 -0
  218. package/dist/projection/experimental/common/e1fn.d.ts.map +1 -0
  219. package/dist/projection/experimental/common/e1fn.js +8 -0
  220. package/dist/projection/experimental/common/e1fn.js.map +1 -0
  221. package/dist/projection/experimental/common/e2fn.d.ts +2 -0
  222. package/dist/projection/experimental/common/e2fn.d.ts.map +1 -0
  223. package/dist/projection/experimental/common/e2fn.js +8 -0
  224. package/dist/projection/experimental/common/e2fn.js.map +1 -0
  225. package/dist/projection/experimental/common/e3fn.d.ts +2 -0
  226. package/dist/projection/experimental/common/e3fn.d.ts.map +1 -0
  227. package/dist/projection/experimental/common/e3fn.js +8 -0
  228. package/dist/projection/experimental/common/e3fn.js.map +1 -0
  229. package/dist/projection/experimental/common/fL.d.ts +2 -0
  230. package/dist/projection/experimental/common/fL.d.ts.map +1 -0
  231. package/dist/projection/experimental/common/fL.js +9 -0
  232. package/dist/projection/experimental/common/fL.js.map +1 -0
  233. package/dist/projection/experimental/common/gN.d.ts +2 -0
  234. package/dist/projection/experimental/common/gN.d.ts.map +1 -0
  235. package/dist/projection/experimental/common/gN.js +9 -0
  236. package/dist/projection/experimental/common/gN.js.map +1 -0
  237. package/dist/projection/experimental/common/gatg.d.ts +2 -0
  238. package/dist/projection/experimental/common/gatg.d.ts.map +1 -0
  239. package/dist/projection/experimental/common/gatg.js +18 -0
  240. package/dist/projection/experimental/common/gatg.js.map +1 -0
  241. package/dist/projection/experimental/common/hypot.d.ts +2 -0
  242. package/dist/projection/experimental/common/hypot.d.ts.map +1 -0
  243. package/dist/projection/experimental/common/hypot.js +12 -0
  244. package/dist/projection/experimental/common/hypot.js.map +1 -0
  245. package/dist/projection/experimental/common/imlfn.d.ts +2 -0
  246. package/dist/projection/experimental/common/imlfn.d.ts.map +1 -0
  247. package/dist/projection/experimental/common/imlfn.js +21 -0
  248. package/dist/projection/experimental/common/imlfn.js.map +1 -0
  249. package/dist/projection/experimental/common/invlatiso.d.ts +2 -0
  250. package/dist/projection/experimental/common/invlatiso.d.ts.map +1 -0
  251. package/dist/projection/experimental/common/invlatiso.js +20 -0
  252. package/dist/projection/experimental/common/invlatiso.js.map +1 -0
  253. package/dist/projection/experimental/common/iqsfnz.d.ts +2 -0
  254. package/dist/projection/experimental/common/iqsfnz.d.ts.map +1 -0
  255. package/dist/projection/experimental/common/iqsfnz.js +44 -0
  256. package/dist/projection/experimental/common/iqsfnz.js.map +1 -0
  257. package/dist/projection/experimental/common/latiso.d.ts +2 -0
  258. package/dist/projection/experimental/common/latiso.d.ts.map +1 -0
  259. package/dist/projection/experimental/common/latiso.js +19 -0
  260. package/dist/projection/experimental/common/latiso.js.map +1 -0
  261. package/dist/projection/experimental/common/log1py.d.ts +2 -0
  262. package/dist/projection/experimental/common/log1py.d.ts.map +1 -0
  263. package/dist/projection/experimental/common/log1py.js +10 -0
  264. package/dist/projection/experimental/common/log1py.js.map +1 -0
  265. package/dist/projection/experimental/common/meridian-distance.d.ts +5 -0
  266. package/dist/projection/experimental/common/meridian-distance.d.ts.map +1 -0
  267. package/dist/projection/experimental/common/meridian-distance.js +47 -0
  268. package/dist/projection/experimental/common/meridian-distance.js.map +1 -0
  269. package/dist/projection/experimental/common/mlfn.d.ts +2 -0
  270. package/dist/projection/experimental/common/mlfn.d.ts.map +1 -0
  271. package/dist/projection/experimental/common/mlfn.js +8 -0
  272. package/dist/projection/experimental/common/mlfn.js.map +1 -0
  273. package/dist/projection/experimental/common/msfnz.d.ts +2 -0
  274. package/dist/projection/experimental/common/msfnz.d.ts.map +1 -0
  275. package/dist/projection/experimental/common/msfnz.js +9 -0
  276. package/dist/projection/experimental/common/msfnz.js.map +1 -0
  277. package/dist/projection/experimental/common/phi2z.d.ts +2 -0
  278. package/dist/projection/experimental/common/phi2z.d.ts.map +1 -0
  279. package/dist/projection/experimental/common/phi2z.js +21 -0
  280. package/dist/projection/experimental/common/phi2z.js.map +1 -0
  281. package/dist/projection/experimental/common/pj_enfn.d.ts +2 -0
  282. package/dist/projection/experimental/common/pj_enfn.d.ts.map +1 -0
  283. package/dist/projection/experimental/common/pj_enfn.js +28 -0
  284. package/dist/projection/experimental/common/pj_enfn.js.map +1 -0
  285. package/dist/projection/experimental/common/pj_inv_mlfn.d.ts +2 -0
  286. package/dist/projection/experimental/common/pj_inv_mlfn.d.ts.map +1 -0
  287. package/dist/projection/experimental/common/pj_inv_mlfn.js +26 -0
  288. package/dist/projection/experimental/common/pj_inv_mlfn.js.map +1 -0
  289. package/dist/projection/experimental/common/pj_mlfn.d.ts +2 -0
  290. package/dist/projection/experimental/common/pj_mlfn.d.ts.map +1 -0
  291. package/dist/projection/experimental/common/pj_mlfn.js +10 -0
  292. package/dist/projection/experimental/common/pj_mlfn.js.map +1 -0
  293. package/dist/projection/experimental/common/qsfnz.d.ts +2 -0
  294. package/dist/projection/experimental/common/qsfnz.d.ts.map +1 -0
  295. package/dist/projection/experimental/common/qsfnz.js +16 -0
  296. package/dist/projection/experimental/common/qsfnz.js.map +1 -0
  297. package/dist/projection/experimental/common/sign.d.ts +2 -0
  298. package/dist/projection/experimental/common/sign.d.ts.map +1 -0
  299. package/dist/projection/experimental/common/sign.js +8 -0
  300. package/dist/projection/experimental/common/sign.js.map +1 -0
  301. package/dist/projection/experimental/common/sinh.d.ts +2 -0
  302. package/dist/projection/experimental/common/sinh.d.ts.map +1 -0
  303. package/dist/projection/experimental/common/sinh.js +10 -0
  304. package/dist/projection/experimental/common/sinh.js.map +1 -0
  305. package/dist/projection/experimental/common/srat.d.ts +2 -0
  306. package/dist/projection/experimental/common/srat.d.ts.map +1 -0
  307. package/dist/projection/experimental/common/srat.js +8 -0
  308. package/dist/projection/experimental/common/srat.js.map +1 -0
  309. package/dist/projection/experimental/common/tsfnz.d.ts +2 -0
  310. package/dist/projection/experimental/common/tsfnz.d.ts.map +1 -0
  311. package/dist/projection/experimental/common/tsfnz.js +12 -0
  312. package/dist/projection/experimental/common/tsfnz.js.map +1 -0
  313. package/dist/projection/experimental/common/vincenty.d.ts +29 -0
  314. package/dist/projection/experimental/common/vincenty.d.ts.map +1 -0
  315. package/dist/projection/experimental/common/vincenty.js +134 -0
  316. package/dist/projection/experimental/common/vincenty.js.map +1 -0
  317. package/dist/projection/experimental/core.cjs +1940 -0
  318. package/dist/projection/experimental/core.cjs.map +6 -0
  319. package/dist/projection/experimental/core.d.ts +16 -0
  320. package/dist/projection/experimental/core.d.ts.map +1 -0
  321. package/dist/projection/experimental/core.js +10 -0
  322. package/dist/projection/experimental/core.js.map +1 -0
  323. package/dist/projection/experimental/crs/datum-catalog.d.ts +5 -0
  324. package/dist/projection/experimental/crs/datum-catalog.d.ts.map +1 -0
  325. package/dist/projection/experimental/crs/datum-catalog.js +47 -0
  326. package/dist/projection/experimental/crs/datum-catalog.js.map +1 -0
  327. package/dist/projection/experimental/crs/datum-table.d.ts +8 -0
  328. package/dist/projection/experimental/crs/datum-table.d.ts.map +1 -0
  329. package/dist/projection/experimental/crs/datum-table.js +1355 -0
  330. package/dist/projection/experimental/crs/datum-table.js.map +1 -0
  331. package/dist/projection/experimental/crs/ellipsoid-table.d.ts +8 -0
  332. package/dist/projection/experimental/crs/ellipsoid-table.d.ts.map +1 -0
  333. package/dist/projection/experimental/crs/ellipsoid-table.js +229 -0
  334. package/dist/projection/experimental/crs/ellipsoid-table.js.map +1 -0
  335. package/dist/projection/experimental/crs/normalize.d.ts +8 -0
  336. package/dist/projection/experimental/crs/normalize.d.ts.map +1 -0
  337. package/dist/projection/experimental/crs/normalize.js +279 -0
  338. package/dist/projection/experimental/crs/normalize.js.map +1 -0
  339. package/dist/projection/experimental/crs/primemeridian-table.d.ts +3 -0
  340. package/dist/projection/experimental/crs/primemeridian-table.d.ts.map +1 -0
  341. package/dist/projection/experimental/crs/primemeridian-table.js +20 -0
  342. package/dist/projection/experimental/crs/primemeridian-table.js.map +1 -0
  343. package/dist/projection/experimental/crs/projjson.cjs +564 -0
  344. package/dist/projection/experimental/crs/projjson.cjs.map +6 -0
  345. package/dist/projection/experimental/crs/projjson.d.ts +4 -0
  346. package/dist/projection/experimental/crs/projjson.d.ts.map +1 -0
  347. package/dist/projection/experimental/crs/projjson.js +12 -0
  348. package/dist/projection/experimental/crs/projjson.js.map +1 -0
  349. package/dist/projection/experimental/crs/spatial-reference.d.ts +11 -0
  350. package/dist/projection/experimental/crs/spatial-reference.d.ts.map +1 -0
  351. package/dist/projection/experimental/crs/spatial-reference.js +91 -0
  352. package/dist/projection/experimental/crs/spatial-reference.js.map +1 -0
  353. package/dist/projection/experimental/crs/structured.d.ts +8 -0
  354. package/dist/projection/experimental/crs/structured.d.ts.map +1 -0
  355. package/dist/projection/experimental/crs/structured.js +534 -0
  356. package/dist/projection/experimental/crs/structured.js.map +1 -0
  357. package/dist/projection/experimental/crs/types.d.ts +73 -0
  358. package/dist/projection/experimental/crs/types.d.ts.map +1 -0
  359. package/dist/projection/experimental/crs/types.js +21 -0
  360. package/dist/projection/experimental/crs/types.js.map +1 -0
  361. package/dist/projection/experimental/crs/wkt.cjs +1229 -0
  362. package/dist/projection/experimental/crs/wkt.cjs.map +6 -0
  363. package/dist/projection/experimental/crs/wkt.d.ts +3 -0
  364. package/dist/projection/experimental/crs/wkt.d.ts.map +1 -0
  365. package/dist/projection/experimental/crs/wkt.js +190 -0
  366. package/dist/projection/experimental/crs/wkt.js.map +1 -0
  367. package/dist/projection/experimental/crs-descriptor.d.ts +10 -0
  368. package/dist/projection/experimental/crs-descriptor.d.ts.map +1 -0
  369. package/dist/projection/experimental/crs-descriptor.js +171 -0
  370. package/dist/projection/experimental/crs-descriptor.js.map +1 -0
  371. package/dist/projection/experimental/crs-rendering-scale.d.ts +5 -0
  372. package/dist/projection/experimental/crs-rendering-scale.d.ts.map +1 -0
  373. package/dist/projection/experimental/crs-rendering-scale.js +97 -0
  374. package/dist/projection/experimental/crs-rendering-scale.js.map +1 -0
  375. package/dist/projection/experimental/datum.d.ts +17 -0
  376. package/dist/projection/experimental/datum.d.ts.map +1 -0
  377. package/dist/projection/experimental/datum.js +160 -0
  378. package/dist/projection/experimental/datum.js.map +1 -0
  379. package/dist/projection/experimental/deformation-inverse.d.ts +5 -0
  380. package/dist/projection/experimental/deformation-inverse.d.ts.map +1 -0
  381. package/dist/projection/experimental/deformation-inverse.js +89 -0
  382. package/dist/projection/experimental/deformation-inverse.js.map +1 -0
  383. package/dist/projection/experimental/deformation.d.ts +23 -0
  384. package/dist/projection/experimental/deformation.d.ts.map +1 -0
  385. package/dist/projection/experimental/deformation.js +13 -0
  386. package/dist/projection/experimental/deformation.js.map +1 -0
  387. package/dist/projection/experimental/entries/projections/aea.cjs +642 -0
  388. package/dist/projection/experimental/entries/projections/aea.cjs.map +6 -0
  389. package/dist/projection/experimental/entries/projections/aea.d.ts +2 -0
  390. package/dist/projection/experimental/entries/projections/aea.d.ts.map +1 -0
  391. package/dist/projection/experimental/entries/projections/aea.js +5 -0
  392. package/dist/projection/experimental/entries/projections/aea.js.map +1 -0
  393. package/dist/projection/experimental/entries/projections/aeqd.cjs +718 -0
  394. package/dist/projection/experimental/entries/projections/aeqd.cjs.map +6 -0
  395. package/dist/projection/experimental/entries/projections/aeqd.d.ts +2 -0
  396. package/dist/projection/experimental/entries/projections/aeqd.d.ts.map +1 -0
  397. package/dist/projection/experimental/entries/projections/aeqd.js +5 -0
  398. package/dist/projection/experimental/entries/projections/aeqd.js.map +1 -0
  399. package/dist/projection/experimental/entries/projections/bonne.cjs +621 -0
  400. package/dist/projection/experimental/entries/projections/bonne.cjs.map +6 -0
  401. package/dist/projection/experimental/entries/projections/bonne.d.ts +2 -0
  402. package/dist/projection/experimental/entries/projections/bonne.d.ts.map +1 -0
  403. package/dist/projection/experimental/entries/projections/bonne.js +5 -0
  404. package/dist/projection/experimental/entries/projections/bonne.js.map +1 -0
  405. package/dist/projection/experimental/entries/projections/cass.cjs +610 -0
  406. package/dist/projection/experimental/entries/projections/cass.cjs.map +6 -0
  407. package/dist/projection/experimental/entries/projections/cass.d.ts +2 -0
  408. package/dist/projection/experimental/entries/projections/cass.d.ts.map +1 -0
  409. package/dist/projection/experimental/entries/projections/cass.js +5 -0
  410. package/dist/projection/experimental/entries/projections/cass.js.map +1 -0
  411. package/dist/projection/experimental/entries/projections/cea.cjs +536 -0
  412. package/dist/projection/experimental/entries/projections/cea.cjs.map +6 -0
  413. package/dist/projection/experimental/entries/projections/cea.d.ts +2 -0
  414. package/dist/projection/experimental/entries/projections/cea.d.ts.map +1 -0
  415. package/dist/projection/experimental/entries/projections/cea.js +5 -0
  416. package/dist/projection/experimental/entries/projections/cea.js.map +1 -0
  417. package/dist/projection/experimental/entries/projections/eck6.cjs +559 -0
  418. package/dist/projection/experimental/entries/projections/eck6.cjs.map +6 -0
  419. package/dist/projection/experimental/entries/projections/eck6.d.ts +2 -0
  420. package/dist/projection/experimental/entries/projections/eck6.d.ts.map +1 -0
  421. package/dist/projection/experimental/entries/projections/eck6.js +5 -0
  422. package/dist/projection/experimental/entries/projections/eck6.js.map +1 -0
  423. package/dist/projection/experimental/entries/projections/eqc.cjs +256 -0
  424. package/dist/projection/experimental/entries/projections/eqc.cjs.map +6 -0
  425. package/dist/projection/experimental/entries/projections/eqc.d.ts +2 -0
  426. package/dist/projection/experimental/entries/projections/eqc.d.ts.map +1 -0
  427. package/dist/projection/experimental/entries/projections/eqc.js +5 -0
  428. package/dist/projection/experimental/entries/projections/eqc.js.map +1 -0
  429. package/dist/projection/experimental/entries/projections/eqdc.cjs +650 -0
  430. package/dist/projection/experimental/entries/projections/eqdc.cjs.map +6 -0
  431. package/dist/projection/experimental/entries/projections/eqdc.d.ts +2 -0
  432. package/dist/projection/experimental/entries/projections/eqdc.d.ts.map +1 -0
  433. package/dist/projection/experimental/entries/projections/eqdc.js +5 -0
  434. package/dist/projection/experimental/entries/projections/eqdc.js.map +1 -0
  435. package/dist/projection/experimental/entries/projections/eqearth.cjs +451 -0
  436. package/dist/projection/experimental/entries/projections/eqearth.cjs.map +6 -0
  437. package/dist/projection/experimental/entries/projections/eqearth.d.ts +2 -0
  438. package/dist/projection/experimental/entries/projections/eqearth.d.ts.map +1 -0
  439. package/dist/projection/experimental/entries/projections/eqearth.js +5 -0
  440. package/dist/projection/experimental/entries/projections/eqearth.js.map +1 -0
  441. package/dist/projection/experimental/entries/projections/equi.cjs +475 -0
  442. package/dist/projection/experimental/entries/projections/equi.cjs.map +6 -0
  443. package/dist/projection/experimental/entries/projections/equi.d.ts +2 -0
  444. package/dist/projection/experimental/entries/projections/equi.d.ts.map +1 -0
  445. package/dist/projection/experimental/entries/projections/equi.js +5 -0
  446. package/dist/projection/experimental/entries/projections/equi.js.map +1 -0
  447. package/dist/projection/experimental/entries/projections/etmerc.cjs +887 -0
  448. package/dist/projection/experimental/entries/projections/etmerc.cjs.map +6 -0
  449. package/dist/projection/experimental/entries/projections/etmerc.d.ts +2 -0
  450. package/dist/projection/experimental/entries/projections/etmerc.d.ts.map +1 -0
  451. package/dist/projection/experimental/entries/projections/etmerc.js +5 -0
  452. package/dist/projection/experimental/entries/projections/etmerc.js.map +1 -0
  453. package/dist/projection/experimental/entries/projections/geocent.cjs +215 -0
  454. package/dist/projection/experimental/entries/projections/geocent.cjs.map +6 -0
  455. package/dist/projection/experimental/entries/projections/geocent.d.ts +2 -0
  456. package/dist/projection/experimental/entries/projections/geocent.d.ts.map +1 -0
  457. package/dist/projection/experimental/entries/projections/geocent.js +5 -0
  458. package/dist/projection/experimental/entries/projections/geocent.js.map +1 -0
  459. package/dist/projection/experimental/entries/projections/geos.cjs +703 -0
  460. package/dist/projection/experimental/entries/projections/geos.cjs.map +6 -0
  461. package/dist/projection/experimental/entries/projections/geos.d.ts +2 -0
  462. package/dist/projection/experimental/entries/projections/geos.d.ts.map +1 -0
  463. package/dist/projection/experimental/entries/projections/geos.js +5 -0
  464. package/dist/projection/experimental/entries/projections/geos.js.map +1 -0
  465. package/dist/projection/experimental/entries/projections/gnom.cjs +571 -0
  466. package/dist/projection/experimental/entries/projections/gnom.cjs.map +6 -0
  467. package/dist/projection/experimental/entries/projections/gnom.d.ts +2 -0
  468. package/dist/projection/experimental/entries/projections/gnom.d.ts.map +1 -0
  469. package/dist/projection/experimental/entries/projections/gnom.js +5 -0
  470. package/dist/projection/experimental/entries/projections/gnom.js.map +1 -0
  471. package/dist/projection/experimental/entries/projections/gstmerc.cjs +526 -0
  472. package/dist/projection/experimental/entries/projections/gstmerc.cjs.map +6 -0
  473. package/dist/projection/experimental/entries/projections/gstmerc.d.ts +2 -0
  474. package/dist/projection/experimental/entries/projections/gstmerc.d.ts.map +1 -0
  475. package/dist/projection/experimental/entries/projections/gstmerc.js +5 -0
  476. package/dist/projection/experimental/entries/projections/gstmerc.js.map +1 -0
  477. package/dist/projection/experimental/entries/projections/krovak.cjs +683 -0
  478. package/dist/projection/experimental/entries/projections/krovak.cjs.map +6 -0
  479. package/dist/projection/experimental/entries/projections/krovak.d.ts +2 -0
  480. package/dist/projection/experimental/entries/projections/krovak.d.ts.map +1 -0
  481. package/dist/projection/experimental/entries/projections/krovak.js +5 -0
  482. package/dist/projection/experimental/entries/projections/krovak.js.map +1 -0
  483. package/dist/projection/experimental/entries/projections/laea.cjs +761 -0
  484. package/dist/projection/experimental/entries/projections/laea.cjs.map +6 -0
  485. package/dist/projection/experimental/entries/projections/laea.d.ts +2 -0
  486. package/dist/projection/experimental/entries/projections/laea.d.ts.map +1 -0
  487. package/dist/projection/experimental/entries/projections/laea.js +5 -0
  488. package/dist/projection/experimental/entries/projections/laea.js.map +1 -0
  489. package/dist/projection/experimental/entries/projections/lcc.cjs +642 -0
  490. package/dist/projection/experimental/entries/projections/lcc.cjs.map +6 -0
  491. package/dist/projection/experimental/entries/projections/lcc.d.ts +2 -0
  492. package/dist/projection/experimental/entries/projections/lcc.d.ts.map +1 -0
  493. package/dist/projection/experimental/entries/projections/lcc.js +5 -0
  494. package/dist/projection/experimental/entries/projections/lcc.js.map +1 -0
  495. package/dist/projection/experimental/entries/projections/merc.cjs +354 -0
  496. package/dist/projection/experimental/entries/projections/merc.cjs.map +6 -0
  497. package/dist/projection/experimental/entries/projections/merc.d.ts +2 -0
  498. package/dist/projection/experimental/entries/projections/merc.d.ts.map +1 -0
  499. package/dist/projection/experimental/entries/projections/merc.js +5 -0
  500. package/dist/projection/experimental/entries/projections/merc.js.map +1 -0
  501. package/dist/projection/experimental/entries/projections/mill.cjs +470 -0
  502. package/dist/projection/experimental/entries/projections/mill.cjs.map +6 -0
  503. package/dist/projection/experimental/entries/projections/mill.d.ts +2 -0
  504. package/dist/projection/experimental/entries/projections/mill.d.ts.map +1 -0
  505. package/dist/projection/experimental/entries/projections/mill.js +5 -0
  506. package/dist/projection/experimental/entries/projections/mill.js.map +1 -0
  507. package/dist/projection/experimental/entries/projections/moll.cjs +510 -0
  508. package/dist/projection/experimental/entries/projections/moll.cjs.map +6 -0
  509. package/dist/projection/experimental/entries/projections/moll.d.ts +2 -0
  510. package/dist/projection/experimental/entries/projections/moll.d.ts.map +1 -0
  511. package/dist/projection/experimental/entries/projections/moll.js +5 -0
  512. package/dist/projection/experimental/entries/projections/moll.js.map +1 -0
  513. package/dist/projection/experimental/entries/projections/nzmg.cjs +623 -0
  514. package/dist/projection/experimental/entries/projections/nzmg.cjs.map +6 -0
  515. package/dist/projection/experimental/entries/projections/nzmg.d.ts +2 -0
  516. package/dist/projection/experimental/entries/projections/nzmg.d.ts.map +1 -0
  517. package/dist/projection/experimental/entries/projections/nzmg.js +5 -0
  518. package/dist/projection/experimental/entries/projections/nzmg.js.map +1 -0
  519. package/dist/projection/experimental/entries/projections/ob_tran.cjs +540 -0
  520. package/dist/projection/experimental/entries/projections/ob_tran.cjs.map +6 -0
  521. package/dist/projection/experimental/entries/projections/ob_tran.d.ts +2 -0
  522. package/dist/projection/experimental/entries/projections/ob_tran.d.ts.map +1 -0
  523. package/dist/projection/experimental/entries/projections/ob_tran.js +5 -0
  524. package/dist/projection/experimental/entries/projections/ob_tran.js.map +1 -0
  525. package/dist/projection/experimental/entries/projections/omerc.cjs +852 -0
  526. package/dist/projection/experimental/entries/projections/omerc.cjs.map +6 -0
  527. package/dist/projection/experimental/entries/projections/omerc.d.ts +2 -0
  528. package/dist/projection/experimental/entries/projections/omerc.d.ts.map +1 -0
  529. package/dist/projection/experimental/entries/projections/omerc.js +5 -0
  530. package/dist/projection/experimental/entries/projections/omerc.js.map +1 -0
  531. package/dist/projection/experimental/entries/projections/ortho.cjs +573 -0
  532. package/dist/projection/experimental/entries/projections/ortho.cjs.map +6 -0
  533. package/dist/projection/experimental/entries/projections/ortho.d.ts +2 -0
  534. package/dist/projection/experimental/entries/projections/ortho.d.ts.map +1 -0
  535. package/dist/projection/experimental/entries/projections/ortho.js +5 -0
  536. package/dist/projection/experimental/entries/projections/ortho.js.map +1 -0
  537. package/dist/projection/experimental/entries/projections/poly.cjs +588 -0
  538. package/dist/projection/experimental/entries/projections/poly.cjs.map +6 -0
  539. package/dist/projection/experimental/entries/projections/poly.d.ts +2 -0
  540. package/dist/projection/experimental/entries/projections/poly.d.ts.map +1 -0
  541. package/dist/projection/experimental/entries/projections/poly.js +5 -0
  542. package/dist/projection/experimental/entries/projections/poly.js.map +1 -0
  543. package/dist/projection/experimental/entries/projections/qsc.cjs +714 -0
  544. package/dist/projection/experimental/entries/projections/qsc.cjs.map +6 -0
  545. package/dist/projection/experimental/entries/projections/qsc.d.ts +2 -0
  546. package/dist/projection/experimental/entries/projections/qsc.d.ts.map +1 -0
  547. package/dist/projection/experimental/entries/projections/qsc.js +5 -0
  548. package/dist/projection/experimental/entries/projections/qsc.js.map +1 -0
  549. package/dist/projection/experimental/entries/projections/robin.cjs +584 -0
  550. package/dist/projection/experimental/entries/projections/robin.cjs.map +6 -0
  551. package/dist/projection/experimental/entries/projections/robin.d.ts +2 -0
  552. package/dist/projection/experimental/entries/projections/robin.d.ts.map +1 -0
  553. package/dist/projection/experimental/entries/projections/robin.js +5 -0
  554. package/dist/projection/experimental/entries/projections/robin.js.map +1 -0
  555. package/dist/projection/experimental/entries/projections/sinu.cjs +583 -0
  556. package/dist/projection/experimental/entries/projections/sinu.cjs.map +6 -0
  557. package/dist/projection/experimental/entries/projections/sinu.d.ts +2 -0
  558. package/dist/projection/experimental/entries/projections/sinu.d.ts.map +1 -0
  559. package/dist/projection/experimental/entries/projections/sinu.js +5 -0
  560. package/dist/projection/experimental/entries/projections/sinu.js.map +1 -0
  561. package/dist/projection/experimental/entries/projections/somerc.cjs +582 -0
  562. package/dist/projection/experimental/entries/projections/somerc.cjs.map +6 -0
  563. package/dist/projection/experimental/entries/projections/somerc.d.ts +2 -0
  564. package/dist/projection/experimental/entries/projections/somerc.d.ts.map +1 -0
  565. package/dist/projection/experimental/entries/projections/somerc.js +5 -0
  566. package/dist/projection/experimental/entries/projections/somerc.js.map +1 -0
  567. package/dist/projection/experimental/entries/projections/stere.cjs +684 -0
  568. package/dist/projection/experimental/entries/projections/stere.cjs.map +6 -0
  569. package/dist/projection/experimental/entries/projections/stere.d.ts +2 -0
  570. package/dist/projection/experimental/entries/projections/stere.d.ts.map +1 -0
  571. package/dist/projection/experimental/entries/projections/stere.js +5 -0
  572. package/dist/projection/experimental/entries/projections/stere.js.map +1 -0
  573. package/dist/projection/experimental/entries/projections/sterea.cjs +623 -0
  574. package/dist/projection/experimental/entries/projections/sterea.cjs.map +6 -0
  575. package/dist/projection/experimental/entries/projections/sterea.d.ts +2 -0
  576. package/dist/projection/experimental/entries/projections/sterea.d.ts.map +1 -0
  577. package/dist/projection/experimental/entries/projections/sterea.js +5 -0
  578. package/dist/projection/experimental/entries/projections/sterea.js.map +1 -0
  579. package/dist/projection/experimental/entries/projections/tmerc.cjs +887 -0
  580. package/dist/projection/experimental/entries/projections/tmerc.cjs.map +6 -0
  581. package/dist/projection/experimental/entries/projections/tmerc.d.ts +2 -0
  582. package/dist/projection/experimental/entries/projections/tmerc.d.ts.map +1 -0
  583. package/dist/projection/experimental/entries/projections/tmerc.js +5 -0
  584. package/dist/projection/experimental/entries/projections/tmerc.js.map +1 -0
  585. package/dist/projection/experimental/entries/projections/tpers.cjs +645 -0
  586. package/dist/projection/experimental/entries/projections/tpers.cjs.map +6 -0
  587. package/dist/projection/experimental/entries/projections/tpers.d.ts +2 -0
  588. package/dist/projection/experimental/entries/projections/tpers.d.ts.map +1 -0
  589. package/dist/projection/experimental/entries/projections/tpers.js +5 -0
  590. package/dist/projection/experimental/entries/projections/tpers.js.map +1 -0
  591. package/dist/projection/experimental/entries/projections/utm.cjs +915 -0
  592. package/dist/projection/experimental/entries/projections/utm.cjs.map +6 -0
  593. package/dist/projection/experimental/entries/projections/utm.d.ts +2 -0
  594. package/dist/projection/experimental/entries/projections/utm.d.ts.map +1 -0
  595. package/dist/projection/experimental/entries/projections/utm.js +5 -0
  596. package/dist/projection/experimental/entries/projections/utm.js.map +1 -0
  597. package/dist/projection/experimental/entries/projections/vandg.cjs +560 -0
  598. package/dist/projection/experimental/entries/projections/vandg.cjs.map +6 -0
  599. package/dist/projection/experimental/entries/projections/vandg.d.ts +2 -0
  600. package/dist/projection/experimental/entries/projections/vandg.d.ts.map +1 -0
  601. package/dist/projection/experimental/entries/projections/vandg.js +5 -0
  602. package/dist/projection/experimental/entries/projections/vandg.js.map +1 -0
  603. package/dist/projection/experimental/exact-helmert.d.ts +9 -0
  604. package/dist/projection/experimental/exact-helmert.d.ts.map +1 -0
  605. package/dist/projection/experimental/exact-helmert.js +32 -0
  606. package/dist/projection/experimental/exact-helmert.js.map +1 -0
  607. package/dist/projection/experimental/flat-projection.d.ts +15 -0
  608. package/dist/projection/experimental/flat-projection.d.ts.map +1 -0
  609. package/dist/projection/experimental/flat-projection.js +70 -0
  610. package/dist/projection/experimental/flat-projection.js.map +1 -0
  611. package/dist/projection/experimental/grids/geotiff.cjs +180 -0
  612. package/dist/projection/experimental/grids/geotiff.cjs.map +6 -0
  613. package/dist/projection/experimental/grids/geotiff.d.ts +23 -0
  614. package/dist/projection/experimental/grids/geotiff.d.ts.map +1 -0
  615. package/dist/projection/experimental/grids/geotiff.js +59 -0
  616. package/dist/projection/experimental/grids/geotiff.js.map +1 -0
  617. package/dist/projection/experimental/grids/grid.d.ts +4 -0
  618. package/dist/projection/experimental/grids/grid.d.ts.map +1 -0
  619. package/dist/projection/experimental/grids/grid.js +111 -0
  620. package/dist/projection/experimental/grids/grid.js.map +1 -0
  621. package/dist/projection/experimental/grids/gtx.cjs +91 -0
  622. package/dist/projection/experimental/grids/gtx.cjs.map +6 -0
  623. package/dist/projection/experimental/grids/gtx.d.ts +7 -0
  624. package/dist/projection/experimental/grids/gtx.d.ts.map +1 -0
  625. package/dist/projection/experimental/grids/gtx.js +30 -0
  626. package/dist/projection/experimental/grids/gtx.js.map +1 -0
  627. package/dist/projection/experimental/grids/ntv2.cjs +181 -0
  628. package/dist/projection/experimental/grids/ntv2.cjs.map +6 -0
  629. package/dist/projection/experimental/grids/ntv2.d.ts +8 -0
  630. package/dist/projection/experimental/grids/ntv2.d.ts.map +1 -0
  631. package/dist/projection/experimental/grids/ntv2.js +56 -0
  632. package/dist/projection/experimental/grids/ntv2.js.map +1 -0
  633. package/dist/projection/experimental/grids/scalar-geotiff.d.ts +58 -0
  634. package/dist/projection/experimental/grids/scalar-geotiff.d.ts.map +1 -0
  635. package/dist/projection/experimental/grids/scalar-geotiff.js +147 -0
  636. package/dist/projection/experimental/grids/scalar-geotiff.js.map +1 -0
  637. package/dist/projection/experimental/grids/types.d.ts +35 -0
  638. package/dist/projection/experimental/grids/types.d.ts.map +1 -0
  639. package/dist/projection/experimental/grids/types.js +2 -0
  640. package/dist/projection/experimental/grids/types.js.map +1 -0
  641. package/dist/projection/experimental/grids/velocity-geotiff.cjs +247 -0
  642. package/dist/projection/experimental/grids/velocity-geotiff.cjs.map +6 -0
  643. package/dist/projection/experimental/grids/velocity-geotiff.d.ts +11 -0
  644. package/dist/projection/experimental/grids/velocity-geotiff.d.ts.map +1 -0
  645. package/dist/projection/experimental/grids/velocity-geotiff.js +61 -0
  646. package/dist/projection/experimental/grids/velocity-geotiff.js.map +1 -0
  647. package/dist/projection/experimental/grids/velocity.d.ts +21 -0
  648. package/dist/projection/experimental/grids/velocity.d.ts.map +1 -0
  649. package/dist/projection/experimental/grids/velocity.js +29 -0
  650. package/dist/projection/experimental/grids/velocity.js.map +1 -0
  651. package/dist/projection/experimental/grids/vertical-geotiff.cjs +195 -0
  652. package/dist/projection/experimental/grids/vertical-geotiff.cjs.map +6 -0
  653. package/dist/projection/experimental/grids/vertical-geotiff.d.ts +6 -0
  654. package/dist/projection/experimental/grids/vertical-geotiff.d.ts.map +1 -0
  655. package/dist/projection/experimental/grids/vertical-geotiff.js +20 -0
  656. package/dist/projection/experimental/grids/vertical-geotiff.js.map +1 -0
  657. package/dist/projection/experimental/grids/vertical.cjs +80 -0
  658. package/dist/projection/experimental/grids/vertical.cjs.map +6 -0
  659. package/dist/projection/experimental/grids/vertical.d.ts +22 -0
  660. package/dist/projection/experimental/grids/vertical.d.ts.map +1 -0
  661. package/dist/projection/experimental/grids/vertical.js +73 -0
  662. package/dist/projection/experimental/grids/vertical.js.map +1 -0
  663. package/dist/projection/experimental/helmert-flat.d.ts +4 -0
  664. package/dist/projection/experimental/helmert-flat.d.ts.map +1 -0
  665. package/dist/projection/experimental/helmert-flat.js +53 -0
  666. package/dist/projection/experimental/helmert-flat.js.map +1 -0
  667. package/dist/projection/experimental/index.cjs +10047 -0
  668. package/dist/projection/experimental/index.cjs.map +6 -0
  669. package/dist/projection/experimental/index.d.ts +49 -0
  670. package/dist/projection/experimental/index.d.ts.map +1 -0
  671. package/dist/projection/experimental/index.js +48 -0
  672. package/dist/projection/experimental/index.js.map +1 -0
  673. package/dist/projection/experimental/kernel.d.ts +37 -0
  674. package/dist/projection/experimental/kernel.d.ts.map +1 -0
  675. package/dist/projection/experimental/kernel.js +81 -0
  676. package/dist/projection/experimental/kernel.js.map +1 -0
  677. package/dist/projection/experimental/kernels/aea.d.ts +25 -0
  678. package/dist/projection/experimental/kernels/aea.d.ts.map +1 -0
  679. package/dist/projection/experimental/kernels/aea.js +136 -0
  680. package/dist/projection/experimental/kernels/aea.js.map +1 -0
  681. package/dist/projection/experimental/kernels/aeqd.d.ts +10 -0
  682. package/dist/projection/experimental/kernels/aeqd.d.ts.map +1 -0
  683. package/dist/projection/experimental/kernels/aeqd.js +168 -0
  684. package/dist/projection/experimental/kernels/aeqd.js.map +1 -0
  685. package/dist/projection/experimental/kernels/bonne.d.ts +12 -0
  686. package/dist/projection/experimental/kernels/bonne.d.ts.map +1 -0
  687. package/dist/projection/experimental/kernels/bonne.js +128 -0
  688. package/dist/projection/experimental/kernels/bonne.js.map +1 -0
  689. package/dist/projection/experimental/kernels/cass.d.ts +10 -0
  690. package/dist/projection/experimental/kernels/cass.d.ts.map +1 -0
  691. package/dist/projection/experimental/kernels/cass.js +122 -0
  692. package/dist/projection/experimental/kernels/cass.js.map +1 -0
  693. package/dist/projection/experimental/kernels/cea.d.ts +6 -0
  694. package/dist/projection/experimental/kernels/cea.d.ts.map +1 -0
  695. package/dist/projection/experimental/kernels/cea.js +63 -0
  696. package/dist/projection/experimental/kernels/cea.js.map +1 -0
  697. package/dist/projection/experimental/kernels/eck6.d.ts +13 -0
  698. package/dist/projection/experimental/kernels/eck6.d.ts.map +1 -0
  699. package/dist/projection/experimental/kernels/eck6.js +23 -0
  700. package/dist/projection/experimental/kernels/eck6.js.map +1 -0
  701. package/dist/projection/experimental/kernels/eqdc.d.ts +19 -0
  702. package/dist/projection/experimental/kernels/eqdc.d.ts.map +1 -0
  703. package/dist/projection/experimental/kernels/eqdc.js +117 -0
  704. package/dist/projection/experimental/kernels/eqdc.js.map +1 -0
  705. package/dist/projection/experimental/kernels/eqearth.d.ts +10 -0
  706. package/dist/projection/experimental/kernels/eqearth.d.ts.map +1 -0
  707. package/dist/projection/experimental/kernels/eqearth.js +103 -0
  708. package/dist/projection/experimental/kernels/eqearth.js.map +1 -0
  709. package/dist/projection/experimental/kernels/equi.d.ts +9 -0
  710. package/dist/projection/experimental/kernels/equi.d.ts.map +1 -0
  711. package/dist/projection/experimental/kernels/equi.js +41 -0
  712. package/dist/projection/experimental/kernels/equi.js.map +1 -0
  713. package/dist/projection/experimental/kernels/etmerc.d.ts +13 -0
  714. package/dist/projection/experimental/kernels/etmerc.d.ts.map +1 -0
  715. package/dist/projection/experimental/kernels/etmerc.js +145 -0
  716. package/dist/projection/experimental/kernels/etmerc.js.map +1 -0
  717. package/dist/projection/experimental/kernels/gauss.d.ts +12 -0
  718. package/dist/projection/experimental/kernels/gauss.d.ts.map +1 -0
  719. package/dist/projection/experimental/kernels/gauss.js +64 -0
  720. package/dist/projection/experimental/kernels/gauss.js.map +1 -0
  721. package/dist/projection/experimental/kernels/geos.d.ts +17 -0
  722. package/dist/projection/experimental/kernels/geos.d.ts.map +1 -0
  723. package/dist/projection/experimental/kernels/geos.js +153 -0
  724. package/dist/projection/experimental/kernels/geos.js.map +1 -0
  725. package/dist/projection/experimental/kernels/gnom.d.ts +12 -0
  726. package/dist/projection/experimental/kernels/gnom.d.ts.map +1 -0
  727. package/dist/projection/experimental/kernels/gnom.js +95 -0
  728. package/dist/projection/experimental/kernels/gnom.js.map +1 -0
  729. package/dist/projection/experimental/kernels/gstmerc.d.ts +13 -0
  730. package/dist/projection/experimental/kernels/gstmerc.d.ts.map +1 -0
  731. package/dist/projection/experimental/kernels/gstmerc.js +57 -0
  732. package/dist/projection/experimental/kernels/gstmerc.js.map +1 -0
  733. package/dist/projection/experimental/kernels/krovak.d.ts +23 -0
  734. package/dist/projection/experimental/kernels/krovak.d.ts.map +1 -0
  735. package/dist/projection/experimental/kernels/krovak.js +128 -0
  736. package/dist/projection/experimental/kernels/krovak.js.map +1 -0
  737. package/dist/projection/experimental/kernels/laea.d.ts +23 -0
  738. package/dist/projection/experimental/kernels/laea.d.ts.map +1 -0
  739. package/dist/projection/experimental/kernels/laea.js +278 -0
  740. package/dist/projection/experimental/kernels/laea.js.map +1 -0
  741. package/dist/projection/experimental/kernels/lcc.d.ts +10 -0
  742. package/dist/projection/experimental/kernels/lcc.d.ts.map +1 -0
  743. package/dist/projection/experimental/kernels/lcc.js +131 -0
  744. package/dist/projection/experimental/kernels/lcc.js.map +1 -0
  745. package/dist/projection/experimental/kernels/mill.d.ts +6 -0
  746. package/dist/projection/experimental/kernels/mill.d.ts.map +1 -0
  747. package/dist/projection/experimental/kernels/mill.js +49 -0
  748. package/dist/projection/experimental/kernels/mill.js.map +1 -0
  749. package/dist/projection/experimental/kernels/moll.d.ts +6 -0
  750. package/dist/projection/experimental/kernels/moll.d.ts.map +1 -0
  751. package/dist/projection/experimental/kernels/moll.js +89 -0
  752. package/dist/projection/experimental/kernels/moll.js.map +1 -0
  753. package/dist/projection/experimental/kernels/nzmg.d.ts +28 -0
  754. package/dist/projection/experimental/kernels/nzmg.d.ts.map +1 -0
  755. package/dist/projection/experimental/kernels/nzmg.js +209 -0
  756. package/dist/projection/experimental/kernels/nzmg.js.map +1 -0
  757. package/dist/projection/experimental/kernels/omerc.d.ts +30 -0
  758. package/dist/projection/experimental/kernels/omerc.d.ts.map +1 -0
  759. package/dist/projection/experimental/kernels/omerc.js +260 -0
  760. package/dist/projection/experimental/kernels/omerc.js.map +1 -0
  761. package/dist/projection/experimental/kernels/ortho.d.ts +9 -0
  762. package/dist/projection/experimental/kernels/ortho.d.ts.map +1 -0
  763. package/dist/projection/experimental/kernels/ortho.js +91 -0
  764. package/dist/projection/experimental/kernels/ortho.js.map +1 -0
  765. package/dist/projection/experimental/kernels/poly.d.ts +13 -0
  766. package/dist/projection/experimental/kernels/poly.d.ts.map +1 -0
  767. package/dist/projection/experimental/kernels/poly.js +141 -0
  768. package/dist/projection/experimental/kernels/poly.js.map +1 -0
  769. package/dist/projection/experimental/kernels/qsc.d.ts +10 -0
  770. package/dist/projection/experimental/kernels/qsc.d.ts.map +1 -0
  771. package/dist/projection/experimental/kernels/qsc.js +379 -0
  772. package/dist/projection/experimental/kernels/qsc.js.map +1 -0
  773. package/dist/projection/experimental/kernels/robin.d.ts +6 -0
  774. package/dist/projection/experimental/kernels/robin.d.ts.map +1 -0
  775. package/dist/projection/experimental/kernels/robin.js +166 -0
  776. package/dist/projection/experimental/kernels/robin.js.map +1 -0
  777. package/dist/projection/experimental/kernels/sinu.d.ts +12 -0
  778. package/dist/projection/experimental/kernels/sinu.d.ts.map +1 -0
  779. package/dist/projection/experimental/kernels/sinu.js +104 -0
  780. package/dist/projection/experimental/kernels/sinu.js.map +1 -0
  781. package/dist/projection/experimental/kernels/somerc.d.ts +13 -0
  782. package/dist/projection/experimental/kernels/somerc.d.ts.map +1 -0
  783. package/dist/projection/experimental/kernels/somerc.js +81 -0
  784. package/dist/projection/experimental/kernels/somerc.js.map +1 -0
  785. package/dist/projection/experimental/kernels/stere.d.ts +15 -0
  786. package/dist/projection/experimental/kernels/stere.d.ts.map +1 -0
  787. package/dist/projection/experimental/kernels/stere.js +195 -0
  788. package/dist/projection/experimental/kernels/stere.js.map +1 -0
  789. package/dist/projection/experimental/kernels/sterea.d.ts +11 -0
  790. package/dist/projection/experimental/kernels/sterea.d.ts.map +1 -0
  791. package/dist/projection/experimental/kernels/sterea.js +65 -0
  792. package/dist/projection/experimental/kernels/sterea.js.map +1 -0
  793. package/dist/projection/experimental/kernels/tmerc.d.ts +9 -0
  794. package/dist/projection/experimental/kernels/tmerc.d.ts.map +1 -0
  795. package/dist/projection/experimental/kernels/tmerc.js +201 -0
  796. package/dist/projection/experimental/kernels/tmerc.js.map +1 -0
  797. package/dist/projection/experimental/kernels/tpers.d.ts +22 -0
  798. package/dist/projection/experimental/kernels/tpers.d.ts.map +1 -0
  799. package/dist/projection/experimental/kernels/tpers.js +156 -0
  800. package/dist/projection/experimental/kernels/tpers.js.map +1 -0
  801. package/dist/projection/experimental/kernels/vandg.d.ts +8 -0
  802. package/dist/projection/experimental/kernels/vandg.d.ts.map +1 -0
  803. package/dist/projection/experimental/kernels/vandg.js +133 -0
  804. package/dist/projection/experimental/kernels/vandg.js.map +1 -0
  805. package/dist/projection/experimental/kinematic-helmert-flat.d.ts +4 -0
  806. package/dist/projection/experimental/kinematic-helmert-flat.d.ts.map +1 -0
  807. package/dist/projection/experimental/kinematic-helmert-flat.js +60 -0
  808. package/dist/projection/experimental/kinematic-helmert-flat.js.map +1 -0
  809. package/dist/projection/experimental/kinematic-helmert.d.ts +11 -0
  810. package/dist/projection/experimental/kinematic-helmert.d.ts.map +1 -0
  811. package/dist/projection/experimental/kinematic-helmert.js +103 -0
  812. package/dist/projection/experimental/kinematic-helmert.js.map +1 -0
  813. package/dist/projection/experimental/lazy-projection.d.ts +17 -0
  814. package/dist/projection/experimental/lazy-projection.d.ts.map +1 -0
  815. package/dist/projection/experimental/lazy-projection.js +156 -0
  816. package/dist/projection/experimental/lazy-projection.js.map +1 -0
  817. package/dist/projection/experimental/lazy-projections/aea.cjs +79 -0
  818. package/dist/projection/experimental/lazy-projections/aea.cjs.map +6 -0
  819. package/dist/projection/experimental/lazy-projections/aea.d.ts +3 -0
  820. package/dist/projection/experimental/lazy-projections/aea.d.ts.map +1 -0
  821. package/dist/projection/experimental/lazy-projections/aea.js +7 -0
  822. package/dist/projection/experimental/lazy-projections/aea.js.map +1 -0
  823. package/dist/projection/experimental/lazy-projections/aeqd.cjs +79 -0
  824. package/dist/projection/experimental/lazy-projections/aeqd.cjs.map +6 -0
  825. package/dist/projection/experimental/lazy-projections/aeqd.d.ts +3 -0
  826. package/dist/projection/experimental/lazy-projections/aeqd.d.ts.map +1 -0
  827. package/dist/projection/experimental/lazy-projections/aeqd.js +8 -0
  828. package/dist/projection/experimental/lazy-projections/aeqd.js.map +1 -0
  829. package/dist/projection/experimental/lazy-projections/bonne.cjs +79 -0
  830. package/dist/projection/experimental/lazy-projections/bonne.cjs.map +6 -0
  831. package/dist/projection/experimental/lazy-projections/bonne.d.ts +3 -0
  832. package/dist/projection/experimental/lazy-projections/bonne.d.ts.map +1 -0
  833. package/dist/projection/experimental/lazy-projections/bonne.js +7 -0
  834. package/dist/projection/experimental/lazy-projections/bonne.js.map +1 -0
  835. package/dist/projection/experimental/lazy-projections/cass.cjs +79 -0
  836. package/dist/projection/experimental/lazy-projections/cass.cjs.map +6 -0
  837. package/dist/projection/experimental/lazy-projections/cass.d.ts +3 -0
  838. package/dist/projection/experimental/lazy-projections/cass.d.ts.map +1 -0
  839. package/dist/projection/experimental/lazy-projections/cass.js +7 -0
  840. package/dist/projection/experimental/lazy-projections/cass.js.map +1 -0
  841. package/dist/projection/experimental/lazy-projections/cea.cjs +79 -0
  842. package/dist/projection/experimental/lazy-projections/cea.cjs.map +6 -0
  843. package/dist/projection/experimental/lazy-projections/cea.d.ts +3 -0
  844. package/dist/projection/experimental/lazy-projections/cea.d.ts.map +1 -0
  845. package/dist/projection/experimental/lazy-projections/cea.js +8 -0
  846. package/dist/projection/experimental/lazy-projections/cea.js.map +1 -0
  847. package/dist/projection/experimental/lazy-projections/eck6.cjs +79 -0
  848. package/dist/projection/experimental/lazy-projections/eck6.cjs.map +6 -0
  849. package/dist/projection/experimental/lazy-projections/eck6.d.ts +3 -0
  850. package/dist/projection/experimental/lazy-projections/eck6.d.ts.map +1 -0
  851. package/dist/projection/experimental/lazy-projections/eck6.js +7 -0
  852. package/dist/projection/experimental/lazy-projections/eck6.js.map +1 -0
  853. package/dist/projection/experimental/lazy-projections/eqc.cjs +82 -0
  854. package/dist/projection/experimental/lazy-projections/eqc.cjs.map +6 -0
  855. package/dist/projection/experimental/lazy-projections/eqc.d.ts +3 -0
  856. package/dist/projection/experimental/lazy-projections/eqc.d.ts.map +1 -0
  857. package/dist/projection/experimental/lazy-projections/eqc.js +11 -0
  858. package/dist/projection/experimental/lazy-projections/eqc.js.map +1 -0
  859. package/dist/projection/experimental/lazy-projections/eqdc.cjs +79 -0
  860. package/dist/projection/experimental/lazy-projections/eqdc.cjs.map +6 -0
  861. package/dist/projection/experimental/lazy-projections/eqdc.d.ts +3 -0
  862. package/dist/projection/experimental/lazy-projections/eqdc.d.ts.map +1 -0
  863. package/dist/projection/experimental/lazy-projections/eqdc.js +8 -0
  864. package/dist/projection/experimental/lazy-projections/eqdc.js.map +1 -0
  865. package/dist/projection/experimental/lazy-projections/eqearth.cjs +79 -0
  866. package/dist/projection/experimental/lazy-projections/eqearth.cjs.map +6 -0
  867. package/dist/projection/experimental/lazy-projections/eqearth.d.ts +3 -0
  868. package/dist/projection/experimental/lazy-projections/eqearth.d.ts.map +1 -0
  869. package/dist/projection/experimental/lazy-projections/eqearth.js +7 -0
  870. package/dist/projection/experimental/lazy-projections/eqearth.js.map +1 -0
  871. package/dist/projection/experimental/lazy-projections/equi.cjs +79 -0
  872. package/dist/projection/experimental/lazy-projections/equi.cjs.map +6 -0
  873. package/dist/projection/experimental/lazy-projections/equi.d.ts +3 -0
  874. package/dist/projection/experimental/lazy-projections/equi.d.ts.map +1 -0
  875. package/dist/projection/experimental/lazy-projections/equi.js +7 -0
  876. package/dist/projection/experimental/lazy-projections/equi.js.map +1 -0
  877. package/dist/projection/experimental/lazy-projections/etmerc.cjs +79 -0
  878. package/dist/projection/experimental/lazy-projections/etmerc.cjs.map +6 -0
  879. package/dist/projection/experimental/lazy-projections/etmerc.d.ts +3 -0
  880. package/dist/projection/experimental/lazy-projections/etmerc.d.ts.map +1 -0
  881. package/dist/projection/experimental/lazy-projections/etmerc.js +8 -0
  882. package/dist/projection/experimental/lazy-projections/etmerc.js.map +1 -0
  883. package/dist/projection/experimental/lazy-projections/geocent.cjs +79 -0
  884. package/dist/projection/experimental/lazy-projections/geocent.cjs.map +6 -0
  885. package/dist/projection/experimental/lazy-projections/geocent.d.ts +3 -0
  886. package/dist/projection/experimental/lazy-projections/geocent.d.ts.map +1 -0
  887. package/dist/projection/experimental/lazy-projections/geocent.js +7 -0
  888. package/dist/projection/experimental/lazy-projections/geocent.js.map +1 -0
  889. package/dist/projection/experimental/lazy-projections/geos.cjs +79 -0
  890. package/dist/projection/experimental/lazy-projections/geos.cjs.map +6 -0
  891. package/dist/projection/experimental/lazy-projections/geos.d.ts +3 -0
  892. package/dist/projection/experimental/lazy-projections/geos.d.ts.map +1 -0
  893. package/dist/projection/experimental/lazy-projections/geos.js +7 -0
  894. package/dist/projection/experimental/lazy-projections/geos.js.map +1 -0
  895. package/dist/projection/experimental/lazy-projections/gnom.cjs +79 -0
  896. package/dist/projection/experimental/lazy-projections/gnom.cjs.map +6 -0
  897. package/dist/projection/experimental/lazy-projections/gnom.d.ts +3 -0
  898. package/dist/projection/experimental/lazy-projections/gnom.d.ts.map +1 -0
  899. package/dist/projection/experimental/lazy-projections/gnom.js +7 -0
  900. package/dist/projection/experimental/lazy-projections/gnom.js.map +1 -0
  901. package/dist/projection/experimental/lazy-projections/gstmerc.cjs +79 -0
  902. package/dist/projection/experimental/lazy-projections/gstmerc.cjs.map +6 -0
  903. package/dist/projection/experimental/lazy-projections/gstmerc.d.ts +3 -0
  904. package/dist/projection/experimental/lazy-projections/gstmerc.d.ts.map +1 -0
  905. package/dist/projection/experimental/lazy-projections/gstmerc.js +9 -0
  906. package/dist/projection/experimental/lazy-projections/gstmerc.js.map +1 -0
  907. package/dist/projection/experimental/lazy-projections/index.cjs +2243 -0
  908. package/dist/projection/experimental/lazy-projections/index.cjs.map +6 -0
  909. package/dist/projection/experimental/lazy-projections/index.d.ts +38 -0
  910. package/dist/projection/experimental/lazy-projections/index.d.ts.map +1 -0
  911. package/dist/projection/experimental/lazy-projections/index.js +41 -0
  912. package/dist/projection/experimental/lazy-projections/index.js.map +1 -0
  913. package/dist/projection/experimental/lazy-projections/krovak.cjs +87 -0
  914. package/dist/projection/experimental/lazy-projections/krovak.cjs.map +6 -0
  915. package/dist/projection/experimental/lazy-projections/krovak.d.ts +3 -0
  916. package/dist/projection/experimental/lazy-projections/krovak.d.ts.map +1 -0
  917. package/dist/projection/experimental/lazy-projections/krovak.js +15 -0
  918. package/dist/projection/experimental/lazy-projections/krovak.js.map +1 -0
  919. package/dist/projection/experimental/lazy-projections/laea.cjs +79 -0
  920. package/dist/projection/experimental/lazy-projections/laea.cjs.map +6 -0
  921. package/dist/projection/experimental/lazy-projections/laea.d.ts +3 -0
  922. package/dist/projection/experimental/lazy-projections/laea.d.ts.map +1 -0
  923. package/dist/projection/experimental/lazy-projections/laea.js +8 -0
  924. package/dist/projection/experimental/lazy-projections/laea.js.map +1 -0
  925. package/dist/projection/experimental/lazy-projections/lcc.cjs +89 -0
  926. package/dist/projection/experimental/lazy-projections/lcc.cjs.map +6 -0
  927. package/dist/projection/experimental/lazy-projections/lcc.d.ts +3 -0
  928. package/dist/projection/experimental/lazy-projections/lcc.d.ts.map +1 -0
  929. package/dist/projection/experimental/lazy-projections/lcc.js +18 -0
  930. package/dist/projection/experimental/lazy-projections/lcc.js.map +1 -0
  931. package/dist/projection/experimental/lazy-projections/merc.cjs +88 -0
  932. package/dist/projection/experimental/lazy-projections/merc.cjs.map +6 -0
  933. package/dist/projection/experimental/lazy-projections/merc.d.ts +3 -0
  934. package/dist/projection/experimental/lazy-projections/merc.d.ts.map +1 -0
  935. package/dist/projection/experimental/lazy-projections/merc.js +16 -0
  936. package/dist/projection/experimental/lazy-projections/merc.js.map +1 -0
  937. package/dist/projection/experimental/lazy-projections/mill.cjs +79 -0
  938. package/dist/projection/experimental/lazy-projections/mill.cjs.map +6 -0
  939. package/dist/projection/experimental/lazy-projections/mill.d.ts +3 -0
  940. package/dist/projection/experimental/lazy-projections/mill.d.ts.map +1 -0
  941. package/dist/projection/experimental/lazy-projections/mill.js +8 -0
  942. package/dist/projection/experimental/lazy-projections/mill.js.map +1 -0
  943. package/dist/projection/experimental/lazy-projections/moll.cjs +79 -0
  944. package/dist/projection/experimental/lazy-projections/moll.cjs.map +6 -0
  945. package/dist/projection/experimental/lazy-projections/moll.d.ts +3 -0
  946. package/dist/projection/experimental/lazy-projections/moll.d.ts.map +1 -0
  947. package/dist/projection/experimental/lazy-projections/moll.js +7 -0
  948. package/dist/projection/experimental/lazy-projections/moll.js.map +1 -0
  949. package/dist/projection/experimental/lazy-projections/nzmg.cjs +79 -0
  950. package/dist/projection/experimental/lazy-projections/nzmg.cjs.map +6 -0
  951. package/dist/projection/experimental/lazy-projections/nzmg.d.ts +3 -0
  952. package/dist/projection/experimental/lazy-projections/nzmg.d.ts.map +1 -0
  953. package/dist/projection/experimental/lazy-projections/nzmg.js +8 -0
  954. package/dist/projection/experimental/lazy-projections/nzmg.js.map +1 -0
  955. package/dist/projection/experimental/lazy-projections/ob_tran.cjs +90 -0
  956. package/dist/projection/experimental/lazy-projections/ob_tran.cjs.map +6 -0
  957. package/dist/projection/experimental/lazy-projections/ob_tran.d.ts +5 -0
  958. package/dist/projection/experimental/lazy-projections/ob_tran.d.ts.map +1 -0
  959. package/dist/projection/experimental/lazy-projections/ob_tran.js +18 -0
  960. package/dist/projection/experimental/lazy-projections/ob_tran.js.map +1 -0
  961. package/dist/projection/experimental/lazy-projections/omerc.cjs +91 -0
  962. package/dist/projection/experimental/lazy-projections/omerc.cjs.map +6 -0
  963. package/dist/projection/experimental/lazy-projections/omerc.d.ts +3 -0
  964. package/dist/projection/experimental/lazy-projections/omerc.d.ts.map +1 -0
  965. package/dist/projection/experimental/lazy-projections/omerc.js +19 -0
  966. package/dist/projection/experimental/lazy-projections/omerc.js.map +1 -0
  967. package/dist/projection/experimental/lazy-projections/ortho.cjs +79 -0
  968. package/dist/projection/experimental/lazy-projections/ortho.cjs.map +6 -0
  969. package/dist/projection/experimental/lazy-projections/ortho.d.ts +3 -0
  970. package/dist/projection/experimental/lazy-projections/ortho.d.ts.map +1 -0
  971. package/dist/projection/experimental/lazy-projections/ortho.js +7 -0
  972. package/dist/projection/experimental/lazy-projections/ortho.js.map +1 -0
  973. package/dist/projection/experimental/lazy-projections/poly.cjs +79 -0
  974. package/dist/projection/experimental/lazy-projections/poly.cjs.map +6 -0
  975. package/dist/projection/experimental/lazy-projections/poly.d.ts +3 -0
  976. package/dist/projection/experimental/lazy-projections/poly.d.ts.map +1 -0
  977. package/dist/projection/experimental/lazy-projections/poly.js +7 -0
  978. package/dist/projection/experimental/lazy-projections/poly.js.map +1 -0
  979. package/dist/projection/experimental/lazy-projections/qsc.cjs +82 -0
  980. package/dist/projection/experimental/lazy-projections/qsc.cjs.map +6 -0
  981. package/dist/projection/experimental/lazy-projections/qsc.d.ts +3 -0
  982. package/dist/projection/experimental/lazy-projections/qsc.d.ts.map +1 -0
  983. package/dist/projection/experimental/lazy-projections/qsc.js +12 -0
  984. package/dist/projection/experimental/lazy-projections/qsc.js.map +1 -0
  985. package/dist/projection/experimental/lazy-projections/robin.cjs +79 -0
  986. package/dist/projection/experimental/lazy-projections/robin.cjs.map +6 -0
  987. package/dist/projection/experimental/lazy-projections/robin.d.ts +3 -0
  988. package/dist/projection/experimental/lazy-projections/robin.d.ts.map +1 -0
  989. package/dist/projection/experimental/lazy-projections/robin.js +7 -0
  990. package/dist/projection/experimental/lazy-projections/robin.js.map +1 -0
  991. package/dist/projection/experimental/lazy-projections/sinu.cjs +79 -0
  992. package/dist/projection/experimental/lazy-projections/sinu.cjs.map +6 -0
  993. package/dist/projection/experimental/lazy-projections/sinu.d.ts +3 -0
  994. package/dist/projection/experimental/lazy-projections/sinu.d.ts.map +1 -0
  995. package/dist/projection/experimental/lazy-projections/sinu.js +7 -0
  996. package/dist/projection/experimental/lazy-projections/sinu.js.map +1 -0
  997. package/dist/projection/experimental/lazy-projections/somerc.cjs +79 -0
  998. package/dist/projection/experimental/lazy-projections/somerc.cjs.map +6 -0
  999. package/dist/projection/experimental/lazy-projections/somerc.d.ts +3 -0
  1000. package/dist/projection/experimental/lazy-projections/somerc.d.ts.map +1 -0
  1001. package/dist/projection/experimental/lazy-projections/somerc.js +8 -0
  1002. package/dist/projection/experimental/lazy-projections/somerc.js.map +1 -0
  1003. package/dist/projection/experimental/lazy-projections/stere.cjs +87 -0
  1004. package/dist/projection/experimental/lazy-projections/stere.cjs.map +6 -0
  1005. package/dist/projection/experimental/lazy-projections/stere.d.ts +3 -0
  1006. package/dist/projection/experimental/lazy-projections/stere.d.ts.map +1 -0
  1007. package/dist/projection/experimental/lazy-projections/stere.js +15 -0
  1008. package/dist/projection/experimental/lazy-projections/stere.js.map +1 -0
  1009. package/dist/projection/experimental/lazy-projections/sterea.cjs +87 -0
  1010. package/dist/projection/experimental/lazy-projections/sterea.cjs.map +6 -0
  1011. package/dist/projection/experimental/lazy-projections/sterea.d.ts +3 -0
  1012. package/dist/projection/experimental/lazy-projections/sterea.d.ts.map +1 -0
  1013. package/dist/projection/experimental/lazy-projections/sterea.js +16 -0
  1014. package/dist/projection/experimental/lazy-projections/sterea.js.map +1 -0
  1015. package/dist/projection/experimental/lazy-projections/tmerc.cjs +89 -0
  1016. package/dist/projection/experimental/lazy-projections/tmerc.cjs.map +6 -0
  1017. package/dist/projection/experimental/lazy-projections/tmerc.d.ts +3 -0
  1018. package/dist/projection/experimental/lazy-projections/tmerc.d.ts.map +1 -0
  1019. package/dist/projection/experimental/lazy-projections/tmerc.js +18 -0
  1020. package/dist/projection/experimental/lazy-projections/tmerc.js.map +1 -0
  1021. package/dist/projection/experimental/lazy-projections/tpers.cjs +79 -0
  1022. package/dist/projection/experimental/lazy-projections/tpers.cjs.map +6 -0
  1023. package/dist/projection/experimental/lazy-projections/tpers.d.ts +3 -0
  1024. package/dist/projection/experimental/lazy-projections/tpers.d.ts.map +1 -0
  1025. package/dist/projection/experimental/lazy-projections/tpers.js +8 -0
  1026. package/dist/projection/experimental/lazy-projections/tpers.js.map +1 -0
  1027. package/dist/projection/experimental/lazy-projections/utm.cjs +79 -0
  1028. package/dist/projection/experimental/lazy-projections/utm.cjs.map +6 -0
  1029. package/dist/projection/experimental/lazy-projections/utm.d.ts +3 -0
  1030. package/dist/projection/experimental/lazy-projections/utm.d.ts.map +1 -0
  1031. package/dist/projection/experimental/lazy-projections/utm.js +8 -0
  1032. package/dist/projection/experimental/lazy-projections/utm.js.map +1 -0
  1033. package/dist/projection/experimental/lazy-projections/vandg.cjs +79 -0
  1034. package/dist/projection/experimental/lazy-projections/vandg.cjs.map +6 -0
  1035. package/dist/projection/experimental/lazy-projections/vandg.d.ts +3 -0
  1036. package/dist/projection/experimental/lazy-projections/vandg.d.ts.map +1 -0
  1037. package/dist/projection/experimental/lazy-projections/vandg.js +7 -0
  1038. package/dist/projection/experimental/lazy-projections/vandg.js.map +1 -0
  1039. package/dist/projection/experimental/mutable-projection.d.ts +6 -0
  1040. package/dist/projection/experimental/mutable-projection.d.ts.map +1 -0
  1041. package/dist/projection/experimental/mutable-projection.js +53 -0
  1042. package/dist/projection/experimental/mutable-projection.js.map +1 -0
  1043. package/dist/projection/experimental/numeric-flat.d.ts +8 -0
  1044. package/dist/projection/experimental/numeric-flat.d.ts.map +1 -0
  1045. package/dist/projection/experimental/numeric-flat.js +54 -0
  1046. package/dist/projection/experimental/numeric-flat.js.map +1 -0
  1047. package/dist/projection/experimental/parameters.d.ts +8 -0
  1048. package/dist/projection/experimental/parameters.d.ts.map +1 -0
  1049. package/dist/projection/experimental/parameters.js +31 -0
  1050. package/dist/projection/experimental/parameters.js.map +1 -0
  1051. package/dist/projection/experimental/projection-descriptor.d.ts +13 -0
  1052. package/dist/projection/experimental/projection-descriptor.d.ts.map +1 -0
  1053. package/dist/projection/experimental/projection-descriptor.js +52 -0
  1054. package/dist/projection/experimental/projection-descriptor.js.map +1 -0
  1055. package/dist/projection/experimental/projection-engine.d.ts +27 -0
  1056. package/dist/projection/experimental/projection-engine.d.ts.map +1 -0
  1057. package/dist/projection/experimental/projection-engine.js +50 -0
  1058. package/dist/projection/experimental/projection-engine.js.map +1 -0
  1059. package/dist/projection/experimental/projection-pipeline.d.ts +142 -0
  1060. package/dist/projection/experimental/projection-pipeline.d.ts.map +1 -0
  1061. package/dist/projection/experimental/projection-pipeline.js +740 -0
  1062. package/dist/projection/experimental/projection-pipeline.js.map +1 -0
  1063. package/dist/projection/experimental/projection-scratch.d.ts +11 -0
  1064. package/dist/projection/experimental/projection-scratch.d.ts.map +1 -0
  1065. package/dist/projection/experimental/projection-scratch.js +25 -0
  1066. package/dist/projection/experimental/projection-scratch.js.map +1 -0
  1067. package/dist/projection/experimental/projections/aea.d.ts +3 -0
  1068. package/dist/projection/experimental/projections/aea.d.ts.map +1 -0
  1069. package/dist/projection/experimental/projections/aea.js +24 -0
  1070. package/dist/projection/experimental/projections/aea.js.map +1 -0
  1071. package/dist/projection/experimental/projections/aeqd.d.ts +3 -0
  1072. package/dist/projection/experimental/projections/aeqd.d.ts.map +1 -0
  1073. package/dist/projection/experimental/projections/aeqd.js +19 -0
  1074. package/dist/projection/experimental/projections/aeqd.js.map +1 -0
  1075. package/dist/projection/experimental/projections/bonne.d.ts +3 -0
  1076. package/dist/projection/experimental/projections/bonne.d.ts.map +1 -0
  1077. package/dist/projection/experimental/projections/bonne.js +25 -0
  1078. package/dist/projection/experimental/projections/bonne.js.map +1 -0
  1079. package/dist/projection/experimental/projections/cass.d.ts +3 -0
  1080. package/dist/projection/experimental/projections/cass.d.ts.map +1 -0
  1081. package/dist/projection/experimental/projections/cass.js +22 -0
  1082. package/dist/projection/experimental/projections/cass.js.map +1 -0
  1083. package/dist/projection/experimental/projections/cea.d.ts +3 -0
  1084. package/dist/projection/experimental/projections/cea.d.ts.map +1 -0
  1085. package/dist/projection/experimental/projections/cea.js +24 -0
  1086. package/dist/projection/experimental/projections/cea.js.map +1 -0
  1087. package/dist/projection/experimental/projections/eck6.d.ts +3 -0
  1088. package/dist/projection/experimental/projections/eck6.d.ts.map +1 -0
  1089. package/dist/projection/experimental/projections/eck6.js +22 -0
  1090. package/dist/projection/experimental/projections/eck6.js.map +1 -0
  1091. package/dist/projection/experimental/projections/eqdc.d.ts +3 -0
  1092. package/dist/projection/experimental/projections/eqdc.d.ts.map +1 -0
  1093. package/dist/projection/experimental/projections/eqdc.js +23 -0
  1094. package/dist/projection/experimental/projections/eqdc.js.map +1 -0
  1095. package/dist/projection/experimental/projections/eqearth.d.ts +3 -0
  1096. package/dist/projection/experimental/projections/eqearth.d.ts.map +1 -0
  1097. package/dist/projection/experimental/projections/eqearth.js +47 -0
  1098. package/dist/projection/experimental/projections/eqearth.js.map +1 -0
  1099. package/dist/projection/experimental/projections/equi.d.ts +3 -0
  1100. package/dist/projection/experimental/projections/equi.d.ts.map +1 -0
  1101. package/dist/projection/experimental/projections/equi.js +24 -0
  1102. package/dist/projection/experimental/projections/equi.js.map +1 -0
  1103. package/dist/projection/experimental/projections/equidistant-cylindrical.d.ts +4 -0
  1104. package/dist/projection/experimental/projections/equidistant-cylindrical.d.ts.map +1 -0
  1105. package/dist/projection/experimental/projections/equidistant-cylindrical.js +47 -0
  1106. package/dist/projection/experimental/projections/equidistant-cylindrical.js.map +1 -0
  1107. package/dist/projection/experimental/projections/geocentric.d.ts +3 -0
  1108. package/dist/projection/experimental/projections/geocentric.d.ts.map +1 -0
  1109. package/dist/projection/experimental/projections/geocentric.js +34 -0
  1110. package/dist/projection/experimental/projections/geocentric.js.map +1 -0
  1111. package/dist/projection/experimental/projections/geos.d.ts +3 -0
  1112. package/dist/projection/experimental/projections/geos.d.ts.map +1 -0
  1113. package/dist/projection/experimental/projections/geos.js +30 -0
  1114. package/dist/projection/experimental/projections/geos.js.map +1 -0
  1115. package/dist/projection/experimental/projections/gnom.d.ts +3 -0
  1116. package/dist/projection/experimental/projections/gnom.d.ts.map +1 -0
  1117. package/dist/projection/experimental/projections/gnom.js +20 -0
  1118. package/dist/projection/experimental/projections/gnom.js.map +1 -0
  1119. package/dist/projection/experimental/projections/gstmerc.d.ts +3 -0
  1120. package/dist/projection/experimental/projections/gstmerc.d.ts.map +1 -0
  1121. package/dist/projection/experimental/projections/gstmerc.js +23 -0
  1122. package/dist/projection/experimental/projections/gstmerc.js.map +1 -0
  1123. package/dist/projection/experimental/projections/krovak.d.ts +3 -0
  1124. package/dist/projection/experimental/projections/krovak.d.ts.map +1 -0
  1125. package/dist/projection/experimental/projections/krovak.js +41 -0
  1126. package/dist/projection/experimental/projections/krovak.js.map +1 -0
  1127. package/dist/projection/experimental/projections/laea.d.ts +3 -0
  1128. package/dist/projection/experimental/projections/laea.d.ts.map +1 -0
  1129. package/dist/projection/experimental/projections/laea.js +22 -0
  1130. package/dist/projection/experimental/projections/laea.js.map +1 -0
  1131. package/dist/projection/experimental/projections/lcc.d.ts +3 -0
  1132. package/dist/projection/experimental/projections/lcc.d.ts.map +1 -0
  1133. package/dist/projection/experimental/projections/lcc.js +39 -0
  1134. package/dist/projection/experimental/projections/lcc.js.map +1 -0
  1135. package/dist/projection/experimental/projections/mercator.d.ts +4 -0
  1136. package/dist/projection/experimental/projections/mercator.d.ts.map +1 -0
  1137. package/dist/projection/experimental/projections/mercator.js +106 -0
  1138. package/dist/projection/experimental/projections/mercator.js.map +1 -0
  1139. package/dist/projection/experimental/projections/mill.d.ts +3 -0
  1140. package/dist/projection/experimental/projections/mill.d.ts.map +1 -0
  1141. package/dist/projection/experimental/projections/mill.js +22 -0
  1142. package/dist/projection/experimental/projections/mill.js.map +1 -0
  1143. package/dist/projection/experimental/projections/moll.d.ts +3 -0
  1144. package/dist/projection/experimental/projections/moll.d.ts.map +1 -0
  1145. package/dist/projection/experimental/projections/moll.js +22 -0
  1146. package/dist/projection/experimental/projections/moll.js.map +1 -0
  1147. package/dist/projection/experimental/projections/nzmg.d.ts +3 -0
  1148. package/dist/projection/experimental/projections/nzmg.d.ts.map +1 -0
  1149. package/dist/projection/experimental/projections/nzmg.js +29 -0
  1150. package/dist/projection/experimental/projections/nzmg.js.map +1 -0
  1151. package/dist/projection/experimental/projections/ob-tran.d.ts +4 -0
  1152. package/dist/projection/experimental/projections/ob-tran.d.ts.map +1 -0
  1153. package/dist/projection/experimental/projections/ob-tran.js +194 -0
  1154. package/dist/projection/experimental/projections/ob-tran.js.map +1 -0
  1155. package/dist/projection/experimental/projections/omerc.d.ts +3 -0
  1156. package/dist/projection/experimental/projections/omerc.d.ts.map +1 -0
  1157. package/dist/projection/experimental/projections/omerc.js +69 -0
  1158. package/dist/projection/experimental/projections/omerc.js.map +1 -0
  1159. package/dist/projection/experimental/projections/ortho.d.ts +3 -0
  1160. package/dist/projection/experimental/projections/ortho.d.ts.map +1 -0
  1161. package/dist/projection/experimental/projections/ortho.js +20 -0
  1162. package/dist/projection/experimental/projections/ortho.js.map +1 -0
  1163. package/dist/projection/experimental/projections/poly.d.ts +3 -0
  1164. package/dist/projection/experimental/projections/poly.d.ts.map +1 -0
  1165. package/dist/projection/experimental/projections/poly.js +22 -0
  1166. package/dist/projection/experimental/projections/poly.js.map +1 -0
  1167. package/dist/projection/experimental/projections/qsc.d.ts +3 -0
  1168. package/dist/projection/experimental/projections/qsc.d.ts.map +1 -0
  1169. package/dist/projection/experimental/projections/qsc.js +64 -0
  1170. package/dist/projection/experimental/projections/qsc.js.map +1 -0
  1171. package/dist/projection/experimental/projections/robin.d.ts +3 -0
  1172. package/dist/projection/experimental/projections/robin.d.ts.map +1 -0
  1173. package/dist/projection/experimental/projections/robin.js +22 -0
  1174. package/dist/projection/experimental/projections/robin.js.map +1 -0
  1175. package/dist/projection/experimental/projections/sinu.d.ts +3 -0
  1176. package/dist/projection/experimental/projections/sinu.d.ts.map +1 -0
  1177. package/dist/projection/experimental/projections/sinu.js +22 -0
  1178. package/dist/projection/experimental/projections/sinu.js.map +1 -0
  1179. package/dist/projection/experimental/projections/somerc.d.ts +3 -0
  1180. package/dist/projection/experimental/projections/somerc.d.ts.map +1 -0
  1181. package/dist/projection/experimental/projections/somerc.js +22 -0
  1182. package/dist/projection/experimental/projections/somerc.js.map +1 -0
  1183. package/dist/projection/experimental/projections/stere.d.ts +3 -0
  1184. package/dist/projection/experimental/projections/stere.d.ts.map +1 -0
  1185. package/dist/projection/experimental/projections/stere.js +32 -0
  1186. package/dist/projection/experimental/projections/stere.js.map +1 -0
  1187. package/dist/projection/experimental/projections/sterea.d.ts +3 -0
  1188. package/dist/projection/experimental/projections/sterea.d.ts.map +1 -0
  1189. package/dist/projection/experimental/projections/sterea.js +32 -0
  1190. package/dist/projection/experimental/projections/sterea.js.map +1 -0
  1191. package/dist/projection/experimental/projections/tpers.d.ts +3 -0
  1192. package/dist/projection/experimental/projections/tpers.d.ts.map +1 -0
  1193. package/dist/projection/experimental/projections/tpers.js +31 -0
  1194. package/dist/projection/experimental/projections/tpers.js.map +1 -0
  1195. package/dist/projection/experimental/projections/transverse-mercator.d.ts +6 -0
  1196. package/dist/projection/experimental/projections/transverse-mercator.d.ts.map +1 -0
  1197. package/dist/projection/experimental/projections/transverse-mercator.js +48 -0
  1198. package/dist/projection/experimental/projections/transverse-mercator.js.map +1 -0
  1199. package/dist/projection/experimental/projections/utm.d.ts +3 -0
  1200. package/dist/projection/experimental/projections/utm.d.ts.map +1 -0
  1201. package/dist/projection/experimental/projections/utm.js +37 -0
  1202. package/dist/projection/experimental/projections/utm.js.map +1 -0
  1203. package/dist/projection/experimental/projections/vandg.d.ts +3 -0
  1204. package/dist/projection/experimental/projections/vandg.d.ts.map +1 -0
  1205. package/dist/projection/experimental/projections/vandg.js +22 -0
  1206. package/dist/projection/experimental/projections/vandg.js.map +1 -0
  1207. package/dist/projection/experimental/rendering-profile/angular-rendering-profile.d.ts +9 -0
  1208. package/dist/projection/experimental/rendering-profile/angular-rendering-profile.d.ts.map +1 -0
  1209. package/dist/projection/experimental/rendering-profile/angular-rendering-profile.js +79 -0
  1210. package/dist/projection/experimental/rendering-profile/angular-rendering-profile.js.map +1 -0
  1211. package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.d.ts +16 -0
  1212. package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.d.ts.map +1 -0
  1213. package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.js +91 -0
  1214. package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.js.map +1 -0
  1215. package/dist/projection/experimental/rendering-profile/geographic-bounds.d.ts +29 -0
  1216. package/dist/projection/experimental/rendering-profile/geographic-bounds.d.ts.map +1 -0
  1217. package/dist/projection/experimental/rendering-profile/geographic-bounds.js +127 -0
  1218. package/dist/projection/experimental/rendering-profile/geographic-bounds.js.map +1 -0
  1219. package/dist/projection/experimental/rendering-profile/geographic-rendering-profile.d.ts +4 -0
  1220. package/dist/projection/experimental/rendering-profile/geographic-rendering-profile.d.ts.map +1 -0
  1221. package/dist/projection/experimental/rendering-profile/geographic-rendering-profile.js +18 -0
  1222. package/dist/projection/experimental/rendering-profile/geographic-rendering-profile.js.map +1 -0
  1223. package/dist/projection/experimental/rendering-profile/geostationary-rendering-profile.d.ts +7 -0
  1224. package/dist/projection/experimental/rendering-profile/geostationary-rendering-profile.d.ts.map +1 -0
  1225. package/dist/projection/experimental/rendering-profile/geostationary-rendering-profile.js +86 -0
  1226. package/dist/projection/experimental/rendering-profile/geostationary-rendering-profile.js.map +1 -0
  1227. package/dist/projection/experimental/rendering-profile/identity-rendering-profile.d.ts +4 -0
  1228. package/dist/projection/experimental/rendering-profile/identity-rendering-profile.d.ts.map +1 -0
  1229. package/dist/projection/experimental/rendering-profile/identity-rendering-profile.js +13 -0
  1230. package/dist/projection/experimental/rendering-profile/identity-rendering-profile.js.map +1 -0
  1231. package/dist/projection/experimental/rendering-profile/rectangular-rendering-profile.d.ts +13 -0
  1232. package/dist/projection/experimental/rendering-profile/rectangular-rendering-profile.d.ts.map +1 -0
  1233. package/dist/projection/experimental/rendering-profile/rectangular-rendering-profile.js +76 -0
  1234. package/dist/projection/experimental/rendering-profile/rectangular-rendering-profile.js.map +1 -0
  1235. package/dist/projection/experimental/rendering-profile/regional-rendering-bounds.d.ts +29 -0
  1236. package/dist/projection/experimental/rendering-profile/regional-rendering-bounds.d.ts.map +1 -0
  1237. package/dist/projection/experimental/rendering-profile/regional-rendering-bounds.js +143 -0
  1238. package/dist/projection/experimental/rendering-profile/regional-rendering-bounds.js.map +1 -0
  1239. package/dist/projection/experimental/rendering-profile/rendering-bounds.d.ts +28 -0
  1240. package/dist/projection/experimental/rendering-profile/rendering-bounds.d.ts.map +1 -0
  1241. package/dist/projection/experimental/rendering-profile/rendering-bounds.js +111 -0
  1242. package/dist/projection/experimental/rendering-profile/rendering-bounds.js.map +1 -0
  1243. package/dist/projection/experimental/rendering-profile/rendering-profile.d.ts +11 -0
  1244. package/dist/projection/experimental/rendering-profile/rendering-profile.d.ts.map +1 -0
  1245. package/dist/projection/experimental/rendering-profile/rendering-profile.js +81 -0
  1246. package/dist/projection/experimental/rendering-profile/rendering-profile.js.map +1 -0
  1247. package/dist/projection/experimental/rendering-profile/spherical-rendering-domain.d.ts +24 -0
  1248. package/dist/projection/experimental/rendering-profile/spherical-rendering-domain.d.ts.map +1 -0
  1249. package/dist/projection/experimental/rendering-profile/spherical-rendering-domain.js +129 -0
  1250. package/dist/projection/experimental/rendering-profile/spherical-rendering-domain.js.map +1 -0
  1251. package/dist/projection/experimental/scalar-output.d.ts +8 -0
  1252. package/dist/projection/experimental/scalar-output.d.ts.map +1 -0
  1253. package/dist/projection/experimental/scalar-output.js +46 -0
  1254. package/dist/projection/experimental/scalar-output.js.map +1 -0
  1255. package/dist/projection/experimental/spatial-deformation.d.ts +6 -0
  1256. package/dist/projection/experimental/spatial-deformation.d.ts.map +1 -0
  1257. package/dist/projection/experimental/spatial-deformation.js +85 -0
  1258. package/dist/projection/experimental/spatial-deformation.js.map +1 -0
  1259. package/dist/projection/experimental/types.d.ts +156 -0
  1260. package/dist/projection/experimental/types.d.ts.map +1 -0
  1261. package/dist/projection/experimental/types.js +5 -0
  1262. package/dist/projection/experimental/types.js.map +1 -0
  1263. package/dist/projection/experimental/typescript-projection.d.ts +76 -0
  1264. package/dist/projection/experimental/typescript-projection.d.ts.map +1 -0
  1265. package/dist/projection/experimental/typescript-projection.js +459 -0
  1266. package/dist/projection/experimental/typescript-projection.js.map +1 -0
  1267. package/dist/projection/experimental/vertical-datum.d.ts +4 -0
  1268. package/dist/projection/experimental/vertical-datum.d.ts.map +1 -0
  1269. package/dist/projection/experimental/vertical-datum.js +43 -0
  1270. package/dist/projection/experimental/vertical-datum.js.map +1 -0
  1271. package/dist/projection/grids/velocity.cjs +92 -0
  1272. package/dist/projection/grids/velocity.cjs.map +6 -0
  1273. package/dist/projection/grids/velocity.d.ts +3 -0
  1274. package/dist/projection/grids/velocity.d.ts.map +1 -0
  1275. package/dist/projection/grids/velocity.js +5 -0
  1276. package/dist/projection/grids/velocity.js.map +1 -0
  1277. package/dist/projection/index.cjs +11504 -0
  1278. package/dist/projection/index.cjs.map +6 -0
  1279. package/dist/projection/index.d.ts +3 -0
  1280. package/dist/projection/index.d.ts.map +1 -0
  1281. package/dist/projection/index.js +6 -0
  1282. package/dist/projection/index.js.map +1 -0
  1283. package/dist/projection/lib/projection.d.ts +8 -0
  1284. package/dist/projection/lib/projection.d.ts.map +1 -0
  1285. package/dist/projection/lib/projection.js +115 -0
  1286. package/dist/projection/lib/projection.js.map +1 -0
  1287. package/dist/projection/numerical-derivative.d.ts +15 -0
  1288. package/dist/projection/numerical-derivative.d.ts.map +1 -0
  1289. package/dist/projection/numerical-derivative.js +47 -0
  1290. package/dist/projection/numerical-derivative.js.map +1 -0
  1291. package/dist/projection/operations.cjs +322 -0
  1292. package/dist/projection/operations.cjs.map +6 -0
  1293. package/dist/projection/operations.d.ts +89 -0
  1294. package/dist/projection/operations.d.ts.map +1 -0
  1295. package/dist/projection/operations.js +344 -0
  1296. package/dist/projection/operations.js.map +1 -0
  1297. package/dist/projection/pipeline.cjs +1961 -0
  1298. package/dist/projection/pipeline.cjs.map +6 -0
  1299. package/dist/projection/pipeline.d.ts +2 -0
  1300. package/dist/projection/pipeline.d.ts.map +1 -0
  1301. package/dist/projection/pipeline.js +5 -0
  1302. package/dist/projection/pipeline.js.map +1 -0
  1303. package/dist/projection/temporal.cjs +290 -0
  1304. package/dist/projection/temporal.cjs.map +6 -0
  1305. package/dist/projection/temporal.d.ts +31 -0
  1306. package/dist/projection/temporal.d.ts.map +1 -0
  1307. package/dist/projection/temporal.js +91 -0
  1308. package/dist/projection/temporal.js.map +1 -0
  1309. package/dist/projection/transform-analysis.cjs +1889 -0
  1310. package/dist/projection/transform-analysis.cjs.map +6 -0
  1311. package/dist/projection/transform-analysis.d.ts +43 -0
  1312. package/dist/projection/transform-analysis.d.ts.map +1 -0
  1313. package/dist/projection/transform-analysis.js +110 -0
  1314. package/dist/projection/transform-analysis.js.map +1 -0
  1315. package/dist/projection/types.cjs +18 -0
  1316. package/dist/projection/types.cjs.map +6 -0
  1317. package/dist/projection/types.d.ts +47 -0
  1318. package/dist/projection/types.d.ts.map +1 -0
  1319. package/dist/projection/types.js +5 -0
  1320. package/dist/projection/types.js.map +1 -0
  1321. package/dist/projection/web-mercator.cjs +171 -0
  1322. package/dist/projection/web-mercator.cjs.map +6 -0
  1323. package/dist/projection/web-mercator.d.ts +7 -0
  1324. package/dist/projection/web-mercator.d.ts.map +1 -0
  1325. package/dist/projection/web-mercator.js +113 -0
  1326. package/dist/projection/web-mercator.js.map +1 -0
  1327. package/dist/subdivide-globe-mesh.d.ts +20 -0
  1328. package/dist/subdivide-globe-mesh.d.ts.map +1 -0
  1329. package/dist/subdivide-globe-mesh.js +54 -0
  1330. package/dist/subdivide-globe-mesh.js.map +1 -0
  1331. package/dist/tile-matrix.cjs +94 -20
  1332. package/dist/tile-matrix.cjs.map +1 -1
  1333. package/dist/tile-matrix.d.ts +30 -8
  1334. package/dist/tile-matrix.d.ts.map +1 -1
  1335. package/dist/tile-matrix.js +125 -25
  1336. package/dist/tile-matrix.js.map +1 -1
  1337. package/dist/tiles.cjs +303 -0
  1338. package/dist/tiles.cjs.map +6 -0
  1339. package/dist/tiles.d.ts +5 -0
  1340. package/dist/tiles.d.ts.map +1 -0
  1341. package/dist/tiles.js +6 -0
  1342. package/dist/tiles.js.map +1 -0
  1343. package/dist/web-mercator.cjs +20 -0
  1344. package/dist/web-mercator.cjs.map +6 -0
  1345. package/dist/web-mercator.d.ts +2 -0
  1346. package/dist/web-mercator.d.ts.map +1 -0
  1347. package/dist/web-mercator.js +5 -0
  1348. package/dist/web-mercator.js.map +1 -0
  1349. package/dist/wkb/index.cjs +1050 -0
  1350. package/dist/wkb/index.cjs.map +6 -0
  1351. package/dist/wkb/index.d.ts +11 -0
  1352. package/dist/wkb/index.d.ts.map +1 -0
  1353. package/dist/wkb/index.js +9 -0
  1354. package/dist/wkb/index.js.map +1 -0
  1355. package/dist/wkb/types.d.ts +30 -0
  1356. package/dist/wkb/types.d.ts.map +1 -0
  1357. package/dist/wkb/types.js +34 -0
  1358. package/dist/wkb/types.js.map +1 -0
  1359. package/dist/wkb/wkb-builder.d.ts +91 -0
  1360. package/dist/wkb/wkb-builder.d.ts.map +1 -0
  1361. package/dist/wkb/wkb-builder.js +276 -0
  1362. package/dist/wkb/wkb-builder.js.map +1 -0
  1363. package/dist/wkb/wkb-reader.d.ts +74 -0
  1364. package/dist/wkb/wkb-reader.d.ts.map +1 -0
  1365. package/dist/wkb/wkb-reader.js +251 -0
  1366. package/dist/wkb/wkb-reader.js.map +1 -0
  1367. package/dist/wkb/wkb.d.ts +21 -0
  1368. package/dist/wkb/wkb.d.ts.map +1 -0
  1369. package/dist/wkb/wkb.js +204 -0
  1370. package/dist/wkb/wkb.js.map +1 -0
  1371. package/dist/wkb/wkt.d.ts +19 -0
  1372. package/dist/wkb/wkt.d.ts.map +1 -0
  1373. package/dist/wkb/wkt.js +321 -0
  1374. package/dist/wkb/wkt.js.map +1 -0
  1375. package/package.json +1053 -6
  1376. package/projection/APACHE-2.0-LICENSE.txt +55 -0
  1377. package/projection/PROJ-LICENSE.txt +37 -0
  1378. package/projection/PROJ4-LICENSE.md +29 -0
  1379. package/projection/THIRD-PARTY-NOTICES.md +163 -0
  1380. package/src/crs/crs-metadata.ts +63 -0
  1381. package/src/crs/crs.ts +36 -0
  1382. package/src/crs/index.ts +65 -0
  1383. package/src/crs/proj-string.ts +239 -0
  1384. package/src/crs/projjson-schema-constants.ts +9 -0
  1385. package/src/crs/projjson-types.ts +665 -0
  1386. package/src/crs/spatial-reference.ts +221 -0
  1387. package/src/crs/units-table.ts +51 -0
  1388. package/src/crs/wkt-crs.ts +790 -0
  1389. package/src/ellipsoid-helpers/ellipsoid-transform.ts +1 -1
  1390. package/src/ellipsoid-tangent-plane.ts +1 -1
  1391. package/src/ellipsoid.ts +1 -1
  1392. package/src/entries/ellipsoid.ts +8 -0
  1393. package/src/expressions.ts +34 -0
  1394. package/src/geoarrow/builder-entry.ts +18 -0
  1395. package/src/geoarrow/builder.ts +860 -0
  1396. package/src/geoarrow/codecs.ts +1274 -0
  1397. package/src/geoarrow/index.ts +100 -0
  1398. package/src/geoarrow/kernels.ts +1290 -0
  1399. package/src/geoarrow/layout.ts +899 -0
  1400. package/src/geoarrow/tessellate.ts +133 -0
  1401. package/src/geoarrow/tessellation-entry.ts +7 -0
  1402. package/src/geoarrow/types.ts +219 -0
  1403. package/src/geoarrow/views.ts +150 -0
  1404. package/src/geoarrow/wkb-entry.ts +13 -0
  1405. package/src/geoarrow/worker.ts +20 -0
  1406. package/src/globe.ts +14 -0
  1407. package/src/index.ts +3 -30
  1408. package/src/make-obb-from-region.ts +1 -1
  1409. package/src/projection/analysis.ts +284 -0
  1410. package/src/projection/bulk.ts +343 -0
  1411. package/src/projection/datums.ts +13 -0
  1412. package/src/projection/deformation.ts +5 -0
  1413. package/src/projection/experimental/catalogue-kernel.ts +65 -0
  1414. package/src/projection/experimental/common/adjust_lat.ts +11 -0
  1415. package/src/projection/experimental/common/adjust_lon.ts +14 -0
  1416. package/src/projection/experimental/common/asinhy.ts +14 -0
  1417. package/src/projection/experimental/common/asinz.ts +11 -0
  1418. package/src/projection/experimental/common/authlat.ts +9 -0
  1419. package/src/projection/experimental/common/authset.ts +25 -0
  1420. package/src/projection/experimental/common/clens.ts +20 -0
  1421. package/src/projection/experimental/common/clens_cmplx.ts +43 -0
  1422. package/src/projection/experimental/common/constants.ts +15 -0
  1423. package/src/projection/experimental/common/cosh.ts +10 -0
  1424. package/src/projection/experimental/common/e0fn.ts +8 -0
  1425. package/src/projection/experimental/common/e1fn.ts +8 -0
  1426. package/src/projection/experimental/common/e2fn.ts +8 -0
  1427. package/src/projection/experimental/common/e3fn.ts +8 -0
  1428. package/src/projection/experimental/common/fL.ts +10 -0
  1429. package/src/projection/experimental/common/gN.ts +9 -0
  1430. package/src/projection/experimental/common/gatg.ts +20 -0
  1431. package/src/projection/experimental/common/hypot.ts +13 -0
  1432. package/src/projection/experimental/common/imlfn.ts +23 -0
  1433. package/src/projection/experimental/common/invlatiso.ts +20 -0
  1434. package/src/projection/experimental/common/iqsfnz.ts +45 -0
  1435. package/src/projection/experimental/common/latiso.ts +21 -0
  1436. package/src/projection/experimental/common/log1py.ts +11 -0
  1437. package/src/projection/experimental/common/meridian-distance.ts +45 -0
  1438. package/src/projection/experimental/common/mlfn.ts +8 -0
  1439. package/src/projection/experimental/common/msfnz.ts +9 -0
  1440. package/src/projection/experimental/common/phi2z.ts +22 -0
  1441. package/src/projection/experimental/common/pj_enfn.ts +29 -0
  1442. package/src/projection/experimental/common/pj_inv_mlfn.ts +28 -0
  1443. package/src/projection/experimental/common/pj_mlfn.ts +10 -0
  1444. package/src/projection/experimental/common/qsfnz.ts +17 -0
  1445. package/src/projection/experimental/common/sign.ts +8 -0
  1446. package/src/projection/experimental/common/sinh.ts +10 -0
  1447. package/src/projection/experimental/common/srat.ts +8 -0
  1448. package/src/projection/experimental/common/tsfnz.ts +13 -0
  1449. package/src/projection/experimental/common/vincenty.ts +180 -0
  1450. package/src/projection/experimental/core.ts +77 -0
  1451. package/src/projection/experimental/crs/datum-catalog.ts +65 -0
  1452. package/src/projection/experimental/crs/datum-table.ts +1360 -0
  1453. package/src/projection/experimental/crs/ellipsoid-table.ts +230 -0
  1454. package/src/projection/experimental/crs/normalize.ts +306 -0
  1455. package/src/projection/experimental/crs/primemeridian-table.ts +22 -0
  1456. package/src/projection/experimental/crs/projjson.ts +12 -0
  1457. package/src/projection/experimental/crs/spatial-reference.ts +115 -0
  1458. package/src/projection/experimental/crs/structured.ts +580 -0
  1459. package/src/projection/experimental/crs/types.ts +97 -0
  1460. package/src/projection/experimental/crs/wkt.ts +201 -0
  1461. package/src/projection/experimental/crs-descriptor.ts +250 -0
  1462. package/src/projection/experimental/crs-rendering-scale.ts +115 -0
  1463. package/src/projection/experimental/datum.ts +185 -0
  1464. package/src/projection/experimental/deformation-inverse.ts +125 -0
  1465. package/src/projection/experimental/deformation.ts +30 -0
  1466. package/src/projection/experimental/entries/projections/aea.ts +5 -0
  1467. package/src/projection/experimental/entries/projections/aeqd.ts +5 -0
  1468. package/src/projection/experimental/entries/projections/bonne.ts +5 -0
  1469. package/src/projection/experimental/entries/projections/cass.ts +5 -0
  1470. package/src/projection/experimental/entries/projections/cea.ts +5 -0
  1471. package/src/projection/experimental/entries/projections/eck6.ts +5 -0
  1472. package/src/projection/experimental/entries/projections/eqc.ts +5 -0
  1473. package/src/projection/experimental/entries/projections/eqdc.ts +5 -0
  1474. package/src/projection/experimental/entries/projections/eqearth.ts +5 -0
  1475. package/src/projection/experimental/entries/projections/equi.ts +5 -0
  1476. package/src/projection/experimental/entries/projections/etmerc.ts +5 -0
  1477. package/src/projection/experimental/entries/projections/geocent.ts +5 -0
  1478. package/src/projection/experimental/entries/projections/geos.ts +5 -0
  1479. package/src/projection/experimental/entries/projections/gnom.ts +5 -0
  1480. package/src/projection/experimental/entries/projections/gstmerc.ts +5 -0
  1481. package/src/projection/experimental/entries/projections/krovak.ts +5 -0
  1482. package/src/projection/experimental/entries/projections/laea.ts +5 -0
  1483. package/src/projection/experimental/entries/projections/lcc.ts +5 -0
  1484. package/src/projection/experimental/entries/projections/merc.ts +5 -0
  1485. package/src/projection/experimental/entries/projections/mill.ts +5 -0
  1486. package/src/projection/experimental/entries/projections/moll.ts +5 -0
  1487. package/src/projection/experimental/entries/projections/nzmg.ts +5 -0
  1488. package/src/projection/experimental/entries/projections/ob_tran.ts +5 -0
  1489. package/src/projection/experimental/entries/projections/omerc.ts +5 -0
  1490. package/src/projection/experimental/entries/projections/ortho.ts +5 -0
  1491. package/src/projection/experimental/entries/projections/poly.ts +5 -0
  1492. package/src/projection/experimental/entries/projections/qsc.ts +5 -0
  1493. package/src/projection/experimental/entries/projections/robin.ts +5 -0
  1494. package/src/projection/experimental/entries/projections/sinu.ts +5 -0
  1495. package/src/projection/experimental/entries/projections/somerc.ts +5 -0
  1496. package/src/projection/experimental/entries/projections/stere.ts +5 -0
  1497. package/src/projection/experimental/entries/projections/sterea.ts +5 -0
  1498. package/src/projection/experimental/entries/projections/tmerc.ts +5 -0
  1499. package/src/projection/experimental/entries/projections/tpers.ts +5 -0
  1500. package/src/projection/experimental/entries/projections/utm.ts +5 -0
  1501. package/src/projection/experimental/entries/projections/vandg.ts +5 -0
  1502. package/src/projection/experimental/exact-helmert.ts +58 -0
  1503. package/src/projection/experimental/flat-projection.ts +80 -0
  1504. package/src/projection/experimental/grids/geotiff.ts +88 -0
  1505. package/src/projection/experimental/grids/grid.ts +141 -0
  1506. package/src/projection/experimental/grids/gtx.ts +31 -0
  1507. package/src/projection/experimental/grids/ntv2.ts +71 -0
  1508. package/src/projection/experimental/grids/scalar-geotiff.ts +231 -0
  1509. package/src/projection/experimental/grids/types.ts +35 -0
  1510. package/src/projection/experimental/grids/velocity-geotiff.ts +82 -0
  1511. package/src/projection/experimental/grids/velocity.ts +58 -0
  1512. package/src/projection/experimental/grids/vertical-geotiff.ts +28 -0
  1513. package/src/projection/experimental/grids/vertical.ts +99 -0
  1514. package/src/projection/experimental/helmert-flat.ts +76 -0
  1515. package/src/projection/experimental/index.ts +59 -0
  1516. package/src/projection/experimental/kernel.ts +142 -0
  1517. package/src/projection/experimental/kernels/aea.ts +170 -0
  1518. package/src/projection/experimental/kernels/aeqd.ts +171 -0
  1519. package/src/projection/experimental/kernels/bonne.ts +141 -0
  1520. package/src/projection/experimental/kernels/cass.ts +140 -0
  1521. package/src/projection/experimental/kernels/cea.ts +71 -0
  1522. package/src/projection/experimental/kernels/eck6.ts +36 -0
  1523. package/src/projection/experimental/kernels/eqdc.ts +137 -0
  1524. package/src/projection/experimental/kernels/eqearth.ts +136 -0
  1525. package/src/projection/experimental/kernels/equi.ts +53 -0
  1526. package/src/projection/experimental/kernels/etmerc.ts +190 -0
  1527. package/src/projection/experimental/kernels/gauss.ts +79 -0
  1528. package/src/projection/experimental/kernels/geos.ts +183 -0
  1529. package/src/projection/experimental/kernels/gnom.ts +113 -0
  1530. package/src/projection/experimental/kernels/gstmerc.ts +74 -0
  1531. package/src/projection/experimental/kernels/krovak.ts +166 -0
  1532. package/src/projection/experimental/kernels/laea.ts +297 -0
  1533. package/src/projection/experimental/kernels/lcc.ts +147 -0
  1534. package/src/projection/experimental/kernels/mill.ts +60 -0
  1535. package/src/projection/experimental/kernels/moll.ts +105 -0
  1536. package/src/projection/experimental/kernels/nzmg.ts +249 -0
  1537. package/src/projection/experimental/kernels/omerc.ts +343 -0
  1538. package/src/projection/experimental/kernels/ortho.ts +106 -0
  1539. package/src/projection/experimental/kernels/poly.ts +156 -0
  1540. package/src/projection/experimental/kernels/qsc.ts +369 -0
  1541. package/src/projection/experimental/kernels/robin.ts +189 -0
  1542. package/src/projection/experimental/kernels/sinu.ts +116 -0
  1543. package/src/projection/experimental/kernels/somerc.ts +112 -0
  1544. package/src/projection/experimental/kernels/stere.ts +221 -0
  1545. package/src/projection/experimental/kernels/sterea.ts +80 -0
  1546. package/src/projection/experimental/kernels/tmerc.ts +227 -0
  1547. package/src/projection/experimental/kernels/tpers.ts +187 -0
  1548. package/src/projection/experimental/kernels/vandg.ts +147 -0
  1549. package/src/projection/experimental/kinematic-helmert-flat.ts +85 -0
  1550. package/src/projection/experimental/kinematic-helmert.ts +132 -0
  1551. package/src/projection/experimental/lazy-projection.ts +179 -0
  1552. package/src/projection/experimental/lazy-projections/aea.ts +10 -0
  1553. package/src/projection/experimental/lazy-projections/aeqd.ts +12 -0
  1554. package/src/projection/experimental/lazy-projections/bonne.ts +10 -0
  1555. package/src/projection/experimental/lazy-projections/cass.ts +10 -0
  1556. package/src/projection/experimental/lazy-projections/cea.ts +12 -0
  1557. package/src/projection/experimental/lazy-projections/eck6.ts +10 -0
  1558. package/src/projection/experimental/lazy-projections/eqc.ts +15 -0
  1559. package/src/projection/experimental/lazy-projections/eqdc.ts +11 -0
  1560. package/src/projection/experimental/lazy-projections/eqearth.ts +10 -0
  1561. package/src/projection/experimental/lazy-projections/equi.ts +10 -0
  1562. package/src/projection/experimental/lazy-projections/etmerc.ts +12 -0
  1563. package/src/projection/experimental/lazy-projections/geocent.ts +10 -0
  1564. package/src/projection/experimental/lazy-projections/geos.ts +10 -0
  1565. package/src/projection/experimental/lazy-projections/gnom.ts +10 -0
  1566. package/src/projection/experimental/lazy-projections/gstmerc.ts +13 -0
  1567. package/src/projection/experimental/lazy-projections/index.ts +41 -0
  1568. package/src/projection/experimental/lazy-projections/krovak.ts +18 -0
  1569. package/src/projection/experimental/lazy-projections/laea.ts +12 -0
  1570. package/src/projection/experimental/lazy-projections/lcc.ts +22 -0
  1571. package/src/projection/experimental/lazy-projections/merc.ts +19 -0
  1572. package/src/projection/experimental/lazy-projections/mill.ts +11 -0
  1573. package/src/projection/experimental/lazy-projections/moll.ts +10 -0
  1574. package/src/projection/experimental/lazy-projections/nzmg.ts +11 -0
  1575. package/src/projection/experimental/lazy-projections/ob_tran.ts +25 -0
  1576. package/src/projection/experimental/lazy-projections/omerc.ts +22 -0
  1577. package/src/projection/experimental/lazy-projections/ortho.ts +10 -0
  1578. package/src/projection/experimental/lazy-projections/poly.ts +10 -0
  1579. package/src/projection/experimental/lazy-projections/qsc.ts +16 -0
  1580. package/src/projection/experimental/lazy-projections/robin.ts +10 -0
  1581. package/src/projection/experimental/lazy-projections/sinu.ts +10 -0
  1582. package/src/projection/experimental/lazy-projections/somerc.ts +12 -0
  1583. package/src/projection/experimental/lazy-projections/stere.ts +18 -0
  1584. package/src/projection/experimental/lazy-projections/sterea.ts +20 -0
  1585. package/src/projection/experimental/lazy-projections/tmerc.ts +22 -0
  1586. package/src/projection/experimental/lazy-projections/tpers.ts +11 -0
  1587. package/src/projection/experimental/lazy-projections/utm.ts +12 -0
  1588. package/src/projection/experimental/lazy-projections/vandg.ts +10 -0
  1589. package/src/projection/experimental/mutable-projection.ts +63 -0
  1590. package/src/projection/experimental/numeric-flat.ts +73 -0
  1591. package/src/projection/experimental/parameters.ts +36 -0
  1592. package/src/projection/experimental/projection-descriptor.ts +79 -0
  1593. package/src/projection/experimental/projection-engine.ts +81 -0
  1594. package/src/projection/experimental/projection-pipeline.ts +1047 -0
  1595. package/src/projection/experimental/projection-scratch.ts +26 -0
  1596. package/src/projection/experimental/projections/aea.ts +41 -0
  1597. package/src/projection/experimental/projections/aeqd.ts +27 -0
  1598. package/src/projection/experimental/projections/bonne.ts +38 -0
  1599. package/src/projection/experimental/projections/cass.ts +39 -0
  1600. package/src/projection/experimental/projections/cea.ts +31 -0
  1601. package/src/projection/experimental/projections/eck6.ts +30 -0
  1602. package/src/projection/experimental/projections/eqdc.ts +40 -0
  1603. package/src/projection/experimental/projections/eqearth.ts +72 -0
  1604. package/src/projection/experimental/projections/equi.ts +31 -0
  1605. package/src/projection/experimental/projections/equidistant-cylindrical.ts +79 -0
  1606. package/src/projection/experimental/projections/geocentric.ts +42 -0
  1607. package/src/projection/experimental/projections/geos.ts +46 -0
  1608. package/src/projection/experimental/projections/gnom.ts +34 -0
  1609. package/src/projection/experimental/projections/gstmerc.ts +43 -0
  1610. package/src/projection/experimental/projections/krovak.ts +61 -0
  1611. package/src/projection/experimental/projections/laea.ts +39 -0
  1612. package/src/projection/experimental/projections/lcc.ts +67 -0
  1613. package/src/projection/experimental/projections/mercator.ts +150 -0
  1614. package/src/projection/experimental/projections/mill.ts +30 -0
  1615. package/src/projection/experimental/projections/moll.ts +30 -0
  1616. package/src/projection/experimental/projections/nzmg.ts +47 -0
  1617. package/src/projection/experimental/projections/ob-tran.ts +279 -0
  1618. package/src/projection/experimental/projections/omerc.ts +86 -0
  1619. package/src/projection/experimental/projections/ortho.ts +34 -0
  1620. package/src/projection/experimental/projections/poly.ts +40 -0
  1621. package/src/projection/experimental/projections/qsc.ts +84 -0
  1622. package/src/projection/experimental/projections/robin.ts +30 -0
  1623. package/src/projection/experimental/projections/sinu.ts +30 -0
  1624. package/src/projection/experimental/projections/somerc.ts +39 -0
  1625. package/src/projection/experimental/projections/stere.ts +59 -0
  1626. package/src/projection/experimental/projections/sterea.ts +61 -0
  1627. package/src/projection/experimental/projections/tpers.ts +59 -0
  1628. package/src/projection/experimental/projections/transverse-mercator.ts +89 -0
  1629. package/src/projection/experimental/projections/utm.ts +50 -0
  1630. package/src/projection/experimental/projections/vandg.ts +30 -0
  1631. package/src/projection/experimental/rendering-profile/angular-rendering-profile.ts +117 -0
  1632. package/src/projection/experimental/rendering-profile/azimuthal-rendering-bounds.ts +181 -0
  1633. package/src/projection/experimental/rendering-profile/geographic-bounds.ts +190 -0
  1634. package/src/projection/experimental/rendering-profile/geographic-rendering-profile.ts +29 -0
  1635. package/src/projection/experimental/rendering-profile/geostationary-rendering-profile.ts +128 -0
  1636. package/src/projection/experimental/rendering-profile/identity-rendering-profile.ts +15 -0
  1637. package/src/projection/experimental/rendering-profile/rectangular-rendering-profile.ts +133 -0
  1638. package/src/projection/experimental/rendering-profile/regional-rendering-bounds.ts +252 -0
  1639. package/src/projection/experimental/rendering-profile/rendering-bounds.ts +163 -0
  1640. package/src/projection/experimental/rendering-profile/rendering-profile.ts +96 -0
  1641. package/src/projection/experimental/rendering-profile/spherical-rendering-domain.ts +175 -0
  1642. package/src/projection/experimental/scalar-output.ts +74 -0
  1643. package/src/projection/experimental/spatial-deformation.ts +115 -0
  1644. package/src/projection/experimental/types.ts +181 -0
  1645. package/src/projection/experimental/typescript-projection.ts +581 -0
  1646. package/src/projection/experimental/vertical-datum.ts +39 -0
  1647. package/src/projection/grids/velocity.ts +5 -0
  1648. package/src/projection/index.ts +6 -0
  1649. package/src/projection/lib/projection.ts +161 -0
  1650. package/src/projection/numerical-derivative.ts +50 -0
  1651. package/src/projection/operations.ts +479 -0
  1652. package/src/projection/pipeline.ts +4 -0
  1653. package/src/projection/temporal.ts +133 -0
  1654. package/src/projection/transform-analysis.ts +169 -0
  1655. package/src/projection/types.ts +79 -0
  1656. package/src/projection/web-mercator.ts +148 -0
  1657. package/src/subdivide-globe-mesh.ts +75 -0
  1658. package/src/tile-matrix.ts +205 -34
  1659. package/src/tiles.ts +28 -0
  1660. package/src/web-mercator.ts +5 -0
  1661. package/src/wkb/index.ts +38 -0
  1662. package/src/wkb/types.ts +54 -0
  1663. package/src/wkb/wkb-builder.ts +386 -0
  1664. package/src/wkb/wkb-reader.ts +401 -0
  1665. package/src/wkb/wkb.ts +255 -0
  1666. package/src/wkb/wkt.ts +375 -0
@@ -0,0 +1,1889 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // dist/projection/transform-analysis.js
20
+ var transform_analysis_exports = {};
21
+ __export(transform_analysis_exports, {
22
+ createProjectionTransformAnalysis: () => createProjectionTransformAnalysis
23
+ });
24
+ module.exports = __toCommonJS(transform_analysis_exports);
25
+
26
+ // dist/crs/spatial-reference.js
27
+ function inferCRSRepresentation(definition) {
28
+ if (typeof definition === "object") {
29
+ return "projjson";
30
+ }
31
+ const text = definition.trim();
32
+ if (/^[A-Z][A-Z0-9_]*\s*[\[(]/i.test(text)) {
33
+ return "wkt";
34
+ }
35
+ if (/(?:^|\s)\+?proj=/i.test(text)) {
36
+ return "proj-string";
37
+ }
38
+ if (/^[A-Z][A-Z0-9._-]*(?::[A-Z0-9._-]+)+$/i.test(text) || /^urn:ogc:def:crs:/i.test(text) || /^https?:\/\//i.test(text) || /^[A-Z][A-Z0-9._-]*$/i.test(text)) {
39
+ return "identifier";
40
+ }
41
+ return "opaque";
42
+ }
43
+
44
+ // dist/crs/proj-string.js
45
+ var PROJStringSyntaxError = class extends SyntaxError {
46
+ /** Create a PROJ string syntax error at a source location. */
47
+ constructor(message, source, offset) {
48
+ const location = getSourceLocation(source, offset);
49
+ super(`${message} at ${location.line}:${location.column}`);
50
+ this.name = "PROJStringSyntaxError";
51
+ this.offset = offset;
52
+ this.line = location.line;
53
+ this.column = location.column;
54
+ }
55
+ };
56
+ function parsePROJString(text) {
57
+ const tokens = tokenizePROJString(text);
58
+ if (tokens.length === 0) {
59
+ throw new PROJStringSyntaxError("PROJ string is empty", text, 0);
60
+ }
61
+ const parameters = tokens.map((token) => parseParameter(token.raw, token.offset, text));
62
+ return { type: "proj-string", parameters };
63
+ }
64
+ var DMS_VALUE = /^[+-]?\d+(?:\.\d*)?d(?:\d+(?:\.\d*)?'(?:\d+(?:\.\d*)?")?)?[NSEW]?$/i;
65
+ function parseParameter(rawToken, offset, source) {
66
+ const token = rawToken.startsWith("+") ? rawToken.slice(1) : rawToken;
67
+ if (!token) {
68
+ throw new PROJStringSyntaxError("Expected a parameter after '+'", source, offset);
69
+ }
70
+ const equalsIndex = token.indexOf("=");
71
+ const name = equalsIndex < 0 ? token : token.slice(0, equalsIndex);
72
+ if (!name || /[\s+=]/.test(name)) {
73
+ throw new PROJStringSyntaxError(`Invalid PROJ parameter name '${name}'`, source, offset);
74
+ }
75
+ if (equalsIndex < 0) {
76
+ return { type: "parameter", name };
77
+ }
78
+ const rawValue = token.slice(equalsIndex + 1);
79
+ const value = decodeParameterValue(rawValue, source, offset + equalsIndex + 1);
80
+ return { type: "parameter", name, value, rawValue };
81
+ }
82
+ function tokenizePROJString(source) {
83
+ const tokens = [];
84
+ let offset = 0;
85
+ while (offset < source.length) {
86
+ while (offset < source.length && /\s/.test(source[offset])) {
87
+ offset++;
88
+ }
89
+ if (offset >= source.length) {
90
+ break;
91
+ }
92
+ const start = offset;
93
+ let quote = null;
94
+ let escaped = false;
95
+ while (offset < source.length) {
96
+ const character = source[offset];
97
+ if (escaped) {
98
+ escaped = false;
99
+ offset++;
100
+ continue;
101
+ }
102
+ if (character === "\\" && quote) {
103
+ escaped = true;
104
+ offset++;
105
+ continue;
106
+ }
107
+ if (quote) {
108
+ if (character === quote) {
109
+ quote = null;
110
+ }
111
+ offset++;
112
+ continue;
113
+ }
114
+ if ((character === '"' || character === "'") && source[offset - 1] === "=") {
115
+ quote = character;
116
+ offset++;
117
+ continue;
118
+ }
119
+ if (/\s/.test(character)) {
120
+ break;
121
+ }
122
+ offset++;
123
+ }
124
+ if (quote) {
125
+ throw new PROJStringSyntaxError("Unterminated quoted PROJ value", source, start);
126
+ }
127
+ tokens.push({ raw: source.slice(start, offset), offset: start });
128
+ }
129
+ return tokens;
130
+ }
131
+ function decodeParameterValue(rawValue, source, offset) {
132
+ if (!rawValue) {
133
+ return "";
134
+ }
135
+ const first = rawValue[0];
136
+ if (first !== '"' && first !== "'") {
137
+ if ((rawValue.includes('"') || rawValue.includes("'")) && !DMS_VALUE.test(rawValue)) {
138
+ throw new PROJStringSyntaxError("Quote must begin a PROJ parameter value", source, offset);
139
+ }
140
+ return rawValue;
141
+ }
142
+ if (rawValue[rawValue.length - 1] !== first) {
143
+ throw new PROJStringSyntaxError("Unterminated quoted PROJ value", source, offset);
144
+ }
145
+ let value = "";
146
+ for (let index = 1; index < rawValue.length - 1; index++) {
147
+ const character = rawValue[index];
148
+ if (character === "\\" && index + 1 < rawValue.length - 1) {
149
+ value += rawValue[++index];
150
+ } else {
151
+ value += character;
152
+ }
153
+ }
154
+ return value;
155
+ }
156
+ function getSourceLocation(source, offset) {
157
+ let line = 1;
158
+ let column = 1;
159
+ for (let index = 0; index < offset && index < source.length; index++) {
160
+ if (source[index] === "\n") {
161
+ line++;
162
+ column = 1;
163
+ } else {
164
+ column++;
165
+ }
166
+ }
167
+ return { line, column };
168
+ }
169
+
170
+ // dist/projection/experimental/crs/types.js
171
+ var _a;
172
+ var CRS_ERROR = /* @__PURE__ */ Symbol.for("@math.gl/projection/TypeScriptCRSError");
173
+ var TypeScriptCRSError = class _TypeScriptCRSError extends Error {
174
+ static [(_a = CRS_ERROR, Symbol.hasInstance)](value) {
175
+ if (this !== _TypeScriptCRSError)
176
+ return Function.prototype[Symbol.hasInstance].call(this, value);
177
+ return value instanceof Error && value[CRS_ERROR] === true;
178
+ }
179
+ constructor(reason, message) {
180
+ super(message);
181
+ this.reason = reason;
182
+ this[_a] = true;
183
+ this.name = "TypeScriptCRSError";
184
+ }
185
+ };
186
+ function unsupportedStage(message) {
187
+ throw new TypeScriptCRSError("missing-transform-stage", message);
188
+ }
189
+
190
+ // dist/projection/experimental/crs/spatial-reference.js
191
+ function resolveCRSInput(input, options) {
192
+ if (typeof input === "string" || "type" in input)
193
+ return { definition: input, lossy: false };
194
+ const metadata = input;
195
+ const spatialReference = "crs" in metadata ? metadata : void 0;
196
+ const reference = "crs" in metadata ? metadata.crs : metadata;
197
+ if (reference.state !== "explicit" && reference.state !== "default")
198
+ throw new TypeScriptCRSError("unknown-syntax", "Cannot transform an " + reference.state + " CRS reference");
199
+ let lossy = false;
200
+ if ((spatialReference == null ? void 0 : spatialReference.coordinateEpoch) !== void 0)
201
+ unsupportedStage("Coordinate epochs require a time-dependent transformation");
202
+ if ((spatialReference == null ? void 0 : spatialReference.vertical) && spatialReference.vertical.state !== "absent") {
203
+ if (options.mode !== "horizontal")
204
+ unsupportedStage("A separately declared vertical CRS requires explicit horizontal extraction");
205
+ lossy = true;
206
+ }
207
+ return { definition: reference.definition, spatialReference, lossy };
208
+ }
209
+ function applySpatialReference(crs, reference) {
210
+ var _a2;
211
+ if (!reference)
212
+ return crs;
213
+ if (reference.coordinateFrame !== "unknown" && reference.coordinateFrame !== crs.kind)
214
+ throw new Error("SpatialReference coordinate frame disagrees with its CRS");
215
+ const order = reference.coordinateOrder;
216
+ const names = crs.kind === "geocentric" ? { x: "e", y: "n", z: "u" } : {
217
+ longitude: "e",
218
+ lon: "e",
219
+ latitude: "n",
220
+ lat: "n",
221
+ easting: "e",
222
+ northing: "n",
223
+ height: "u",
224
+ altitude: "u",
225
+ x: "e",
226
+ y: "n",
227
+ z: "u"
228
+ };
229
+ let storedAxis;
230
+ if (order.length) {
231
+ storedAxis = order.slice(0, 3).map((name) => names[name.toLowerCase()] || "?").join("");
232
+ if (storedAxis.length === 2)
233
+ storedAxis += "u";
234
+ if (storedAxis.length !== 3 || !storedAxis.includes("e") || !storedAxis.includes("n") || !storedAxis.includes("u"))
235
+ unsupportedStage("Unsupported SpatialReference coordinate order");
236
+ if (order.length > 4 || order.length > 3 && !["m", "measure"].includes(order[3]))
237
+ unsupportedStage("Unsupported fourth coordinate component");
238
+ }
239
+ if ((_a2 = reference.units) == null ? void 0 : _a2.length) {
240
+ const units = {
241
+ m: 1,
242
+ meter: 1,
243
+ metre: 1,
244
+ meters: 1,
245
+ metres: 1,
246
+ km: 1e3,
247
+ ft: 0.3048,
248
+ "us-ft": 1200 / 3937,
249
+ degree: Math.PI / 180,
250
+ degrees: Math.PI / 180,
251
+ radian: 1,
252
+ radians: 1,
253
+ grad: Math.PI / 200
254
+ };
255
+ for (let i = 0; i < Math.min(reference.units.length, 3); i++) {
256
+ const vertical = (storedAxis || "enu")[i] === "u";
257
+ const expected = crs.kind === "geocentric" ? crs.toMeter : vertical ? crs.verticalUnit : crs.kind === "geographic" ? crs.angularUnit : crs.toMeter;
258
+ if (Math.abs((units[reference.units[i]] ?? NaN) - expected) > 1e-12 || units[reference.units[i]] === void 0)
259
+ unsupportedStage("SpatialReference units disagree with its CRS");
260
+ }
261
+ }
262
+ return Object.freeze({ ...crs, storedAxis });
263
+ }
264
+
265
+ // dist/projection/experimental/parameters.js
266
+ var DEGREES_TO_RADIANS = Math.PI / 180;
267
+ function numberParameter(parameters, name, fallback) {
268
+ if (!Object.prototype.hasOwnProperty.call(parameters, name))
269
+ return fallback;
270
+ const value = parameters[name];
271
+ if (typeof value !== "string" || !/^[+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?$/i.test(value)) {
272
+ throw new Error(`Invalid numeric PROJ parameter: +${name}`);
273
+ }
274
+ const number = Number(value);
275
+ if (!Number.isFinite(number))
276
+ throw new Error(`Invalid numeric PROJ parameter: +${name}`);
277
+ return number;
278
+ }
279
+ function wrapLongitude(longitude, over = false) {
280
+ if (over || Math.abs(longitude) <= Math.PI)
281
+ return longitude;
282
+ const circle = 2 * Math.PI;
283
+ return ((longitude + Math.PI) % circle + circle) % circle - Math.PI;
284
+ }
285
+
286
+ // dist/projection/experimental/crs/datum-catalog.js
287
+ var wgs84 = { towgs84: "0,0,0", ellipse: "WGS84" };
288
+ var nad83 = { towgs84: "0,0,0", ellipse: "GRS80" };
289
+ var builtins = {
290
+ wgs84,
291
+ WGS84: wgs84,
292
+ nad83,
293
+ North_American_Datum_1983: nad83
294
+ };
295
+ var resolved = /* @__PURE__ */ new WeakMap();
296
+ var datumNameKey = (name) => name.toLowerCase().replace(/[\s_-]/g, "");
297
+ function getDatumDefinitions(options) {
298
+ var _a2;
299
+ if (!((_a2 = options.datumCatalogs) == null ? void 0 : _a2.length))
300
+ return builtins;
301
+ const cached = resolved.get(options);
302
+ if ((cached == null ? void 0 : cached.catalogs) === options.datumCatalogs)
303
+ return cached.definitions;
304
+ const definitions = Object.assign(/* @__PURE__ */ Object.create(null), builtins);
305
+ const names = new Map(Object.entries(builtins).map(([name, definition]) => [
306
+ datumNameKey(name),
307
+ { definition, owner: -1 }
308
+ ]));
309
+ options.datumCatalogs.forEach((catalog, owner) => {
310
+ if (!catalog.name || !catalog.datums)
311
+ throw new Error("Invalid datum catalogue plugin");
312
+ for (const [name, definition] of Object.entries(catalog.datums)) {
313
+ const key = datumNameKey(name);
314
+ if (!key || key === "none" || !definition || ["ellipse", "towgs84", "nadgrids"].some((field) => definition[field] !== void 0 && typeof definition[field] !== "string"))
315
+ throw new Error("Invalid datum definition: " + name);
316
+ const previous = names.get(key);
317
+ if (previous && (previous.owner !== owner || previous.definition.ellipse !== definition.ellipse || previous.definition.towgs84 !== definition.towgs84 || previous.definition.nadgrids !== definition.nadgrids))
318
+ throw new Error("Conflicting datum registration: " + name);
319
+ names.set(key, { definition, owner });
320
+ definitions[name] = definition;
321
+ }
322
+ });
323
+ resolved.set(options, { catalogs: options.datumCatalogs, definitions });
324
+ return definitions;
325
+ }
326
+
327
+ // dist/projection/experimental/crs/ellipsoid-table.js
328
+ var ellipsoids = {
329
+ MERIT: {
330
+ a: 6378137,
331
+ rf: 298.257,
332
+ ellipseName: "MERIT 1983"
333
+ },
334
+ SGS85: {
335
+ a: 6378136,
336
+ rf: 298.257,
337
+ ellipseName: "Soviet Geodetic System 85"
338
+ },
339
+ GRS80: {
340
+ a: 6378137,
341
+ rf: 298.257222101,
342
+ ellipseName: "GRS 1980(IUGG, 1980)"
343
+ },
344
+ IAU76: {
345
+ a: 6378140,
346
+ rf: 298.257,
347
+ ellipseName: "IAU 1976"
348
+ },
349
+ airy: {
350
+ a: 6377563396e-3,
351
+ b: 635625691e-2,
352
+ ellipseName: "Airy 1830"
353
+ },
354
+ APL4: {
355
+ a: 6378137,
356
+ rf: 298.25,
357
+ ellipseName: "Appl. Physics. 1965"
358
+ },
359
+ NWL9D: {
360
+ a: 6378145,
361
+ rf: 298.25,
362
+ ellipseName: "Naval Weapons Lab., 1965"
363
+ },
364
+ mod_airy: {
365
+ a: 6377340189e-3,
366
+ b: 6356034446e-3,
367
+ ellipseName: "Modified Airy"
368
+ },
369
+ andrae: {
370
+ a: 637710443e-2,
371
+ rf: 300,
372
+ ellipseName: "Andrae 1876 (Den., Iclnd.)"
373
+ },
374
+ aust_SA: {
375
+ a: 6378160,
376
+ rf: 298.25,
377
+ ellipseName: "Australian Natl & S. Amer. 1969"
378
+ },
379
+ GRS67: {
380
+ a: 6378160,
381
+ rf: 298.247167427,
382
+ ellipseName: "GRS 67(IUGG 1967)"
383
+ },
384
+ bessel: {
385
+ a: 6377397155e-3,
386
+ rf: 299.1528128,
387
+ ellipseName: "Bessel 1841"
388
+ },
389
+ bess_nam: {
390
+ a: 6377483865e-3,
391
+ rf: 299.1528128,
392
+ ellipseName: "Bessel 1841 (Namibia)"
393
+ },
394
+ clrk66: {
395
+ a: 63782064e-1,
396
+ b: 63565838e-1,
397
+ ellipseName: "Clarke 1866"
398
+ },
399
+ clrk80: {
400
+ a: 6378249145e-3,
401
+ rf: 293.4663,
402
+ ellipseName: "Clarke 1880 mod."
403
+ },
404
+ clrk80ign: {
405
+ a: 63782492e-1,
406
+ b: 6356515,
407
+ rf: 293.4660213,
408
+ ellipseName: "Clarke 1880 (IGN)"
409
+ },
410
+ clrk58: {
411
+ a: 6378293645208759e-9,
412
+ rf: 294.2606763692654,
413
+ ellipseName: "Clarke 1858"
414
+ },
415
+ CPM: {
416
+ a: 63757387e-1,
417
+ rf: 334.29,
418
+ ellipseName: "Comm. des Poids et Mesures 1799"
419
+ },
420
+ delmbr: {
421
+ a: 6376428,
422
+ rf: 311.5,
423
+ ellipseName: "Delambre 1810 (Belgium)"
424
+ },
425
+ engelis: {
426
+ a: 637813605e-2,
427
+ rf: 298.2566,
428
+ ellipseName: "Engelis 1985"
429
+ },
430
+ evrst30: {
431
+ a: 6377276345e-3,
432
+ rf: 300.8017,
433
+ ellipseName: "Everest 1830"
434
+ },
435
+ evrst48: {
436
+ a: 6377304063e-3,
437
+ rf: 300.8017,
438
+ ellipseName: "Everest 1948"
439
+ },
440
+ evrst56: {
441
+ a: 6377301243e-3,
442
+ rf: 300.8017,
443
+ ellipseName: "Everest 1956"
444
+ },
445
+ evrst69: {
446
+ a: 6377295664e-3,
447
+ rf: 300.8017,
448
+ ellipseName: "Everest 1969"
449
+ },
450
+ evrstSS: {
451
+ a: 6377298556e-3,
452
+ rf: 300.8017,
453
+ ellipseName: "Everest (Sabah & Sarawak)"
454
+ },
455
+ fschr60: {
456
+ a: 6378166,
457
+ rf: 298.3,
458
+ ellipseName: "Fischer (Mercury Datum) 1960"
459
+ },
460
+ fschr60m: {
461
+ a: 6378155,
462
+ rf: 298.3,
463
+ ellipseName: "Fischer 1960"
464
+ },
465
+ fschr68: {
466
+ a: 6378150,
467
+ rf: 298.3,
468
+ ellipseName: "Fischer 1968"
469
+ },
470
+ helmert: {
471
+ a: 6378200,
472
+ rf: 298.3,
473
+ ellipseName: "Helmert 1906"
474
+ },
475
+ hough: {
476
+ a: 6378270,
477
+ rf: 297,
478
+ ellipseName: "Hough"
479
+ },
480
+ intl: {
481
+ a: 6378388,
482
+ rf: 297,
483
+ ellipseName: "International 1909 (Hayford)"
484
+ },
485
+ kaula: {
486
+ a: 6378163,
487
+ rf: 298.24,
488
+ ellipseName: "Kaula 1961"
489
+ },
490
+ lerch: {
491
+ a: 6378139,
492
+ rf: 298.257,
493
+ ellipseName: "Lerch 1979"
494
+ },
495
+ mprts: {
496
+ a: 6397300,
497
+ rf: 191,
498
+ ellipseName: "Maupertius 1738"
499
+ },
500
+ new_intl: {
501
+ a: 63781575e-1,
502
+ b: 63567722e-1,
503
+ ellipseName: "New International 1967"
504
+ },
505
+ plessis: {
506
+ a: 6376523,
507
+ b: 6355863,
508
+ ellipseName: "Plessis 1817 (France)"
509
+ },
510
+ krass: {
511
+ a: 6378245,
512
+ rf: 298.3,
513
+ ellipseName: "Krassovsky, 1942"
514
+ },
515
+ SEasia: {
516
+ a: 6378155,
517
+ b: 63567733205e-4,
518
+ ellipseName: "Southeast Asia"
519
+ },
520
+ walbeck: {
521
+ a: 6376896,
522
+ b: 63558348467e-4,
523
+ ellipseName: "Walbeck"
524
+ },
525
+ WGS60: {
526
+ a: 6378165,
527
+ rf: 298.3,
528
+ ellipseName: "WGS 60"
529
+ },
530
+ WGS66: {
531
+ a: 6378145,
532
+ rf: 298.25,
533
+ ellipseName: "WGS 66"
534
+ },
535
+ WGS72: {
536
+ a: 6378135,
537
+ rf: 298.26,
538
+ ellipseName: "WGS 72"
539
+ },
540
+ WGS84: {
541
+ a: 6378137,
542
+ rf: 298.257223563,
543
+ ellipseName: "WGS 84"
544
+ },
545
+ sphere: {
546
+ a: 6370997,
547
+ b: 6370997,
548
+ ellipseName: "Normal Sphere (r=6370997)"
549
+ }
550
+ };
551
+ var ellipsoid_table_default = ellipsoids;
552
+
553
+ // dist/projection/experimental/crs/primemeridian-table.js
554
+ var primeMeridian = {};
555
+ primeMeridian["greenwich"] = 0;
556
+ primeMeridian["lisbon"] = -9.131906111111;
557
+ primeMeridian["paris"] = 2.337229166667;
558
+ primeMeridian["bogota"] = -74.080916666667;
559
+ primeMeridian["madrid"] = -3.687938888889;
560
+ primeMeridian["rome"] = 12.452333333333;
561
+ primeMeridian["bern"] = 7.439583333333;
562
+ primeMeridian["jakarta"] = 106.807719444444;
563
+ primeMeridian["ferro"] = -17.666666666667;
564
+ primeMeridian["brussels"] = 4.367975;
565
+ primeMeridian["stockholm"] = 18.058277777778;
566
+ primeMeridian["athens"] = 23.7163375;
567
+ primeMeridian["oslo"] = 10.722916666667;
568
+ var primemeridian_table_default = primeMeridian;
569
+
570
+ // dist/crs/units-table.js
571
+ var linearUnits = {
572
+ m: { name: "meters", metersPerUnit: 1 },
573
+ mm: { name: "millimeters", metersPerUnit: 1e-3 },
574
+ cm: { name: "centimeters", metersPerUnit: 0.01 },
575
+ ft: { name: "feet", metersPerUnit: 0.3048 },
576
+ "us-ft": { name: "us-survey-feet", metersPerUnit: 1200 / 3937 },
577
+ fath: { name: "fathoms", metersPerUnit: 1.8288 },
578
+ kmi: { name: "nautical-miles", metersPerUnit: 1852 },
579
+ "us-ch": { name: "us-survey-chains", metersPerUnit: 20.1168402336805 },
580
+ "us-mi": { name: "us-survey-miles", metersPerUnit: 1609.34721869444 },
581
+ km: { name: "kilometers", metersPerUnit: 1e3 },
582
+ "ind-ft": { name: "indian-feet", metersPerUnit: 0.30479841 },
583
+ "ind-yd": { name: "indian-yards", metersPerUnit: 0.91439523 },
584
+ mi: { name: "miles", metersPerUnit: 1609.344 },
585
+ yd: { name: "yards", metersPerUnit: 0.9144 },
586
+ ch: { name: "chains", metersPerUnit: 20.1168 },
587
+ link: { name: "links", metersPerUnit: 0.201168 },
588
+ dm: { name: "decimeters", metersPerUnit: 0.1 },
589
+ in: { name: "inches", metersPerUnit: 0.0254 },
590
+ "ind-ch": { name: "indian-chains", metersPerUnit: 20.11669506 },
591
+ "us-in": { name: "us-survey-inches", metersPerUnit: 0.025400050800101 },
592
+ "us-yd": { name: "us-survey-yards", metersPerUnit: 0.914401828803658 }
593
+ };
594
+
595
+ // dist/projection/experimental/crs/normalize.js
596
+ var ALIASES = {
597
+ WGS84: "+proj=longlat +datum=WGS84",
598
+ "EPSG:4326": "+proj=longlat +datum=WGS84",
599
+ "EPSG:4269": "+proj=longlat +datum=NAD83",
600
+ "EPSG:4978": "+proj=geocent +datum=WGS84",
601
+ "EPSG:4979": "+proj=longlat +datum=WGS84",
602
+ "EPSG:3857": "+proj=merc +a=6378137 +b=6378137 +nadgrids=@null +units=m",
603
+ "EPSG:3785": "EPSG:3857",
604
+ GOOGLE: "EPSG:3857",
605
+ "EPSG:900913": "EPSG:3857",
606
+ "EPSG:102113": "EPSG:3857"
607
+ };
608
+ var CORE_PARAMETERS = [
609
+ "proj",
610
+ "datum",
611
+ "ellps",
612
+ "a",
613
+ "b",
614
+ "rf",
615
+ "f",
616
+ "R",
617
+ "units",
618
+ "to_meter",
619
+ "vunits",
620
+ "vto_meter",
621
+ "no_defs",
622
+ "type",
623
+ "title",
624
+ "towgs84",
625
+ "nadgrids",
626
+ "geoidgrids",
627
+ "axis",
628
+ "pm",
629
+ "over",
630
+ "lon_wrap"
631
+ ];
632
+ var CORE_FLAGS = ["no_defs", "over"];
633
+ var own = (object, key) => Object.prototype.hasOwnProperty.call(object, key);
634
+ var keyOf = (value) => value.toLowerCase().replace(/[\s_-]/g, "");
635
+ function lookup(table, name) {
636
+ const key = Object.keys(table).find((key2) => keyOf(key2) === keyOf(name));
637
+ return key === void 0 ? void 0 : table[key];
638
+ }
639
+ function parseAngle(text) {
640
+ if (/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i.test(text)) {
641
+ const value = Number(text);
642
+ if (Number.isFinite(value))
643
+ return value;
644
+ }
645
+ if (/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?r$/i.test(text)) {
646
+ const value = Number(text.slice(0, -1)) / DEGREES_TO_RADIANS;
647
+ if (Number.isFinite(value))
648
+ return value;
649
+ }
650
+ const dms = /^([+-]?)(\d+(?:\.\d*)?)(?:d(?:(\d+(?:\.\d*)?)'(?:(\d+(?:\.\d*)?)")?)?)?([NSEW])?$/i.exec(text);
651
+ if (dms && (/d/i.test(text) || dms[5])) {
652
+ const minutes = Number(dms[3] || 0), seconds = Number(dms[4] || 0);
653
+ if (minutes < 60 && seconds < 60) {
654
+ const sign = dms[1] === "-" ? -1 : 1;
655
+ const direction = /[SW]/i.test(dms[5] || "") ? -1 : 1;
656
+ const value = sign * direction * (Number(dms[2]) + minutes / 60 + seconds / 3600);
657
+ if (Number.isFinite(value))
658
+ return value;
659
+ }
660
+ }
661
+ throw new Error("Invalid angular parameter: " + text);
662
+ }
663
+ function normalizeCRS(input, options = {}) {
664
+ var _a2;
665
+ const datums = getDatumDefinitions(options);
666
+ const resolved2 = resolveCRSInput(input, options);
667
+ let definition = resolved2.definition;
668
+ const aliases = options.aliases || {};
669
+ const visited = /* @__PURE__ */ new Set();
670
+ while (typeof definition === "string" && (own(aliases, definition) || own(ALIASES, definition))) {
671
+ if (visited.has(definition))
672
+ throw new Error("Circular CRS alias: " + definition);
673
+ visited.add(definition);
674
+ definition = own(aliases, definition) ? aliases[definition] : ALIASES[definition];
675
+ }
676
+ if (typeof definition === "string") {
677
+ const utm = /^EPSG:(326|327)(\d{2})$/.exec(definition);
678
+ if (utm && Number(utm[2]) >= 1 && Number(utm[2]) <= 60) {
679
+ definition = "+proj=utm +datum=WGS84 +zone=" + Number(utm[2]) + (utm[1] === "327" ? " +south" : "");
680
+ }
681
+ if (definition === "EPSG:5041" || definition === "EPSG:5042") {
682
+ definition = "+proj=stere +datum=WGS84 +lat_0=" + (definition === "EPSG:5041" ? 90 : -90) + " +k_0=0.994 +x_0=2000000 +y_0=2000000";
683
+ }
684
+ }
685
+ let parsed;
686
+ if (inferCRSRepresentation(definition) === "proj-string" && typeof definition === "string") {
687
+ const parameters2 = /* @__PURE__ */ Object.create(null);
688
+ for (const parameter of parsePROJString(definition).parameters) {
689
+ if (own(parameters2, parameter.name))
690
+ throw new Error("Duplicate PROJ parameter: +" + parameter.name);
691
+ parameters2[parameter.name] = parameter.value;
692
+ }
693
+ parsed = { parameters: parameters2 };
694
+ } else {
695
+ const parser = (_a2 = options.parsers) == null ? void 0 : _a2.find((candidate) => candidate.canParse(definition));
696
+ if (!parser) {
697
+ const serialized = ["wkt", "projjson"].includes(inferCRSRepresentation(definition));
698
+ throw new TypeScriptCRSError(serialized ? "missing-parser" : "unknown-syntax", "Unsupported CRS definition; register a WKT or PROJJSON parser for structured definitions");
699
+ }
700
+ parsed = parser.parse(definition, options);
701
+ }
702
+ const parameters = { ...parsed.parameters };
703
+ for (const name2 of [
704
+ "lon_0",
705
+ "lat_0",
706
+ "lat_1",
707
+ "lat_2",
708
+ "lat_ts",
709
+ "lon_wrap",
710
+ "lon_1",
711
+ "lon_2",
712
+ "lonc",
713
+ "alpha",
714
+ "gamma",
715
+ "tilt",
716
+ "azi",
717
+ "o_alpha",
718
+ "o_lon_c",
719
+ "o_lat_c",
720
+ "o_lon_p",
721
+ "o_lat_p",
722
+ "o_lon_1",
723
+ "o_lat_1",
724
+ "o_lon_2",
725
+ "o_lat_2"
726
+ ]) {
727
+ if (parameters[name2] !== void 0)
728
+ parameters[name2] = String(parseAngle(parameters[name2]));
729
+ }
730
+ const suppliedName = parameters["proj"];
731
+ const lowerName = suppliedName == null ? void 0 : suppliedName.toLowerCase();
732
+ const name = lowerName === "geocentric" ? "geocent" : ["longlat", "latlong", "latlon", "lonlat", "identity", "geocent"].includes(lowerName) ? lowerName : suppliedName;
733
+ if (!name)
734
+ throw new Error("CRS requires +proj");
735
+ const kind = ["longlat", "latlong", "latlon", "lonlat"].includes(name) ? "geographic" : name === "geocent" ? "geocentric" : name === "identity" ? "identity" : "projected";
736
+ const datumName = parameters["datum"];
737
+ const datum = datumName && datumName !== "none" ? lookup(datums, datumName) : void 0;
738
+ if (datumName && datumName !== "none" && !datum)
739
+ unsupportedStage("Unknown datum: " + datumName + "; register a datumCatalogs plugin");
740
+ const ellipsoid = getEllipsoid(parameters, datum == null ? void 0 : datum.ellipse);
741
+ const grids = parameters["nadgrids"] ?? (datum == null ? void 0 : datum.nadgrids);
742
+ const gridReferences = grids === void 0 ? void 0 : grids.split(",").map((entry) => {
743
+ const optional = entry.startsWith("@");
744
+ const name2 = optional ? entry.slice(1) : entry;
745
+ if (!name2 || /\s/.test(name2))
746
+ throw new Error("Invalid datum grid name");
747
+ return Object.freeze({ name: name2, optional });
748
+ });
749
+ const rawShift = parameters["towgs84"] ?? (datum == null ? void 0 : datum.towgs84);
750
+ let shift;
751
+ if (rawShift !== void 0) {
752
+ shift = rawShift.split(",").map((value) => numberParameter({ value }, "value", NaN));
753
+ if (![3, 7].includes(shift.length) || shift.some((value) => !Number.isFinite(value)) || shift.length === 7 && shift[6] <= -1e6) {
754
+ throw new Error("+towgs84 requires three or seven finite values and positive scale");
755
+ }
756
+ }
757
+ if (datumName === "none")
758
+ shift = void 0;
759
+ if (gridReferences && datumName !== "none")
760
+ shift = [0, 0, 0];
761
+ const datumEllipsoid = grids === "@null" || grids === "null" ? getEllipsoid({ ellps: "WGS84" }) : ellipsoid;
762
+ const axis = parameters["axis"] || "enu";
763
+ if (axis.length !== 3 || !/[ew]/.test(axis) || !/[ns]/.test(axis) || !/[ud]/.test(axis))
764
+ throw new Error("Invalid axis: " + axis);
765
+ const angularUnit = parsed.angularUnit ?? DEGREES_TO_RADIANS;
766
+ if (kind === "geographic" && (parameters["units"] && parameters["units"] !== "degrees" || own(parameters, "to_meter")))
767
+ throw new Error("Geographic coordinates must use angular units");
768
+ if (kind !== "geographic" && parameters["units"] === "degrees")
769
+ throw new Error("Linear coordinates require linear units");
770
+ const toMeter = unitFactor(parameters, "units", "to_meter");
771
+ const verticalUnit = parsed.verticalUnit ?? unitFactor(parameters, "vunits", "vto_meter");
772
+ if (!(verticalUnit > 0) || !Number.isFinite(verticalUnit))
773
+ throw new Error("Invalid vertical unit");
774
+ if (!(angularUnit > 0) || !Number.isFinite(angularUnit))
775
+ throw new Error("Invalid angular unit");
776
+ const pm = parameters["pm"];
777
+ const primeMeridian2 = pm === void 0 ? 0 : (lookup(primemeridian_table_default, pm) ?? parseAngle(pm)) * DEGREES_TO_RADIANS;
778
+ return applySpatialReference(Object.freeze({
779
+ kind,
780
+ projection: name,
781
+ parameters: Object.freeze(parameters),
782
+ ellipsoid,
783
+ datum: Object.freeze({
784
+ ellipsoid: datumEllipsoid,
785
+ towgs84: shift && Object.freeze(shift),
786
+ grids: datumName === "none" || grids === "@null" || grids === "null" ? void 0 : gridReferences && Object.freeze(gridReferences)
787
+ }),
788
+ areaOfUse: parsed.areaOfUse,
789
+ angularUnit,
790
+ toMeter,
791
+ verticalUnit,
792
+ primeMeridian: primeMeridian2,
793
+ axis,
794
+ longitudeWrap: parameters["lon_wrap"] === void 0 ? void 0 : Number(parameters["lon_wrap"]) * DEGREES_TO_RADIANS,
795
+ lossy: Boolean(parsed.lossy || resolved2.lossy)
796
+ }), resolved2.spatialReference);
797
+ }
798
+ function unitFactor(parameters, unitKey, factorKey) {
799
+ const unit = parameters[unitKey];
800
+ const table = linearUnits;
801
+ if (unitKey === "vunits" && unit === "degrees")
802
+ throw new Error("Height requires linear units");
803
+ if (unit && !["m", "degrees"].includes(unit) && !own(table, unit))
804
+ throw new Error("Unsupported units: " + unit);
805
+ const factor = numberParameter(parameters, factorKey, unit && table[unit] ? table[unit].metersPerUnit : 1);
806
+ if (!(factor > 0))
807
+ throw new Error("+" + factorKey + " must be positive");
808
+ return factor;
809
+ }
810
+ function getEllipsoid(parameters, datumEllipsoid) {
811
+ const name = datumEllipsoid || parameters["ellps"] || "WGS84";
812
+ const definition = lookup(ellipsoid_table_default, name);
813
+ if (!definition)
814
+ throw new Error("Unsupported ellipsoid: " + name);
815
+ const a = numberParameter(parameters, "a", definition.a);
816
+ const f = numberParameter(parameters, "f", NaN);
817
+ const rf = numberParameter(parameters, "rf", Number.isNaN(f) ? definition.rf || 0 : f === 0 ? 0 : 1 / f);
818
+ const b = numberParameter(parameters, "b", rf ? a * (1 - 1 / rf) : own(parameters, "f") || own(parameters, "rf") || own(parameters, "a") ? a : definition.b || a);
819
+ const radius = numberParameter(parameters, "R", 0);
820
+ if (a <= 0 || b <= 0 || b > a || rf < 0 || rf > 0 && rf <= 1 || own(parameters, "R") && radius <= 0 || !Number.isNaN(f) && (f < 0 || f >= 1))
821
+ throw new Error("Invalid ellipsoid dimensions");
822
+ return Object.freeze({
823
+ semiMajorAxis: radius || a,
824
+ semiMinorAxis: radius || b,
825
+ eccentricitySquared: radius ? 0 : 1 - (b / a) ** 2
826
+ });
827
+ }
828
+
829
+ // dist/projection/experimental/rendering-profile/geographic-bounds.js
830
+ var RADIANS = Math.PI / 180;
831
+ function createAngularRanges(west, south, east, north) {
832
+ return [
833
+ [west, south],
834
+ [east, north]
835
+ ];
836
+ }
837
+ function normalizeLongitude(longitude) {
838
+ return longitude >= -180 && longitude < 180 ? longitude : ((longitude + 180) % 360 + 360) % 360 - 180;
839
+ }
840
+ function getLongitudeSpan(bounds) {
841
+ const span = bounds[2] - bounds[0];
842
+ return span < 0 ? span + 360 : span;
843
+ }
844
+ function containsGeographicPoint(bounds, point) {
845
+ const [west, south, east, north] = bounds;
846
+ const longitude = normalizeLongitude(point[0]);
847
+ return point[1] >= south && point[1] <= north && (west <= east ? longitude >= west && longitude <= east || longitude === -180 && east === 180 : longitude >= west || longitude <= east);
848
+ }
849
+ function clampGeographicPoint(bounds, point) {
850
+ let longitude = normalizeLongitude(point[0]);
851
+ const latitude = Math.max(bounds[1], Math.min(bounds[3], point[1]));
852
+ if (!containsGeographicPoint(bounds, [longitude, latitude])) {
853
+ const westDistance = Math.abs(normalizeLongitude(longitude - bounds[0]));
854
+ const eastDistance = Math.abs(normalizeLongitude(longitude - bounds[2]));
855
+ longitude = westDistance <= eastDistance ? bounds[0] : bounds[2];
856
+ }
857
+ return [longitude, latitude];
858
+ }
859
+ function getAngularRanges(bounds, primeMeridian2 = 0, origin = 0) {
860
+ const width = getLongitudeSpan(bounds);
861
+ const west = bounds[0] * RADIANS - primeMeridian2;
862
+ const middle = west + width * RADIANS / 2;
863
+ const shift = Math.round((origin - middle) / (2 * Math.PI)) * 2 * Math.PI;
864
+ return createAngularRanges(width === 360 ? origin - Math.PI : west + shift, bounds[1] * RADIANS, width === 360 ? origin + Math.PI : west + shift + width * RADIANS, bounds[3] * RADIANS);
865
+ }
866
+
867
+ // dist/projection/experimental/rendering-profile/rendering-profile.js
868
+ function resolveRenderingProfile(getRenderingProfile, coverage) {
869
+ if (coverage) {
870
+ try {
871
+ const profile2 = getRenderingProfile(coverage);
872
+ return resolveBounds(profile2);
873
+ } catch {
874
+ }
875
+ }
876
+ const profile = getRenderingProfile();
877
+ return resolveBounds(profile);
878
+ }
879
+ function resolveBounds(profile) {
880
+ var _a2;
881
+ const bounds = profile.bounds;
882
+ if (bounds.some((corner) => corner.some((value) => !Number.isFinite(value))))
883
+ throw new Error("Projection rendering bounds must be finite");
884
+ return { bounds, normalize: (_a2 = profile.normalize) == null ? void 0 : _a2.bind(profile) };
885
+ }
886
+
887
+ // dist/projection/experimental/rendering-profile/identity-rendering-profile.js
888
+ function getIdentityRenderingProfile() {
889
+ return {
890
+ bounds: [
891
+ [-1, -1, 0],
892
+ [1, 1, 0]
893
+ ]
894
+ };
895
+ }
896
+
897
+ // dist/projection/experimental/projection-descriptor.js
898
+ var CACHE_KEY = /* @__PURE__ */ Symbol.for("@math.gl/projection/projection-implementations");
899
+ function cache() {
900
+ const scope = globalThis;
901
+ scope[CACHE_KEY] || (scope[CACHE_KEY] = /* @__PURE__ */ new WeakMap());
902
+ return scope[CACHE_KEY];
903
+ }
904
+ function getLoadedProjection(projection) {
905
+ var _a2;
906
+ return "create" in projection ? projection : (_a2 = cache().get(projection)) == null ? void 0 : _a2.implementation;
907
+ }
908
+ function preloadProjection(projection) {
909
+ if ("create" in projection)
910
+ return Promise.resolve(projection);
911
+ let state = cache().get(projection);
912
+ if (!state) {
913
+ state = { load: () => projection.preload() };
914
+ cache().set(projection, state);
915
+ }
916
+ if (state.implementation)
917
+ return Promise.resolve(state.implementation);
918
+ const entry = state;
919
+ entry.pending || (entry.pending = Promise.resolve().then(entry.load).then((plugin) => {
920
+ const key = (value) => value.toLowerCase().replace(/[\s_-]/g, "");
921
+ const supported = new Set([plugin.name, ...plugin.aliases || []].map(key));
922
+ if (typeof plugin.create !== "function" || ![projection.name, ...projection.aliases || []].every((name) => supported.has(key(name))))
923
+ throw new Error("Loaded projection does not match descriptor: " + projection.name);
924
+ entry.implementation = plugin;
925
+ return plugin;
926
+ }).catch((error) => {
927
+ entry.pending = void 0;
928
+ throw error;
929
+ }));
930
+ return entry.pending;
931
+ }
932
+
933
+ // dist/projection/experimental/projection-scratch.js
934
+ function createPoint() {
935
+ return { x: 0, y: 0, z: 0 };
936
+ }
937
+ var ProjectionScratch = class {
938
+ constructor() {
939
+ this.point = createPoint();
940
+ this.points = [this.point];
941
+ this.active = 0;
942
+ }
943
+ get depth() {
944
+ return this.active;
945
+ }
946
+ acquire() {
947
+ var _a2;
948
+ const index = this.active++;
949
+ (_a2 = this.points)[index] || (_a2[index] = createPoint());
950
+ return this.points[index];
951
+ }
952
+ release(point) {
953
+ if (this.active > 0 && this.points[this.active - 1] === point)
954
+ this.active--;
955
+ }
956
+ };
957
+
958
+ // dist/projection/experimental/mutable-projection.js
959
+ function projectionOperation(implementation, inverse, geocentric = false) {
960
+ const mutable = inverse ? implementation.inverseInPlace : implementation.forwardInPlace;
961
+ if (mutable)
962
+ return mutable.bind(implementation);
963
+ if (geocentric) {
964
+ const operation2 = inverse ? implementation.inverse3D : implementation.forward3D;
965
+ return (point) => {
966
+ const output = operation2.call(implementation, [point.x, point.y, point.z]);
967
+ point.x = output[0];
968
+ point.y = output[1];
969
+ point.z = output[2];
970
+ };
971
+ }
972
+ const operation = inverse ? implementation.inverse : implementation.forward;
973
+ return (point) => {
974
+ const output = operation.call(implementation, point.x, point.y);
975
+ point.x = output[0];
976
+ point.y = output[1];
977
+ };
978
+ }
979
+
980
+ // dist/projection/experimental/scalar-output.js
981
+ var FLOAT32_MAX = 34028234663852886e22;
982
+ function validateScalarOutput(coordinate, output, length) {
983
+ if (!(Array.isArray(coordinate) || coordinate instanceof Float32Array || coordinate instanceof Float64Array))
984
+ throw new Error("Scalar input requires a number array, Float32Array or Float64Array");
985
+ if (!(Array.isArray(output) || output instanceof Float32Array || output instanceof Float64Array) || output.length < length)
986
+ throw new Error("Scalar output requires a preallocated number array, Float32Array or Float64Array with sufficient capacity");
987
+ if (coordinate === output || Array.isArray(coordinate) || Array.isArray(output))
988
+ return;
989
+ const input = coordinate;
990
+ const result = output;
991
+ const shared = typeof SharedArrayBuffer !== "undefined" && input.buffer instanceof SharedArrayBuffer && result.buffer instanceof SharedArrayBuffer;
992
+ if ((input.buffer === result.buffer || shared) && input.byteOffset < result.byteOffset + length * result.BYTES_PER_ELEMENT && result.byteOffset < input.byteOffset + input.byteLength)
993
+ throw new Error("Scalar input/output views overlap; use the same view for in-place projection");
994
+ }
995
+ function writeScalarOutput(coordinate, output, point, length) {
996
+ if (output instanceof Float32Array) {
997
+ if (Math.abs(point.x) > FLOAT32_MAX || Math.abs(point.y) > FLOAT32_MAX || length >= 3 && Math.abs(point.z) > FLOAT32_MAX)
998
+ throw new Error("Projected coordinate exceeds Float32 range");
999
+ for (let i = 3; i < coordinate.length; i++) {
1000
+ const value = coordinate[i];
1001
+ if (Number.isFinite(value) && Math.abs(value) > FLOAT32_MAX)
1002
+ throw new Error("Trailing ordinate exceeds Float32 range");
1003
+ }
1004
+ }
1005
+ for (let i = 3; i < coordinate.length; i++)
1006
+ output[i] = coordinate[i];
1007
+ output[0] = point.x;
1008
+ output[1] = point.y;
1009
+ if (length >= 3)
1010
+ output[2] = point.z;
1011
+ return output;
1012
+ }
1013
+
1014
+ // dist/projection/experimental/datum.js
1015
+ var import_spheroid = require("@math.gl/core/spheroid");
1016
+ var ARC_SECOND = Math.PI / (180 * 3600);
1017
+ var WGS84 = {
1018
+ ellipsoid: {
1019
+ semiMajorAxis: 6378137,
1020
+ semiMinorAxis: 6356752314245179e-9,
1021
+ eccentricitySquared: 0.0066943799901413165
1022
+ },
1023
+ towgs84: [0, 0, 0]
1024
+ };
1025
+ function geodeticToGeocentricInPlace(point, ellipsoid) {
1026
+ if (Math.abs(point.y) > Math.PI / 2)
1027
+ throw new Error("Latitude outside geocentric domain");
1028
+ if (!(0, import_spheroid.spheroidToCartesian)(point, ellipsoid))
1029
+ throw new Error("Geocentric coordinate must be finite");
1030
+ }
1031
+ function geocentricToGeodeticInPlace(point, ellipsoid) {
1032
+ const x = point.x, y = point.y, z = point.z;
1033
+ const { semiMajorAxis: a, semiMinorAxis: b, eccentricitySquared: es } = ellipsoid;
1034
+ if (x === 0 && y === 0 && z === 0)
1035
+ throw new Error("Geodetic coordinates are undefined at the Earth center");
1036
+ if (es !== 0 && Math.abs(x) < 1e-12 * a && Math.abs(y) < 1e-12 * a && Math.hypot(x, y) < 1e-12 * a) {
1037
+ if (!Number.isFinite(Math.hypot(x, y, z)))
1038
+ throw new Error("Geocentric radius must be finite");
1039
+ point.x = 0;
1040
+ point.y = Math.sign(z) * Math.PI / 2;
1041
+ point.z = Math.abs(z) - b;
1042
+ return;
1043
+ }
1044
+ if (!(0, import_spheroid.cartesianToSpheroid)(point, ellipsoid)) {
1045
+ if (!Number.isFinite(Math.hypot(x, y, z)))
1046
+ throw new Error("Geocentric radius must be finite");
1047
+ throw new Error("Geocentric inverse did not converge");
1048
+ }
1049
+ }
1050
+ function createHelmert(values, inverse) {
1051
+ const dx = values[0], dy = values[1], dz = values[2];
1052
+ const rx = (values[3] || 0) * ARC_SECOND, ry = (values[4] || 0) * ARC_SECOND, rz = (values[5] || 0) * ARC_SECOND;
1053
+ const scale = 1 + (values[6] || 0) / 1e6;
1054
+ return inverse ? (point) => {
1055
+ const x = (point.x - dx) / scale, y = (point.y - dy) / scale, z = (point.z - dz) / scale;
1056
+ point.x = x + rz * y - ry * z;
1057
+ point.y = -rz * x + y + rx * z;
1058
+ point.z = ry * x - rx * y + z;
1059
+ } : (point) => {
1060
+ const x = point.x, y = point.y, z = point.z;
1061
+ point.x = scale * (x - rz * y + ry * z) + dx;
1062
+ point.y = scale * (rz * x + y - rx * z) + dy;
1063
+ point.z = scale * (-ry * x + rx * y + z) + dz;
1064
+ };
1065
+ }
1066
+ function shifted(datum) {
1067
+ var _a2;
1068
+ return Boolean((_a2 = datum.towgs84) == null ? void 0 : _a2.some((value) => value !== 0));
1069
+ }
1070
+ function createDatumTransform(source, destination) {
1071
+ if (!source.towgs84 || !destination.towgs84)
1072
+ return void 0;
1073
+ if (source.grids || destination.grids) {
1074
+ if (source.grids && destination.grids && source.ellipsoid.semiMajorAxis === destination.ellipsoid.semiMajorAxis && source.ellipsoid.eccentricitySquared === destination.ellipsoid.eccentricitySquared && source.grids.length === destination.grids.length && source.grids.every((entry, i) => entry.name === destination.grids[i].name && entry.optional === destination.grids[i].optional && entry.grid === destination.grids[i].grid))
1075
+ return void 0;
1076
+ const middle = createDatumTransform(source.grids ? WGS84 : source, destination.grids ? WGS84 : destination);
1077
+ return (point) => {
1078
+ if (source.grids)
1079
+ applyDatumGrids(point, source, false);
1080
+ middle == null ? void 0 : middle(point);
1081
+ if (destination.grids)
1082
+ applyDatumGrids(point, destination, true);
1083
+ };
1084
+ }
1085
+ if (shifted(source) || shifted(destination)) {
1086
+ const first = convertDatum(source, WGS84), second = convertDatum(WGS84, destination);
1087
+ return (point) => {
1088
+ first == null ? void 0 : first(point);
1089
+ second == null ? void 0 : second(point);
1090
+ };
1091
+ }
1092
+ return convertDatum(source, destination);
1093
+ }
1094
+ function convertDatum(from, to) {
1095
+ if (!from.towgs84 || !to.towgs84)
1096
+ return void 0;
1097
+ const a = from.ellipsoid, b = to.ellipsoid;
1098
+ let sameParameters = true;
1099
+ for (let i = 0; i < 7; i++)
1100
+ if ((from.towgs84[i] || 0) !== (to.towgs84[i] || 0))
1101
+ sameParameters = false;
1102
+ if (a.semiMajorAxis === b.semiMajorAxis && Math.abs(a.eccentricitySquared - b.eccentricitySquared) <= 5e-11 && sameParameters)
1103
+ return void 0;
1104
+ const sourceShift = shifted(from) ? createHelmert(from.towgs84, false) : void 0, targetShift = shifted(to) ? createHelmert(to.towgs84, true) : void 0;
1105
+ return (point) => {
1106
+ geodeticToGeocentricInPlace(point, a);
1107
+ sourceShift == null ? void 0 : sourceShift(point);
1108
+ targetShift == null ? void 0 : targetShift(point);
1109
+ geocentricToGeodeticInPlace(point, b);
1110
+ };
1111
+ }
1112
+ function applyDatumGrids(point, datum, inverse) {
1113
+ for (const reference of datum.grids) {
1114
+ if (reference.name === "null")
1115
+ return;
1116
+ if (!reference.grid) {
1117
+ if (reference.optional)
1118
+ continue;
1119
+ throw new Error("Required datum grid is not registered: " + reference.name);
1120
+ }
1121
+ let found = false;
1122
+ if (reference.grid.shiftInPlace)
1123
+ found = reference.grid.shiftInPlace(point, inverse);
1124
+ else {
1125
+ const output = reference.grid.shift(point.x, point.y, inverse);
1126
+ if (output) {
1127
+ point.x = output[0];
1128
+ point.y = output[1];
1129
+ found = true;
1130
+ }
1131
+ }
1132
+ if (found) {
1133
+ if (!Number.isFinite(point.x) || !Number.isFinite(point.y) || Math.abs(point.y) > Math.PI / 2)
1134
+ throw new Error("Datum grid produced a coordinate outside the geographic domain");
1135
+ return;
1136
+ }
1137
+ }
1138
+ throw new Error("No datum grid covers coordinate: " + datum.grids.map((grid) => grid.name).join(","));
1139
+ }
1140
+
1141
+ // dist/projection/experimental/rendering-profile/rectangular-rendering-profile.js
1142
+ function normalizeCoverage(point, coverage, center = 0, over = false) {
1143
+ const span = getLongitudeSpan(coverage);
1144
+ const west = span === 360 ? center - 180 : coverage[0] + Math.round((center - coverage[0] - span / 2) / 360) * 360;
1145
+ const east = west + span;
1146
+ if (over) {
1147
+ point.x = Math.max(west, Math.min(east, point.x));
1148
+ point.y = Math.max(coverage[1], Math.min(coverage[3], point.y));
1149
+ return;
1150
+ }
1151
+ const best = clampGeographicPoint(coverage, [point.x, point.y]);
1152
+ let longitude = best[0];
1153
+ if (best[0] === normalizeLongitude(point.x) && point.x >= west && point.x <= east)
1154
+ longitude = point.x;
1155
+ else if (longitude < west || longitude > east)
1156
+ longitude += Math.round(((west + east) / 2 - longitude) / 360) * 360;
1157
+ const offset = longitude - center;
1158
+ point.x = Math.abs(offset) <= 180 ? longitude : center + normalizeLongitude(offset);
1159
+ point.y = best[1];
1160
+ }
1161
+ function createRectangleRenderingProfile(resolveBounds2, coverage, origin = 0, primeMeridian2 = 0, over = false) {
1162
+ const center = (origin + primeMeridian2) * 180 / Math.PI;
1163
+ return {
1164
+ get bounds() {
1165
+ return resolveBounds2(getAngularRanges(coverage, primeMeridian2, origin));
1166
+ },
1167
+ normalize(point) {
1168
+ normalizeCoverage(point, coverage, center, over);
1169
+ }
1170
+ };
1171
+ }
1172
+
1173
+ // dist/projection/experimental/rendering-profile/rendering-bounds.js
1174
+ function longitudeRange(parameters, origin, over = false) {
1175
+ const low = parameters[0][0] - origin, high = parameters[1][0] - origin;
1176
+ if (over)
1177
+ return [low, high];
1178
+ const span = high - low;
1179
+ if (span >= 2 * Math.PI - 1e-12)
1180
+ return [-Math.PI, Math.PI];
1181
+ let west = wrapLongitude(low);
1182
+ if (span > 0 && Math.abs(west - Math.PI) < 1e-12)
1183
+ west = -Math.PI;
1184
+ const east = west + span;
1185
+ return east > Math.PI + 1e-12 ? [-Math.PI, Math.PI] : [west, Math.min(east, Math.PI)];
1186
+ }
1187
+
1188
+ // dist/projection/experimental/rendering-profile/geographic-rendering-profile.js
1189
+ function createGeographicProfile(parameters, primeMeridian2 = 0) {
1190
+ const center = numberParameter(parameters, "lon_wrap", 0) * DEGREES_TO_RADIANS;
1191
+ return (coverage) => createRectangleRenderingProfile((ranges) => {
1192
+ const longitude = longitudeRange(ranges, center);
1193
+ return [
1194
+ [center + longitude[0], ranges[0][1], 0],
1195
+ [center + longitude[1], ranges[1][1], 0]
1196
+ ];
1197
+ }, coverage ?? [-180, -90, 180, 90], center, primeMeridian2);
1198
+ }
1199
+
1200
+ // dist/projection/experimental/vertical-datum.js
1201
+ function compileVerticalGrid(names, grids = {}) {
1202
+ if (names === void 0)
1203
+ return void 0;
1204
+ const entries = [];
1205
+ for (const entry of names.split(",")) {
1206
+ const optional = entry.startsWith("@");
1207
+ const name = optional ? entry.slice(1) : entry;
1208
+ if (!name || /\s/.test(name))
1209
+ throw new Error("Invalid vertical grid name");
1210
+ if (name === "null") {
1211
+ entries.push(null);
1212
+ break;
1213
+ }
1214
+ const grid = Object.prototype.hasOwnProperty.call(grids, name) ? grids[name] : void 0;
1215
+ if (grid) {
1216
+ if (typeof grid.getOffset !== "function")
1217
+ throw new Error("Invalid vertical grid: " + name);
1218
+ entries.push(grid.getOffset.bind(grid));
1219
+ } else if (!optional)
1220
+ unsupportedStage("Required vertical grid is not registered: " + name);
1221
+ }
1222
+ return (longitude, latitude) => {
1223
+ for (const sample of entries) {
1224
+ if (!sample)
1225
+ return 0;
1226
+ const offset = sample(longitude, latitude);
1227
+ if (offset === void 0)
1228
+ continue;
1229
+ if (!Number.isFinite(offset))
1230
+ throw new Error("Vertical grid returned a non-finite offset");
1231
+ return offset;
1232
+ }
1233
+ throw new Error("No vertical grid covers this coordinate");
1234
+ };
1235
+ }
1236
+
1237
+ // dist/projection/experimental/typescript-projection.js
1238
+ var ProjectionTransform = class _ProjectionTransform {
1239
+ /** Resolve required descriptors once, then return an ordinary synchronous instance. */
1240
+ static async create(options = {}) {
1241
+ const projections = await Promise.all(requiredProjections(options).map(preloadProjection));
1242
+ return new _ProjectionTransform({ ...options, projections });
1243
+ }
1244
+ get targetProfile() {
1245
+ return this.getTargetRenderingProfile(this.targetCoverage);
1246
+ }
1247
+ /** Resolve target rendering policy independently from coordinate conversion. @internal */
1248
+ getTargetRenderingProfile(coverage) {
1249
+ return this.targetRenderingProfile && resolveRenderingProfile(this.targetRenderingProfile, coverage);
1250
+ }
1251
+ constructor(options = {}) {
1252
+ var _a2, _b, _c;
1253
+ this.coordinateScratch = new ProjectionScratch();
1254
+ this.targetLongitudeOrigin = 0;
1255
+ const registrations = options.projections || [];
1256
+ const plugins = registry(registrations);
1257
+ if (registrations.some((projection) => !("create" in projection))) {
1258
+ const from = normalizeCRS(options.from ?? "WGS84", options);
1259
+ const to = normalizeCRS(options.to ?? "WGS84", options);
1260
+ this.lossy = from.lossy || to.lossy;
1261
+ this.deferred = { options: { ...options, projections: [...registrations] } };
1262
+ } else {
1263
+ const eager = options;
1264
+ const eagerPlugins = plugins;
1265
+ const from = compileCRS(eager.from ?? "WGS84", eagerPlugins, eager);
1266
+ const to = compileCRS(eager.to ?? "WGS84", eagerPlugins, eager);
1267
+ this.targetRenderingProfile = ((_b = (_a2 = to.implementation) == null ? void 0 : _a2.getRenderingProfile) == null ? void 0 : _b.bind(to.implementation)) ?? (to.kind === "geographic" ? createGeographicProfile(to.parameters, to.primeMeridian) : to.kind === "identity" ? getIdentityRenderingProfile : void 0);
1268
+ this.targetCoverage = to.areaOfUse;
1269
+ this.targetLongitudeOrigin = ((_c = to.implementation) == null ? void 0 : _c.longitudeOrigin) ?? (to.kind === "geographic" ? to.longitudeWrap ?? 0 : 0);
1270
+ this.lossy = from.lossy || to.lossy;
1271
+ if (this.lossy && (from.kind === "geocentric" || to.kind === "geocentric"))
1272
+ unsupportedStage("Horizontal extraction cannot supply ellipsoidal height for geocentric coordinates");
1273
+ if (this.lossy && (from.verticalGrid || to.verticalGrid))
1274
+ unsupportedStage("Horizontal extraction cannot be combined with vertical grids");
1275
+ this.forwardTransform = compileTransform(from, to, Boolean(options.enforceAxis));
1276
+ this.inverseTransform = compileTransform(to, from, Boolean(options.enforceAxis));
1277
+ }
1278
+ this.project = this.project.bind(this);
1279
+ this.unproject = this.unproject.bind(this);
1280
+ this.projectTo = this.projectTo.bind(this);
1281
+ this.unprojectTo = this.unprojectTo.bind(this);
1282
+ this.projectToSync = this.projectToSync.bind(this);
1283
+ this.unprojectToSync = this.unprojectToSync.bind(this);
1284
+ this.projectFlat = this.projectFlat.bind(this);
1285
+ this.unprojectFlat = this.unprojectFlat.bind(this);
1286
+ this.projectSync = this.projectSync.bind(this);
1287
+ this.unprojectSync = this.unprojectSync.bind(this);
1288
+ this.projectFlatSync = this.projectFlatSync.bind(this);
1289
+ this.unprojectFlatSync = this.unprojectFlatSync.bind(this);
1290
+ }
1291
+ load() {
1292
+ const state = this.deferred;
1293
+ if (!state)
1294
+ return Promise.resolve(this);
1295
+ if (state.implementation)
1296
+ return Promise.resolve(state.implementation);
1297
+ state.pending || (state.pending = _ProjectionTransform.create(state.options).then((projection) => {
1298
+ state.implementation = projection;
1299
+ return projection;
1300
+ }).catch((error) => {
1301
+ state.pending = void 0;
1302
+ throw error;
1303
+ }));
1304
+ return state.pending;
1305
+ }
1306
+ loadSync() {
1307
+ const state = this.deferred;
1308
+ if (!state)
1309
+ return this;
1310
+ if (!state.implementation) {
1311
+ const projections = requiredProjections(state.options).map((descriptor) => {
1312
+ const plugin = getLoadedProjection(descriptor);
1313
+ if (!plugin)
1314
+ throw new Error("Projection is not preloaded: " + descriptor.name + ". Call preload() first.");
1315
+ return plugin;
1316
+ });
1317
+ state.implementation = new _ProjectionTransform({ ...state.options, projections });
1318
+ }
1319
+ return state.implementation;
1320
+ }
1321
+ /** Synchronous variants never import algorithms; descriptors must be preloaded. */
1322
+ projectSync(coordinate) {
1323
+ return this.deferred ? this.loadSync().project(coordinate) : transformScalar(coordinate, this.forwardTransform, this.coordinateScratch);
1324
+ }
1325
+ unprojectSync(coordinate) {
1326
+ return this.deferred ? this.loadSync().unproject(coordinate) : transformScalar(coordinate, this.inverseTransform, this.coordinateScratch);
1327
+ }
1328
+ projectFlatSync(coordinates, dimension = 2) {
1329
+ return this.deferred ? this.loadSync().projectFlat(coordinates, dimension) : transformInPlace(coordinates, dimension, this.forwardTransform, this.coordinateScratch);
1330
+ }
1331
+ unprojectFlatSync(coordinates, dimension = 2) {
1332
+ return this.deferred ? this.loadSync().unprojectFlat(coordinates, dimension) : transformInPlace(coordinates, dimension, this.inverseTransform, this.coordinateScratch);
1333
+ }
1334
+ /** Optional warm-up. Coordinate methods also load automatically on first use. */
1335
+ async preload() {
1336
+ await this.load();
1337
+ }
1338
+ /** Eager plugins return arrays; descriptor-backed instances return promises. */
1339
+ project(coordinate) {
1340
+ const result = this.deferred ? this.projectLoaded(coordinate, false) : transformScalar(coordinate, this.forwardTransform, this.coordinateScratch);
1341
+ return result;
1342
+ }
1343
+ unproject(coordinate) {
1344
+ const result = this.deferred ? this.projectLoaded(coordinate, true) : transformScalar(coordinate, this.inverseTransform, this.coordinateScratch);
1345
+ return result;
1346
+ }
1347
+ /** Write one coordinate into caller-owned storage; return that same output. */
1348
+ projectTo(coordinate, output) {
1349
+ return this.deferred ? this.projectToLoaded(coordinate, output, false) : this.projectToSync(coordinate, output);
1350
+ }
1351
+ unprojectTo(coordinate, output) {
1352
+ return this.deferred ? this.projectToLoaded(coordinate, output, true) : this.unprojectToSync(coordinate, output);
1353
+ }
1354
+ projectToSync(coordinate, output) {
1355
+ if (this.deferred)
1356
+ return this.loadSync().projectTo(coordinate, output);
1357
+ validateScalarOutput(coordinate, output, Math.max(coordinate.length, this.forwardTransform.geocentricOutput ? 3 : 2));
1358
+ return transformScalar(coordinate, this.forwardTransform, this.coordinateScratch, output);
1359
+ }
1360
+ unprojectToSync(coordinate, output) {
1361
+ if (this.deferred)
1362
+ return this.loadSync().unprojectTo(coordinate, output);
1363
+ validateScalarOutput(coordinate, output, Math.max(coordinate.length, this.inverseTransform.geocentricOutput ? 3 : 2));
1364
+ return transformScalar(coordinate, this.inverseTransform, this.coordinateScratch, output);
1365
+ }
1366
+ projectToLoaded(coordinate, output, inverse) {
1367
+ validateScalarOutput(coordinate, output, coordinate.length);
1368
+ const input = coordinate.slice();
1369
+ return this.load().then((projection) => inverse ? projection.unprojectTo(input, output) : projection.projectTo(input, output));
1370
+ }
1371
+ projectLoaded(coordinate, inverse) {
1372
+ const input = coordinate.slice();
1373
+ return this.load().then((projection) => inverse ? projection.unproject(input) : projection.project(input));
1374
+ }
1375
+ /** In-place; descriptor callers must await completion before reusing the buffer. */
1376
+ projectFlat(coordinates, dimension = 2) {
1377
+ const result = this.deferred ? this.load().then((projection) => projection.projectFlat(coordinates, dimension)) : transformInPlace(coordinates, dimension, this.forwardTransform, this.coordinateScratch);
1378
+ return result;
1379
+ }
1380
+ unprojectFlat(coordinates, dimension = 2) {
1381
+ const result = this.deferred ? this.load().then((projection) => projection.unprojectFlat(coordinates, dimension)) : transformInPlace(coordinates, dimension, this.inverseTransform, this.coordinateScratch);
1382
+ return result;
1383
+ }
1384
+ };
1385
+ function requiredProjections(options) {
1386
+ const available = registry(options.projections || []);
1387
+ const required = /* @__PURE__ */ new Set();
1388
+ for (const definition of [options.from ?? "WGS84", options.to ?? "WGS84"]) {
1389
+ const crs = normalizeCRS(definition, options);
1390
+ if (["geographic", "identity"].includes(crs.kind))
1391
+ continue;
1392
+ const projection = available.get(pluginKey(crs.projection));
1393
+ if (!projection)
1394
+ throw new TypeScriptCRSError("missing-plugin", "Projection plugin is not registered: " + crs.projection);
1395
+ required.add(projection);
1396
+ }
1397
+ return [...required];
1398
+ }
1399
+ var pluginKey = (name) => name.toLowerCase().replace(/[\s_-]/g, "");
1400
+ function registry(projections) {
1401
+ const plugins = /* @__PURE__ */ new Map();
1402
+ for (const plugin of projections) {
1403
+ for (const name of new Set([plugin.name, ...plugin.aliases || []].map(pluginKey))) {
1404
+ if (!name || ["longlat", "latlong", "latlon", "lonlat", "identity"].includes(name) || plugins.has(name))
1405
+ throw new Error("Duplicate or reserved projection plugin: " + name);
1406
+ plugins.set(name, plugin);
1407
+ }
1408
+ }
1409
+ return plugins;
1410
+ }
1411
+ function compileCRS(definition, plugins, options) {
1412
+ var _a2;
1413
+ const crs = normalizeCRS(definition, options);
1414
+ const plugin = plugins.get(pluginKey(crs.projection));
1415
+ if (!["geographic", "identity"].includes(crs.kind) && !plugin)
1416
+ throw new TypeScriptCRSError("missing-plugin", "Projection plugin is not registered: " + crs.projection);
1417
+ const allowed = /* @__PURE__ */ new Set([...CORE_PARAMETERS, ...(plugin == null ? void 0 : plugin.parameters) || []]);
1418
+ for (const key of Object.keys(crs.parameters)) {
1419
+ if (!allowed.has(key))
1420
+ throw new TypeScriptCRSError("missing-transform-stage", "Unsupported PROJ parameter: +" + key);
1421
+ const flag = CORE_FLAGS.includes(key) || ((_a2 = plugin == null ? void 0 : plugin.flags) == null ? void 0 : _a2.includes(key));
1422
+ if (flag && crs.parameters[key] !== void 0)
1423
+ throw new Error("Expected a flag without a value: +" + key);
1424
+ if (!flag && !crs.parameters[key])
1425
+ throw new Error("PROJ parameter requires a value: +" + key);
1426
+ }
1427
+ if (crs.parameters["type"] && crs.parameters["type"] !== "crs")
1428
+ throw new Error("Only +type=crs is supported");
1429
+ const parameters = pluginKey(crs.projection) === "fasttransversemercator" ? Object.freeze({ ...crs.parameters, approx: void 0 }) : crs.parameters;
1430
+ const implementation = plugin == null ? void 0 : plugin.create({
1431
+ ...crs.ellipsoid,
1432
+ parameters,
1433
+ primeMeridian: crs.primeMeridian
1434
+ });
1435
+ if (crs.kind === "geocentric" && (!(implementation == null ? void 0 : implementation.forward3D) || !(implementation == null ? void 0 : implementation.inverse3D)))
1436
+ throw new Error("Geocentric plugin must implement 3D operations");
1437
+ const references = crs.datum.grids;
1438
+ const nullIndex = (references == null ? void 0 : references.findIndex((reference) => reference.name === "null")) ?? -1;
1439
+ const grids = references == null ? void 0 : references.slice(0, nullIndex < 0 ? void 0 : nullIndex + 1).map((reference) => {
1440
+ const grid = Object.prototype.hasOwnProperty.call(options.datumGrids || {}, reference.name) ? options.datumGrids[reference.name] : void 0;
1441
+ if (grid && typeof grid.shift !== "function")
1442
+ throw new Error("Invalid prepared datum grid: " + reference.name);
1443
+ return Object.freeze({ ...reference, grid });
1444
+ });
1445
+ for (const reference of grids || []) {
1446
+ if (reference.name === "null")
1447
+ break;
1448
+ if (!reference.optional && !reference.grid)
1449
+ unsupportedStage("Required datum grid is not registered: " + reference.name);
1450
+ }
1451
+ const datum = grids ? Object.freeze({ ...crs.datum, grids: Object.freeze(grids) }) : crs.datum;
1452
+ const verticalGrid = compileVerticalGrid(crs.parameters["geoidgrids"], options.verticalGrids);
1453
+ if (verticalGrid && (crs.kind === "geocentric" || crs.kind === "identity" || crs.lossy))
1454
+ unsupportedStage("Vertical grids require a non-lossy geographic or projected CRS");
1455
+ return { ...crs, datum, implementation, verticalGrid };
1456
+ }
1457
+ function finite(point) {
1458
+ return Number.isFinite(point.x) && Number.isFinite(point.y) && Number.isFinite(point.z);
1459
+ }
1460
+ function compileAxis(axis, inverse) {
1461
+ if (axis === "enu")
1462
+ return void 0;
1463
+ const indexes = [0, 0, 0], signs = [0, 0, 0];
1464
+ for (let i = 0; i < 3; i++) {
1465
+ const char = axis[i], component = "ew".includes(char) ? 0 : "ns".includes(char) ? 1 : 2;
1466
+ indexes[inverse ? i : component] = inverse ? component : i;
1467
+ signs[inverse ? i : component] = "wsd".includes(char) ? -1 : 1;
1468
+ }
1469
+ return (point) => {
1470
+ const x = point.x, y = point.y, z = point.z;
1471
+ point.x = signs[0] * (indexes[0] === 0 ? x : indexes[0] === 1 ? y : z);
1472
+ point.y = signs[1] * (indexes[1] === 0 ? x : indexes[1] === 1 ? y : z);
1473
+ point.z = signs[2] * (indexes[2] === 0 ? x : indexes[2] === 1 ? y : z);
1474
+ };
1475
+ }
1476
+ function compileTransform(from, to, enforceAxis) {
1477
+ var _a2, _b, _c, _d;
1478
+ const fromAxis = from.storedAxis || (enforceAxis ? from.axis : "enu");
1479
+ const toAxis = to.storedAxis || (enforceAxis ? to.axis : "enu");
1480
+ const inputAxis = compileAxis(fromAxis, false), outputAxis = compileAxis(toAxis, true);
1481
+ const source = from.implementation && projectionOperation(from.implementation, true, from.kind === "geocentric");
1482
+ const target = to.implementation && projectionOperation(to.implementation, false, to.kind === "geocentric");
1483
+ const datum = createDatumTransform(from.datum, to.datum);
1484
+ const horizontalOnly = from.lossy || to.lossy;
1485
+ const fromGeocentric = from.kind === "geocentric";
1486
+ const inputScale = from.kind === "geographic" ? from.angularUnit : from.toMeter;
1487
+ const outputScale = to.kind === "geographic" ? to.angularUnit : to.toMeter;
1488
+ const inputVerticalScale = fromGeocentric ? 1 : from.verticalUnit, outputVerticalScale = to.kind === "geocentric" ? outputScale : to.verticalUnit;
1489
+ const fromPrime = from.primeMeridian, toPrime = to.primeMeridian;
1490
+ const longitudeWrap = to.kind === "geographic" ? to.longitudeWrap : void 0;
1491
+ let flat;
1492
+ if (!datum && !from.verticalGrid && !to.verticalGrid && !horizontalOnly && !inputAxis && !outputAxis && !fromPrime && !toPrime && from.verticalUnit === 1 && to.verticalUnit === 1 && longitudeWrap === void 0) {
1493
+ const context = Object.freeze({ inputScale, outputScale });
1494
+ if (from.kind === "geographic" && to.kind === "projected")
1495
+ flat = (_b = (_a2 = to.implementation) == null ? void 0 : _a2.createForwardFlat) == null ? void 0 : _b.call(_a2, context);
1496
+ if (from.kind === "projected" && to.kind === "geographic")
1497
+ flat = (_d = (_c = from.implementation) == null ? void 0 : _c.createInverseFlat) == null ? void 0 : _d.call(_c, context);
1498
+ }
1499
+ return {
1500
+ flat,
1501
+ requiresInputZ: Boolean(from.verticalGrid || to.verticalGrid) || from.kind === "geocentric" || /[ud]/.test(fromAxis.slice(0, 2)) || /[ud]/.test(toAxis.slice(0, 2)),
1502
+ geocentricOutput: to.kind === "geocentric",
1503
+ run(point) {
1504
+ if (!finite(point))
1505
+ throw new Error("Coordinates must contain finite x, y and optional z values");
1506
+ inputAxis == null ? void 0 : inputAxis(point);
1507
+ const preservedHeight = point.z;
1508
+ if (horizontalOnly)
1509
+ point.z = 0;
1510
+ if (inputScale !== 1) {
1511
+ point.x *= inputScale;
1512
+ point.y *= inputScale;
1513
+ if (fromGeocentric)
1514
+ point.z *= inputScale;
1515
+ }
1516
+ source == null ? void 0 : source(point);
1517
+ if (inputVerticalScale !== 1)
1518
+ point.z *= inputVerticalScale;
1519
+ if (Math.abs(point.y) > Math.PI / 2 || !finite(point))
1520
+ throw new Error("Coordinate is outside the geographic domain");
1521
+ point.x += fromPrime;
1522
+ if (from.verticalGrid)
1523
+ point.z += from.verticalGrid(point.x, point.y);
1524
+ datum == null ? void 0 : datum(point);
1525
+ if (to.verticalGrid)
1526
+ point.z -= to.verticalGrid(point.x, point.y);
1527
+ point.x -= toPrime;
1528
+ if (longitudeWrap !== void 0)
1529
+ point.x = longitudeWrap + wrapLongitude(point.x - longitudeWrap);
1530
+ target == null ? void 0 : target(point);
1531
+ if (outputScale !== 1) {
1532
+ point.x /= outputScale;
1533
+ point.y /= outputScale;
1534
+ }
1535
+ if (outputVerticalScale !== 1)
1536
+ point.z /= outputVerticalScale;
1537
+ if (horizontalOnly)
1538
+ point.z = preservedHeight;
1539
+ outputAxis == null ? void 0 : outputAxis(point);
1540
+ if (!finite(point))
1541
+ throw new Error("Projection produced non-finite coordinates");
1542
+ }
1543
+ };
1544
+ }
1545
+ function transformScalar(coordinate, operation, scratch, output) {
1546
+ if (coordinate.length < 2)
1547
+ throw new Error("Coordinates must contain finite x, y and optional z values");
1548
+ if (coordinate.length < 3 && operation.requiresInputZ)
1549
+ throw new Error("This transform requires three ordinates");
1550
+ const length = Math.max(coordinate.length, operation.geocentricOutput ? 3 : 2);
1551
+ const point = scratch.acquire();
1552
+ try {
1553
+ point.x = coordinate[0];
1554
+ point.y = coordinate[1];
1555
+ point.z = coordinate.length >= 3 ? coordinate[2] : 0;
1556
+ operation.run(point);
1557
+ if (output)
1558
+ return writeScalarOutput(coordinate, output, point, length);
1559
+ const result = coordinate.slice();
1560
+ result[0] = point.x;
1561
+ result[1] = point.y;
1562
+ if (coordinate.length >= 3 || operation.geocentricOutput)
1563
+ result[2] = point.z;
1564
+ return result;
1565
+ } finally {
1566
+ scratch.release(point);
1567
+ }
1568
+ }
1569
+ function transformInPlace(coordinates, dimension, operation, scratch) {
1570
+ if (!(coordinates instanceof Float32Array || coordinates instanceof Float64Array))
1571
+ throw new Error("In-place projection requires a Float32Array or Float64Array");
1572
+ if (!Number.isSafeInteger(dimension) || dimension < 2 || coordinates.length % dimension !== 0)
1573
+ throw new Error("Dimension must be an integer >= 2 and divide the typed array length");
1574
+ if (dimension < 3 && (operation.requiresInputZ || operation.geocentricOutput))
1575
+ throw new Error("This transform requires a dimension of at least 3");
1576
+ if (operation.flat) {
1577
+ operation.flat(coordinates, dimension);
1578
+ return coordinates;
1579
+ }
1580
+ const point = scratch.acquire();
1581
+ try {
1582
+ const float32 = coordinates instanceof Float32Array;
1583
+ for (let offset = 0; offset < coordinates.length; offset += dimension) {
1584
+ point.x = coordinates[offset];
1585
+ point.y = coordinates[offset + 1];
1586
+ point.z = dimension >= 3 ? coordinates[offset + 2] : 0;
1587
+ operation.run(point);
1588
+ if (float32 && (Math.abs(point.x) > 34028234663852886e22 || Math.abs(point.y) > 34028234663852886e22 || dimension >= 3 && Math.abs(point.z) > 34028234663852886e22))
1589
+ throw new Error("Projected coordinate exceeds Float32 range");
1590
+ coordinates[offset] = point.x;
1591
+ coordinates[offset + 1] = point.y;
1592
+ if (dimension >= 3)
1593
+ coordinates[offset + 2] = point.z;
1594
+ }
1595
+ return coordinates;
1596
+ } finally {
1597
+ scratch.release(point);
1598
+ }
1599
+ }
1600
+
1601
+ // dist/projection/numerical-derivative.js
1602
+ var NumericalDerivative = class {
1603
+ constructor(sample) {
1604
+ this.sample = sample;
1605
+ this.result = [0, 0, 0];
1606
+ this.samples = Array.from({ length: 4 }, () => [0, 0, 0]);
1607
+ this.coarse = [0, 0, 0];
1608
+ this.fine = [0, 0, 0];
1609
+ }
1610
+ evaluate(step, referenceScale, tolerance = 1e-6) {
1611
+ if (!this.difference(step, this.coarse) || !this.difference(step / 2, this.fine))
1612
+ return false;
1613
+ const bound = tolerance * Math.max(referenceScale, Math.abs(this.fine[0]), Math.abs(this.fine[1]), Math.abs(this.fine[2]));
1614
+ for (let i = 0; i < 3; i++) {
1615
+ if (Math.abs(this.coarse[i] - this.fine[i]) > bound)
1616
+ return false;
1617
+ this.fine[i] += (this.fine[i] - this.coarse[i]) / 15;
1618
+ if (!Number.isFinite(this.fine[i]))
1619
+ return false;
1620
+ }
1621
+ for (let i = 0; i < 3; i++)
1622
+ this.result[i] = this.fine[i];
1623
+ return true;
1624
+ }
1625
+ difference(step, output) {
1626
+ const [a, b, c, d] = this.samples;
1627
+ if (!this.sample(-2 * step, a) || !this.sample(-step, b) || !this.sample(step, c) || !this.sample(2 * step, d))
1628
+ return false;
1629
+ for (let i = 0; i < 3; i++) {
1630
+ output[i] = (a[i] - d[i] + 8 * (c[i] - b[i])) / (12 * step);
1631
+ if (!Number.isFinite(output[i]))
1632
+ return false;
1633
+ }
1634
+ return true;
1635
+ }
1636
+ };
1637
+
1638
+ // dist/projection/analysis.js
1639
+ var ProjectionAnalysis = class {
1640
+ constructor(options) {
1641
+ this.point = { x: 0, y: 0, z: 0 };
1642
+ this.derivative = [0, 0, 0, 0];
1643
+ this.busy = false;
1644
+ this.longitude = 0;
1645
+ this.latitude = 0;
1646
+ this.axis = 0;
1647
+ this.numerical = new NumericalDerivative((offset, output) => {
1648
+ if (!this.sample(this.longitude + (this.axis === 0 ? offset : 0), this.latitude + (this.axis === 1 ? offset : 0)))
1649
+ return false;
1650
+ output[0] = this.point.x;
1651
+ output[1] = this.point.y;
1652
+ output[2] = 0;
1653
+ return true;
1654
+ });
1655
+ const { semiMajorAxis: a } = options.context;
1656
+ const ground = options.groundEllipsoid ?? options.context;
1657
+ const { west, east, south, north } = options.domain;
1658
+ const step = options.step ?? 1e-4, tolerance = options.derivativeTolerance ?? 1e-6;
1659
+ if (!([options.context, ground].every(({ semiMajorAxis, eccentricitySquared }) => Number.isFinite(semiMajorAxis) && semiMajorAxis > 0 && Number.isFinite(eccentricitySquared) && eccentricitySquared >= 0 && eccentricitySquared < 1) && Number.isFinite(west) && Number.isFinite(east) && west < east && west >= -Math.PI && east <= Math.PI && Number.isFinite(south) && Number.isFinite(north) && south < north && south >= -Math.PI / 2 && north <= Math.PI / 2 && Number.isFinite(step) && step > 0 && step < 0.1 && Number.isFinite(tolerance) && tolerance > 0 && tolerance < 1)) {
1660
+ throw new Error("Invalid projection analysis geometry, domain or derivative options");
1661
+ }
1662
+ this.domain = Object.freeze({ west, east, south, north });
1663
+ this.implementation = options.projection.create(options.context);
1664
+ if (!this.implementation.forwardInPlace || !this.implementation.inverseInPlace) {
1665
+ throw new Error("Projection analysis requires mutable horizontal projection hooks");
1666
+ }
1667
+ this.a = a;
1668
+ this.groundSemiMajorAxis = ground.semiMajorAxis;
1669
+ this.groundEs = ground.eccentricitySquared;
1670
+ this.step = step;
1671
+ this.tolerance = tolerance;
1672
+ }
1673
+ contains(longitude, latitude) {
1674
+ const { west, east, south, north } = this.domain;
1675
+ return Number.isFinite(longitude) && Number.isFinite(latitude) && longitude >= west && longitude <= east && latitude >= south && latitude <= north;
1676
+ }
1677
+ projectTo(longitude, latitude, result) {
1678
+ if (this.busy || !this.contains(longitude, latitude))
1679
+ return false;
1680
+ this.busy = true;
1681
+ let x, y;
1682
+ try {
1683
+ if (!this.sample(longitude, latitude))
1684
+ return false;
1685
+ x = this.point.x;
1686
+ y = this.point.y;
1687
+ } finally {
1688
+ this.busy = false;
1689
+ }
1690
+ result.x = x;
1691
+ result.y = y;
1692
+ return true;
1693
+ }
1694
+ unprojectTo(x, y, result) {
1695
+ if (this.busy || !Number.isFinite(x) || !Number.isFinite(y))
1696
+ return false;
1697
+ this.busy = true;
1698
+ let longitude, latitude;
1699
+ try {
1700
+ this.point.x = x;
1701
+ this.point.y = y;
1702
+ this.point.z = 0;
1703
+ try {
1704
+ this.implementation.inverseInPlace(this.point);
1705
+ } catch {
1706
+ return false;
1707
+ }
1708
+ longitude = this.point.x;
1709
+ latitude = this.point.y;
1710
+ if (!this.contains(longitude, latitude))
1711
+ return false;
1712
+ } finally {
1713
+ this.busy = false;
1714
+ }
1715
+ result.x = longitude;
1716
+ result.y = latitude;
1717
+ return true;
1718
+ }
1719
+ jacobian(longitude, latitude, result) {
1720
+ if (!this.calculate(longitude, latitude))
1721
+ return false;
1722
+ const [xx, xy, yx, yy] = this.derivative;
1723
+ result.dxDLongitude = xx;
1724
+ result.dxDLatitude = xy;
1725
+ result.dyDLongitude = yx;
1726
+ result.dyDLatitude = yy;
1727
+ return true;
1728
+ }
1729
+ factors(longitude, latitude, result) {
1730
+ if (!this.calculate(longitude, latitude))
1731
+ return false;
1732
+ const [xx, xy, yx, yy] = this.derivative;
1733
+ const a = this.groundSemiMajorAxis;
1734
+ const es = this.groundEs;
1735
+ const d = 1 - es * Math.sin(latitude) ** 2;
1736
+ const parallelRadius = a * Math.cos(latitude) / Math.sqrt(d);
1737
+ const meridionalRadius = a * (1 - es) / (d * Math.sqrt(d));
1738
+ const ex = xx / parallelRadius, ey = yx / parallelRadius;
1739
+ const nx = xy / meridionalRadius, ny = yy / meridionalRadius;
1740
+ const k = Math.hypot(ex, ey), h = Math.hypot(nx, ny), area = ex * ny - ey * nx;
1741
+ const sum = Math.hypot(ex + ny, ey - nx), difference = Math.hypot(ex - ny, ey + nx);
1742
+ const maximum = (sum + difference) / 2;
1743
+ const minimum = maximum > 0 ? Math.min(maximum, Math.abs(area) / maximum) : 0;
1744
+ if (!(Number.isFinite(maximum) && minimum > maximum * 1e-12 && Number.isFinite(h) && Number.isFinite(k)))
1745
+ return false;
1746
+ const angle = Math.atan2(Math.abs(area), Math.abs(ex * nx + ey * ny));
1747
+ const convergence = -Math.atan2(xy, yy);
1748
+ const distortion = 2 * Math.asin(Math.min(1, (maximum - minimum) / (maximum + minimum)));
1749
+ result.dxDLongitude = xx;
1750
+ result.dxDLatitude = xy;
1751
+ result.dyDLongitude = yx;
1752
+ result.dyDLatitude = yy;
1753
+ result.meridionalScale = h;
1754
+ result.parallelScale = k;
1755
+ result.arealScale = area;
1756
+ result.meridianConvergence = convergence;
1757
+ result.meridianParallelAngle = angle;
1758
+ result.angularDistortion = distortion;
1759
+ result.maximumScale = maximum;
1760
+ result.minimumScale = minimum;
1761
+ return true;
1762
+ }
1763
+ sample(longitude, latitude) {
1764
+ if (!this.contains(longitude, latitude))
1765
+ return false;
1766
+ this.point.x = longitude;
1767
+ this.point.y = latitude;
1768
+ this.point.z = 0;
1769
+ try {
1770
+ this.implementation.forwardInPlace(this.point);
1771
+ } catch {
1772
+ return false;
1773
+ }
1774
+ return Number.isFinite(this.point.x) && Number.isFinite(this.point.y);
1775
+ }
1776
+ calculate(longitude, latitude) {
1777
+ if (this.busy)
1778
+ return false;
1779
+ this.busy = true;
1780
+ try {
1781
+ this.longitude = longitude;
1782
+ this.latitude = latitude;
1783
+ for (let axis = 0; axis < 2; axis++) {
1784
+ this.axis = axis;
1785
+ if (!this.numerical.evaluate(this.step, this.a, this.tolerance))
1786
+ return false;
1787
+ this.derivative[axis] = this.numerical.result[0];
1788
+ this.derivative[axis + 2] = this.numerical.result[1];
1789
+ }
1790
+ return true;
1791
+ } finally {
1792
+ this.busy = false;
1793
+ }
1794
+ }
1795
+ };
1796
+
1797
+ // dist/projection/transform-analysis.js
1798
+ async function createProjectionTransformAnalysis(options) {
1799
+ const from = options.from ?? "WGS84";
1800
+ const source = normalizeCRS(from, options);
1801
+ const geographicFrom = options.geographicFrom ?? (source.kind === "geographic" ? from : void 0);
1802
+ if (!geographicFrom)
1803
+ throw new Error("Projected source analysis requires geographicFrom");
1804
+ const geographic = normalizeCRS(geographicFrom, options);
1805
+ const target = normalizeCRS(options.to ?? "WGS84", options);
1806
+ const height = options.height ?? 0;
1807
+ if (geographic.kind !== "geographic" || target.kind !== "projected" || !Number.isFinite(height)) {
1808
+ throw new Error("Transform analysis requires a geographic anchor, planar target and finite height");
1809
+ }
1810
+ const anchorTransform = await ProjectionTransform.create({
1811
+ ...options,
1812
+ from: geographicFrom,
1813
+ to: from,
1814
+ enforceAxis: true
1815
+ });
1816
+ const transform = await ProjectionTransform.create({ ...options, enforceAxis: true });
1817
+ if (anchorTransform.lossy || transform.lossy) {
1818
+ throw new Error("Transform analysis requires lossless CRS pipelines");
1819
+ }
1820
+ const input = [0, 0, 0];
1821
+ const anchored = [0, 0, 0];
1822
+ const output = [0, 0, 0];
1823
+ const projection = {
1824
+ name: "prepared-crs-analysis",
1825
+ parameters: [],
1826
+ create: () => ({
1827
+ forward: () => {
1828
+ throw new Error("Use the mutable analysis hook");
1829
+ },
1830
+ inverse: () => {
1831
+ throw new Error("Transform analysis does not invert horizontal slices");
1832
+ },
1833
+ inverseInPlace: () => {
1834
+ throw new Error("Transform analysis does not invert horizontal slices");
1835
+ },
1836
+ forwardInPlace(point) {
1837
+ writeGeographicInput(point.x, point.y, height, geographic, input);
1838
+ anchorTransform.projectToSync(input, anchored);
1839
+ transform.projectToSync(anchored, output);
1840
+ readProjectedOutput(output, target, point);
1841
+ }
1842
+ })
1843
+ };
1844
+ const analysis = new ProjectionAnalysis({
1845
+ projection,
1846
+ // The adapter already produces physical meters through prepared transforms. Its
1847
+ // context supplies only the ground metric and numerical derivative scale.
1848
+ context: { ...options.groundEllipsoid ?? geographic.ellipsoid, parameters: {} },
1849
+ domain: options.domain,
1850
+ step: options.step,
1851
+ derivativeTolerance: options.derivativeTolerance
1852
+ });
1853
+ return {
1854
+ domain: analysis.domain,
1855
+ contains: analysis.contains.bind(analysis),
1856
+ jacobian: analysis.jacobian.bind(analysis),
1857
+ factors: analysis.factors.bind(analysis)
1858
+ };
1859
+ }
1860
+ function writeGeographicInput(longitude, latitude, height, crs, point) {
1861
+ const axis = crs.storedAxis ?? crs.axis;
1862
+ for (let i = 0; i < 3; i++) {
1863
+ const direction = axis[i];
1864
+ const value = direction === "e" || direction === "w" ? longitude / crs.angularUnit : direction === "n" || direction === "s" ? latitude / crs.angularUnit : height / crs.verticalUnit;
1865
+ const signed = direction === "w" || direction === "s" || direction === "d" ? -value : value;
1866
+ point[i] = signed;
1867
+ }
1868
+ }
1869
+ function readProjectedOutput(input, crs, result) {
1870
+ const axis = crs.storedAxis ?? crs.axis;
1871
+ for (let i = 0; i < 3; i++) {
1872
+ const value = input[i] * crs.toMeter;
1873
+ switch (axis[i]) {
1874
+ case "e":
1875
+ result.x = value;
1876
+ break;
1877
+ case "w":
1878
+ result.x = -value;
1879
+ break;
1880
+ case "n":
1881
+ result.y = value;
1882
+ break;
1883
+ case "s":
1884
+ result.y = -value;
1885
+ break;
1886
+ }
1887
+ }
1888
+ }
1889
+ //# sourceMappingURL=transform-analysis.cjs.map