@math.gl/projection 0.0.0-stage → 5.0.0-alpha.12

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 (1297) hide show
  1. package/APACHE-2.0-LICENSE.txt +55 -0
  2. package/PROJ-LICENSE.txt +37 -0
  3. package/PROJ4-LICENSE.md +29 -0
  4. package/README.md +27 -2
  5. package/THIRD-PARTY-NOTICES.md +163 -0
  6. package/dist/deformation.cjs +189 -0
  7. package/dist/deformation.cjs.map +6 -0
  8. package/dist/deformation.d.ts +3 -0
  9. package/dist/deformation.d.ts.map +1 -0
  10. package/dist/deformation.js +5 -0
  11. package/dist/deformation.js.map +1 -0
  12. package/dist/experimental/catalogue-kernel.d.ts +7 -0
  13. package/dist/experimental/catalogue-kernel.d.ts.map +1 -0
  14. package/dist/experimental/catalogue-kernel.js +36 -0
  15. package/dist/experimental/catalogue-kernel.js.map +1 -0
  16. package/dist/experimental/common/adjust_lat.d.ts +2 -0
  17. package/dist/experimental/common/adjust_lat.d.ts.map +1 -0
  18. package/dist/experimental/common/adjust_lat.js +10 -0
  19. package/dist/experimental/common/adjust_lat.js.map +1 -0
  20. package/dist/experimental/common/adjust_lon.d.ts +2 -0
  21. package/dist/experimental/common/adjust_lon.d.ts.map +1 -0
  22. package/dist/experimental/common/adjust_lon.js +13 -0
  23. package/dist/experimental/common/adjust_lon.js.map +1 -0
  24. package/dist/experimental/common/asinhy.d.ts +2 -0
  25. package/dist/experimental/common/asinhy.d.ts.map +1 -0
  26. package/dist/experimental/common/asinhy.js +12 -0
  27. package/dist/experimental/common/asinhy.js.map +1 -0
  28. package/dist/experimental/common/asinz.d.ts +2 -0
  29. package/dist/experimental/common/asinz.d.ts.map +1 -0
  30. package/dist/experimental/common/asinz.js +11 -0
  31. package/dist/experimental/common/asinz.js.map +1 -0
  32. package/dist/experimental/common/authlat.d.ts +2 -0
  33. package/dist/experimental/common/authlat.d.ts.map +1 -0
  34. package/dist/experimental/common/authlat.js +9 -0
  35. package/dist/experimental/common/authlat.js.map +1 -0
  36. package/dist/experimental/common/authset.d.ts +2 -0
  37. package/dist/experimental/common/authset.d.ts.map +1 -0
  38. package/dist/experimental/common/authset.js +24 -0
  39. package/dist/experimental/common/authset.js.map +1 -0
  40. package/dist/experimental/common/clens.d.ts +2 -0
  41. package/dist/experimental/common/clens.d.ts.map +1 -0
  42. package/dist/experimental/common/clens.js +18 -0
  43. package/dist/experimental/common/clens.js.map +1 -0
  44. package/dist/experimental/common/clens_cmplx.d.ts +5 -0
  45. package/dist/experimental/common/clens_cmplx.d.ts.map +1 -0
  46. package/dist/experimental/common/clens_cmplx.js +34 -0
  47. package/dist/experimental/common/clens_cmplx.js.map +1 -0
  48. package/dist/experimental/common/constants.d.ts +9 -0
  49. package/dist/experimental/common/constants.d.ts.map +1 -0
  50. package/dist/experimental/common/constants.js +14 -0
  51. package/dist/experimental/common/constants.js.map +1 -0
  52. package/dist/experimental/common/cosh.d.ts +2 -0
  53. package/dist/experimental/common/cosh.d.ts.map +1 -0
  54. package/dist/experimental/common/cosh.js +10 -0
  55. package/dist/experimental/common/cosh.js.map +1 -0
  56. package/dist/experimental/common/e0fn.d.ts +2 -0
  57. package/dist/experimental/common/e0fn.d.ts.map +1 -0
  58. package/dist/experimental/common/e0fn.js +8 -0
  59. package/dist/experimental/common/e0fn.js.map +1 -0
  60. package/dist/experimental/common/e1fn.d.ts +2 -0
  61. package/dist/experimental/common/e1fn.d.ts.map +1 -0
  62. package/dist/experimental/common/e1fn.js +8 -0
  63. package/dist/experimental/common/e1fn.js.map +1 -0
  64. package/dist/experimental/common/e2fn.d.ts +2 -0
  65. package/dist/experimental/common/e2fn.d.ts.map +1 -0
  66. package/dist/experimental/common/e2fn.js +8 -0
  67. package/dist/experimental/common/e2fn.js.map +1 -0
  68. package/dist/experimental/common/e3fn.d.ts +2 -0
  69. package/dist/experimental/common/e3fn.d.ts.map +1 -0
  70. package/dist/experimental/common/e3fn.js +8 -0
  71. package/dist/experimental/common/e3fn.js.map +1 -0
  72. package/dist/experimental/common/fL.d.ts +2 -0
  73. package/dist/experimental/common/fL.d.ts.map +1 -0
  74. package/dist/experimental/common/fL.js +9 -0
  75. package/dist/experimental/common/fL.js.map +1 -0
  76. package/dist/experimental/common/gN.d.ts +2 -0
  77. package/dist/experimental/common/gN.d.ts.map +1 -0
  78. package/dist/experimental/common/gN.js +9 -0
  79. package/dist/experimental/common/gN.js.map +1 -0
  80. package/dist/experimental/common/gatg.d.ts +2 -0
  81. package/dist/experimental/common/gatg.d.ts.map +1 -0
  82. package/dist/experimental/common/gatg.js +18 -0
  83. package/dist/experimental/common/gatg.js.map +1 -0
  84. package/dist/experimental/common/hypot.d.ts +2 -0
  85. package/dist/experimental/common/hypot.d.ts.map +1 -0
  86. package/dist/experimental/common/hypot.js +12 -0
  87. package/dist/experimental/common/hypot.js.map +1 -0
  88. package/dist/experimental/common/imlfn.d.ts +2 -0
  89. package/dist/experimental/common/imlfn.d.ts.map +1 -0
  90. package/dist/experimental/common/imlfn.js +21 -0
  91. package/dist/experimental/common/imlfn.js.map +1 -0
  92. package/dist/experimental/common/invlatiso.d.ts +2 -0
  93. package/dist/experimental/common/invlatiso.d.ts.map +1 -0
  94. package/dist/experimental/common/invlatiso.js +20 -0
  95. package/dist/experimental/common/invlatiso.js.map +1 -0
  96. package/dist/experimental/common/iqsfnz.d.ts +2 -0
  97. package/dist/experimental/common/iqsfnz.d.ts.map +1 -0
  98. package/dist/experimental/common/iqsfnz.js +44 -0
  99. package/dist/experimental/common/iqsfnz.js.map +1 -0
  100. package/dist/experimental/common/latiso.d.ts +2 -0
  101. package/dist/experimental/common/latiso.d.ts.map +1 -0
  102. package/dist/experimental/common/latiso.js +19 -0
  103. package/dist/experimental/common/latiso.js.map +1 -0
  104. package/dist/experimental/common/log1py.d.ts +2 -0
  105. package/dist/experimental/common/log1py.d.ts.map +1 -0
  106. package/dist/experimental/common/log1py.js +10 -0
  107. package/dist/experimental/common/log1py.js.map +1 -0
  108. package/dist/experimental/common/mlfn.d.ts +2 -0
  109. package/dist/experimental/common/mlfn.d.ts.map +1 -0
  110. package/dist/experimental/common/mlfn.js +8 -0
  111. package/dist/experimental/common/mlfn.js.map +1 -0
  112. package/dist/experimental/common/msfnz.d.ts +2 -0
  113. package/dist/experimental/common/msfnz.d.ts.map +1 -0
  114. package/dist/experimental/common/msfnz.js +9 -0
  115. package/dist/experimental/common/msfnz.js.map +1 -0
  116. package/dist/experimental/common/phi2z.d.ts +2 -0
  117. package/dist/experimental/common/phi2z.d.ts.map +1 -0
  118. package/dist/experimental/common/phi2z.js +21 -0
  119. package/dist/experimental/common/phi2z.js.map +1 -0
  120. package/dist/experimental/common/pj_enfn.d.ts +2 -0
  121. package/dist/experimental/common/pj_enfn.d.ts.map +1 -0
  122. package/dist/experimental/common/pj_enfn.js +28 -0
  123. package/dist/experimental/common/pj_enfn.js.map +1 -0
  124. package/dist/experimental/common/pj_inv_mlfn.d.ts +2 -0
  125. package/dist/experimental/common/pj_inv_mlfn.d.ts.map +1 -0
  126. package/dist/experimental/common/pj_inv_mlfn.js +26 -0
  127. package/dist/experimental/common/pj_inv_mlfn.js.map +1 -0
  128. package/dist/experimental/common/pj_mlfn.d.ts +2 -0
  129. package/dist/experimental/common/pj_mlfn.d.ts.map +1 -0
  130. package/dist/experimental/common/pj_mlfn.js +10 -0
  131. package/dist/experimental/common/pj_mlfn.js.map +1 -0
  132. package/dist/experimental/common/qsfnz.d.ts +2 -0
  133. package/dist/experimental/common/qsfnz.d.ts.map +1 -0
  134. package/dist/experimental/common/qsfnz.js +16 -0
  135. package/dist/experimental/common/qsfnz.js.map +1 -0
  136. package/dist/experimental/common/sign.d.ts +2 -0
  137. package/dist/experimental/common/sign.d.ts.map +1 -0
  138. package/dist/experimental/common/sign.js +8 -0
  139. package/dist/experimental/common/sign.js.map +1 -0
  140. package/dist/experimental/common/sinh.d.ts +2 -0
  141. package/dist/experimental/common/sinh.d.ts.map +1 -0
  142. package/dist/experimental/common/sinh.js +10 -0
  143. package/dist/experimental/common/sinh.js.map +1 -0
  144. package/dist/experimental/common/srat.d.ts +2 -0
  145. package/dist/experimental/common/srat.d.ts.map +1 -0
  146. package/dist/experimental/common/srat.js +8 -0
  147. package/dist/experimental/common/srat.js.map +1 -0
  148. package/dist/experimental/common/tsfnz.d.ts +2 -0
  149. package/dist/experimental/common/tsfnz.d.ts.map +1 -0
  150. package/dist/experimental/common/tsfnz.js +12 -0
  151. package/dist/experimental/common/tsfnz.js.map +1 -0
  152. package/dist/experimental/common/vincenty.d.ts +29 -0
  153. package/dist/experimental/common/vincenty.d.ts.map +1 -0
  154. package/dist/experimental/common/vincenty.js +134 -0
  155. package/dist/experimental/common/vincenty.js.map +1 -0
  156. package/dist/experimental/core.cjs +2868 -0
  157. package/dist/experimental/core.cjs.map +6 -0
  158. package/dist/experimental/core.d.ts +13 -0
  159. package/dist/experimental/core.d.ts.map +1 -0
  160. package/dist/experimental/core.js +9 -0
  161. package/dist/experimental/core.js.map +1 -0
  162. package/dist/experimental/crs/datum-table.d.ts +8 -0
  163. package/dist/experimental/crs/datum-table.d.ts.map +1 -0
  164. package/dist/experimental/crs/datum-table.js +1365 -0
  165. package/dist/experimental/crs/datum-table.js.map +1 -0
  166. package/dist/experimental/crs/ellipsoid-table.d.ts +8 -0
  167. package/dist/experimental/crs/ellipsoid-table.d.ts.map +1 -0
  168. package/dist/experimental/crs/ellipsoid-table.js +229 -0
  169. package/dist/experimental/crs/ellipsoid-table.js.map +1 -0
  170. package/dist/experimental/crs/normalize.d.ts +8 -0
  171. package/dist/experimental/crs/normalize.d.ts.map +1 -0
  172. package/dist/experimental/crs/normalize.js +277 -0
  173. package/dist/experimental/crs/normalize.js.map +1 -0
  174. package/dist/experimental/crs/primemeridian-table.d.ts +3 -0
  175. package/dist/experimental/crs/primemeridian-table.d.ts.map +1 -0
  176. package/dist/experimental/crs/primemeridian-table.js +20 -0
  177. package/dist/experimental/crs/primemeridian-table.js.map +1 -0
  178. package/dist/experimental/crs/projjson.cjs +1847 -0
  179. package/dist/experimental/crs/projjson.cjs.map +6 -0
  180. package/dist/experimental/crs/projjson.d.ts +4 -0
  181. package/dist/experimental/crs/projjson.d.ts.map +1 -0
  182. package/dist/experimental/crs/projjson.js +12 -0
  183. package/dist/experimental/crs/projjson.js.map +1 -0
  184. package/dist/experimental/crs/spatial-reference.d.ts +11 -0
  185. package/dist/experimental/crs/spatial-reference.d.ts.map +1 -0
  186. package/dist/experimental/crs/spatial-reference.js +91 -0
  187. package/dist/experimental/crs/spatial-reference.js.map +1 -0
  188. package/dist/experimental/crs/structured.d.ts +8 -0
  189. package/dist/experimental/crs/structured.d.ts.map +1 -0
  190. package/dist/experimental/crs/structured.js +481 -0
  191. package/dist/experimental/crs/structured.js.map +1 -0
  192. package/dist/experimental/crs/types.d.ts +58 -0
  193. package/dist/experimental/crs/types.d.ts.map +1 -0
  194. package/dist/experimental/crs/types.js +21 -0
  195. package/dist/experimental/crs/types.js.map +1 -0
  196. package/dist/experimental/crs/units-table.d.ts +64 -0
  197. package/dist/experimental/crs/units-table.d.ts.map +1 -0
  198. package/dist/experimental/crs/units-table.js +27 -0
  199. package/dist/experimental/crs/units-table.js.map +1 -0
  200. package/dist/experimental/crs/wkt.cjs +2507 -0
  201. package/dist/experimental/crs/wkt.cjs.map +6 -0
  202. package/dist/experimental/crs/wkt.d.ts +3 -0
  203. package/dist/experimental/crs/wkt.d.ts.map +1 -0
  204. package/dist/experimental/crs/wkt.js +181 -0
  205. package/dist/experimental/crs/wkt.js.map +1 -0
  206. package/dist/experimental/datum.d.ts +17 -0
  207. package/dist/experimental/datum.d.ts.map +1 -0
  208. package/dist/experimental/datum.js +160 -0
  209. package/dist/experimental/datum.js.map +1 -0
  210. package/dist/experimental/deformation.d.ts +25 -0
  211. package/dist/experimental/deformation.d.ts.map +1 -0
  212. package/dist/experimental/deformation.js +98 -0
  213. package/dist/experimental/deformation.js.map +1 -0
  214. package/dist/experimental/entries/projections/aea.cjs +367 -0
  215. package/dist/experimental/entries/projections/aea.cjs.map +6 -0
  216. package/dist/experimental/entries/projections/aea.d.ts +2 -0
  217. package/dist/experimental/entries/projections/aea.d.ts.map +1 -0
  218. package/dist/experimental/entries/projections/aea.js +5 -0
  219. package/dist/experimental/entries/projections/aea.js.map +1 -0
  220. package/dist/experimental/entries/projections/aeqd.cjs +461 -0
  221. package/dist/experimental/entries/projections/aeqd.cjs.map +6 -0
  222. package/dist/experimental/entries/projections/aeqd.d.ts +2 -0
  223. package/dist/experimental/entries/projections/aeqd.d.ts.map +1 -0
  224. package/dist/experimental/entries/projections/aeqd.js +5 -0
  225. package/dist/experimental/entries/projections/aeqd.js.map +1 -0
  226. package/dist/experimental/entries/projections/bonne.cjs +359 -0
  227. package/dist/experimental/entries/projections/bonne.cjs.map +6 -0
  228. package/dist/experimental/entries/projections/bonne.d.ts +2 -0
  229. package/dist/experimental/entries/projections/bonne.d.ts.map +1 -0
  230. package/dist/experimental/entries/projections/bonne.js +5 -0
  231. package/dist/experimental/entries/projections/bonne.js.map +1 -0
  232. package/dist/experimental/entries/projections/cass.cjs +347 -0
  233. package/dist/experimental/entries/projections/cass.cjs.map +6 -0
  234. package/dist/experimental/entries/projections/cass.d.ts +2 -0
  235. package/dist/experimental/entries/projections/cass.d.ts.map +1 -0
  236. package/dist/experimental/entries/projections/cass.js +5 -0
  237. package/dist/experimental/entries/projections/cass.js.map +1 -0
  238. package/dist/experimental/entries/projections/cea.cjs +283 -0
  239. package/dist/experimental/entries/projections/cea.cjs.map +6 -0
  240. package/dist/experimental/entries/projections/cea.d.ts +2 -0
  241. package/dist/experimental/entries/projections/cea.d.ts.map +1 -0
  242. package/dist/experimental/entries/projections/cea.js +5 -0
  243. package/dist/experimental/entries/projections/cea.js.map +1 -0
  244. package/dist/experimental/entries/projections/eck6.cjs +306 -0
  245. package/dist/experimental/entries/projections/eck6.cjs.map +6 -0
  246. package/dist/experimental/entries/projections/eck6.d.ts +2 -0
  247. package/dist/experimental/entries/projections/eck6.d.ts.map +1 -0
  248. package/dist/experimental/entries/projections/eck6.js +5 -0
  249. package/dist/experimental/entries/projections/eck6.js.map +1 -0
  250. package/dist/experimental/entries/projections/eqc.cjs +119 -0
  251. package/dist/experimental/entries/projections/eqc.cjs.map +6 -0
  252. package/dist/experimental/entries/projections/eqc.d.ts +2 -0
  253. package/dist/experimental/entries/projections/eqc.d.ts.map +1 -0
  254. package/dist/experimental/entries/projections/eqc.js +5 -0
  255. package/dist/experimental/entries/projections/eqc.js.map +1 -0
  256. package/dist/experimental/entries/projections/eqdc.cjs +377 -0
  257. package/dist/experimental/entries/projections/eqdc.cjs.map +6 -0
  258. package/dist/experimental/entries/projections/eqdc.d.ts +2 -0
  259. package/dist/experimental/entries/projections/eqdc.d.ts.map +1 -0
  260. package/dist/experimental/entries/projections/eqdc.js +5 -0
  261. package/dist/experimental/entries/projections/eqdc.js.map +1 -0
  262. package/dist/experimental/entries/projections/eqearth.cjs +292 -0
  263. package/dist/experimental/entries/projections/eqearth.cjs.map +6 -0
  264. package/dist/experimental/entries/projections/eqearth.d.ts +2 -0
  265. package/dist/experimental/entries/projections/eqearth.d.ts.map +1 -0
  266. package/dist/experimental/entries/projections/eqearth.js +5 -0
  267. package/dist/experimental/entries/projections/eqearth.js.map +1 -0
  268. package/dist/experimental/entries/projections/equi.cjs +222 -0
  269. package/dist/experimental/entries/projections/equi.cjs.map +6 -0
  270. package/dist/experimental/entries/projections/equi.d.ts +2 -0
  271. package/dist/experimental/entries/projections/equi.d.ts.map +1 -0
  272. package/dist/experimental/entries/projections/equi.js +5 -0
  273. package/dist/experimental/entries/projections/equi.js.map +1 -0
  274. package/dist/experimental/entries/projections/etmerc.cjs +618 -0
  275. package/dist/experimental/entries/projections/etmerc.cjs.map +6 -0
  276. package/dist/experimental/entries/projections/etmerc.d.ts +2 -0
  277. package/dist/experimental/entries/projections/etmerc.d.ts.map +1 -0
  278. package/dist/experimental/entries/projections/etmerc.js +5 -0
  279. package/dist/experimental/entries/projections/etmerc.js.map +1 -0
  280. package/dist/experimental/entries/projections/geocent.cjs +161 -0
  281. package/dist/experimental/entries/projections/geocent.cjs.map +6 -0
  282. package/dist/experimental/entries/projections/geocent.d.ts +2 -0
  283. package/dist/experimental/entries/projections/geocent.d.ts.map +1 -0
  284. package/dist/experimental/entries/projections/geocent.js +5 -0
  285. package/dist/experimental/entries/projections/geocent.js.map +1 -0
  286. package/dist/experimental/entries/projections/geos.cjs +328 -0
  287. package/dist/experimental/entries/projections/geos.cjs.map +6 -0
  288. package/dist/experimental/entries/projections/geos.d.ts +2 -0
  289. package/dist/experimental/entries/projections/geos.d.ts.map +1 -0
  290. package/dist/experimental/entries/projections/geos.js +5 -0
  291. package/dist/experimental/entries/projections/geos.js.map +1 -0
  292. package/dist/experimental/entries/projections/gnom.cjs +274 -0
  293. package/dist/experimental/entries/projections/gnom.cjs.map +6 -0
  294. package/dist/experimental/entries/projections/gnom.d.ts +2 -0
  295. package/dist/experimental/entries/projections/gnom.d.ts.map +1 -0
  296. package/dist/experimental/entries/projections/gnom.js +5 -0
  297. package/dist/experimental/entries/projections/gnom.js.map +1 -0
  298. package/dist/experimental/entries/projections/gstmerc.cjs +266 -0
  299. package/dist/experimental/entries/projections/gstmerc.cjs.map +6 -0
  300. package/dist/experimental/entries/projections/gstmerc.d.ts +2 -0
  301. package/dist/experimental/entries/projections/gstmerc.d.ts.map +1 -0
  302. package/dist/experimental/entries/projections/gstmerc.js +5 -0
  303. package/dist/experimental/entries/projections/gstmerc.js.map +1 -0
  304. package/dist/experimental/entries/projections/krovak.cjs +301 -0
  305. package/dist/experimental/entries/projections/krovak.cjs.map +6 -0
  306. package/dist/experimental/entries/projections/krovak.d.ts +2 -0
  307. package/dist/experimental/entries/projections/krovak.d.ts.map +1 -0
  308. package/dist/experimental/entries/projections/krovak.js +5 -0
  309. package/dist/experimental/entries/projections/krovak.js.map +1 -0
  310. package/dist/experimental/entries/projections/laea.cjs +477 -0
  311. package/dist/experimental/entries/projections/laea.cjs.map +6 -0
  312. package/dist/experimental/entries/projections/laea.d.ts +2 -0
  313. package/dist/experimental/entries/projections/laea.d.ts.map +1 -0
  314. package/dist/experimental/entries/projections/laea.js +5 -0
  315. package/dist/experimental/entries/projections/laea.js.map +1 -0
  316. package/dist/experimental/entries/projections/lcc.cjs +368 -0
  317. package/dist/experimental/entries/projections/lcc.cjs.map +6 -0
  318. package/dist/experimental/entries/projections/lcc.d.ts +2 -0
  319. package/dist/experimental/entries/projections/lcc.d.ts.map +1 -0
  320. package/dist/experimental/entries/projections/lcc.js +5 -0
  321. package/dist/experimental/entries/projections/lcc.js.map +1 -0
  322. package/dist/experimental/entries/projections/merc.cjs +201 -0
  323. package/dist/experimental/entries/projections/merc.cjs.map +6 -0
  324. package/dist/experimental/entries/projections/merc.d.ts +2 -0
  325. package/dist/experimental/entries/projections/merc.d.ts.map +1 -0
  326. package/dist/experimental/entries/projections/merc.js +5 -0
  327. package/dist/experimental/entries/projections/merc.js.map +1 -0
  328. package/dist/experimental/entries/projections/mill.cjs +217 -0
  329. package/dist/experimental/entries/projections/mill.cjs.map +6 -0
  330. package/dist/experimental/entries/projections/mill.d.ts +2 -0
  331. package/dist/experimental/entries/projections/mill.d.ts.map +1 -0
  332. package/dist/experimental/entries/projections/mill.js +5 -0
  333. package/dist/experimental/entries/projections/mill.js.map +1 -0
  334. package/dist/experimental/entries/projections/moll.cjs +257 -0
  335. package/dist/experimental/entries/projections/moll.cjs.map +6 -0
  336. package/dist/experimental/entries/projections/moll.d.ts +2 -0
  337. package/dist/experimental/entries/projections/moll.d.ts.map +1 -0
  338. package/dist/experimental/entries/projections/moll.js +5 -0
  339. package/dist/experimental/entries/projections/moll.js.map +1 -0
  340. package/dist/experimental/entries/projections/nzmg.cjs +346 -0
  341. package/dist/experimental/entries/projections/nzmg.cjs.map +6 -0
  342. package/dist/experimental/entries/projections/nzmg.d.ts +2 -0
  343. package/dist/experimental/entries/projections/nzmg.d.ts.map +1 -0
  344. package/dist/experimental/entries/projections/nzmg.js +5 -0
  345. package/dist/experimental/entries/projections/nzmg.js.map +1 -0
  346. package/dist/experimental/entries/projections/ob_tran.cjs +233 -0
  347. package/dist/experimental/entries/projections/ob_tran.cjs.map +6 -0
  348. package/dist/experimental/entries/projections/ob_tran.d.ts +2 -0
  349. package/dist/experimental/entries/projections/ob_tran.d.ts.map +1 -0
  350. package/dist/experimental/entries/projections/ob_tran.js +5 -0
  351. package/dist/experimental/entries/projections/ob_tran.js.map +1 -0
  352. package/dist/experimental/entries/projections/omerc.cjs +479 -0
  353. package/dist/experimental/entries/projections/omerc.cjs.map +6 -0
  354. package/dist/experimental/entries/projections/omerc.d.ts +2 -0
  355. package/dist/experimental/entries/projections/omerc.d.ts.map +1 -0
  356. package/dist/experimental/entries/projections/omerc.js +5 -0
  357. package/dist/experimental/entries/projections/omerc.js.map +1 -0
  358. package/dist/experimental/entries/projections/ortho.cjs +276 -0
  359. package/dist/experimental/entries/projections/ortho.cjs.map +6 -0
  360. package/dist/experimental/entries/projections/ortho.d.ts +2 -0
  361. package/dist/experimental/entries/projections/ortho.d.ts.map +1 -0
  362. package/dist/experimental/entries/projections/ortho.js +5 -0
  363. package/dist/experimental/entries/projections/ortho.js.map +1 -0
  364. package/dist/experimental/entries/projections/poly.cjs +326 -0
  365. package/dist/experimental/entries/projections/poly.cjs.map +6 -0
  366. package/dist/experimental/entries/projections/poly.d.ts +2 -0
  367. package/dist/experimental/entries/projections/poly.d.ts.map +1 -0
  368. package/dist/experimental/entries/projections/poly.js +5 -0
  369. package/dist/experimental/entries/projections/poly.js.map +1 -0
  370. package/dist/experimental/entries/projections/qsc.cjs +455 -0
  371. package/dist/experimental/entries/projections/qsc.cjs.map +6 -0
  372. package/dist/experimental/entries/projections/qsc.d.ts +2 -0
  373. package/dist/experimental/entries/projections/qsc.d.ts.map +1 -0
  374. package/dist/experimental/entries/projections/qsc.js +5 -0
  375. package/dist/experimental/entries/projections/qsc.js.map +1 -0
  376. package/dist/experimental/entries/projections/robin.cjs +331 -0
  377. package/dist/experimental/entries/projections/robin.cjs.map +6 -0
  378. package/dist/experimental/entries/projections/robin.d.ts +2 -0
  379. package/dist/experimental/entries/projections/robin.d.ts.map +1 -0
  380. package/dist/experimental/entries/projections/robin.js +5 -0
  381. package/dist/experimental/entries/projections/robin.js.map +1 -0
  382. package/dist/experimental/entries/projections/sinu.cjs +330 -0
  383. package/dist/experimental/entries/projections/sinu.cjs.map +6 -0
  384. package/dist/experimental/entries/projections/sinu.d.ts +2 -0
  385. package/dist/experimental/entries/projections/sinu.d.ts.map +1 -0
  386. package/dist/experimental/entries/projections/sinu.js +5 -0
  387. package/dist/experimental/entries/projections/sinu.js.map +1 -0
  388. package/dist/experimental/entries/projections/somerc.cjs +228 -0
  389. package/dist/experimental/entries/projections/somerc.cjs.map +6 -0
  390. package/dist/experimental/entries/projections/somerc.d.ts +2 -0
  391. package/dist/experimental/entries/projections/somerc.d.ts.map +1 -0
  392. package/dist/experimental/entries/projections/somerc.js +5 -0
  393. package/dist/experimental/entries/projections/somerc.js.map +1 -0
  394. package/dist/experimental/entries/projections/stere.cjs +379 -0
  395. package/dist/experimental/entries/projections/stere.cjs.map +6 -0
  396. package/dist/experimental/entries/projections/stere.d.ts +2 -0
  397. package/dist/experimental/entries/projections/stere.d.ts.map +1 -0
  398. package/dist/experimental/entries/projections/stere.js +5 -0
  399. package/dist/experimental/entries/projections/stere.js.map +1 -0
  400. package/dist/experimental/entries/projections/sterea.cjs +328 -0
  401. package/dist/experimental/entries/projections/sterea.cjs.map +6 -0
  402. package/dist/experimental/entries/projections/sterea.d.ts +2 -0
  403. package/dist/experimental/entries/projections/sterea.d.ts.map +1 -0
  404. package/dist/experimental/entries/projections/sterea.js +5 -0
  405. package/dist/experimental/entries/projections/sterea.js.map +1 -0
  406. package/dist/experimental/entries/projections/tmerc.cjs +618 -0
  407. package/dist/experimental/entries/projections/tmerc.cjs.map +6 -0
  408. package/dist/experimental/entries/projections/tmerc.d.ts +2 -0
  409. package/dist/experimental/entries/projections/tmerc.d.ts.map +1 -0
  410. package/dist/experimental/entries/projections/tmerc.js +5 -0
  411. package/dist/experimental/entries/projections/tmerc.js.map +1 -0
  412. package/dist/experimental/entries/projections/tpers.cjs +340 -0
  413. package/dist/experimental/entries/projections/tpers.cjs.map +6 -0
  414. package/dist/experimental/entries/projections/tpers.d.ts +2 -0
  415. package/dist/experimental/entries/projections/tpers.d.ts.map +1 -0
  416. package/dist/experimental/entries/projections/tpers.js +5 -0
  417. package/dist/experimental/entries/projections/tpers.js.map +1 -0
  418. package/dist/experimental/entries/projections/utm.cjs +644 -0
  419. package/dist/experimental/entries/projections/utm.cjs.map +6 -0
  420. package/dist/experimental/entries/projections/utm.d.ts +2 -0
  421. package/dist/experimental/entries/projections/utm.d.ts.map +1 -0
  422. package/dist/experimental/entries/projections/utm.js +5 -0
  423. package/dist/experimental/entries/projections/utm.js.map +1 -0
  424. package/dist/experimental/entries/projections/vandg.cjs +301 -0
  425. package/dist/experimental/entries/projections/vandg.cjs.map +6 -0
  426. package/dist/experimental/entries/projections/vandg.d.ts +2 -0
  427. package/dist/experimental/entries/projections/vandg.d.ts.map +1 -0
  428. package/dist/experimental/entries/projections/vandg.js +5 -0
  429. package/dist/experimental/entries/projections/vandg.js.map +1 -0
  430. package/dist/experimental/exact-helmert.d.ts +9 -0
  431. package/dist/experimental/exact-helmert.d.ts.map +1 -0
  432. package/dist/experimental/exact-helmert.js +32 -0
  433. package/dist/experimental/exact-helmert.js.map +1 -0
  434. package/dist/experimental/flat-projection.d.ts +13 -0
  435. package/dist/experimental/flat-projection.d.ts.map +1 -0
  436. package/dist/experimental/flat-projection.js +61 -0
  437. package/dist/experimental/flat-projection.js.map +1 -0
  438. package/dist/experimental/grids/geotiff.cjs +180 -0
  439. package/dist/experimental/grids/geotiff.cjs.map +6 -0
  440. package/dist/experimental/grids/geotiff.d.ts +23 -0
  441. package/dist/experimental/grids/geotiff.d.ts.map +1 -0
  442. package/dist/experimental/grids/geotiff.js +59 -0
  443. package/dist/experimental/grids/geotiff.js.map +1 -0
  444. package/dist/experimental/grids/grid.d.ts +4 -0
  445. package/dist/experimental/grids/grid.d.ts.map +1 -0
  446. package/dist/experimental/grids/grid.js +111 -0
  447. package/dist/experimental/grids/grid.js.map +1 -0
  448. package/dist/experimental/grids/gtx.cjs +91 -0
  449. package/dist/experimental/grids/gtx.cjs.map +6 -0
  450. package/dist/experimental/grids/gtx.d.ts +7 -0
  451. package/dist/experimental/grids/gtx.d.ts.map +1 -0
  452. package/dist/experimental/grids/gtx.js +30 -0
  453. package/dist/experimental/grids/gtx.js.map +1 -0
  454. package/dist/experimental/grids/ntv2.cjs +181 -0
  455. package/dist/experimental/grids/ntv2.cjs.map +6 -0
  456. package/dist/experimental/grids/ntv2.d.ts +8 -0
  457. package/dist/experimental/grids/ntv2.d.ts.map +1 -0
  458. package/dist/experimental/grids/ntv2.js +56 -0
  459. package/dist/experimental/grids/ntv2.js.map +1 -0
  460. package/dist/experimental/grids/scalar-geotiff.d.ts +58 -0
  461. package/dist/experimental/grids/scalar-geotiff.d.ts.map +1 -0
  462. package/dist/experimental/grids/scalar-geotiff.js +147 -0
  463. package/dist/experimental/grids/scalar-geotiff.js.map +1 -0
  464. package/dist/experimental/grids/types.d.ts +35 -0
  465. package/dist/experimental/grids/types.d.ts.map +1 -0
  466. package/dist/experimental/grids/types.js +2 -0
  467. package/dist/experimental/grids/types.js.map +1 -0
  468. package/dist/experimental/grids/velocity-geotiff.cjs +247 -0
  469. package/dist/experimental/grids/velocity-geotiff.cjs.map +6 -0
  470. package/dist/experimental/grids/velocity-geotiff.d.ts +11 -0
  471. package/dist/experimental/grids/velocity-geotiff.d.ts.map +1 -0
  472. package/dist/experimental/grids/velocity-geotiff.js +61 -0
  473. package/dist/experimental/grids/velocity-geotiff.js.map +1 -0
  474. package/dist/experimental/grids/velocity.d.ts +21 -0
  475. package/dist/experimental/grids/velocity.d.ts.map +1 -0
  476. package/dist/experimental/grids/velocity.js +29 -0
  477. package/dist/experimental/grids/velocity.js.map +1 -0
  478. package/dist/experimental/grids/vertical-geotiff.cjs +195 -0
  479. package/dist/experimental/grids/vertical-geotiff.cjs.map +6 -0
  480. package/dist/experimental/grids/vertical-geotiff.d.ts +6 -0
  481. package/dist/experimental/grids/vertical-geotiff.d.ts.map +1 -0
  482. package/dist/experimental/grids/vertical-geotiff.js +20 -0
  483. package/dist/experimental/grids/vertical-geotiff.js.map +1 -0
  484. package/dist/experimental/grids/vertical.cjs +80 -0
  485. package/dist/experimental/grids/vertical.cjs.map +6 -0
  486. package/dist/experimental/grids/vertical.d.ts +22 -0
  487. package/dist/experimental/grids/vertical.d.ts.map +1 -0
  488. package/dist/experimental/grids/vertical.js +73 -0
  489. package/dist/experimental/grids/vertical.js.map +1 -0
  490. package/dist/experimental/helmert-flat.d.ts +4 -0
  491. package/dist/experimental/helmert-flat.d.ts.map +1 -0
  492. package/dist/experimental/helmert-flat.js +53 -0
  493. package/dist/experimental/helmert-flat.js.map +1 -0
  494. package/dist/experimental/index.cjs +10062 -0
  495. package/dist/experimental/index.cjs.map +6 -0
  496. package/dist/experimental/index.d.ts +49 -0
  497. package/dist/experimental/index.d.ts.map +1 -0
  498. package/dist/experimental/index.js +48 -0
  499. package/dist/experimental/index.js.map +1 -0
  500. package/dist/experimental/kernel.d.ts +36 -0
  501. package/dist/experimental/kernel.d.ts.map +1 -0
  502. package/dist/experimental/kernel.js +80 -0
  503. package/dist/experimental/kernel.js.map +1 -0
  504. package/dist/experimental/kernels/aea.d.ts +25 -0
  505. package/dist/experimental/kernels/aea.d.ts.map +1 -0
  506. package/dist/experimental/kernels/aea.js +136 -0
  507. package/dist/experimental/kernels/aea.js.map +1 -0
  508. package/dist/experimental/kernels/aeqd.d.ts +10 -0
  509. package/dist/experimental/kernels/aeqd.d.ts.map +1 -0
  510. package/dist/experimental/kernels/aeqd.js +176 -0
  511. package/dist/experimental/kernels/aeqd.js.map +1 -0
  512. package/dist/experimental/kernels/bonne.d.ts +12 -0
  513. package/dist/experimental/kernels/bonne.d.ts.map +1 -0
  514. package/dist/experimental/kernels/bonne.js +128 -0
  515. package/dist/experimental/kernels/bonne.js.map +1 -0
  516. package/dist/experimental/kernels/cass.d.ts +10 -0
  517. package/dist/experimental/kernels/cass.d.ts.map +1 -0
  518. package/dist/experimental/kernels/cass.js +122 -0
  519. package/dist/experimental/kernels/cass.js.map +1 -0
  520. package/dist/experimental/kernels/cea.d.ts +6 -0
  521. package/dist/experimental/kernels/cea.d.ts.map +1 -0
  522. package/dist/experimental/kernels/cea.js +63 -0
  523. package/dist/experimental/kernels/cea.js.map +1 -0
  524. package/dist/experimental/kernels/eck6.d.ts +13 -0
  525. package/dist/experimental/kernels/eck6.d.ts.map +1 -0
  526. package/dist/experimental/kernels/eck6.js +23 -0
  527. package/dist/experimental/kernels/eck6.js.map +1 -0
  528. package/dist/experimental/kernels/eqdc.d.ts +19 -0
  529. package/dist/experimental/kernels/eqdc.d.ts.map +1 -0
  530. package/dist/experimental/kernels/eqdc.js +117 -0
  531. package/dist/experimental/kernels/eqdc.js.map +1 -0
  532. package/dist/experimental/kernels/eqearth.d.ts +10 -0
  533. package/dist/experimental/kernels/eqearth.d.ts.map +1 -0
  534. package/dist/experimental/kernels/eqearth.js +103 -0
  535. package/dist/experimental/kernels/eqearth.js.map +1 -0
  536. package/dist/experimental/kernels/equi.d.ts +9 -0
  537. package/dist/experimental/kernels/equi.d.ts.map +1 -0
  538. package/dist/experimental/kernels/equi.js +41 -0
  539. package/dist/experimental/kernels/equi.js.map +1 -0
  540. package/dist/experimental/kernels/etmerc.d.ts +13 -0
  541. package/dist/experimental/kernels/etmerc.d.ts.map +1 -0
  542. package/dist/experimental/kernels/etmerc.js +145 -0
  543. package/dist/experimental/kernels/etmerc.js.map +1 -0
  544. package/dist/experimental/kernels/gauss.d.ts +12 -0
  545. package/dist/experimental/kernels/gauss.d.ts.map +1 -0
  546. package/dist/experimental/kernels/gauss.js +64 -0
  547. package/dist/experimental/kernels/gauss.js.map +1 -0
  548. package/dist/experimental/kernels/geos.d.ts +17 -0
  549. package/dist/experimental/kernels/geos.d.ts.map +1 -0
  550. package/dist/experimental/kernels/geos.js +153 -0
  551. package/dist/experimental/kernels/geos.js.map +1 -0
  552. package/dist/experimental/kernels/gnom.d.ts +12 -0
  553. package/dist/experimental/kernels/gnom.d.ts.map +1 -0
  554. package/dist/experimental/kernels/gnom.js +95 -0
  555. package/dist/experimental/kernels/gnom.js.map +1 -0
  556. package/dist/experimental/kernels/gstmerc.d.ts +13 -0
  557. package/dist/experimental/kernels/gstmerc.d.ts.map +1 -0
  558. package/dist/experimental/kernels/gstmerc.js +57 -0
  559. package/dist/experimental/kernels/gstmerc.js.map +1 -0
  560. package/dist/experimental/kernels/krovak.d.ts +23 -0
  561. package/dist/experimental/kernels/krovak.d.ts.map +1 -0
  562. package/dist/experimental/kernels/krovak.js +128 -0
  563. package/dist/experimental/kernels/krovak.js.map +1 -0
  564. package/dist/experimental/kernels/laea.d.ts +23 -0
  565. package/dist/experimental/kernels/laea.d.ts.map +1 -0
  566. package/dist/experimental/kernels/laea.js +278 -0
  567. package/dist/experimental/kernels/laea.js.map +1 -0
  568. package/dist/experimental/kernels/lcc.d.ts +10 -0
  569. package/dist/experimental/kernels/lcc.d.ts.map +1 -0
  570. package/dist/experimental/kernels/lcc.js +131 -0
  571. package/dist/experimental/kernels/lcc.js.map +1 -0
  572. package/dist/experimental/kernels/mill.d.ts +6 -0
  573. package/dist/experimental/kernels/mill.d.ts.map +1 -0
  574. package/dist/experimental/kernels/mill.js +49 -0
  575. package/dist/experimental/kernels/mill.js.map +1 -0
  576. package/dist/experimental/kernels/moll.d.ts +6 -0
  577. package/dist/experimental/kernels/moll.d.ts.map +1 -0
  578. package/dist/experimental/kernels/moll.js +89 -0
  579. package/dist/experimental/kernels/moll.js.map +1 -0
  580. package/dist/experimental/kernels/nzmg.d.ts +28 -0
  581. package/dist/experimental/kernels/nzmg.d.ts.map +1 -0
  582. package/dist/experimental/kernels/nzmg.js +209 -0
  583. package/dist/experimental/kernels/nzmg.js.map +1 -0
  584. package/dist/experimental/kernels/omerc.d.ts +30 -0
  585. package/dist/experimental/kernels/omerc.d.ts.map +1 -0
  586. package/dist/experimental/kernels/omerc.js +260 -0
  587. package/dist/experimental/kernels/omerc.js.map +1 -0
  588. package/dist/experimental/kernels/ortho.d.ts +9 -0
  589. package/dist/experimental/kernels/ortho.d.ts.map +1 -0
  590. package/dist/experimental/kernels/ortho.js +91 -0
  591. package/dist/experimental/kernels/ortho.js.map +1 -0
  592. package/dist/experimental/kernels/poly.d.ts +13 -0
  593. package/dist/experimental/kernels/poly.d.ts.map +1 -0
  594. package/dist/experimental/kernels/poly.js +141 -0
  595. package/dist/experimental/kernels/poly.js.map +1 -0
  596. package/dist/experimental/kernels/qsc.d.ts +10 -0
  597. package/dist/experimental/kernels/qsc.d.ts.map +1 -0
  598. package/dist/experimental/kernels/qsc.js +379 -0
  599. package/dist/experimental/kernels/qsc.js.map +1 -0
  600. package/dist/experimental/kernels/robin.d.ts +6 -0
  601. package/dist/experimental/kernels/robin.d.ts.map +1 -0
  602. package/dist/experimental/kernels/robin.js +166 -0
  603. package/dist/experimental/kernels/robin.js.map +1 -0
  604. package/dist/experimental/kernels/sinu.d.ts +12 -0
  605. package/dist/experimental/kernels/sinu.d.ts.map +1 -0
  606. package/dist/experimental/kernels/sinu.js +104 -0
  607. package/dist/experimental/kernels/sinu.js.map +1 -0
  608. package/dist/experimental/kernels/somerc.d.ts +13 -0
  609. package/dist/experimental/kernels/somerc.d.ts.map +1 -0
  610. package/dist/experimental/kernels/somerc.js +81 -0
  611. package/dist/experimental/kernels/somerc.js.map +1 -0
  612. package/dist/experimental/kernels/stere.d.ts +15 -0
  613. package/dist/experimental/kernels/stere.d.ts.map +1 -0
  614. package/dist/experimental/kernels/stere.js +195 -0
  615. package/dist/experimental/kernels/stere.js.map +1 -0
  616. package/dist/experimental/kernels/sterea.d.ts +11 -0
  617. package/dist/experimental/kernels/sterea.d.ts.map +1 -0
  618. package/dist/experimental/kernels/sterea.js +65 -0
  619. package/dist/experimental/kernels/sterea.js.map +1 -0
  620. package/dist/experimental/kernels/tmerc.d.ts +9 -0
  621. package/dist/experimental/kernels/tmerc.d.ts.map +1 -0
  622. package/dist/experimental/kernels/tmerc.js +201 -0
  623. package/dist/experimental/kernels/tmerc.js.map +1 -0
  624. package/dist/experimental/kernels/tpers.d.ts +22 -0
  625. package/dist/experimental/kernels/tpers.d.ts.map +1 -0
  626. package/dist/experimental/kernels/tpers.js +156 -0
  627. package/dist/experimental/kernels/tpers.js.map +1 -0
  628. package/dist/experimental/kernels/vandg.d.ts +8 -0
  629. package/dist/experimental/kernels/vandg.d.ts.map +1 -0
  630. package/dist/experimental/kernels/vandg.js +132 -0
  631. package/dist/experimental/kernels/vandg.js.map +1 -0
  632. package/dist/experimental/kinematic-helmert-flat.d.ts +4 -0
  633. package/dist/experimental/kinematic-helmert-flat.d.ts.map +1 -0
  634. package/dist/experimental/kinematic-helmert-flat.js +60 -0
  635. package/dist/experimental/kinematic-helmert-flat.js.map +1 -0
  636. package/dist/experimental/kinematic-helmert.d.ts +11 -0
  637. package/dist/experimental/kinematic-helmert.d.ts.map +1 -0
  638. package/dist/experimental/kinematic-helmert.js +103 -0
  639. package/dist/experimental/kinematic-helmert.js.map +1 -0
  640. package/dist/experimental/lazy-projection.d.ts +11 -0
  641. package/dist/experimental/lazy-projection.d.ts.map +1 -0
  642. package/dist/experimental/lazy-projection.js +138 -0
  643. package/dist/experimental/lazy-projection.js.map +1 -0
  644. package/dist/experimental/lazy-projections/aea.cjs +79 -0
  645. package/dist/experimental/lazy-projections/aea.cjs.map +6 -0
  646. package/dist/experimental/lazy-projections/aea.d.ts +3 -0
  647. package/dist/experimental/lazy-projections/aea.d.ts.map +1 -0
  648. package/dist/experimental/lazy-projections/aea.js +7 -0
  649. package/dist/experimental/lazy-projections/aea.js.map +1 -0
  650. package/dist/experimental/lazy-projections/aeqd.cjs +79 -0
  651. package/dist/experimental/lazy-projections/aeqd.cjs.map +6 -0
  652. package/dist/experimental/lazy-projections/aeqd.d.ts +3 -0
  653. package/dist/experimental/lazy-projections/aeqd.d.ts.map +1 -0
  654. package/dist/experimental/lazy-projections/aeqd.js +8 -0
  655. package/dist/experimental/lazy-projections/aeqd.js.map +1 -0
  656. package/dist/experimental/lazy-projections/bonne.cjs +79 -0
  657. package/dist/experimental/lazy-projections/bonne.cjs.map +6 -0
  658. package/dist/experimental/lazy-projections/bonne.d.ts +3 -0
  659. package/dist/experimental/lazy-projections/bonne.d.ts.map +1 -0
  660. package/dist/experimental/lazy-projections/bonne.js +7 -0
  661. package/dist/experimental/lazy-projections/bonne.js.map +1 -0
  662. package/dist/experimental/lazy-projections/cass.cjs +79 -0
  663. package/dist/experimental/lazy-projections/cass.cjs.map +6 -0
  664. package/dist/experimental/lazy-projections/cass.d.ts +3 -0
  665. package/dist/experimental/lazy-projections/cass.d.ts.map +1 -0
  666. package/dist/experimental/lazy-projections/cass.js +7 -0
  667. package/dist/experimental/lazy-projections/cass.js.map +1 -0
  668. package/dist/experimental/lazy-projections/cea.cjs +79 -0
  669. package/dist/experimental/lazy-projections/cea.cjs.map +6 -0
  670. package/dist/experimental/lazy-projections/cea.d.ts +3 -0
  671. package/dist/experimental/lazy-projections/cea.d.ts.map +1 -0
  672. package/dist/experimental/lazy-projections/cea.js +8 -0
  673. package/dist/experimental/lazy-projections/cea.js.map +1 -0
  674. package/dist/experimental/lazy-projections/eck6.cjs +79 -0
  675. package/dist/experimental/lazy-projections/eck6.cjs.map +6 -0
  676. package/dist/experimental/lazy-projections/eck6.d.ts +3 -0
  677. package/dist/experimental/lazy-projections/eck6.d.ts.map +1 -0
  678. package/dist/experimental/lazy-projections/eck6.js +7 -0
  679. package/dist/experimental/lazy-projections/eck6.js.map +1 -0
  680. package/dist/experimental/lazy-projections/eqc.cjs +82 -0
  681. package/dist/experimental/lazy-projections/eqc.cjs.map +6 -0
  682. package/dist/experimental/lazy-projections/eqc.d.ts +3 -0
  683. package/dist/experimental/lazy-projections/eqc.d.ts.map +1 -0
  684. package/dist/experimental/lazy-projections/eqc.js +11 -0
  685. package/dist/experimental/lazy-projections/eqc.js.map +1 -0
  686. package/dist/experimental/lazy-projections/eqdc.cjs +79 -0
  687. package/dist/experimental/lazy-projections/eqdc.cjs.map +6 -0
  688. package/dist/experimental/lazy-projections/eqdc.d.ts +3 -0
  689. package/dist/experimental/lazy-projections/eqdc.d.ts.map +1 -0
  690. package/dist/experimental/lazy-projections/eqdc.js +8 -0
  691. package/dist/experimental/lazy-projections/eqdc.js.map +1 -0
  692. package/dist/experimental/lazy-projections/eqearth.cjs +79 -0
  693. package/dist/experimental/lazy-projections/eqearth.cjs.map +6 -0
  694. package/dist/experimental/lazy-projections/eqearth.d.ts +3 -0
  695. package/dist/experimental/lazy-projections/eqearth.d.ts.map +1 -0
  696. package/dist/experimental/lazy-projections/eqearth.js +7 -0
  697. package/dist/experimental/lazy-projections/eqearth.js.map +1 -0
  698. package/dist/experimental/lazy-projections/equi.cjs +79 -0
  699. package/dist/experimental/lazy-projections/equi.cjs.map +6 -0
  700. package/dist/experimental/lazy-projections/equi.d.ts +3 -0
  701. package/dist/experimental/lazy-projections/equi.d.ts.map +1 -0
  702. package/dist/experimental/lazy-projections/equi.js +7 -0
  703. package/dist/experimental/lazy-projections/equi.js.map +1 -0
  704. package/dist/experimental/lazy-projections/etmerc.cjs +79 -0
  705. package/dist/experimental/lazy-projections/etmerc.cjs.map +6 -0
  706. package/dist/experimental/lazy-projections/etmerc.d.ts +3 -0
  707. package/dist/experimental/lazy-projections/etmerc.d.ts.map +1 -0
  708. package/dist/experimental/lazy-projections/etmerc.js +8 -0
  709. package/dist/experimental/lazy-projections/etmerc.js.map +1 -0
  710. package/dist/experimental/lazy-projections/geocent.cjs +79 -0
  711. package/dist/experimental/lazy-projections/geocent.cjs.map +6 -0
  712. package/dist/experimental/lazy-projections/geocent.d.ts +3 -0
  713. package/dist/experimental/lazy-projections/geocent.d.ts.map +1 -0
  714. package/dist/experimental/lazy-projections/geocent.js +7 -0
  715. package/dist/experimental/lazy-projections/geocent.js.map +1 -0
  716. package/dist/experimental/lazy-projections/geos.cjs +79 -0
  717. package/dist/experimental/lazy-projections/geos.cjs.map +6 -0
  718. package/dist/experimental/lazy-projections/geos.d.ts +3 -0
  719. package/dist/experimental/lazy-projections/geos.d.ts.map +1 -0
  720. package/dist/experimental/lazy-projections/geos.js +7 -0
  721. package/dist/experimental/lazy-projections/geos.js.map +1 -0
  722. package/dist/experimental/lazy-projections/gnom.cjs +79 -0
  723. package/dist/experimental/lazy-projections/gnom.cjs.map +6 -0
  724. package/dist/experimental/lazy-projections/gnom.d.ts +3 -0
  725. package/dist/experimental/lazy-projections/gnom.d.ts.map +1 -0
  726. package/dist/experimental/lazy-projections/gnom.js +7 -0
  727. package/dist/experimental/lazy-projections/gnom.js.map +1 -0
  728. package/dist/experimental/lazy-projections/gstmerc.cjs +79 -0
  729. package/dist/experimental/lazy-projections/gstmerc.cjs.map +6 -0
  730. package/dist/experimental/lazy-projections/gstmerc.d.ts +3 -0
  731. package/dist/experimental/lazy-projections/gstmerc.d.ts.map +1 -0
  732. package/dist/experimental/lazy-projections/gstmerc.js +8 -0
  733. package/dist/experimental/lazy-projections/gstmerc.js.map +1 -0
  734. package/dist/experimental/lazy-projections/index.cjs +3177 -0
  735. package/dist/experimental/lazy-projections/index.cjs.map +6 -0
  736. package/dist/experimental/lazy-projections/index.d.ts +39 -0
  737. package/dist/experimental/lazy-projections/index.d.ts.map +1 -0
  738. package/dist/experimental/lazy-projections/index.js +41 -0
  739. package/dist/experimental/lazy-projections/index.js.map +1 -0
  740. package/dist/experimental/lazy-projections/krovak.cjs +87 -0
  741. package/dist/experimental/lazy-projections/krovak.cjs.map +6 -0
  742. package/dist/experimental/lazy-projections/krovak.d.ts +3 -0
  743. package/dist/experimental/lazy-projections/krovak.d.ts.map +1 -0
  744. package/dist/experimental/lazy-projections/krovak.js +15 -0
  745. package/dist/experimental/lazy-projections/krovak.js.map +1 -0
  746. package/dist/experimental/lazy-projections/laea.cjs +79 -0
  747. package/dist/experimental/lazy-projections/laea.cjs.map +6 -0
  748. package/dist/experimental/lazy-projections/laea.d.ts +3 -0
  749. package/dist/experimental/lazy-projections/laea.d.ts.map +1 -0
  750. package/dist/experimental/lazy-projections/laea.js +8 -0
  751. package/dist/experimental/lazy-projections/laea.js.map +1 -0
  752. package/dist/experimental/lazy-projections/lcc.cjs +89 -0
  753. package/dist/experimental/lazy-projections/lcc.cjs.map +6 -0
  754. package/dist/experimental/lazy-projections/lcc.d.ts +3 -0
  755. package/dist/experimental/lazy-projections/lcc.d.ts.map +1 -0
  756. package/dist/experimental/lazy-projections/lcc.js +18 -0
  757. package/dist/experimental/lazy-projections/lcc.js.map +1 -0
  758. package/dist/experimental/lazy-projections/merc.cjs +88 -0
  759. package/dist/experimental/lazy-projections/merc.cjs.map +6 -0
  760. package/dist/experimental/lazy-projections/merc.d.ts +3 -0
  761. package/dist/experimental/lazy-projections/merc.d.ts.map +1 -0
  762. package/dist/experimental/lazy-projections/merc.js +16 -0
  763. package/dist/experimental/lazy-projections/merc.js.map +1 -0
  764. package/dist/experimental/lazy-projections/mill.cjs +79 -0
  765. package/dist/experimental/lazy-projections/mill.cjs.map +6 -0
  766. package/dist/experimental/lazy-projections/mill.d.ts +3 -0
  767. package/dist/experimental/lazy-projections/mill.d.ts.map +1 -0
  768. package/dist/experimental/lazy-projections/mill.js +8 -0
  769. package/dist/experimental/lazy-projections/mill.js.map +1 -0
  770. package/dist/experimental/lazy-projections/moll.cjs +79 -0
  771. package/dist/experimental/lazy-projections/moll.cjs.map +6 -0
  772. package/dist/experimental/lazy-projections/moll.d.ts +3 -0
  773. package/dist/experimental/lazy-projections/moll.d.ts.map +1 -0
  774. package/dist/experimental/lazy-projections/moll.js +7 -0
  775. package/dist/experimental/lazy-projections/moll.js.map +1 -0
  776. package/dist/experimental/lazy-projections/nzmg.cjs +79 -0
  777. package/dist/experimental/lazy-projections/nzmg.cjs.map +6 -0
  778. package/dist/experimental/lazy-projections/nzmg.d.ts +3 -0
  779. package/dist/experimental/lazy-projections/nzmg.d.ts.map +1 -0
  780. package/dist/experimental/lazy-projections/nzmg.js +8 -0
  781. package/dist/experimental/lazy-projections/nzmg.js.map +1 -0
  782. package/dist/experimental/lazy-projections/ob_tran.cjs +90 -0
  783. package/dist/experimental/lazy-projections/ob_tran.cjs.map +6 -0
  784. package/dist/experimental/lazy-projections/ob_tran.d.ts +5 -0
  785. package/dist/experimental/lazy-projections/ob_tran.d.ts.map +1 -0
  786. package/dist/experimental/lazy-projections/ob_tran.js +18 -0
  787. package/dist/experimental/lazy-projections/ob_tran.js.map +1 -0
  788. package/dist/experimental/lazy-projections/omerc.cjs +91 -0
  789. package/dist/experimental/lazy-projections/omerc.cjs.map +6 -0
  790. package/dist/experimental/lazy-projections/omerc.d.ts +3 -0
  791. package/dist/experimental/lazy-projections/omerc.d.ts.map +1 -0
  792. package/dist/experimental/lazy-projections/omerc.js +19 -0
  793. package/dist/experimental/lazy-projections/omerc.js.map +1 -0
  794. package/dist/experimental/lazy-projections/ortho.cjs +79 -0
  795. package/dist/experimental/lazy-projections/ortho.cjs.map +6 -0
  796. package/dist/experimental/lazy-projections/ortho.d.ts +3 -0
  797. package/dist/experimental/lazy-projections/ortho.d.ts.map +1 -0
  798. package/dist/experimental/lazy-projections/ortho.js +7 -0
  799. package/dist/experimental/lazy-projections/ortho.js.map +1 -0
  800. package/dist/experimental/lazy-projections/poly.cjs +79 -0
  801. package/dist/experimental/lazy-projections/poly.cjs.map +6 -0
  802. package/dist/experimental/lazy-projections/poly.d.ts +3 -0
  803. package/dist/experimental/lazy-projections/poly.d.ts.map +1 -0
  804. package/dist/experimental/lazy-projections/poly.js +7 -0
  805. package/dist/experimental/lazy-projections/poly.js.map +1 -0
  806. package/dist/experimental/lazy-projections/qsc.cjs +82 -0
  807. package/dist/experimental/lazy-projections/qsc.cjs.map +6 -0
  808. package/dist/experimental/lazy-projections/qsc.d.ts +3 -0
  809. package/dist/experimental/lazy-projections/qsc.d.ts.map +1 -0
  810. package/dist/experimental/lazy-projections/qsc.js +11 -0
  811. package/dist/experimental/lazy-projections/qsc.js.map +1 -0
  812. package/dist/experimental/lazy-projections/robin.cjs +79 -0
  813. package/dist/experimental/lazy-projections/robin.cjs.map +6 -0
  814. package/dist/experimental/lazy-projections/robin.d.ts +3 -0
  815. package/dist/experimental/lazy-projections/robin.d.ts.map +1 -0
  816. package/dist/experimental/lazy-projections/robin.js +7 -0
  817. package/dist/experimental/lazy-projections/robin.js.map +1 -0
  818. package/dist/experimental/lazy-projections/sinu.cjs +79 -0
  819. package/dist/experimental/lazy-projections/sinu.cjs.map +6 -0
  820. package/dist/experimental/lazy-projections/sinu.d.ts +3 -0
  821. package/dist/experimental/lazy-projections/sinu.d.ts.map +1 -0
  822. package/dist/experimental/lazy-projections/sinu.js +7 -0
  823. package/dist/experimental/lazy-projections/sinu.js.map +1 -0
  824. package/dist/experimental/lazy-projections/somerc.cjs +79 -0
  825. package/dist/experimental/lazy-projections/somerc.cjs.map +6 -0
  826. package/dist/experimental/lazy-projections/somerc.d.ts +3 -0
  827. package/dist/experimental/lazy-projections/somerc.d.ts.map +1 -0
  828. package/dist/experimental/lazy-projections/somerc.js +8 -0
  829. package/dist/experimental/lazy-projections/somerc.js.map +1 -0
  830. package/dist/experimental/lazy-projections/stere.cjs +87 -0
  831. package/dist/experimental/lazy-projections/stere.cjs.map +6 -0
  832. package/dist/experimental/lazy-projections/stere.d.ts +3 -0
  833. package/dist/experimental/lazy-projections/stere.d.ts.map +1 -0
  834. package/dist/experimental/lazy-projections/stere.js +15 -0
  835. package/dist/experimental/lazy-projections/stere.js.map +1 -0
  836. package/dist/experimental/lazy-projections/sterea.cjs +87 -0
  837. package/dist/experimental/lazy-projections/sterea.cjs.map +6 -0
  838. package/dist/experimental/lazy-projections/sterea.d.ts +3 -0
  839. package/dist/experimental/lazy-projections/sterea.d.ts.map +1 -0
  840. package/dist/experimental/lazy-projections/sterea.js +16 -0
  841. package/dist/experimental/lazy-projections/sterea.js.map +1 -0
  842. package/dist/experimental/lazy-projections/tmerc.cjs +89 -0
  843. package/dist/experimental/lazy-projections/tmerc.cjs.map +6 -0
  844. package/dist/experimental/lazy-projections/tmerc.d.ts +3 -0
  845. package/dist/experimental/lazy-projections/tmerc.d.ts.map +1 -0
  846. package/dist/experimental/lazy-projections/tmerc.js +18 -0
  847. package/dist/experimental/lazy-projections/tmerc.js.map +1 -0
  848. package/dist/experimental/lazy-projections/tpers.cjs +79 -0
  849. package/dist/experimental/lazy-projections/tpers.cjs.map +6 -0
  850. package/dist/experimental/lazy-projections/tpers.d.ts +3 -0
  851. package/dist/experimental/lazy-projections/tpers.d.ts.map +1 -0
  852. package/dist/experimental/lazy-projections/tpers.js +8 -0
  853. package/dist/experimental/lazy-projections/tpers.js.map +1 -0
  854. package/dist/experimental/lazy-projections/utm.cjs +79 -0
  855. package/dist/experimental/lazy-projections/utm.cjs.map +6 -0
  856. package/dist/experimental/lazy-projections/utm.d.ts +3 -0
  857. package/dist/experimental/lazy-projections/utm.d.ts.map +1 -0
  858. package/dist/experimental/lazy-projections/utm.js +8 -0
  859. package/dist/experimental/lazy-projections/utm.js.map +1 -0
  860. package/dist/experimental/lazy-projections/vandg.cjs +79 -0
  861. package/dist/experimental/lazy-projections/vandg.cjs.map +6 -0
  862. package/dist/experimental/lazy-projections/vandg.d.ts +3 -0
  863. package/dist/experimental/lazy-projections/vandg.d.ts.map +1 -0
  864. package/dist/experimental/lazy-projections/vandg.js +7 -0
  865. package/dist/experimental/lazy-projections/vandg.js.map +1 -0
  866. package/dist/experimental/mutable-projection.d.ts +6 -0
  867. package/dist/experimental/mutable-projection.d.ts.map +1 -0
  868. package/dist/experimental/mutable-projection.js +53 -0
  869. package/dist/experimental/mutable-projection.js.map +1 -0
  870. package/dist/experimental/numeric-flat.d.ts +8 -0
  871. package/dist/experimental/numeric-flat.d.ts.map +1 -0
  872. package/dist/experimental/numeric-flat.js +54 -0
  873. package/dist/experimental/numeric-flat.js.map +1 -0
  874. package/dist/experimental/parameters.d.ts +7 -0
  875. package/dist/experimental/parameters.d.ts.map +1 -0
  876. package/dist/experimental/parameters.js +30 -0
  877. package/dist/experimental/parameters.js.map +1 -0
  878. package/dist/experimental/projection-descriptor.d.ts +13 -0
  879. package/dist/experimental/projection-descriptor.d.ts.map +1 -0
  880. package/dist/experimental/projection-descriptor.js +52 -0
  881. package/dist/experimental/projection-descriptor.js.map +1 -0
  882. package/dist/experimental/projection-pipeline.d.ts +142 -0
  883. package/dist/experimental/projection-pipeline.d.ts.map +1 -0
  884. package/dist/experimental/projection-pipeline.js +746 -0
  885. package/dist/experimental/projection-pipeline.js.map +1 -0
  886. package/dist/experimental/projection-scratch.d.ts +9 -0
  887. package/dist/experimental/projection-scratch.d.ts.map +1 -0
  888. package/dist/experimental/projection-scratch.js +18 -0
  889. package/dist/experimental/projection-scratch.js.map +1 -0
  890. package/dist/experimental/projections/aea.d.ts +3 -0
  891. package/dist/experimental/projections/aea.d.ts.map +1 -0
  892. package/dist/experimental/projections/aea.js +17 -0
  893. package/dist/experimental/projections/aea.js.map +1 -0
  894. package/dist/experimental/projections/aeqd.d.ts +3 -0
  895. package/dist/experimental/projections/aeqd.d.ts.map +1 -0
  896. package/dist/experimental/projections/aeqd.js +15 -0
  897. package/dist/experimental/projections/aeqd.js.map +1 -0
  898. package/dist/experimental/projections/bonne.d.ts +3 -0
  899. package/dist/experimental/projections/bonne.d.ts.map +1 -0
  900. package/dist/experimental/projections/bonne.js +16 -0
  901. package/dist/experimental/projections/bonne.js.map +1 -0
  902. package/dist/experimental/projections/cass.d.ts +3 -0
  903. package/dist/experimental/projections/cass.d.ts.map +1 -0
  904. package/dist/experimental/projections/cass.js +13 -0
  905. package/dist/experimental/projections/cass.js.map +1 -0
  906. package/dist/experimental/projections/cea.d.ts +3 -0
  907. package/dist/experimental/projections/cea.d.ts.map +1 -0
  908. package/dist/experimental/projections/cea.js +15 -0
  909. package/dist/experimental/projections/cea.js.map +1 -0
  910. package/dist/experimental/projections/eck6.d.ts +3 -0
  911. package/dist/experimental/projections/eck6.d.ts.map +1 -0
  912. package/dist/experimental/projections/eck6.js +13 -0
  913. package/dist/experimental/projections/eck6.js.map +1 -0
  914. package/dist/experimental/projections/eqdc.d.ts +3 -0
  915. package/dist/experimental/projections/eqdc.d.ts.map +1 -0
  916. package/dist/experimental/projections/eqdc.js +17 -0
  917. package/dist/experimental/projections/eqdc.js.map +1 -0
  918. package/dist/experimental/projections/eqearth.d.ts +3 -0
  919. package/dist/experimental/projections/eqearth.d.ts.map +1 -0
  920. package/dist/experimental/projections/eqearth.js +13 -0
  921. package/dist/experimental/projections/eqearth.js.map +1 -0
  922. package/dist/experimental/projections/equi.d.ts +3 -0
  923. package/dist/experimental/projections/equi.d.ts.map +1 -0
  924. package/dist/experimental/projections/equi.js +15 -0
  925. package/dist/experimental/projections/equi.js.map +1 -0
  926. package/dist/experimental/projections/equidistant-cylindrical.d.ts +4 -0
  927. package/dist/experimental/projections/equidistant-cylindrical.d.ts.map +1 -0
  928. package/dist/experimental/projections/equidistant-cylindrical.js +30 -0
  929. package/dist/experimental/projections/equidistant-cylindrical.js.map +1 -0
  930. package/dist/experimental/projections/geocentric.d.ts +3 -0
  931. package/dist/experimental/projections/geocentric.d.ts.map +1 -0
  932. package/dist/experimental/projections/geocentric.js +26 -0
  933. package/dist/experimental/projections/geocentric.js.map +1 -0
  934. package/dist/experimental/projections/geos.d.ts +3 -0
  935. package/dist/experimental/projections/geos.d.ts.map +1 -0
  936. package/dist/experimental/projections/geos.js +20 -0
  937. package/dist/experimental/projections/geos.js.map +1 -0
  938. package/dist/experimental/projections/gnom.d.ts +3 -0
  939. package/dist/experimental/projections/gnom.d.ts.map +1 -0
  940. package/dist/experimental/projections/gnom.js +13 -0
  941. package/dist/experimental/projections/gnom.js.map +1 -0
  942. package/dist/experimental/projections/gstmerc.d.ts +3 -0
  943. package/dist/experimental/projections/gstmerc.d.ts.map +1 -0
  944. package/dist/experimental/projections/gstmerc.js +13 -0
  945. package/dist/experimental/projections/gstmerc.js.map +1 -0
  946. package/dist/experimental/projections/krovak.d.ts +3 -0
  947. package/dist/experimental/projections/krovak.d.ts.map +1 -0
  948. package/dist/experimental/projections/krovak.js +32 -0
  949. package/dist/experimental/projections/krovak.js.map +1 -0
  950. package/dist/experimental/projections/laea.d.ts +3 -0
  951. package/dist/experimental/projections/laea.d.ts.map +1 -0
  952. package/dist/experimental/projections/laea.js +15 -0
  953. package/dist/experimental/projections/laea.js.map +1 -0
  954. package/dist/experimental/projections/lcc.d.ts +3 -0
  955. package/dist/experimental/projections/lcc.d.ts.map +1 -0
  956. package/dist/experimental/projections/lcc.js +32 -0
  957. package/dist/experimental/projections/lcc.js.map +1 -0
  958. package/dist/experimental/projections/mercator.d.ts +4 -0
  959. package/dist/experimental/projections/mercator.d.ts.map +1 -0
  960. package/dist/experimental/projections/mercator.js +71 -0
  961. package/dist/experimental/projections/mercator.js.map +1 -0
  962. package/dist/experimental/projections/mill.d.ts +3 -0
  963. package/dist/experimental/projections/mill.d.ts.map +1 -0
  964. package/dist/experimental/projections/mill.js +13 -0
  965. package/dist/experimental/projections/mill.js.map +1 -0
  966. package/dist/experimental/projections/moll.d.ts +3 -0
  967. package/dist/experimental/projections/moll.d.ts.map +1 -0
  968. package/dist/experimental/projections/moll.js +13 -0
  969. package/dist/experimental/projections/moll.js.map +1 -0
  970. package/dist/experimental/projections/nzmg.d.ts +3 -0
  971. package/dist/experimental/projections/nzmg.d.ts.map +1 -0
  972. package/dist/experimental/projections/nzmg.js +20 -0
  973. package/dist/experimental/projections/nzmg.js.map +1 -0
  974. package/dist/experimental/projections/ob-tran.d.ts +4 -0
  975. package/dist/experimental/projections/ob-tran.d.ts.map +1 -0
  976. package/dist/experimental/projections/ob-tran.js +119 -0
  977. package/dist/experimental/projections/ob-tran.js.map +1 -0
  978. package/dist/experimental/projections/omerc.d.ts +3 -0
  979. package/dist/experimental/projections/omerc.d.ts.map +1 -0
  980. package/dist/experimental/projections/omerc.js +60 -0
  981. package/dist/experimental/projections/omerc.js.map +1 -0
  982. package/dist/experimental/projections/ortho.d.ts +3 -0
  983. package/dist/experimental/projections/ortho.d.ts.map +1 -0
  984. package/dist/experimental/projections/ortho.js +13 -0
  985. package/dist/experimental/projections/ortho.js.map +1 -0
  986. package/dist/experimental/projections/poly.d.ts +3 -0
  987. package/dist/experimental/projections/poly.d.ts.map +1 -0
  988. package/dist/experimental/projections/poly.js +13 -0
  989. package/dist/experimental/projections/poly.js.map +1 -0
  990. package/dist/experimental/projections/qsc.d.ts +3 -0
  991. package/dist/experimental/projections/qsc.d.ts.map +1 -0
  992. package/dist/experimental/projections/qsc.js +13 -0
  993. package/dist/experimental/projections/qsc.js.map +1 -0
  994. package/dist/experimental/projections/robin.d.ts +3 -0
  995. package/dist/experimental/projections/robin.d.ts.map +1 -0
  996. package/dist/experimental/projections/robin.js +13 -0
  997. package/dist/experimental/projections/robin.js.map +1 -0
  998. package/dist/experimental/projections/sinu.d.ts +3 -0
  999. package/dist/experimental/projections/sinu.d.ts.map +1 -0
  1000. package/dist/experimental/projections/sinu.js +13 -0
  1001. package/dist/experimental/projections/sinu.js.map +1 -0
  1002. package/dist/experimental/projections/somerc.d.ts +3 -0
  1003. package/dist/experimental/projections/somerc.d.ts.map +1 -0
  1004. package/dist/experimental/projections/somerc.js +13 -0
  1005. package/dist/experimental/projections/somerc.js.map +1 -0
  1006. package/dist/experimental/projections/stere.d.ts +3 -0
  1007. package/dist/experimental/projections/stere.d.ts.map +1 -0
  1008. package/dist/experimental/projections/stere.js +20 -0
  1009. package/dist/experimental/projections/stere.js.map +1 -0
  1010. package/dist/experimental/projections/sterea.d.ts +3 -0
  1011. package/dist/experimental/projections/sterea.d.ts.map +1 -0
  1012. package/dist/experimental/projections/sterea.js +22 -0
  1013. package/dist/experimental/projections/sterea.js.map +1 -0
  1014. package/dist/experimental/projections/tpers.d.ts +3 -0
  1015. package/dist/experimental/projections/tpers.d.ts.map +1 -0
  1016. package/dist/experimental/projections/tpers.js +19 -0
  1017. package/dist/experimental/projections/tpers.js.map +1 -0
  1018. package/dist/experimental/projections/transverse-mercator.d.ts +6 -0
  1019. package/dist/experimental/projections/transverse-mercator.d.ts.map +1 -0
  1020. package/dist/experimental/projections/transverse-mercator.js +39 -0
  1021. package/dist/experimental/projections/transverse-mercator.js.map +1 -0
  1022. package/dist/experimental/projections/utm.d.ts +3 -0
  1023. package/dist/experimental/projections/utm.d.ts.map +1 -0
  1024. package/dist/experimental/projections/utm.js +31 -0
  1025. package/dist/experimental/projections/utm.js.map +1 -0
  1026. package/dist/experimental/projections/vandg.d.ts +3 -0
  1027. package/dist/experimental/projections/vandg.d.ts.map +1 -0
  1028. package/dist/experimental/projections/vandg.js +13 -0
  1029. package/dist/experimental/projections/vandg.js.map +1 -0
  1030. package/dist/experimental/scalar-output.d.ts +8 -0
  1031. package/dist/experimental/scalar-output.d.ts.map +1 -0
  1032. package/dist/experimental/scalar-output.js +46 -0
  1033. package/dist/experimental/scalar-output.js.map +1 -0
  1034. package/dist/experimental/types.d.ts +54 -0
  1035. package/dist/experimental/types.d.ts.map +1 -0
  1036. package/dist/experimental/types.js +5 -0
  1037. package/dist/experimental/types.js.map +1 -0
  1038. package/dist/experimental/typescript-projection.d.ts +67 -0
  1039. package/dist/experimental/typescript-projection.d.ts.map +1 -0
  1040. package/dist/experimental/typescript-projection.js +429 -0
  1041. package/dist/experimental/typescript-projection.js.map +1 -0
  1042. package/dist/experimental/vertical-datum.d.ts +4 -0
  1043. package/dist/experimental/vertical-datum.d.ts.map +1 -0
  1044. package/dist/experimental/vertical-datum.js +43 -0
  1045. package/dist/experimental/vertical-datum.js.map +1 -0
  1046. package/dist/grids/velocity.cjs +92 -0
  1047. package/dist/grids/velocity.cjs.map +6 -0
  1048. package/dist/grids/velocity.d.ts +3 -0
  1049. package/dist/grids/velocity.d.ts.map +1 -0
  1050. package/dist/grids/velocity.js +5 -0
  1051. package/dist/grids/velocity.js.map +1 -0
  1052. package/dist/index.cjs +10158 -0
  1053. package/dist/index.cjs.map +6 -0
  1054. package/dist/index.d.ts +4 -0
  1055. package/dist/index.d.ts.map +1 -0
  1056. package/dist/index.js +6 -0
  1057. package/dist/index.js.map +1 -0
  1058. package/dist/lib/projection.d.ts +24 -0
  1059. package/dist/lib/projection.d.ts.map +1 -0
  1060. package/dist/lib/projection.js +107 -0
  1061. package/dist/lib/projection.js.map +1 -0
  1062. package/dist/operations.cjs +255 -0
  1063. package/dist/operations.cjs.map +6 -0
  1064. package/dist/operations.d.ts +67 -0
  1065. package/dist/operations.d.ts.map +1 -0
  1066. package/dist/operations.js +272 -0
  1067. package/dist/operations.js.map +1 -0
  1068. package/dist/pipeline.cjs +3347 -0
  1069. package/dist/pipeline.cjs.map +6 -0
  1070. package/dist/pipeline.d.ts +2 -0
  1071. package/dist/pipeline.d.ts.map +1 -0
  1072. package/dist/pipeline.js +5 -0
  1073. package/dist/pipeline.js.map +1 -0
  1074. package/package.json +970 -3
  1075. package/src/deformation.ts +5 -0
  1076. package/src/experimental/catalogue-kernel.ts +54 -0
  1077. package/src/experimental/common/adjust_lat.ts +11 -0
  1078. package/src/experimental/common/adjust_lon.ts +14 -0
  1079. package/src/experimental/common/asinhy.ts +14 -0
  1080. package/src/experimental/common/asinz.ts +11 -0
  1081. package/src/experimental/common/authlat.ts +9 -0
  1082. package/src/experimental/common/authset.ts +25 -0
  1083. package/src/experimental/common/clens.ts +20 -0
  1084. package/src/experimental/common/clens_cmplx.ts +43 -0
  1085. package/src/experimental/common/constants.ts +15 -0
  1086. package/src/experimental/common/cosh.ts +10 -0
  1087. package/src/experimental/common/e0fn.ts +8 -0
  1088. package/src/experimental/common/e1fn.ts +8 -0
  1089. package/src/experimental/common/e2fn.ts +8 -0
  1090. package/src/experimental/common/e3fn.ts +8 -0
  1091. package/src/experimental/common/fL.ts +10 -0
  1092. package/src/experimental/common/gN.ts +9 -0
  1093. package/src/experimental/common/gatg.ts +20 -0
  1094. package/src/experimental/common/hypot.ts +13 -0
  1095. package/src/experimental/common/imlfn.ts +23 -0
  1096. package/src/experimental/common/invlatiso.ts +20 -0
  1097. package/src/experimental/common/iqsfnz.ts +45 -0
  1098. package/src/experimental/common/latiso.ts +21 -0
  1099. package/src/experimental/common/log1py.ts +11 -0
  1100. package/src/experimental/common/mlfn.ts +8 -0
  1101. package/src/experimental/common/msfnz.ts +9 -0
  1102. package/src/experimental/common/phi2z.ts +22 -0
  1103. package/src/experimental/common/pj_enfn.ts +29 -0
  1104. package/src/experimental/common/pj_inv_mlfn.ts +28 -0
  1105. package/src/experimental/common/pj_mlfn.ts +10 -0
  1106. package/src/experimental/common/qsfnz.ts +17 -0
  1107. package/src/experimental/common/sign.ts +8 -0
  1108. package/src/experimental/common/sinh.ts +10 -0
  1109. package/src/experimental/common/srat.ts +8 -0
  1110. package/src/experimental/common/tsfnz.ts +13 -0
  1111. package/src/experimental/common/vincenty.ts +180 -0
  1112. package/src/experimental/core.ts +48 -0
  1113. package/src/experimental/crs/datum-table.ts +1370 -0
  1114. package/src/experimental/crs/ellipsoid-table.ts +230 -0
  1115. package/src/experimental/crs/normalize.ts +303 -0
  1116. package/src/experimental/crs/primemeridian-table.ts +22 -0
  1117. package/src/experimental/crs/projjson.ts +12 -0
  1118. package/src/experimental/crs/spatial-reference.ts +115 -0
  1119. package/src/experimental/crs/structured.ts +521 -0
  1120. package/src/experimental/crs/types.ts +80 -0
  1121. package/src/experimental/crs/units-table.ts +27 -0
  1122. package/src/experimental/crs/wkt.ts +192 -0
  1123. package/src/experimental/datum.ts +185 -0
  1124. package/src/experimental/deformation.ts +134 -0
  1125. package/src/experimental/entries/projections/aea.ts +5 -0
  1126. package/src/experimental/entries/projections/aeqd.ts +5 -0
  1127. package/src/experimental/entries/projections/bonne.ts +5 -0
  1128. package/src/experimental/entries/projections/cass.ts +5 -0
  1129. package/src/experimental/entries/projections/cea.ts +5 -0
  1130. package/src/experimental/entries/projections/eck6.ts +5 -0
  1131. package/src/experimental/entries/projections/eqc.ts +5 -0
  1132. package/src/experimental/entries/projections/eqdc.ts +5 -0
  1133. package/src/experimental/entries/projections/eqearth.ts +5 -0
  1134. package/src/experimental/entries/projections/equi.ts +5 -0
  1135. package/src/experimental/entries/projections/etmerc.ts +5 -0
  1136. package/src/experimental/entries/projections/geocent.ts +5 -0
  1137. package/src/experimental/entries/projections/geos.ts +5 -0
  1138. package/src/experimental/entries/projections/gnom.ts +5 -0
  1139. package/src/experimental/entries/projections/gstmerc.ts +5 -0
  1140. package/src/experimental/entries/projections/krovak.ts +5 -0
  1141. package/src/experimental/entries/projections/laea.ts +5 -0
  1142. package/src/experimental/entries/projections/lcc.ts +5 -0
  1143. package/src/experimental/entries/projections/merc.ts +5 -0
  1144. package/src/experimental/entries/projections/mill.ts +5 -0
  1145. package/src/experimental/entries/projections/moll.ts +5 -0
  1146. package/src/experimental/entries/projections/nzmg.ts +5 -0
  1147. package/src/experimental/entries/projections/ob_tran.ts +5 -0
  1148. package/src/experimental/entries/projections/omerc.ts +5 -0
  1149. package/src/experimental/entries/projections/ortho.ts +5 -0
  1150. package/src/experimental/entries/projections/poly.ts +5 -0
  1151. package/src/experimental/entries/projections/qsc.ts +5 -0
  1152. package/src/experimental/entries/projections/robin.ts +5 -0
  1153. package/src/experimental/entries/projections/sinu.ts +5 -0
  1154. package/src/experimental/entries/projections/somerc.ts +5 -0
  1155. package/src/experimental/entries/projections/stere.ts +5 -0
  1156. package/src/experimental/entries/projections/sterea.ts +5 -0
  1157. package/src/experimental/entries/projections/tmerc.ts +5 -0
  1158. package/src/experimental/entries/projections/tpers.ts +5 -0
  1159. package/src/experimental/entries/projections/utm.ts +5 -0
  1160. package/src/experimental/entries/projections/vandg.ts +5 -0
  1161. package/src/experimental/exact-helmert.ts +58 -0
  1162. package/src/experimental/flat-projection.ts +70 -0
  1163. package/src/experimental/grids/geotiff.ts +88 -0
  1164. package/src/experimental/grids/grid.ts +141 -0
  1165. package/src/experimental/grids/gtx.ts +31 -0
  1166. package/src/experimental/grids/ntv2.ts +71 -0
  1167. package/src/experimental/grids/scalar-geotiff.ts +231 -0
  1168. package/src/experimental/grids/types.ts +35 -0
  1169. package/src/experimental/grids/velocity-geotiff.ts +82 -0
  1170. package/src/experimental/grids/velocity.ts +58 -0
  1171. package/src/experimental/grids/vertical-geotiff.ts +28 -0
  1172. package/src/experimental/grids/vertical.ts +99 -0
  1173. package/src/experimental/helmert-flat.ts +76 -0
  1174. package/src/experimental/index.ts +59 -0
  1175. package/src/experimental/kernel.ts +139 -0
  1176. package/src/experimental/kernels/aea.ts +170 -0
  1177. package/src/experimental/kernels/aeqd.ts +182 -0
  1178. package/src/experimental/kernels/bonne.ts +141 -0
  1179. package/src/experimental/kernels/cass.ts +140 -0
  1180. package/src/experimental/kernels/cea.ts +71 -0
  1181. package/src/experimental/kernels/eck6.ts +36 -0
  1182. package/src/experimental/kernels/eqdc.ts +137 -0
  1183. package/src/experimental/kernels/eqearth.ts +136 -0
  1184. package/src/experimental/kernels/equi.ts +53 -0
  1185. package/src/experimental/kernels/etmerc.ts +190 -0
  1186. package/src/experimental/kernels/gauss.ts +79 -0
  1187. package/src/experimental/kernels/geos.ts +183 -0
  1188. package/src/experimental/kernels/gnom.ts +113 -0
  1189. package/src/experimental/kernels/gstmerc.ts +74 -0
  1190. package/src/experimental/kernels/krovak.ts +166 -0
  1191. package/src/experimental/kernels/laea.ts +297 -0
  1192. package/src/experimental/kernels/lcc.ts +147 -0
  1193. package/src/experimental/kernels/mill.ts +60 -0
  1194. package/src/experimental/kernels/moll.ts +105 -0
  1195. package/src/experimental/kernels/nzmg.ts +249 -0
  1196. package/src/experimental/kernels/omerc.ts +343 -0
  1197. package/src/experimental/kernels/ortho.ts +106 -0
  1198. package/src/experimental/kernels/poly.ts +156 -0
  1199. package/src/experimental/kernels/qsc.ts +369 -0
  1200. package/src/experimental/kernels/robin.ts +189 -0
  1201. package/src/experimental/kernels/sinu.ts +116 -0
  1202. package/src/experimental/kernels/somerc.ts +112 -0
  1203. package/src/experimental/kernels/stere.ts +221 -0
  1204. package/src/experimental/kernels/sterea.ts +80 -0
  1205. package/src/experimental/kernels/tmerc.ts +227 -0
  1206. package/src/experimental/kernels/tpers.ts +187 -0
  1207. package/src/experimental/kernels/vandg.ts +147 -0
  1208. package/src/experimental/kinematic-helmert-flat.ts +85 -0
  1209. package/src/experimental/kinematic-helmert.ts +132 -0
  1210. package/src/experimental/lazy-projection.ts +146 -0
  1211. package/src/experimental/lazy-projections/aea.ts +10 -0
  1212. package/src/experimental/lazy-projections/aeqd.ts +11 -0
  1213. package/src/experimental/lazy-projections/bonne.ts +10 -0
  1214. package/src/experimental/lazy-projections/cass.ts +10 -0
  1215. package/src/experimental/lazy-projections/cea.ts +11 -0
  1216. package/src/experimental/lazy-projections/eck6.ts +10 -0
  1217. package/src/experimental/lazy-projections/eqc.ts +14 -0
  1218. package/src/experimental/lazy-projections/eqdc.ts +11 -0
  1219. package/src/experimental/lazy-projections/eqearth.ts +10 -0
  1220. package/src/experimental/lazy-projections/equi.ts +10 -0
  1221. package/src/experimental/lazy-projections/etmerc.ts +11 -0
  1222. package/src/experimental/lazy-projections/geocent.ts +10 -0
  1223. package/src/experimental/lazy-projections/geos.ts +10 -0
  1224. package/src/experimental/lazy-projections/gnom.ts +10 -0
  1225. package/src/experimental/lazy-projections/gstmerc.ts +12 -0
  1226. package/src/experimental/lazy-projections/index.ts +42 -0
  1227. package/src/experimental/lazy-projections/krovak.ts +18 -0
  1228. package/src/experimental/lazy-projections/laea.ts +11 -0
  1229. package/src/experimental/lazy-projections/lcc.ts +21 -0
  1230. package/src/experimental/lazy-projections/merc.ts +19 -0
  1231. package/src/experimental/lazy-projections/mill.ts +11 -0
  1232. package/src/experimental/lazy-projections/moll.ts +10 -0
  1233. package/src/experimental/lazy-projections/nzmg.ts +11 -0
  1234. package/src/experimental/lazy-projections/ob_tran.ts +25 -0
  1235. package/src/experimental/lazy-projections/omerc.ts +22 -0
  1236. package/src/experimental/lazy-projections/ortho.ts +10 -0
  1237. package/src/experimental/lazy-projections/poly.ts +10 -0
  1238. package/src/experimental/lazy-projections/qsc.ts +14 -0
  1239. package/src/experimental/lazy-projections/robin.ts +10 -0
  1240. package/src/experimental/lazy-projections/sinu.ts +10 -0
  1241. package/src/experimental/lazy-projections/somerc.ts +11 -0
  1242. package/src/experimental/lazy-projections/stere.ts +18 -0
  1243. package/src/experimental/lazy-projections/sterea.ts +19 -0
  1244. package/src/experimental/lazy-projections/tmerc.ts +21 -0
  1245. package/src/experimental/lazy-projections/tpers.ts +11 -0
  1246. package/src/experimental/lazy-projections/utm.ts +11 -0
  1247. package/src/experimental/lazy-projections/vandg.ts +10 -0
  1248. package/src/experimental/mutable-projection.ts +63 -0
  1249. package/src/experimental/numeric-flat.ts +73 -0
  1250. package/src/experimental/parameters.ts +35 -0
  1251. package/src/experimental/projection-descriptor.ts +79 -0
  1252. package/src/experimental/projection-pipeline.ts +1053 -0
  1253. package/src/experimental/projection-scratch.ts +19 -0
  1254. package/src/experimental/projections/aea.ts +19 -0
  1255. package/src/experimental/projections/aeqd.ts +18 -0
  1256. package/src/experimental/projections/bonne.ts +23 -0
  1257. package/src/experimental/projections/cass.ts +19 -0
  1258. package/src/experimental/projections/cea.ts +20 -0
  1259. package/src/experimental/projections/eck6.ts +19 -0
  1260. package/src/experimental/projections/eqdc.ts +19 -0
  1261. package/src/experimental/projections/eqearth.ts +19 -0
  1262. package/src/experimental/projections/equi.ts +20 -0
  1263. package/src/experimental/projections/equidistant-cylindrical.ts +35 -0
  1264. package/src/experimental/projections/geocentric.ts +34 -0
  1265. package/src/experimental/projections/geos.ts +31 -0
  1266. package/src/experimental/projections/gnom.ts +19 -0
  1267. package/src/experimental/projections/gstmerc.ts +19 -0
  1268. package/src/experimental/projections/krovak.ts +41 -0
  1269. package/src/experimental/projections/laea.ts +18 -0
  1270. package/src/experimental/projections/lcc.ts +40 -0
  1271. package/src/experimental/projections/mercator.ts +79 -0
  1272. package/src/experimental/projections/mill.ts +19 -0
  1273. package/src/experimental/projections/moll.ts +19 -0
  1274. package/src/experimental/projections/nzmg.ts +27 -0
  1275. package/src/experimental/projections/ob-tran.ts +161 -0
  1276. package/src/experimental/projections/omerc.ts +66 -0
  1277. package/src/experimental/projections/ortho.ts +26 -0
  1278. package/src/experimental/projections/poly.ts +19 -0
  1279. package/src/experimental/projections/qsc.ts +19 -0
  1280. package/src/experimental/projections/robin.ts +19 -0
  1281. package/src/experimental/projections/sinu.ts +19 -0
  1282. package/src/experimental/projections/somerc.ts +19 -0
  1283. package/src/experimental/projections/stere.ts +29 -0
  1284. package/src/experimental/projections/sterea.ts +30 -0
  1285. package/src/experimental/projections/tpers.ts +31 -0
  1286. package/src/experimental/projections/transverse-mercator.ts +68 -0
  1287. package/src/experimental/projections/utm.ts +33 -0
  1288. package/src/experimental/projections/vandg.ts +19 -0
  1289. package/src/experimental/scalar-output.ts +74 -0
  1290. package/src/experimental/types.ts +61 -0
  1291. package/src/experimental/typescript-projection.ts +545 -0
  1292. package/src/experimental/vertical-datum.ts +39 -0
  1293. package/src/grids/velocity.ts +5 -0
  1294. package/src/index.ts +7 -0
  1295. package/src/lib/projection.ts +167 -0
  1296. package/src/operations.ts +358 -0
  1297. package/src/pipeline.ts +4 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/experimental/crs/wkt.ts", "../../../../crs/src/spatial-reference.ts", "../../../../crs/src/wkt-crs.ts", "../../../src/experimental/crs/types.ts", "../../../src/experimental/crs/datum-table.ts", "../../../src/experimental/parameters.ts", "../../../src/experimental/crs/structured.ts"],
4
+ "mappings": "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AAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,iBAAiB;IACf,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,gBAAgB;IACd,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,iBAAiB;IACf,SAAS;;EAEX,kBAAkB;IAChB,SAAS;;EAEX,gBAAgB;IACd,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,WAAW;IACT,S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",
5
+ "names": ["_a", "_a", "value", "value", "value", "key", "value", "factor", "_a", "operation", "base", "parameters", "value"]
6
+ }
@@ -0,0 +1,3 @@
1
+ import type { CRSParser } from "./types.js";
2
+ export declare const wktCRSParser: CRSParser;
3
+ //# sourceMappingURL=wkt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkt.d.ts","sourceRoot":"","sources":["../../../src/experimental/crs/wkt.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,SAAS,EAAC,mBAAgB;AAiLvC,eAAO,MAAM,YAAY,EAAE,SAO1B,CAAC"}
@@ -0,0 +1,181 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
+ // SPDX-FileComment: Original adapter; named-axis fallback inspired by proj4js 2.22.0 / wkt-parser (MIT). See ../../../PROJ4-LICENSE.md for upstream attribution.
5
+ import { inferCRSRepresentation } from '@math.gl/crs/spatial-reference';
6
+ import { parseWKTCRS } from '@math.gl/crs/wkt';
7
+ import { unsupportedStage } from "./types.js";
8
+ import { readStructuredCRS } from "./structured.js";
9
+ function children(node, ...names) {
10
+ return node.values.filter((value) => value.type === 'node' && names.includes(value.keyword.toUpperCase()));
11
+ }
12
+ function child(node, ...names) {
13
+ return children(node, ...names)[0];
14
+ }
15
+ function value(node, index = 0) {
16
+ const item = node.values[index];
17
+ return item && item.type !== 'node' ? item.value : undefined;
18
+ }
19
+ function units(node) {
20
+ return node ? { name: value(node), conversion_factor: value(node, 1) } : undefined;
21
+ }
22
+ // Original WKT adapters. UNKNOWN is only recoverable from an explicit grid-axis name.
23
+ function legacyAxisDirection(axis, projected) {
24
+ const direction = value(axis, 1);
25
+ if (projected && String(direction).toLowerCase() === 'unknown') {
26
+ const name = String(value(axis)).toLowerCase();
27
+ const match = /^(easting|northing|westing|southing)(?:\s*\([a-z]\))?$/.exec(name);
28
+ if (match)
29
+ return { easting: 'east', northing: 'north', westing: 'west', southing: 'south' }[match[1]];
30
+ }
31
+ return direction;
32
+ }
33
+ function axisMeridian(axis) {
34
+ const meridian = child(axis, 'MERIDIAN');
35
+ if (!meridian)
36
+ return undefined;
37
+ return { longitude: { value: value(meridian), unit: units(child(meridian, 'ANGLEUNIT')) } };
38
+ }
39
+ function operation(node) {
40
+ const method = child(node, 'METHOD', 'PROJECTION');
41
+ if (!method)
42
+ throw new Error('WKT conversion requires a METHOD or PROJECTION');
43
+ if (child(node, 'PARAMETERFILE'))
44
+ unsupportedStage('Grid-based WKT operation is not implemented');
45
+ return {
46
+ method: { name: value(method) },
47
+ parameters: children(node, 'PARAMETER').map(parameter => ({
48
+ name: value(parameter),
49
+ value: value(parameter, 1),
50
+ unit: units(child(parameter, 'ANGLEUNIT', 'LENGTHUNIT', 'SCALEUNIT'))
51
+ }))
52
+ };
53
+ }
54
+ function readWKT(node) {
55
+ const keyword = node.keyword.toUpperCase();
56
+ if (keyword === 'COMPD_CS' || keyword === 'COMPOUNDCRS') {
57
+ return {
58
+ type: 'CompoundCRS',
59
+ components: children(node, 'PROJCS', 'PROJCRS', 'GEOGCS', 'GEOGCRS', 'GEODCRS', 'BOUNDCRS', 'VERT_CS', 'VERTCRS').map(readWKT)
60
+ };
61
+ }
62
+ if (keyword === 'BOUNDCRS') {
63
+ const source = child(node, 'SOURCECRS'), target = child(node, 'TARGETCRS'), transform = child(node, 'ABRIDGEDTRANSFORMATION');
64
+ if (!source || !target || !transform)
65
+ throw new Error('Incomplete WKT BoundCRS');
66
+ const root = (wrapper) => {
67
+ const entry = wrapper.values.find((value) => value.type === 'node');
68
+ if (!entry)
69
+ throw new Error('Missing bound CRS component');
70
+ return entry;
71
+ };
72
+ // Abridged transformations express scale as a multiplier; PROJJSON uses ppm.
73
+ const op = operation(transform);
74
+ const parameters = op['parameters'];
75
+ for (const parameter of parameters) {
76
+ if (String(parameter['name']).toLowerCase() === 'scale difference' &&
77
+ parameter['unit'] === undefined)
78
+ parameter['value'] = (Number(parameter['value']) - 1) * 1e6;
79
+ }
80
+ return {
81
+ type: 'BoundCRS',
82
+ source_crs: readWKT(root(source)),
83
+ target_crs: readWKT(root(target)),
84
+ transformation: op
85
+ };
86
+ }
87
+ if (['VERT_CS', 'VERTCRS'].includes(keyword))
88
+ return { type: 'VerticalCRS' };
89
+ const projected = ['PROJCS', 'PROJCRS', 'PROJECTEDCRS'].includes(keyword);
90
+ const geographic = [
91
+ 'GEOGCS',
92
+ 'GEOGCRS',
93
+ 'GEODCRS',
94
+ 'GEODETICCRS',
95
+ 'GEOGRAPHICCRS',
96
+ 'BASEGEOGCRS',
97
+ 'BASEGEODCRS',
98
+ 'GEOCCS'
99
+ ].includes(keyword);
100
+ if (!projected && !geographic)
101
+ unsupportedStage('Unsupported WKT CRS: ' + keyword);
102
+ if (child(node, 'DYNAMIC', 'DERIVINGCONVERSION', 'VELOCITYGRID', 'EXTENSION'))
103
+ unsupportedStage('Unsupported WKT dynamic/extension operation');
104
+ const cs = child(node, 'CS');
105
+ const geocentric = keyword === 'GEOCCS' || (String(value(cs || node)).toLowerCase() === 'cartesian' && !projected);
106
+ const localUnit = child(node, projected || geocentric ? 'LENGTHUNIT' : 'ANGLEUNIT', 'UNIT');
107
+ const axes = children(node, 'AXIS')
108
+ .sort((a, b) => Number(value(child(a, 'ORDER') || a)) - Number(value(child(b, 'ORDER') || b)))
109
+ .map((axis, index) => ({
110
+ name: value(axis),
111
+ direction: keyword === 'GEOCCS'
112
+ ? ['geocentricX', 'geocentricY', 'geocentricZ'][index]
113
+ : legacyAxisDirection(axis, projected),
114
+ unit: units(child(axis, 'ANGLEUNIT', 'LENGTHUNIT') ||
115
+ (!geocentric && !projected && /^(up|down)$/i.test(String(value(axis, 1)))
116
+ ? undefined
117
+ : localUnit)),
118
+ meridian: axisMeridian(axis)
119
+ }));
120
+ if (!axes.length) {
121
+ for (const direction of geocentric
122
+ ? ['geocentricX', 'geocentricY', 'geocentricZ']
123
+ : ['east', 'north'])
124
+ axes.push({ name: direction, direction, unit: units(localUnit), meridian: undefined });
125
+ }
126
+ const id = keyword === 'GEOGCS' ? undefined : child(node, 'ID');
127
+ const result = {
128
+ type: projected ? 'ProjectedCRS' : geocentric ? 'GeodeticCRS' : 'GeographicCRS',
129
+ name: value(node),
130
+ // WKT1 uses datum names; WKT2 base-CRS IDs select the upstream authority table.
131
+ id: id ? { authority: value(id), code: value(id, 1) } : undefined,
132
+ coordinate_system: { subtype: projected || geocentric ? 'Cartesian' : 'ellipsoidal', axis: axes }
133
+ };
134
+ if (projected) {
135
+ const base = child(node, 'GEOGCS', 'BASEGEOGCRS', 'BASEGEODCRS', 'GEODCRS', 'GEOGCRS');
136
+ if (!base)
137
+ throw new Error('Projected WKT requires a base geographic CRS');
138
+ result['base_crs'] = readWKT(base);
139
+ result['conversion'] = operation(child(node, 'CONVERSION') || node);
140
+ }
141
+ else {
142
+ const datum = child(node, 'DATUM', 'GEODETICDATUM', 'ENSEMBLE');
143
+ if (!datum)
144
+ throw new Error('WKT requires a geodetic datum');
145
+ if (child(datum, 'EXTENSION', 'DYNAMIC'))
146
+ unsupportedStage('Unsupported datum extension');
147
+ const ellipsoid = child(datum, 'SPHEROID', 'ELLIPSOID');
148
+ if (!ellipsoid)
149
+ throw new Error('WKT datum requires an ellipsoid');
150
+ const shift = child(datum, 'TOWGS84');
151
+ result['datum'] = {
152
+ name: value(datum),
153
+ ellipsoid: {
154
+ name: value(ellipsoid),
155
+ semi_major_axis: value(ellipsoid, 1),
156
+ inverse_flattening: value(ellipsoid, 2),
157
+ unit: units(child(ellipsoid, 'LENGTHUNIT'))
158
+ },
159
+ towgs84: shift?.values.map((_, index) => value(shift, index))
160
+ };
161
+ const pm = child(node, 'PRIMEM');
162
+ if (pm)
163
+ result['prime_meridian'] = {
164
+ name: value(pm),
165
+ longitude: value(pm, 1),
166
+ unit: units(child(pm, 'ANGLEUNIT') || (geocentric ? undefined : localUnit))
167
+ };
168
+ result['angular_unit'] = geocentric ? undefined : units(localUnit);
169
+ }
170
+ return result;
171
+ }
172
+ export const wktCRSParser = {
173
+ name: 'wkt',
174
+ canParse: definition => inferCRSRepresentation(definition) === 'wkt',
175
+ parse(definition, options) {
176
+ if (typeof definition !== 'string')
177
+ throw new Error('Expected serialized WKT');
178
+ return readStructuredCRS(readWKT(parseWKTCRS(definition).root), options);
179
+ }
180
+ };
181
+ //# sourceMappingURL=wkt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkt.js","sourceRoot":"","sources":["../../../src/experimental/crs/wkt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { Datum, Ellipsoid } from "./crs/types.js";
2
+ import type { ProjectionPoint } from "./types.js";
3
+ export type Coordinate3D = [number, number, number];
4
+ export declare function geodeticToGeocentricInPlace(point: ProjectionPoint, ellipsoid: Ellipsoid): void;
5
+ /** Projection retains its center error and historical near-axis canonicalization. */
6
+ export declare function geocentricToGeodeticInPlace(point: ProjectionPoint, ellipsoid: Ellipsoid): void;
7
+ /** Convert rotation units and scale once for the lifetime of a compiled datum stage. */
8
+ export declare function createHelmert(values: readonly number[], inverse: boolean): DatumOperation;
9
+ type DatumOperation = (point: ProjectionPoint) => void;
10
+ /** Resolve identity, grid and Helmert stages once, outside coordinate loops. */
11
+ export declare function createDatumTransform(source: Datum, destination: Datum): DatumOperation | undefined;
12
+ /** Original per-instance dispatch informed by proj4js grid list semantics. */
13
+ export declare function applyDatumGrids(point: ProjectionPoint, datum: Datum, inverse: boolean): void;
14
+ export declare function geodeticToGeocentric(coordinate: Coordinate3D, ellipsoid: Ellipsoid): Coordinate3D;
15
+ export declare function geocentricToGeodetic(coordinate: Coordinate3D, ellipsoid: Ellipsoid): Coordinate3D;
16
+ export {};
17
+ //# sourceMappingURL=datum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datum.d.ts","sourceRoot":"","sources":["../../src/experimental/datum.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,KAAK,EAAE,SAAS,EAAC,uBAAoB;AAClD,OAAO,KAAK,EAAC,eAAe,EAAC,mBAAgB;AAC7C,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAWpD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAI9F;AAED,qFAAqF;AACrF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAuB9F;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,cAAc,CAyBzF;AAID,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;AACvD,gFAAgF;AAChF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,KAAK,GACjB,cAAc,GAAG,SAAS,CAqC5B;AAuBD,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA0B5F;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAIjG;AACD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAIjG"}
@@ -0,0 +1,160 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // SPDX-FileCopyrightText: 2014 Mike Adair, Richard Greenwood, Didier Richard, Stephen Irons, Olivier Terral and Calvin Metcalf (proj4js)
4
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
5
+ // SPDX-FileComment: Helmert equations directly adapted from proj4js 2.22.0 datumUtils.js. See ../../PROJ4-LICENSE.md. Geocentric equations now delegate to the attributed @math.gl/core/spheroid leaf.
6
+ import { spheroidToCartesian, cartesianToSpheroid } from '@math.gl/core/spheroid';
7
+ const ARC_SECOND = Math.PI / (180 * 3600);
8
+ const WGS84 = {
9
+ ellipsoid: {
10
+ semiMajorAxis: 6378137,
11
+ semiMinorAxis: 6356752.314245179,
12
+ eccentricitySquared: 0.0066943799901413165
13
+ },
14
+ towgs84: [0, 0, 0]
15
+ };
16
+ export function geodeticToGeocentricInPlace(point, ellipsoid) {
17
+ if (Math.abs(point.y) > Math.PI / 2)
18
+ throw new Error('Latitude outside geocentric domain');
19
+ if (!spheroidToCartesian(point, ellipsoid))
20
+ throw new Error('Geocentric coordinate must be finite');
21
+ }
22
+ /** Projection retains its center error and historical near-axis canonicalization. */
23
+ export function geocentricToGeodeticInPlace(point, ellipsoid) {
24
+ const x = point.x, y = point.y, z = point.z;
25
+ const { semiMajorAxis: a, semiMinorAxis: b, eccentricitySquared: es } = ellipsoid;
26
+ if (x === 0 && y === 0 && z === 0)
27
+ throw new Error('Geodetic coordinates are undefined at the Earth center');
28
+ if (es !== 0 &&
29
+ Math.abs(x) < 1e-12 * a &&
30
+ Math.abs(y) < 1e-12 * a &&
31
+ Math.hypot(x, y) < 1e-12 * a) {
32
+ if (!Number.isFinite(Math.hypot(x, y, z)))
33
+ throw new Error('Geocentric radius must be finite');
34
+ point.x = 0;
35
+ point.y = (Math.sign(z) * Math.PI) / 2;
36
+ point.z = Math.abs(z) - b;
37
+ return;
38
+ }
39
+ if (!cartesianToSpheroid(point, ellipsoid)) {
40
+ if (!Number.isFinite(Math.hypot(x, y, z)))
41
+ throw new Error('Geocentric radius must be finite');
42
+ throw new Error('Geocentric inverse did not converge');
43
+ }
44
+ }
45
+ /** Convert rotation units and scale once for the lifetime of a compiled datum stage. */
46
+ export function createHelmert(values, inverse) {
47
+ const dx = values[0], dy = values[1], dz = values[2];
48
+ const rx = (values[3] || 0) * ARC_SECOND, ry = (values[4] || 0) * ARC_SECOND, rz = (values[5] || 0) * ARC_SECOND;
49
+ const scale = 1 + (values[6] || 0) / 1e6;
50
+ return inverse
51
+ ? point => {
52
+ const x = (point.x - dx) / scale, y = (point.y - dy) / scale, z = (point.z - dz) / scale;
53
+ point.x = x + rz * y - ry * z;
54
+ point.y = -rz * x + y + rx * z;
55
+ point.z = ry * x - rx * y + z;
56
+ }
57
+ : point => {
58
+ const x = point.x, y = point.y, z = point.z;
59
+ point.x = scale * (x - rz * y + ry * z) + dx;
60
+ point.y = scale * (rz * x + y - rx * z) + dy;
61
+ point.z = scale * (-ry * x + rx * y + z) + dz;
62
+ };
63
+ }
64
+ function shifted(datum) {
65
+ return Boolean(datum.towgs84?.some(value => value !== 0));
66
+ }
67
+ /** Resolve identity, grid and Helmert stages once, outside coordinate loops. */
68
+ export function createDatumTransform(source, destination) {
69
+ // datum=none disables the entire chain, including a shifted opposite endpoint.
70
+ if (!source.towgs84 || !destination.towgs84)
71
+ return undefined;
72
+ if (source.grids || destination.grids) {
73
+ if (source.grids &&
74
+ destination.grids &&
75
+ source.ellipsoid.semiMajorAxis === destination.ellipsoid.semiMajorAxis &&
76
+ source.ellipsoid.eccentricitySquared === destination.ellipsoid.eccentricitySquared &&
77
+ source.grids.length === destination.grids.length &&
78
+ source.grids.every((entry, i) => entry.name === destination.grids[i].name &&
79
+ entry.optional === destination.grids[i].optional &&
80
+ entry.grid === destination.grids[i].grid))
81
+ return undefined;
82
+ const middle = createDatumTransform(source.grids ? WGS84 : source, destination.grids ? WGS84 : destination);
83
+ return point => {
84
+ if (source.grids)
85
+ applyDatumGrids(point, source, false);
86
+ middle?.(point);
87
+ if (destination.grids)
88
+ applyDatumGrids(point, destination, true);
89
+ };
90
+ }
91
+ if (shifted(source) || shifted(destination)) {
92
+ const first = convertDatum(source, WGS84), second = convertDatum(WGS84, destination);
93
+ return point => {
94
+ first?.(point);
95
+ second?.(point);
96
+ };
97
+ }
98
+ return convertDatum(source, destination);
99
+ }
100
+ function convertDatum(from, to) {
101
+ if (!from.towgs84 || !to.towgs84)
102
+ return undefined;
103
+ const a = from.ellipsoid, b = to.ellipsoid;
104
+ let sameParameters = true;
105
+ for (let i = 0; i < 7; i++)
106
+ if ((from.towgs84[i] || 0) !== (to.towgs84[i] || 0))
107
+ sameParameters = false;
108
+ if (a.semiMajorAxis === b.semiMajorAxis &&
109
+ Math.abs(a.eccentricitySquared - b.eccentricitySquared) <= 5e-11 &&
110
+ sameParameters)
111
+ return undefined;
112
+ const sourceShift = shifted(from) ? createHelmert(from.towgs84, false) : undefined, targetShift = shifted(to) ? createHelmert(to.towgs84, true) : undefined;
113
+ return point => {
114
+ geodeticToGeocentricInPlace(point, a);
115
+ sourceShift?.(point);
116
+ targetShift?.(point);
117
+ geocentricToGeodeticInPlace(point, b);
118
+ };
119
+ }
120
+ /** Original per-instance dispatch informed by proj4js grid list semantics. */
121
+ export function applyDatumGrids(point, datum, inverse) {
122
+ for (const reference of datum.grids) {
123
+ if (reference.name === 'null')
124
+ return;
125
+ if (!reference.grid) {
126
+ if (reference.optional)
127
+ continue;
128
+ throw new Error('Required datum grid is not registered: ' + reference.name);
129
+ }
130
+ let found = false;
131
+ if (reference.grid.shiftInPlace)
132
+ found = reference.grid.shiftInPlace(point, inverse);
133
+ else {
134
+ const output = reference.grid.shift(point.x, point.y, inverse);
135
+ if (output) {
136
+ point.x = output[0];
137
+ point.y = output[1];
138
+ found = true;
139
+ }
140
+ }
141
+ if (found) {
142
+ if (!Number.isFinite(point.x) || !Number.isFinite(point.y) || Math.abs(point.y) > Math.PI / 2)
143
+ throw new Error('Datum grid produced a coordinate outside the geographic domain');
144
+ return;
145
+ }
146
+ }
147
+ throw new Error('No datum grid covers coordinate: ' + datum.grids.map(grid => grid.name).join(','));
148
+ }
149
+ // Scalar adapters retain the internal tuple API for existing callers.
150
+ export function geodeticToGeocentric(coordinate, ellipsoid) {
151
+ const point = { x: coordinate[0], y: coordinate[1], z: coordinate[2] };
152
+ geodeticToGeocentricInPlace(point, ellipsoid);
153
+ return [point.x, point.y, point.z];
154
+ }
155
+ export function geocentricToGeodetic(coordinate, ellipsoid) {
156
+ const point = { x: coordinate[0], y: coordinate[1], z: coordinate[2] };
157
+ geocentricToGeodeticInPlace(point, ellipsoid);
158
+ return [point.x, point.y, point.z];
159
+ }
160
+ //# sourceMappingURL=datum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datum.js","sourceRoot":"","sources":["../../src/experimental/datum.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { ProjectionPoint } from "./types.js";
2
+ import type { VelocityGrid } from "./grids/velocity.js";
3
+ /** Both methods take the ORIGINAL source/target epoch pair. inverse solves forward,
4
+ * rather than sampling the endpoint with a negated duration. XYZ are ECEF metres.
5
+ * Successful calls mutate XYZ; a failure restores the input. No per-point allocations.
6
+ */
7
+ export type DeformationModel = {
8
+ forward(point: ProjectionPoint, sourceEpoch: number, targetEpoch: number): void;
9
+ inverse(point: ProjectionPoint, sourceEpoch: number, targetEpoch: number): void;
10
+ };
11
+ export type DeformationModelOptions = {
12
+ readonly grid: VelocityGrid;
13
+ /** Inclusive, application-reviewed validity interval in decimal years. */
14
+ readonly epochRange: readonly [number, number];
15
+ /** Must match the velocity model's geographic reference frame. Default WGS84. */
16
+ readonly ellipsoid?: {
17
+ readonly semiMajorAxis: number;
18
+ readonly flattening: number;
19
+ };
20
+ };
21
+ /** Linear, time-invariant ENU velocity model, applied in geocentric space.
22
+ * No event offsets, time-varying components, extrapolation or automatic model loading.
23
+ */
24
+ export declare function createDeformationModel(options: DeformationModelOptions): DeformationModel;
25
+ //# sourceMappingURL=deformation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deformation.d.ts","sourceRoot":"","sources":["../../src/experimental/deformation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,eAAe,EAAC,mBAAgB;AAC7C,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AAEnD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAChF,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACjF,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC;CACpF,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CA0GzF"}
@@ -0,0 +1,98 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
+ // SPDX-FileComment: Original ENU basis rotation and inverse, inspired by PROJ's documented deformation contract; no PROJ implementation is copied or forked. Geocentric conversion reuses the attributed proj4js adaptation in datum.ts.
5
+ import { geocentricToGeodeticInPlace } from "./datum.js";
6
+ /** Linear, time-invariant ENU velocity model, applied in geocentric space.
7
+ * No event offsets, time-varying components, extrapolation or automatic model loading.
8
+ */
9
+ export function createDeformationModel(options) {
10
+ const grid = options.grid;
11
+ if (!grid || typeof grid.sample !== 'function')
12
+ throw new Error('Prepared velocity grid required');
13
+ const sample = grid.sample.bind(grid);
14
+ const range = options.epochRange;
15
+ if (!Array.isArray(range) ||
16
+ range.length !== 2 ||
17
+ !range.every(Number.isFinite) ||
18
+ range[0] > range[1])
19
+ throw new Error('Finite ordered deformation epochRange required');
20
+ const start = range[0], end = range[1];
21
+ const a = options.ellipsoid?.semiMajorAxis ?? 6378137;
22
+ const f = options.ellipsoid?.flattening ?? 1 / 298.257223563;
23
+ if (!Number.isFinite(a) || a <= 0 || !Number.isFinite(f) || f < 0 || f >= 1)
24
+ throw new Error('Invalid deformation ellipsoid');
25
+ if (!(a * (1 - f) > 0) || !(f * (2 - f) < 1))
26
+ throw new Error('Invalid deformation ellipsoid');
27
+ const ellipsoid = Object.freeze({
28
+ semiMajorAxis: a,
29
+ semiMinorAxis: a * (1 - f),
30
+ eccentricitySquared: f * (2 - f)
31
+ });
32
+ const duration = (source, target) => {
33
+ if (!Number.isFinite(source) ||
34
+ !Number.isFinite(target) ||
35
+ source < start ||
36
+ source > end ||
37
+ target < start ||
38
+ target > end)
39
+ throw new Error('Deformation epochs outside model epochRange or non-finite');
40
+ const dt = target - source;
41
+ if (!Number.isFinite(dt))
42
+ throw new Error('Non-finite deformation duration');
43
+ return dt;
44
+ };
45
+ // Scratch belongs to the caller. Recursive custom sampling cannot overwrite shared state.
46
+ const velocity = (point) => {
47
+ geocentricToGeodeticInPlace(point, ellipsoid);
48
+ const longitude = point.x, latitude = point.y;
49
+ if (!sample(longitude, latitude, point))
50
+ throw new Error('No velocity grid covers coordinate');
51
+ const east = point.x, north = point.y, up = point.z;
52
+ const sp = Math.sin(latitude), cp = Math.cos(latitude), sl = Math.sin(longitude), cl = Math.cos(longitude);
53
+ // Rotate north/up into the radial/Z plane, then rotate radial/east by longitude.
54
+ const radial = up * cp - north * sp;
55
+ point.x = radial * cl - east * sl;
56
+ point.y = radial * sl + east * cl;
57
+ point.z = up * sp + north * cp;
58
+ };
59
+ const apply = (point, source, target, inverse) => {
60
+ const dt = duration(source, target);
61
+ const x = point.x, y = point.y, z = point.z;
62
+ if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(z))
63
+ throw new Error('Finite deformation XYZ required');
64
+ try {
65
+ let px = x, py = y, pz = z;
66
+ for (let iteration = 0; iteration < (inverse ? 32 : 1); iteration++) {
67
+ point.x = px;
68
+ point.y = py;
69
+ point.z = pz;
70
+ velocity(point);
71
+ const nx = x + (inverse ? -dt : dt) * point.x, ny = y + (inverse ? -dt : dt) * point.y, nz = z + (inverse ? -dt : dt) * point.z;
72
+ if (!Number.isFinite(nx) || !Number.isFinite(ny) || !Number.isFinite(nz))
73
+ throw new Error('Non-finite deformation output');
74
+ if (!inverse || Math.hypot(nx - px, ny - py, nz - pz) <= 1e-8) {
75
+ point.x = nx;
76
+ point.y = ny;
77
+ point.z = nz;
78
+ return;
79
+ }
80
+ px = nx;
81
+ py = ny;
82
+ pz = nz;
83
+ }
84
+ throw new Error('Deformation inverse did not converge');
85
+ }
86
+ catch (error) {
87
+ point.x = x;
88
+ point.y = y;
89
+ point.z = z;
90
+ throw error;
91
+ }
92
+ };
93
+ return Object.freeze({
94
+ forward: (point, source, target) => apply(point, source, target, false),
95
+ inverse: (point, source, target) => apply(point, source, target, true)
96
+ });
97
+ }
98
+ //# sourceMappingURL=deformation.js.map