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

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 (1213) hide show
  1. package/GEOGRAPHICLIB-LICENSE.txt +27 -0
  2. package/LICENSE +264 -73
  3. package/README.md +6 -1
  4. package/THIRD-PARTY-NOTICES.md +95 -0
  5. package/dist/constants.js +1 -1
  6. package/dist/constants.js.map +1 -1
  7. package/dist/discontinuous/air-ocean-mesh.d.ts +15 -0
  8. package/dist/discontinuous/air-ocean-mesh.d.ts.map +1 -0
  9. package/dist/discontinuous/air-ocean-mesh.js +75 -0
  10. package/dist/discontinuous/air-ocean-mesh.js.map +1 -0
  11. package/dist/discontinuous/albers-usa.d.ts +9 -0
  12. package/dist/discontinuous/albers-usa.d.ts.map +1 -0
  13. package/dist/discontinuous/albers-usa.js +105 -0
  14. package/dist/discontinuous/albers-usa.js.map +1 -0
  15. package/dist/discontinuous/cap-map.d.ts +23 -0
  16. package/dist/discontinuous/cap-map.d.ts.map +1 -0
  17. package/dist/discontinuous/cap-map.js +314 -0
  18. package/dist/discontinuous/cap-map.js.map +1 -0
  19. package/dist/discontinuous/elastic/data.d.ts +26 -0
  20. package/dist/discontinuous/elastic/data.d.ts.map +1 -0
  21. package/dist/discontinuous/elastic/data.js +72 -0
  22. package/dist/discontinuous/elastic/data.js.map +1 -0
  23. package/dist/discontinuous/elastic/elasticI.d.ts +3 -0
  24. package/dist/discontinuous/elastic/elasticI.d.ts.map +1 -0
  25. package/dist/discontinuous/elastic/elasticI.js +5233 -0
  26. package/dist/discontinuous/elastic/elasticI.js.map +1 -0
  27. package/dist/discontinuous/elastic/elasticII.d.ts +3 -0
  28. package/dist/discontinuous/elastic/elasticII.d.ts.map +1 -0
  29. package/dist/discontinuous/elastic/elasticII.js +18162 -0
  30. package/dist/discontinuous/elastic/elasticII.js.map +1 -0
  31. package/dist/discontinuous/elastic/elasticIII.d.ts +3 -0
  32. package/dist/discontinuous/elastic/elasticIII.d.ts.map +1 -0
  33. package/dist/discontinuous/elastic/elasticIII.js +29566 -0
  34. package/dist/discontinuous/elastic/elasticIII.js.map +1 -0
  35. package/dist/discontinuous/elastic/geometry.d.ts +22 -0
  36. package/dist/discontinuous/elastic/geometry.d.ts.map +1 -0
  37. package/dist/discontinuous/elastic/geometry.js +131 -0
  38. package/dist/discontinuous/elastic/geometry.js.map +1 -0
  39. package/dist/discontinuous/elastic/grid.d.ts +15 -0
  40. package/dist/discontinuous/elastic/grid.d.ts.map +1 -0
  41. package/dist/discontinuous/elastic/grid.js +177 -0
  42. package/dist/discontinuous/elastic/grid.js.map +1 -0
  43. package/dist/discontinuous/elastic/map.d.ts +8 -0
  44. package/dist/discontinuous/elastic/map.d.ts.map +1 -0
  45. package/dist/discontinuous/elastic/map.js +260 -0
  46. package/dist/discontinuous/elastic/map.js.map +1 -0
  47. package/dist/discontinuous/gray-fuller.d.ts +5 -0
  48. package/dist/discontinuous/gray-fuller.d.ts.map +1 -0
  49. package/dist/discontinuous/gray-fuller.js +36 -0
  50. package/dist/discontinuous/gray-fuller.js.map +1 -0
  51. package/dist/discontinuous/gringorten-kernel.d.ts +5 -0
  52. package/dist/discontinuous/gringorten-kernel.d.ts.map +1 -0
  53. package/dist/discontinuous/gringorten-kernel.js +94 -0
  54. package/dist/discontinuous/gringorten-kernel.js.map +1 -0
  55. package/dist/discontinuous/healpix.d.ts +13 -0
  56. package/dist/discontinuous/healpix.d.ts.map +1 -0
  57. package/dist/discontinuous/healpix.js +61 -0
  58. package/dist/discontinuous/healpix.js.map +1 -0
  59. package/dist/discontinuous/layout.d.ts +72 -0
  60. package/dist/discontinuous/layout.d.ts.map +1 -0
  61. package/dist/discontinuous/layout.js +114 -0
  62. package/dist/discontinuous/layout.js.map +1 -0
  63. package/dist/discontinuous/map-engine.d.ts +197 -0
  64. package/dist/discontinuous/map-engine.d.ts.map +1 -0
  65. package/dist/discontinuous/map-engine.js +356 -0
  66. package/dist/discontinuous/map-engine.js.map +1 -0
  67. package/dist/discontinuous/map-layout.d.ts +93 -0
  68. package/dist/discontinuous/map-layout.d.ts.map +1 -0
  69. package/dist/discontinuous/map-layout.js +490 -0
  70. package/dist/discontinuous/map-layout.js.map +1 -0
  71. package/dist/discontinuous/map-transition.d.ts +42 -0
  72. package/dist/discontinuous/map-transition.d.ts.map +1 -0
  73. package/dist/discontinuous/map-transition.js +283 -0
  74. package/dist/discontinuous/map-transition.js.map +1 -0
  75. package/dist/discontinuous/math.d.ts +19 -0
  76. package/dist/discontinuous/math.d.ts.map +1 -0
  77. package/dist/discontinuous/math.js +65 -0
  78. package/dist/discontinuous/math.js.map +1 -0
  79. package/dist/discontinuous/mercator-map.d.ts +22 -0
  80. package/dist/discontinuous/mercator-map.d.ts.map +1 -0
  81. package/dist/discontinuous/mercator-map.js +130 -0
  82. package/dist/discontinuous/mercator-map.js.map +1 -0
  83. package/dist/discontinuous/myriahedral/graticule.d.ts +6 -0
  84. package/dist/discontinuous/myriahedral/graticule.d.ts.map +1 -0
  85. package/dist/discontinuous/myriahedral/graticule.js +37 -0
  86. package/dist/discontinuous/myriahedral/graticule.js.map +1 -0
  87. package/dist/discontinuous/myriahedral/mesh.d.ts +18 -0
  88. package/dist/discontinuous/myriahedral/mesh.d.ts.map +1 -0
  89. package/dist/discontinuous/myriahedral/mesh.js +131 -0
  90. package/dist/discontinuous/myriahedral/mesh.js.map +1 -0
  91. package/dist/discontinuous/myriahedral/unfold.d.ts +36 -0
  92. package/dist/discontinuous/myriahedral/unfold.d.ts.map +1 -0
  93. package/dist/discontinuous/myriahedral/unfold.js +172 -0
  94. package/dist/discontinuous/myriahedral/unfold.js.map +1 -0
  95. package/dist/discontinuous/myriahedral.d.ts +56 -0
  96. package/dist/discontinuous/myriahedral.d.ts.map +1 -0
  97. package/dist/discontinuous/myriahedral.js +204 -0
  98. package/dist/discontinuous/myriahedral.js.map +1 -0
  99. package/dist/discontinuous/petroff.d.ts +8 -0
  100. package/dist/discontinuous/petroff.d.ts.map +1 -0
  101. package/dist/discontinuous/petroff.js +159 -0
  102. package/dist/discontinuous/petroff.js.map +1 -0
  103. package/dist/discontinuous/polyhedral.d.ts +8 -0
  104. package/dist/discontinuous/polyhedral.d.ts.map +1 -0
  105. package/dist/discontinuous/polyhedral.js +117 -0
  106. package/dist/discontinuous/polyhedral.js.map +1 -0
  107. package/dist/discontinuous/prepare-features.d.ts +78 -0
  108. package/dist/discontinuous/prepare-features.d.ts.map +1 -0
  109. package/dist/discontinuous/prepare-features.js +146 -0
  110. package/dist/discontinuous/prepare-features.js.map +1 -0
  111. package/dist/discontinuous/presets.d.ts +71 -0
  112. package/dist/discontinuous/presets.d.ts.map +1 -0
  113. package/dist/discontinuous/presets.js +372 -0
  114. package/dist/discontinuous/presets.js.map +1 -0
  115. package/dist/discontinuous/projection-catalog.d.ts +33 -0
  116. package/dist/discontinuous/projection-catalog.d.ts.map +1 -0
  117. package/dist/discontinuous/projection-catalog.js +96 -0
  118. package/dist/discontinuous/projection-catalog.js.map +1 -0
  119. package/dist/discontinuous/quincuncial-kernel.d.ts +9 -0
  120. package/dist/discontinuous/quincuncial-kernel.d.ts.map +1 -0
  121. package/dist/discontinuous/quincuncial-kernel.js +139 -0
  122. package/dist/discontinuous/quincuncial-kernel.js.map +1 -0
  123. package/dist/discontinuous/quincuncial-star.d.ts +29 -0
  124. package/dist/discontinuous/quincuncial-star.d.ts.map +1 -0
  125. package/dist/discontinuous/quincuncial-star.js +307 -0
  126. package/dist/discontinuous/quincuncial-star.js.map +1 -0
  127. package/dist/discontinuous/regional-map.d.ts +18 -0
  128. package/dist/discontinuous/regional-map.d.ts.map +1 -0
  129. package/dist/discontinuous/regional-map.js +193 -0
  130. package/dist/discontinuous/regional-map.js.map +1 -0
  131. package/dist/discontinuous/retroazimuthal-map.d.ts +6 -0
  132. package/dist/discontinuous/retroazimuthal-map.d.ts.map +1 -0
  133. package/dist/discontinuous/retroazimuthal-map.js +52 -0
  134. package/dist/discontinuous/retroazimuthal-map.js.map +1 -0
  135. package/dist/discontinuous/rotated-map.d.ts +31 -0
  136. package/dist/discontinuous/rotated-map.d.ts.map +1 -0
  137. package/dist/discontinuous/rotated-map.js +66 -0
  138. package/dist/discontinuous/rotated-map.js.map +1 -0
  139. package/dist/discontinuous/snyder-mesh.d.ts +11 -0
  140. package/dist/discontinuous/snyder-mesh.d.ts.map +1 -0
  141. package/dist/discontinuous/snyder-mesh.js +88 -0
  142. package/dist/discontinuous/snyder-mesh.js.map +1 -0
  143. package/dist/discontinuous/snyder.d.ts +16 -0
  144. package/dist/discontinuous/snyder.d.ts.map +1 -0
  145. package/dist/discontinuous/snyder.js +153 -0
  146. package/dist/discontinuous/snyder.js.map +1 -0
  147. package/dist/discontinuous/spherical-clip/cartesian.d.ts +8 -0
  148. package/dist/discontinuous/spherical-clip/cartesian.d.ts.map +1 -0
  149. package/dist/discontinuous/spherical-clip/cartesian.js +34 -0
  150. package/dist/discontinuous/spherical-clip/cartesian.js.map +1 -0
  151. package/dist/discontinuous/spherical-clip/circle.d.ts +2 -0
  152. package/dist/discontinuous/spherical-clip/circle.d.ts.map +1 -0
  153. package/dist/discontinuous/spherical-clip/circle.js +34 -0
  154. package/dist/discontinuous/spherical-clip/circle.js.map +1 -0
  155. package/dist/discontinuous/spherical-clip/clip-buffer.d.ts +9 -0
  156. package/dist/discontinuous/spherical-clip/clip-buffer.d.ts.map +1 -0
  157. package/dist/discontinuous/spherical-clip/clip-buffer.js +28 -0
  158. package/dist/discontinuous/spherical-clip/clip-buffer.js.map +1 -0
  159. package/dist/discontinuous/spherical-clip/clip-circle.d.ts +9 -0
  160. package/dist/discontinuous/spherical-clip/clip-circle.d.ts.map +1 -0
  161. package/dist/discontinuous/spherical-clip/clip-circle.js +160 -0
  162. package/dist/discontinuous/spherical-clip/clip-circle.js.map +1 -0
  163. package/dist/discontinuous/spherical-clip/clip-index.d.ts +9 -0
  164. package/dist/discontinuous/spherical-clip/clip-index.d.ts.map +1 -0
  165. package/dist/discontinuous/spherical-clip/clip-index.js +117 -0
  166. package/dist/discontinuous/spherical-clip/clip-index.js.map +1 -0
  167. package/dist/discontinuous/spherical-clip/clip-rejoin.d.ts +2 -0
  168. package/dist/discontinuous/spherical-clip/clip-rejoin.d.ts.map +1 -0
  169. package/dist/discontinuous/spherical-clip/clip-rejoin.js +99 -0
  170. package/dist/discontinuous/spherical-clip/clip-rejoin.js.map +1 -0
  171. package/dist/discontinuous/spherical-clip/helpers.d.ts +8 -0
  172. package/dist/discontinuous/spherical-clip/helpers.d.ts.map +1 -0
  173. package/dist/discontinuous/spherical-clip/helpers.js +21 -0
  174. package/dist/discontinuous/spherical-clip/helpers.js.map +1 -0
  175. package/dist/discontinuous/spherical-clip/math.d.ts +26 -0
  176. package/dist/discontinuous/spherical-clip/math.d.ts.map +1 -0
  177. package/dist/discontinuous/spherical-clip/math.js +39 -0
  178. package/dist/discontinuous/spherical-clip/math.js.map +1 -0
  179. package/dist/discontinuous/spherical-clip/noop.d.ts +2 -0
  180. package/dist/discontinuous/spherical-clip/noop.d.ts.map +1 -0
  181. package/dist/discontinuous/spherical-clip/noop.js +6 -0
  182. package/dist/discontinuous/spherical-clip/noop.js.map +1 -0
  183. package/dist/discontinuous/spherical-clip/pointEqual.d.ts +2 -0
  184. package/dist/discontinuous/spherical-clip/pointEqual.d.ts.map +1 -0
  185. package/dist/discontinuous/spherical-clip/pointEqual.js +9 -0
  186. package/dist/discontinuous/spherical-clip/pointEqual.js.map +1 -0
  187. package/dist/discontinuous/spherical-clip/polygonContains.d.ts +2 -0
  188. package/dist/discontinuous/spherical-clip/polygonContains.d.ts.map +1 -0
  189. package/dist/discontinuous/spherical-clip/polygonContains.js +52 -0
  190. package/dist/discontinuous/spherical-clip/polygonContains.js.map +1 -0
  191. package/dist/discontinuous/world-composite-kernels.d.ts +11 -0
  192. package/dist/discontinuous/world-composite-kernels.d.ts.map +1 -0
  193. package/dist/discontinuous/world-composite-kernels.js +30 -0
  194. package/dist/discontinuous/world-composite-kernels.js.map +1 -0
  195. package/dist/discontinuous/world-kernels/airy.d.ts +5 -0
  196. package/dist/discontinuous/world-kernels/airy.d.ts.map +1 -0
  197. package/dist/discontinuous/world-kernels/airy.js +28 -0
  198. package/dist/discontinuous/world-kernels/airy.js.map +1 -0
  199. package/dist/discontinuous/world-kernels/aitoff.d.ts +5 -0
  200. package/dist/discontinuous/world-kernels/aitoff.d.ts.map +1 -0
  201. package/dist/discontinuous/world-kernels/aitoff.js +26 -0
  202. package/dist/discontinuous/world-kernels/aitoff.js.map +1 -0
  203. package/dist/discontinuous/world-kernels/armadillo.d.ts +5 -0
  204. package/dist/discontinuous/world-kernels/armadillo.d.ts.map +1 -0
  205. package/dist/discontinuous/world-kernels/armadillo.js +28 -0
  206. package/dist/discontinuous/world-kernels/armadillo.js.map +1 -0
  207. package/dist/discontinuous/world-kernels/august.d.ts +5 -0
  208. package/dist/discontinuous/world-kernels/august.d.ts.map +1 -0
  209. package/dist/discontinuous/world-kernels/august.js +21 -0
  210. package/dist/discontinuous/world-kernels/august.js.map +1 -0
  211. package/dist/discontinuous/world-kernels/baker.d.ts +5 -0
  212. package/dist/discontinuous/world-kernels/baker.d.ts.map +1 -0
  213. package/dist/discontinuous/world-kernels/baker.js +29 -0
  214. package/dist/discontinuous/world-kernels/baker.js.map +1 -0
  215. package/dist/discontinuous/world-kernels/bertin.d.ts +5 -0
  216. package/dist/discontinuous/world-kernels/bertin.d.ts.map +1 -0
  217. package/dist/discontinuous/world-kernels/bertin.js +32 -0
  218. package/dist/discontinuous/world-kernels/bertin.js.map +1 -0
  219. package/dist/discontinuous/world-kernels/boggs.d.ts +5 -0
  220. package/dist/discontinuous/world-kernels/boggs.d.ts.map +1 -0
  221. package/dist/discontinuous/world-kernels/boggs.js +24 -0
  222. package/dist/discontinuous/world-kernels/boggs.js.map +1 -0
  223. package/dist/discontinuous/world-kernels/bonne.d.ts +3 -0
  224. package/dist/discontinuous/world-kernels/bonne.d.ts.map +1 -0
  225. package/dist/discontinuous/world-kernels/bonne.js +22 -0
  226. package/dist/discontinuous/world-kernels/bonne.js.map +1 -0
  227. package/dist/discontinuous/world-kernels/bottomley.d.ts +5 -0
  228. package/dist/discontinuous/world-kernels/bottomley.d.ts.map +1 -0
  229. package/dist/discontinuous/world-kernels/bottomley.js +18 -0
  230. package/dist/discontinuous/world-kernels/bottomley.js.map +1 -0
  231. package/dist/discontinuous/world-kernels/bromley.d.ts +5 -0
  232. package/dist/discontinuous/world-kernels/bromley.d.ts.map +1 -0
  233. package/dist/discontinuous/world-kernels/bromley.js +9 -0
  234. package/dist/discontinuous/world-kernels/bromley.js.map +1 -0
  235. package/dist/discontinuous/world-kernels/chamberlin.d.ts +2 -0
  236. package/dist/discontinuous/world-kernels/chamberlin.d.ts.map +1 -0
  237. package/dist/discontinuous/world-kernels/chamberlin.js +81 -0
  238. package/dist/discontinuous/world-kernels/chamberlin.js.map +1 -0
  239. package/dist/discontinuous/world-kernels/collignon.d.ts +5 -0
  240. package/dist/discontinuous/world-kernels/collignon.d.ts.map +1 -0
  241. package/dist/discontinuous/world-kernels/collignon.js +15 -0
  242. package/dist/discontinuous/world-kernels/collignon.js.map +1 -0
  243. package/dist/discontinuous/world-kernels/craig.d.ts +5 -0
  244. package/dist/discontinuous/world-kernels/craig.d.ts.map +1 -0
  245. package/dist/discontinuous/world-kernels/craig.js +30 -0
  246. package/dist/discontinuous/world-kernels/craig.js.map +1 -0
  247. package/dist/discontinuous/world-kernels/craster.d.ts +5 -0
  248. package/dist/discontinuous/world-kernels/craster.d.ts.map +1 -0
  249. package/dist/discontinuous/world-kernels/craster.js +15 -0
  250. package/dist/discontinuous/world-kernels/craster.js.map +1 -0
  251. package/dist/discontinuous/world-kernels/cylindricalEqualArea.d.ts +5 -0
  252. package/dist/discontinuous/world-kernels/cylindricalEqualArea.d.ts.map +1 -0
  253. package/dist/discontinuous/world-kernels/cylindricalEqualArea.js +17 -0
  254. package/dist/discontinuous/world-kernels/cylindricalEqualArea.js.map +1 -0
  255. package/dist/discontinuous/world-kernels/cylindricalStereographic.d.ts +5 -0
  256. package/dist/discontinuous/world-kernels/cylindricalStereographic.d.ts.map +1 -0
  257. package/dist/discontinuous/world-kernels/cylindricalStereographic.js +17 -0
  258. package/dist/discontinuous/world-kernels/cylindricalStereographic.js.map +1 -0
  259. package/dist/discontinuous/world-kernels/d3-geo-raw.d.ts +9 -0
  260. package/dist/discontinuous/world-kernels/d3-geo-raw.d.ts.map +1 -0
  261. package/dist/discontinuous/world-kernels/d3-geo-raw.js +21 -0
  262. package/dist/discontinuous/world-kernels/d3-geo-raw.js.map +1 -0
  263. package/dist/discontinuous/world-kernels/eckert1.d.ts +5 -0
  264. package/dist/discontinuous/world-kernels/eckert1.d.ts.map +1 -0
  265. package/dist/discontinuous/world-kernels/eckert1.js +15 -0
  266. package/dist/discontinuous/world-kernels/eckert1.js.map +1 -0
  267. package/dist/discontinuous/world-kernels/eckert2.d.ts +5 -0
  268. package/dist/discontinuous/world-kernels/eckert2.d.ts.map +1 -0
  269. package/dist/discontinuous/world-kernels/eckert2.js +15 -0
  270. package/dist/discontinuous/world-kernels/eckert2.js.map +1 -0
  271. package/dist/discontinuous/world-kernels/eckert3.d.ts +5 -0
  272. package/dist/discontinuous/world-kernels/eckert3.d.ts.map +1 -0
  273. package/dist/discontinuous/world-kernels/eckert3.js +15 -0
  274. package/dist/discontinuous/world-kernels/eckert3.js.map +1 -0
  275. package/dist/discontinuous/world-kernels/eckert4.d.ts +5 -0
  276. package/dist/discontinuous/world-kernels/eckert4.d.ts.map +1 -0
  277. package/dist/discontinuous/world-kernels/eckert4.js +20 -0
  278. package/dist/discontinuous/world-kernels/eckert4.js.map +1 -0
  279. package/dist/discontinuous/world-kernels/eckert5.d.ts +5 -0
  280. package/dist/discontinuous/world-kernels/eckert5.d.ts.map +1 -0
  281. package/dist/discontinuous/world-kernels/eckert5.js +14 -0
  282. package/dist/discontinuous/world-kernels/eckert5.js.map +1 -0
  283. package/dist/discontinuous/world-kernels/eckert6.d.ts +5 -0
  284. package/dist/discontinuous/world-kernels/eckert6.d.ts.map +1 -0
  285. package/dist/discontinuous/world-kernels/eckert6.js +19 -0
  286. package/dist/discontinuous/world-kernels/eckert6.js.map +1 -0
  287. package/dist/discontinuous/world-kernels/eisenlohr.d.ts +5 -0
  288. package/dist/discontinuous/world-kernels/eisenlohr.d.ts.map +1 -0
  289. package/dist/discontinuous/world-kernels/eisenlohr.js +41 -0
  290. package/dist/discontinuous/world-kernels/eisenlohr.js.map +1 -0
  291. package/dist/discontinuous/world-kernels/fahey.d.ts +5 -0
  292. package/dist/discontinuous/world-kernels/fahey.d.ts.map +1 -0
  293. package/dist/discontinuous/world-kernels/fahey.js +16 -0
  294. package/dist/discontinuous/world-kernels/fahey.js.map +1 -0
  295. package/dist/discontinuous/world-kernels/foucaut.d.ts +5 -0
  296. package/dist/discontinuous/world-kernels/foucaut.d.ts.map +1 -0
  297. package/dist/discontinuous/world-kernels/foucaut.js +15 -0
  298. package/dist/discontinuous/world-kernels/foucaut.js.map +1 -0
  299. package/dist/discontinuous/world-kernels/foucautSinusoidal.d.ts +5 -0
  300. package/dist/discontinuous/world-kernels/foucautSinusoidal.d.ts.map +1 -0
  301. package/dist/discontinuous/world-kernels/foucautSinusoidal.js +27 -0
  302. package/dist/discontinuous/world-kernels/foucautSinusoidal.js.map +1 -0
  303. package/dist/discontinuous/world-kernels/ginzburg4.d.ts +5 -0
  304. package/dist/discontinuous/world-kernels/ginzburg4.d.ts.map +1 -0
  305. package/dist/discontinuous/world-kernels/ginzburg4.js +8 -0
  306. package/dist/discontinuous/world-kernels/ginzburg4.js.map +1 -0
  307. package/dist/discontinuous/world-kernels/ginzburg5.d.ts +5 -0
  308. package/dist/discontinuous/world-kernels/ginzburg5.d.ts.map +1 -0
  309. package/dist/discontinuous/world-kernels/ginzburg5.js +8 -0
  310. package/dist/discontinuous/world-kernels/ginzburg5.js.map +1 -0
  311. package/dist/discontinuous/world-kernels/ginzburg6.d.ts +5 -0
  312. package/dist/discontinuous/world-kernels/ginzburg6.d.ts.map +1 -0
  313. package/dist/discontinuous/world-kernels/ginzburg6.js +9 -0
  314. package/dist/discontinuous/world-kernels/ginzburg6.js.map +1 -0
  315. package/dist/discontinuous/world-kernels/ginzburg8.d.ts +5 -0
  316. package/dist/discontinuous/world-kernels/ginzburg8.d.ts.map +1 -0
  317. package/dist/discontinuous/world-kernels/ginzburg8.js +28 -0
  318. package/dist/discontinuous/world-kernels/ginzburg8.js.map +1 -0
  319. package/dist/discontinuous/world-kernels/ginzburg9.d.ts +5 -0
  320. package/dist/discontinuous/world-kernels/ginzburg9.d.ts.map +1 -0
  321. package/dist/discontinuous/world-kernels/ginzburg9.js +8 -0
  322. package/dist/discontinuous/world-kernels/ginzburg9.js.map +1 -0
  323. package/dist/discontinuous/world-kernels/ginzburgPolyconic.d.ts +5 -0
  324. package/dist/discontinuous/world-kernels/ginzburgPolyconic.d.ts.map +1 -0
  325. package/dist/discontinuous/world-kernels/ginzburgPolyconic.js +29 -0
  326. package/dist/discontinuous/world-kernels/ginzburgPolyconic.js.map +1 -0
  327. package/dist/discontinuous/world-kernels/hammer.d.ts +3 -0
  328. package/dist/discontinuous/world-kernels/hammer.d.ts.map +1 -0
  329. package/dist/discontinuous/world-kernels/hammer.js +34 -0
  330. package/dist/discontinuous/world-kernels/hammer.js.map +1 -0
  331. package/dist/discontinuous/world-kernels/hammerRetroazimuthal.d.ts +5 -0
  332. package/dist/discontinuous/world-kernels/hammerRetroazimuthal.d.ts.map +1 -0
  333. package/dist/discontinuous/world-kernels/hammerRetroazimuthal.js +37 -0
  334. package/dist/discontinuous/world-kernels/hammerRetroazimuthal.js.map +1 -0
  335. package/dist/discontinuous/world-kernels/hill.d.ts +5 -0
  336. package/dist/discontinuous/world-kernels/hill.d.ts.map +1 -0
  337. package/dist/discontinuous/world-kernels/hill.js +36 -0
  338. package/dist/discontinuous/world-kernels/hill.js.map +1 -0
  339. package/dist/discontinuous/world-kernels/homolosine.d.ts +5 -0
  340. package/dist/discontinuous/world-kernels/homolosine.d.ts.map +1 -0
  341. package/dist/discontinuous/world-kernels/homolosine.js +22 -0
  342. package/dist/discontinuous/world-kernels/homolosine.js.map +1 -0
  343. package/dist/discontinuous/world-kernels/hufnagel.d.ts +5 -0
  344. package/dist/discontinuous/world-kernels/hufnagel.d.ts.map +1 -0
  345. package/dist/discontinuous/world-kernels/hufnagel.js +53 -0
  346. package/dist/discontinuous/world-kernels/hufnagel.js.map +1 -0
  347. package/dist/discontinuous/world-kernels/hyperelliptical.d.ts +5 -0
  348. package/dist/discontinuous/world-kernels/hyperelliptical.d.ts.map +1 -0
  349. package/dist/discontinuous/world-kernels/hyperelliptical.js +47 -0
  350. package/dist/discontinuous/world-kernels/hyperelliptical.js.map +1 -0
  351. package/dist/discontinuous/world-kernels/integrate.d.ts +2 -0
  352. package/dist/discontinuous/world-kernels/integrate.d.ts.map +1 -0
  353. package/dist/discontinuous/world-kernels/integrate.js +82 -0
  354. package/dist/discontinuous/world-kernels/integrate.js.map +1 -0
  355. package/dist/discontinuous/world-kernels/kavrayskiy7.d.ts +5 -0
  356. package/dist/discontinuous/world-kernels/kavrayskiy7.d.ts.map +1 -0
  357. package/dist/discontinuous/world-kernels/kavrayskiy7.js +13 -0
  358. package/dist/discontinuous/world-kernels/kavrayskiy7.js.map +1 -0
  359. package/dist/discontinuous/world-kernels/lagrange.d.ts +5 -0
  360. package/dist/discontinuous/world-kernels/lagrange.d.ts.map +1 -0
  361. package/dist/discontinuous/world-kernels/lagrange.js +27 -0
  362. package/dist/discontinuous/world-kernels/lagrange.js.map +1 -0
  363. package/dist/discontinuous/world-kernels/larrivee.d.ts +5 -0
  364. package/dist/discontinuous/world-kernels/larrivee.d.ts.map +1 -0
  365. package/dist/discontinuous/world-kernels/larrivee.js +26 -0
  366. package/dist/discontinuous/world-kernels/larrivee.js.map +1 -0
  367. package/dist/discontinuous/world-kernels/laskowski.d.ts +5 -0
  368. package/dist/discontinuous/world-kernels/laskowski.d.ts.map +1 -0
  369. package/dist/discontinuous/world-kernels/laskowski.js +31 -0
  370. package/dist/discontinuous/world-kernels/laskowski.js.map +1 -0
  371. package/dist/discontinuous/world-kernels/littrow.d.ts +5 -0
  372. package/dist/discontinuous/world-kernels/littrow.d.ts.map +1 -0
  373. package/dist/discontinuous/world-kernels/littrow.js +13 -0
  374. package/dist/discontinuous/world-kernels/littrow.js.map +1 -0
  375. package/dist/discontinuous/world-kernels/loximuthal.d.ts +5 -0
  376. package/dist/discontinuous/world-kernels/loximuthal.d.ts.map +1 -0
  377. package/dist/discontinuous/world-kernels/loximuthal.js +30 -0
  378. package/dist/discontinuous/world-kernels/loximuthal.js.map +1 -0
  379. package/dist/discontinuous/world-kernels/math.d.ts +36 -0
  380. package/dist/discontinuous/world-kernels/math.d.ts.map +1 -0
  381. package/dist/discontinuous/world-kernels/math.js +63 -0
  382. package/dist/discontinuous/world-kernels/math.js.map +1 -0
  383. package/dist/discontinuous/world-kernels/miller.d.ts +5 -0
  384. package/dist/discontinuous/world-kernels/miller.d.ts.map +1 -0
  385. package/dist/discontinuous/world-kernels/miller.js +13 -0
  386. package/dist/discontinuous/world-kernels/miller.js.map +1 -0
  387. package/dist/discontinuous/world-kernels/modifiedStereographic.d.ts +18 -0
  388. package/dist/discontinuous/world-kernels/modifiedStereographic.d.ts.map +1 -0
  389. package/dist/discontinuous/world-kernels/modifiedStereographic.js +79 -0
  390. package/dist/discontinuous/world-kernels/modifiedStereographic.js.map +1 -0
  391. package/dist/discontinuous/world-kernels/mollweide.d.ts +10 -0
  392. package/dist/discontinuous/world-kernels/mollweide.d.ts.map +1 -0
  393. package/dist/discontinuous/world-kernels/mollweide.js +24 -0
  394. package/dist/discontinuous/world-kernels/mollweide.js.map +1 -0
  395. package/dist/discontinuous/world-kernels/mtFlatPolarParabolic.d.ts +5 -0
  396. package/dist/discontinuous/world-kernels/mtFlatPolarParabolic.d.ts.map +1 -0
  397. package/dist/discontinuous/world-kernels/mtFlatPolarParabolic.js +19 -0
  398. package/dist/discontinuous/world-kernels/mtFlatPolarParabolic.js.map +1 -0
  399. package/dist/discontinuous/world-kernels/mtFlatPolarQuartic.d.ts +5 -0
  400. package/dist/discontinuous/world-kernels/mtFlatPolarQuartic.d.ts.map +1 -0
  401. package/dist/discontinuous/world-kernels/mtFlatPolarQuartic.js +26 -0
  402. package/dist/discontinuous/world-kernels/mtFlatPolarQuartic.js.map +1 -0
  403. package/dist/discontinuous/world-kernels/mtFlatPolarSinusoidal.d.ts +5 -0
  404. package/dist/discontinuous/world-kernels/mtFlatPolarSinusoidal.d.ts.map +1 -0
  405. package/dist/discontinuous/world-kernels/mtFlatPolarSinusoidal.js +22 -0
  406. package/dist/discontinuous/world-kernels/mtFlatPolarSinusoidal.js.map +1 -0
  407. package/dist/discontinuous/world-kernels/naturalEarth2.d.ts +5 -0
  408. package/dist/discontinuous/world-kernels/naturalEarth2.d.ts.map +1 -0
  409. package/dist/discontinuous/world-kernels/naturalEarth2.js +37 -0
  410. package/dist/discontinuous/world-kernels/naturalEarth2.js.map +1 -0
  411. package/dist/discontinuous/world-kernels/nellHammer.d.ts +5 -0
  412. package/dist/discontinuous/world-kernels/nellHammer.d.ts.map +1 -0
  413. package/dist/discontinuous/world-kernels/nellHammer.js +18 -0
  414. package/dist/discontinuous/world-kernels/nellHammer.js.map +1 -0
  415. package/dist/discontinuous/world-kernels/newton.d.ts +3 -0
  416. package/dist/discontinuous/world-kernels/newton.d.ts.map +1 -0
  417. package/dist/discontinuous/world-kernels/newton.js +65 -0
  418. package/dist/discontinuous/world-kernels/newton.js.map +1 -0
  419. package/dist/discontinuous/world-kernels/nicolosi.d.ts +5 -0
  420. package/dist/discontinuous/world-kernels/nicolosi.d.ts.map +1 -0
  421. package/dist/discontinuous/world-kernels/nicolosi.js +38 -0
  422. package/dist/discontinuous/world-kernels/nicolosi.js.map +1 -0
  423. package/dist/discontinuous/world-kernels/patterson.d.ts +5 -0
  424. package/dist/discontinuous/world-kernels/patterson.d.ts.map +1 -0
  425. package/dist/discontinuous/world-kernels/patterson.js +32 -0
  426. package/dist/discontinuous/world-kernels/patterson.js.map +1 -0
  427. package/dist/discontinuous/world-kernels/polyconic.d.ts +5 -0
  428. package/dist/discontinuous/world-kernels/polyconic.d.ts.map +1 -0
  429. package/dist/discontinuous/world-kernels/polyconic.js +30 -0
  430. package/dist/discontinuous/world-kernels/polyconic.js.map +1 -0
  431. package/dist/discontinuous/world-kernels/rectangularPolyconic.d.ts +5 -0
  432. package/dist/discontinuous/world-kernels/rectangularPolyconic.d.ts.map +1 -0
  433. package/dist/discontinuous/world-kernels/rectangularPolyconic.js +31 -0
  434. package/dist/discontinuous/world-kernels/rectangularPolyconic.js.map +1 -0
  435. package/dist/discontinuous/world-kernels/robinson.d.ts +5 -0
  436. package/dist/discontinuous/world-kernels/robinson.d.ts.map +1 -0
  437. package/dist/discontinuous/world-kernels/robinson.js +63 -0
  438. package/dist/discontinuous/world-kernels/robinson.js.map +1 -0
  439. package/dist/discontinuous/world-kernels/satellite.d.ts +5 -0
  440. package/dist/discontinuous/world-kernels/satellite.d.ts.map +1 -0
  441. package/dist/discontinuous/world-kernels/satellite.js +32 -0
  442. package/dist/discontinuous/world-kernels/satellite.js.map +1 -0
  443. package/dist/discontinuous/world-kernels/sinuMollweide.d.ts +7 -0
  444. package/dist/discontinuous/world-kernels/sinuMollweide.d.ts.map +1 -0
  445. package/dist/discontinuous/world-kernels/sinuMollweide.js +20 -0
  446. package/dist/discontinuous/world-kernels/sinuMollweide.js.map +1 -0
  447. package/dist/discontinuous/world-kernels/sinusoidal.d.ts +5 -0
  448. package/dist/discontinuous/world-kernels/sinusoidal.d.ts.map +1 -0
  449. package/dist/discontinuous/world-kernels/sinusoidal.js +13 -0
  450. package/dist/discontinuous/world-kernels/sinusoidal.js.map +1 -0
  451. package/dist/discontinuous/world-kernels/times.d.ts +5 -0
  452. package/dist/discontinuous/world-kernels/times.d.ts.map +1 -0
  453. package/dist/discontinuous/world-kernels/times.js +15 -0
  454. package/dist/discontinuous/world-kernels/times.js.map +1 -0
  455. package/dist/discontinuous/world-kernels/twoPointEquidistant.d.ts +3 -0
  456. package/dist/discontinuous/world-kernels/twoPointEquidistant.d.ts.map +1 -0
  457. package/dist/discontinuous/world-kernels/twoPointEquidistant.js +28 -0
  458. package/dist/discontinuous/world-kernels/twoPointEquidistant.js.map +1 -0
  459. package/dist/discontinuous/world-kernels/vanDerGrinten.d.ts +5 -0
  460. package/dist/discontinuous/world-kernels/vanDerGrinten.d.ts.map +1 -0
  461. package/dist/discontinuous/world-kernels/vanDerGrinten.js +30 -0
  462. package/dist/discontinuous/world-kernels/vanDerGrinten.js.map +1 -0
  463. package/dist/discontinuous/world-kernels/vanDerGrinten2.d.ts +5 -0
  464. package/dist/discontinuous/world-kernels/vanDerGrinten2.d.ts.map +1 -0
  465. package/dist/discontinuous/world-kernels/vanDerGrinten2.js +25 -0
  466. package/dist/discontinuous/world-kernels/vanDerGrinten2.js.map +1 -0
  467. package/dist/discontinuous/world-kernels/vanDerGrinten3.d.ts +5 -0
  468. package/dist/discontinuous/world-kernels/vanDerGrinten3.d.ts.map +1 -0
  469. package/dist/discontinuous/world-kernels/vanDerGrinten3.js +22 -0
  470. package/dist/discontinuous/world-kernels/vanDerGrinten3.js.map +1 -0
  471. package/dist/discontinuous/world-kernels/vanDerGrinten4.d.ts +5 -0
  472. package/dist/discontinuous/world-kernels/vanDerGrinten4.d.ts.map +1 -0
  473. package/dist/discontinuous/world-kernels/vanDerGrinten4.js +38 -0
  474. package/dist/discontinuous/world-kernels/vanDerGrinten4.js.map +1 -0
  475. package/dist/discontinuous/world-kernels/wagner.d.ts +5 -0
  476. package/dist/discontinuous/world-kernels/wagner.d.ts.map +1 -0
  477. package/dist/discontinuous/world-kernels/wagner.js +44 -0
  478. package/dist/discontinuous/world-kernels/wagner.js.map +1 -0
  479. package/dist/discontinuous/world-kernels/wagner4.d.ts +5 -0
  480. package/dist/discontinuous/world-kernels/wagner4.d.ts.map +1 -0
  481. package/dist/discontinuous/world-kernels/wagner4.js +10 -0
  482. package/dist/discontinuous/world-kernels/wagner4.js.map +1 -0
  483. package/dist/discontinuous/world-kernels/wagner6.d.ts +5 -0
  484. package/dist/discontinuous/world-kernels/wagner6.d.ts.map +1 -0
  485. package/dist/discontinuous/world-kernels/wagner6.js +13 -0
  486. package/dist/discontinuous/world-kernels/wagner6.js.map +1 -0
  487. package/dist/discontinuous/world-kernels/wiechel.d.ts +5 -0
  488. package/dist/discontinuous/world-kernels/wiechel.d.ts.map +1 -0
  489. package/dist/discontinuous/world-kernels/wiechel.js +15 -0
  490. package/dist/discontinuous/world-kernels/wiechel.js.map +1 -0
  491. package/dist/discontinuous/world-kernels/winkel3.d.ts +5 -0
  492. package/dist/discontinuous/world-kernels/winkel3.d.ts.map +1 -0
  493. package/dist/discontinuous/world-kernels/winkel3.js +20 -0
  494. package/dist/discontinuous/world-kernels/winkel3.js.map +1 -0
  495. package/dist/discontinuous/world-kernels.d.ts +150 -0
  496. package/dist/discontinuous/world-kernels.d.ts.map +1 -0
  497. package/dist/discontinuous/world-kernels.js +215 -0
  498. package/dist/discontinuous/world-kernels.js.map +1 -0
  499. package/dist/discontinuous/world-map.d.ts +25 -0
  500. package/dist/discontinuous/world-map.d.ts.map +1 -0
  501. package/dist/discontinuous/world-map.js +187 -0
  502. package/dist/discontinuous/world-map.js.map +1 -0
  503. package/dist/discontinuous.cjs +7037 -0
  504. package/dist/discontinuous.cjs.map +6 -0
  505. package/dist/discontinuous.d.ts +50 -0
  506. package/dist/discontinuous.d.ts.map +1 -0
  507. package/dist/discontinuous.js +35 -0
  508. package/dist/discontinuous.js.map +1 -0
  509. package/dist/elastic.cjs +52991 -0
  510. package/dist/elastic.cjs.map +6 -0
  511. package/dist/elastic.d.ts +5 -0
  512. package/dist/elastic.d.ts.map +1 -0
  513. package/dist/elastic.js +8 -0
  514. package/dist/elastic.js.map +1 -0
  515. package/dist/ellipsoid-geodesic.d.ts +62 -0
  516. package/dist/ellipsoid-geodesic.d.ts.map +1 -0
  517. package/dist/ellipsoid-geodesic.js +69 -0
  518. package/dist/ellipsoid-geodesic.js.map +1 -0
  519. package/dist/ellipsoid-helpers/ellipsoid-transform.d.ts.map +1 -1
  520. package/dist/ellipsoid-helpers/ellipsoid-transform.js +15 -5
  521. package/dist/ellipsoid-helpers/ellipsoid-transform.js.map +1 -1
  522. package/dist/ellipsoid-helpers/exact-nearest-surface.d.ts +16 -0
  523. package/dist/ellipsoid-helpers/exact-nearest-surface.d.ts.map +1 -0
  524. package/dist/ellipsoid-helpers/exact-nearest-surface.js +108 -0
  525. package/dist/ellipsoid-helpers/exact-nearest-surface.js.map +1 -0
  526. package/dist/ellipsoid-helpers/intersection-bounds.d.ts +18 -0
  527. package/dist/ellipsoid-helpers/intersection-bounds.d.ts.map +1 -0
  528. package/dist/ellipsoid-helpers/intersection-bounds.js +60 -0
  529. package/dist/ellipsoid-helpers/intersection-bounds.js.map +1 -0
  530. package/dist/ellipsoid-helpers/nearest-surface.d.ts +12 -0
  531. package/dist/ellipsoid-helpers/nearest-surface.d.ts.map +1 -0
  532. package/dist/ellipsoid-helpers/nearest-surface.js +127 -0
  533. package/dist/ellipsoid-helpers/nearest-surface.js.map +1 -0
  534. package/dist/ellipsoid-helpers/rhumb-pole-distance.d.ts +3 -0
  535. package/dist/ellipsoid-helpers/rhumb-pole-distance.d.ts.map +1 -0
  536. package/dist/ellipsoid-helpers/rhumb-pole-distance.js +63 -0
  537. package/dist/ellipsoid-helpers/rhumb-pole-distance.js.map +1 -0
  538. package/dist/ellipsoid-helpers/scale-to-geodetic-surface.d.ts.map +1 -1
  539. package/dist/ellipsoid-helpers/scale-to-geodetic-surface.js +14 -78
  540. package/dist/ellipsoid-helpers/scale-to-geodetic-surface.js.map +1 -1
  541. package/dist/ellipsoid-helpers/surface-polygon.d.ts +65 -0
  542. package/dist/ellipsoid-helpers/surface-polygon.d.ts.map +1 -0
  543. package/dist/ellipsoid-helpers/surface-polygon.js +159 -0
  544. package/dist/ellipsoid-helpers/surface-polygon.js.map +1 -0
  545. package/dist/ellipsoid-helpers/tangent-plane-numerics.d.ts +7 -0
  546. package/dist/ellipsoid-helpers/tangent-plane-numerics.d.ts.map +1 -0
  547. package/dist/ellipsoid-helpers/tangent-plane-numerics.js +88 -0
  548. package/dist/ellipsoid-helpers/tangent-plane-numerics.js.map +1 -0
  549. package/dist/ellipsoid-metrics.d.ts +31 -0
  550. package/dist/ellipsoid-metrics.d.ts.map +1 -0
  551. package/dist/ellipsoid-metrics.js +186 -0
  552. package/dist/ellipsoid-metrics.js.map +1 -0
  553. package/dist/ellipsoid-rhumb.d.ts +52 -0
  554. package/dist/ellipsoid-rhumb.d.ts.map +1 -0
  555. package/dist/ellipsoid-rhumb.js +321 -0
  556. package/dist/ellipsoid-rhumb.js.map +1 -0
  557. package/dist/ellipsoid-tangent-plane.d.ts +29 -7
  558. package/dist/ellipsoid-tangent-plane.d.ts.map +1 -1
  559. package/dist/ellipsoid-tangent-plane.js +177 -29
  560. package/dist/ellipsoid-tangent-plane.js.map +1 -1
  561. package/dist/ellipsoid-transforms.d.ts +12 -0
  562. package/dist/ellipsoid-transforms.d.ts.map +1 -0
  563. package/dist/ellipsoid-transforms.js +15 -0
  564. package/dist/ellipsoid-transforms.js.map +1 -0
  565. package/dist/ellipsoid.d.ts +2 -12
  566. package/dist/ellipsoid.d.ts.map +1 -1
  567. package/dist/ellipsoid.js +167 -73
  568. package/dist/ellipsoid.js.map +1 -1
  569. package/dist/entries/ellipsoid.cjs +3640 -302
  570. package/dist/entries/ellipsoid.cjs.map +3 -3
  571. package/dist/entries/ellipsoid.d.ts +21 -0
  572. package/dist/entries/ellipsoid.d.ts.map +1 -1
  573. package/dist/entries/ellipsoid.js +10 -0
  574. package/dist/entries/ellipsoid.js.map +1 -1
  575. package/dist/expressions.cjs +442 -244
  576. package/dist/expressions.cjs.map +3 -3
  577. package/dist/expressions.d.ts.map +1 -1
  578. package/dist/expressions.js +2 -1
  579. package/dist/expressions.js.map +1 -1
  580. package/dist/geoarrow/builder-entry.cjs.map +1 -1
  581. package/dist/geoarrow/codecs.d.ts.map +1 -1
  582. package/dist/geoarrow/codecs.js +3 -8
  583. package/dist/geoarrow/codecs.js.map +1 -1
  584. package/dist/geoarrow/index.cjs +34 -9
  585. package/dist/geoarrow/index.cjs.map +1 -1
  586. package/dist/geoarrow/index.d.ts +1 -1
  587. package/dist/geoarrow/index.d.ts.map +1 -1
  588. package/dist/geoarrow/index.js +1 -1
  589. package/dist/geoarrow/index.js.map +1 -1
  590. package/dist/geoarrow/tessellation-entry.cjs.map +1 -1
  591. package/dist/geoarrow/types.d.ts +8 -0
  592. package/dist/geoarrow/types.d.ts.map +1 -1
  593. package/dist/geoarrow/types.js +30 -0
  594. package/dist/geoarrow/types.js.map +1 -1
  595. package/dist/geoarrow/wkb-entry.cjs +14 -9
  596. package/dist/geoarrow/wkb-entry.cjs.map +1 -1
  597. package/dist/geodesic-exact/area.d.ts +5 -0
  598. package/dist/geodesic-exact/area.d.ts.map +1 -0
  599. package/dist/geodesic-exact/area.js +56 -0
  600. package/dist/geodesic-exact/area.js.map +1 -0
  601. package/dist/geodesic-exact/inverse-engine.d.ts +57 -0
  602. package/dist/geodesic-exact/inverse-engine.d.ts.map +1 -0
  603. package/dist/geodesic-exact/inverse-engine.js +56 -0
  604. package/dist/geodesic-exact/inverse-engine.js.map +1 -0
  605. package/dist/geodesic-exact/polygon.d.ts +12 -0
  606. package/dist/geodesic-exact/polygon.d.ts.map +1 -0
  607. package/dist/geodesic-exact/polygon.js +27 -0
  608. package/dist/geodesic-exact/polygon.js.map +1 -0
  609. package/dist/geodesic-exact/quadrature.d.ts +9 -0
  610. package/dist/geodesic-exact/quadrature.d.ts.map +1 -0
  611. package/dist/geodesic-exact/quadrature.js +62 -0
  612. package/dist/geodesic-exact/quadrature.js.map +1 -0
  613. package/dist/geodesic-exact.cjs +1871 -0
  614. package/dist/geodesic-exact.cjs.map +6 -0
  615. package/dist/geodesic-exact.d.ts +23 -0
  616. package/dist/geodesic-exact.d.ts.map +1 -0
  617. package/dist/geodesic-exact.js +210 -0
  618. package/dist/geodesic-exact.js.map +1 -0
  619. package/dist/geodesic-intersections.d.ts +83 -0
  620. package/dist/geodesic-intersections.d.ts.map +1 -0
  621. package/dist/geodesic-intersections.js +451 -0
  622. package/dist/geodesic-intersections.js.map +1 -0
  623. package/dist/geodesic-path.d.ts +28 -0
  624. package/dist/geodesic-path.d.ts.map +1 -0
  625. package/dist/geodesic-path.js +102 -0
  626. package/dist/geodesic-path.js.map +1 -0
  627. package/dist/geodesic-polygon.d.ts +11 -0
  628. package/dist/geodesic-polygon.d.ts.map +1 -0
  629. package/dist/geodesic-polygon.js +16 -0
  630. package/dist/geodesic-polygon.js.map +1 -0
  631. package/dist/geographic-seams/edge.d.ts +46 -0
  632. package/dist/geographic-seams/edge.d.ts.map +1 -0
  633. package/dist/geographic-seams/edge.js +362 -0
  634. package/dist/geographic-seams/edge.js.map +1 -0
  635. package/dist/geographic-seams/polygon.d.ts +8 -0
  636. package/dist/geographic-seams/polygon.d.ts.map +1 -0
  637. package/dist/geographic-seams/polygon.js +381 -0
  638. package/dist/geographic-seams/polygon.js.map +1 -0
  639. package/dist/geographic-seams/types.d.ts +59 -0
  640. package/dist/geographic-seams/types.d.ts.map +1 -0
  641. package/dist/geographic-seams/types.js +8 -0
  642. package/dist/geographic-seams/types.js.map +1 -0
  643. package/dist/geographic-seams.d.ts +12 -0
  644. package/dist/geographic-seams.d.ts.map +1 -0
  645. package/dist/geographic-seams.js +54 -0
  646. package/dist/geographic-seams.js.map +1 -0
  647. package/dist/globe.cjs +3520 -367
  648. package/dist/globe.cjs.map +3 -3
  649. package/dist/globe.d.ts +6 -0
  650. package/dist/globe.d.ts.map +1 -1
  651. package/dist/globe.js +3 -0
  652. package/dist/globe.js.map +1 -1
  653. package/dist/index.cjs +4495 -378
  654. package/dist/index.cjs.map +3 -3
  655. package/dist/lng-lat-rectangle.js +1 -1
  656. package/dist/lng-lat-rectangle.js.map +1 -1
  657. package/dist/local-reference-frame.d.ts +57 -0
  658. package/dist/local-reference-frame.d.ts.map +1 -0
  659. package/dist/local-reference-frame.js +247 -0
  660. package/dist/local-reference-frame.js.map +1 -0
  661. package/dist/make-obb-from-region.js +1 -1
  662. package/dist/make-obb-from-region.js.map +1 -1
  663. package/dist/projection/experimental/authalic-latitude.d.ts +7 -0
  664. package/dist/projection/experimental/authalic-latitude.d.ts.map +1 -0
  665. package/dist/projection/experimental/authalic-latitude.js +51 -0
  666. package/dist/projection/experimental/authalic-latitude.js.map +1 -0
  667. package/dist/projection/experimental/common/adjust_lat.js +2 -2
  668. package/dist/projection/experimental/common/adjust_lat.js.map +1 -1
  669. package/dist/projection/experimental/common/adjust_lon.js +1 -1
  670. package/dist/projection/experimental/common/adjust_lon.js.map +1 -1
  671. package/dist/projection/experimental/common/asinhy.js +1 -1
  672. package/dist/projection/experimental/common/asinhy.js.map +1 -1
  673. package/dist/projection/experimental/common/asinz.js +1 -1
  674. package/dist/projection/experimental/common/asinz.js.map +1 -1
  675. package/dist/projection/experimental/common/authlat.js +1 -1
  676. package/dist/projection/experimental/common/authlat.js.map +1 -1
  677. package/dist/projection/experimental/common/authset.js +1 -1
  678. package/dist/projection/experimental/common/authset.js.map +1 -1
  679. package/dist/projection/experimental/common/clens.js +1 -1
  680. package/dist/projection/experimental/common/clens.js.map +1 -1
  681. package/dist/projection/experimental/common/clens_cmplx.js +1 -1
  682. package/dist/projection/experimental/common/clens_cmplx.js.map +1 -1
  683. package/dist/projection/experimental/common/constants.js +1 -1
  684. package/dist/projection/experimental/common/constants.js.map +1 -1
  685. package/dist/projection/experimental/common/cosh.js +1 -1
  686. package/dist/projection/experimental/common/cosh.js.map +1 -1
  687. package/dist/projection/experimental/common/e0fn.js +1 -1
  688. package/dist/projection/experimental/common/e0fn.js.map +1 -1
  689. package/dist/projection/experimental/common/e1fn.js +1 -1
  690. package/dist/projection/experimental/common/e1fn.js.map +1 -1
  691. package/dist/projection/experimental/common/e2fn.js +1 -1
  692. package/dist/projection/experimental/common/e2fn.js.map +1 -1
  693. package/dist/projection/experimental/common/e3fn.js +1 -1
  694. package/dist/projection/experimental/common/e3fn.js.map +1 -1
  695. package/dist/projection/experimental/common/fL.js +1 -1
  696. package/dist/projection/experimental/common/fL.js.map +1 -1
  697. package/dist/projection/experimental/common/gN.js +1 -1
  698. package/dist/projection/experimental/common/gN.js.map +1 -1
  699. package/dist/projection/experimental/common/gatg.js +1 -1
  700. package/dist/projection/experimental/common/gatg.js.map +1 -1
  701. package/dist/projection/experimental/common/hypot.js +1 -1
  702. package/dist/projection/experimental/common/hypot.js.map +1 -1
  703. package/dist/projection/experimental/common/imlfn.js +1 -1
  704. package/dist/projection/experimental/common/imlfn.js.map +1 -1
  705. package/dist/projection/experimental/common/invlatiso.js +1 -1
  706. package/dist/projection/experimental/common/invlatiso.js.map +1 -1
  707. package/dist/projection/experimental/common/iqsfnz.js +1 -1
  708. package/dist/projection/experimental/common/iqsfnz.js.map +1 -1
  709. package/dist/projection/experimental/common/latiso.js +1 -1
  710. package/dist/projection/experimental/common/latiso.js.map +1 -1
  711. package/dist/projection/experimental/common/log1py.js +1 -1
  712. package/dist/projection/experimental/common/log1py.js.map +1 -1
  713. package/dist/projection/experimental/common/mlfn.js +1 -1
  714. package/dist/projection/experimental/common/mlfn.js.map +1 -1
  715. package/dist/projection/experimental/common/msfnz.js +1 -1
  716. package/dist/projection/experimental/common/msfnz.js.map +1 -1
  717. package/dist/projection/experimental/common/phi2z.js +1 -1
  718. package/dist/projection/experimental/common/phi2z.js.map +1 -1
  719. package/dist/projection/experimental/common/pj_enfn.js +1 -1
  720. package/dist/projection/experimental/common/pj_enfn.js.map +1 -1
  721. package/dist/projection/experimental/common/pj_inv_mlfn.js +1 -1
  722. package/dist/projection/experimental/common/pj_inv_mlfn.js.map +1 -1
  723. package/dist/projection/experimental/common/pj_mlfn.js +1 -1
  724. package/dist/projection/experimental/common/pj_mlfn.js.map +1 -1
  725. package/dist/projection/experimental/common/qsfnz.js +1 -1
  726. package/dist/projection/experimental/common/qsfnz.js.map +1 -1
  727. package/dist/projection/experimental/common/sign.js +1 -1
  728. package/dist/projection/experimental/common/sign.js.map +1 -1
  729. package/dist/projection/experimental/common/sinh.js +1 -1
  730. package/dist/projection/experimental/common/sinh.js.map +1 -1
  731. package/dist/projection/experimental/common/srat.js +1 -1
  732. package/dist/projection/experimental/common/srat.js.map +1 -1
  733. package/dist/projection/experimental/common/tsfnz.d.ts.map +1 -1
  734. package/dist/projection/experimental/common/tsfnz.js +6 -6
  735. package/dist/projection/experimental/common/tsfnz.js.map +1 -1
  736. package/dist/projection/experimental/common/vincenty.js +1 -1
  737. package/dist/projection/experimental/common/vincenty.js.map +1 -1
  738. package/dist/projection/experimental/crs/datum-table.js +1 -1
  739. package/dist/projection/experimental/crs/datum-table.js.map +1 -1
  740. package/dist/projection/experimental/crs/ellipsoid-table.js +1 -1
  741. package/dist/projection/experimental/crs/ellipsoid-table.js.map +1 -1
  742. package/dist/projection/experimental/crs/primemeridian-table.js +1 -1
  743. package/dist/projection/experimental/crs/primemeridian-table.js.map +1 -1
  744. package/dist/projection/experimental/crs/structured.js +1 -1
  745. package/dist/projection/experimental/crs/structured.js.map +1 -1
  746. package/dist/projection/experimental/crs/wkt.js +1 -1
  747. package/dist/projection/experimental/crs/wkt.js.map +1 -1
  748. package/dist/projection/experimental/datum.js +1 -1
  749. package/dist/projection/experimental/datum.js.map +1 -1
  750. package/dist/projection/experimental/ellipsoidal-gnomonic.d.ts +10 -0
  751. package/dist/projection/experimental/ellipsoidal-gnomonic.d.ts.map +1 -0
  752. package/dist/projection/experimental/ellipsoidal-gnomonic.js +59 -0
  753. package/dist/projection/experimental/ellipsoidal-gnomonic.js.map +1 -0
  754. package/dist/projection/experimental/entries/projections/aea.cjs +34 -27
  755. package/dist/projection/experimental/entries/projections/aea.cjs.map +2 -2
  756. package/dist/projection/experimental/entries/projections/aeqd.cjs +9 -9
  757. package/dist/projection/experimental/entries/projections/aeqd.cjs.map +3 -3
  758. package/dist/projection/experimental/entries/projections/bonne.cjs +1 -1
  759. package/dist/projection/experimental/entries/projections/bonne.cjs.map +1 -1
  760. package/dist/projection/experimental/entries/projections/cass.cjs +1 -1
  761. package/dist/projection/experimental/entries/projections/cass.cjs.map +1 -1
  762. package/dist/projection/experimental/entries/projections/eck6.cjs +5 -2
  763. package/dist/projection/experimental/entries/projections/eck6.cjs.map +1 -1
  764. package/dist/projection/experimental/entries/projections/eqdc.cjs +1 -1
  765. package/dist/projection/experimental/entries/projections/eqdc.cjs.map +1 -1
  766. package/dist/projection/experimental/entries/projections/eqearth.cjs +10 -1
  767. package/dist/projection/experimental/entries/projections/eqearth.cjs.map +1 -1
  768. package/dist/projection/experimental/entries/projections/equi.cjs +2 -0
  769. package/dist/projection/experimental/entries/projections/equi.cjs.map +1 -1
  770. package/dist/projection/experimental/entries/projections/gnom.cjs +1461 -4
  771. package/dist/projection/experimental/entries/projections/gnom.cjs.map +3 -3
  772. package/dist/projection/experimental/entries/projections/krovak.cjs +1 -1
  773. package/dist/projection/experimental/entries/projections/krovak.cjs.map +1 -1
  774. package/dist/projection/experimental/entries/projections/laea.cjs +82 -46
  775. package/dist/projection/experimental/entries/projections/laea.cjs.map +2 -2
  776. package/dist/projection/experimental/entries/projections/lcc.cjs +7 -12
  777. package/dist/projection/experimental/entries/projections/lcc.cjs.map +2 -2
  778. package/dist/projection/experimental/entries/projections/moll.cjs +46 -39
  779. package/dist/projection/experimental/entries/projections/moll.cjs.map +1 -1
  780. package/dist/projection/experimental/entries/projections/omerc.cjs +6 -8
  781. package/dist/projection/experimental/entries/projections/omerc.cjs.map +2 -2
  782. package/dist/projection/experimental/entries/projections/ortho.cjs +52 -106
  783. package/dist/projection/experimental/entries/projections/ortho.cjs.map +2 -2
  784. package/dist/projection/experimental/entries/projections/poly.cjs +83 -49
  785. package/dist/projection/experimental/entries/projections/poly.cjs.map +3 -3
  786. package/dist/projection/experimental/entries/projections/qsc.cjs +31 -50
  787. package/dist/projection/experimental/entries/projections/qsc.cjs.map +1 -1
  788. package/dist/projection/experimental/entries/projections/sinu.cjs +5 -2
  789. package/dist/projection/experimental/entries/projections/sinu.cjs.map +1 -1
  790. package/dist/projection/experimental/entries/projections/somerc.cjs +22 -29
  791. package/dist/projection/experimental/entries/projections/somerc.cjs.map +1 -1
  792. package/dist/projection/experimental/entries/projections/stere.cjs +19 -6
  793. package/dist/projection/experimental/entries/projections/stere.cjs.map +2 -2
  794. package/dist/projection/experimental/entries/projections/sterea.cjs +9 -1
  795. package/dist/projection/experimental/entries/projections/sterea.cjs.map +2 -2
  796. package/dist/projection/experimental/entries/projections/tpers.cjs.map +1 -1
  797. package/dist/projection/experimental/grids/geotiff.js +1 -1
  798. package/dist/projection/experimental/grids/geotiff.js.map +1 -1
  799. package/dist/projection/experimental/grids/ntv2.js +1 -1
  800. package/dist/projection/experimental/grids/ntv2.js.map +1 -1
  801. package/dist/projection/experimental/index.cjs +1870 -365
  802. package/dist/projection/experimental/index.cjs.map +3 -3
  803. package/dist/projection/experimental/inverse-spherical-latitude.d.ts +2 -0
  804. package/dist/projection/experimental/inverse-spherical-latitude.d.ts.map +1 -0
  805. package/dist/projection/experimental/inverse-spherical-latitude.js +11 -0
  806. package/dist/projection/experimental/inverse-spherical-latitude.js.map +1 -0
  807. package/dist/projection/experimental/kernels/aea.d.ts.map +1 -1
  808. package/dist/projection/experimental/kernels/aea.js +11 -29
  809. package/dist/projection/experimental/kernels/aea.js.map +1 -1
  810. package/dist/projection/experimental/kernels/aeqd.d.ts.map +1 -1
  811. package/dist/projection/experimental/kernels/aeqd.js +3 -3
  812. package/dist/projection/experimental/kernels/aeqd.js.map +1 -1
  813. package/dist/projection/experimental/kernels/bonne.js +1 -1
  814. package/dist/projection/experimental/kernels/bonne.js.map +1 -1
  815. package/dist/projection/experimental/kernels/cass.js +1 -1
  816. package/dist/projection/experimental/kernels/cass.js.map +1 -1
  817. package/dist/projection/experimental/kernels/cea.js +1 -1
  818. package/dist/projection/experimental/kernels/cea.js.map +1 -1
  819. package/dist/projection/experimental/kernels/eck6.js +1 -1
  820. package/dist/projection/experimental/kernels/eck6.js.map +1 -1
  821. package/dist/projection/experimental/kernels/eqdc.js +1 -1
  822. package/dist/projection/experimental/kernels/eqdc.js.map +1 -1
  823. package/dist/projection/experimental/kernels/eqearth.d.ts.map +1 -1
  824. package/dist/projection/experimental/kernels/eqearth.js +13 -2
  825. package/dist/projection/experimental/kernels/eqearth.js.map +1 -1
  826. package/dist/projection/experimental/kernels/equi.d.ts.map +1 -1
  827. package/dist/projection/experimental/kernels/equi.js +3 -1
  828. package/dist/projection/experimental/kernels/equi.js.map +1 -1
  829. package/dist/projection/experimental/kernels/etmerc.js +1 -1
  830. package/dist/projection/experimental/kernels/etmerc.js.map +1 -1
  831. package/dist/projection/experimental/kernels/gauss.js +1 -1
  832. package/dist/projection/experimental/kernels/gauss.js.map +1 -1
  833. package/dist/projection/experimental/kernels/geos.js +1 -1
  834. package/dist/projection/experimental/kernels/geos.js.map +1 -1
  835. package/dist/projection/experimental/kernels/gnom.d.ts +2 -0
  836. package/dist/projection/experimental/kernels/gnom.d.ts.map +1 -1
  837. package/dist/projection/experimental/kernels/gnom.js +8 -1
  838. package/dist/projection/experimental/kernels/gnom.js.map +1 -1
  839. package/dist/projection/experimental/kernels/gstmerc.js +1 -1
  840. package/dist/projection/experimental/kernels/gstmerc.js.map +1 -1
  841. package/dist/projection/experimental/kernels/krovak.js +2 -2
  842. package/dist/projection/experimental/kernels/krovak.js.map +1 -1
  843. package/dist/projection/experimental/kernels/laea.d.ts +0 -1
  844. package/dist/projection/experimental/kernels/laea.d.ts.map +1 -1
  845. package/dist/projection/experimental/kernels/laea.js +33 -15
  846. package/dist/projection/experimental/kernels/laea.js.map +1 -1
  847. package/dist/projection/experimental/kernels/lcc.d.ts.map +1 -1
  848. package/dist/projection/experimental/kernels/lcc.js +2 -7
  849. package/dist/projection/experimental/kernels/lcc.js.map +1 -1
  850. package/dist/projection/experimental/kernels/mill.js +1 -1
  851. package/dist/projection/experimental/kernels/mill.js.map +1 -1
  852. package/dist/projection/experimental/kernels/moll.d.ts.map +1 -1
  853. package/dist/projection/experimental/kernels/moll.js +65 -50
  854. package/dist/projection/experimental/kernels/moll.js.map +1 -1
  855. package/dist/projection/experimental/kernels/nzmg.js +1 -1
  856. package/dist/projection/experimental/kernels/nzmg.js.map +1 -1
  857. package/dist/projection/experimental/kernels/omerc.js +1 -1
  858. package/dist/projection/experimental/kernels/omerc.js.map +1 -1
  859. package/dist/projection/experimental/kernels/ortho.d.ts +6 -5
  860. package/dist/projection/experimental/kernels/ortho.d.ts.map +1 -1
  861. package/dist/projection/experimental/kernels/ortho.js +35 -83
  862. package/dist/projection/experimental/kernels/ortho.js.map +1 -1
  863. package/dist/projection/experimental/kernels/poly.d.ts +2 -5
  864. package/dist/projection/experimental/kernels/poly.d.ts.map +1 -1
  865. package/dist/projection/experimental/kernels/poly.js +83 -31
  866. package/dist/projection/experimental/kernels/poly.js.map +1 -1
  867. package/dist/projection/experimental/kernels/qsc.d.ts.map +1 -1
  868. package/dist/projection/experimental/kernels/qsc.js +37 -52
  869. package/dist/projection/experimental/kernels/qsc.js.map +1 -1
  870. package/dist/projection/experimental/kernels/robin.js +1 -1
  871. package/dist/projection/experimental/kernels/robin.js.map +1 -1
  872. package/dist/projection/experimental/kernels/sinu.d.ts.map +1 -1
  873. package/dist/projection/experimental/kernels/sinu.js +5 -2
  874. package/dist/projection/experimental/kernels/sinu.js.map +1 -1
  875. package/dist/projection/experimental/kernels/somerc.d.ts +2 -2
  876. package/dist/projection/experimental/kernels/somerc.d.ts.map +1 -1
  877. package/dist/projection/experimental/kernels/somerc.js +35 -37
  878. package/dist/projection/experimental/kernels/somerc.js.map +1 -1
  879. package/dist/projection/experimental/kernels/stere.d.ts.map +1 -1
  880. package/dist/projection/experimental/kernels/stere.js +15 -3
  881. package/dist/projection/experimental/kernels/stere.js.map +1 -1
  882. package/dist/projection/experimental/kernels/sterea.d.ts.map +1 -1
  883. package/dist/projection/experimental/kernels/sterea.js +4 -2
  884. package/dist/projection/experimental/kernels/sterea.js.map +1 -1
  885. package/dist/projection/experimental/kernels/tmerc.js +1 -1
  886. package/dist/projection/experimental/kernels/tmerc.js.map +1 -1
  887. package/dist/projection/experimental/kernels/tpers.js +1 -1
  888. package/dist/projection/experimental/kernels/tpers.js.map +1 -1
  889. package/dist/projection/experimental/kernels/vandg.js +1 -1
  890. package/dist/projection/experimental/kernels/vandg.js.map +1 -1
  891. package/dist/projection/experimental/kinematic-helmert.js +1 -1
  892. package/dist/projection/experimental/kinematic-helmert.js.map +1 -1
  893. package/dist/projection/experimental/projections/gnom.d.ts.map +1 -1
  894. package/dist/projection/experimental/projections/gnom.js +4 -2
  895. package/dist/projection/experimental/projections/gnom.js.map +1 -1
  896. package/dist/projection/experimental/projections/laea.js +3 -3
  897. package/dist/projection/experimental/projections/laea.js.map +1 -1
  898. package/dist/projection/experimental/projections/ortho.js +4 -4
  899. package/dist/projection/experimental/projections/ortho.js.map +1 -1
  900. package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.d.ts +7 -0
  901. package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.d.ts.map +1 -1
  902. package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.js +42 -2
  903. package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.js.map +1 -1
  904. package/dist/projection/index.cjs +1870 -365
  905. package/dist/projection/index.cjs.map +3 -3
  906. package/dist/rhumb-path.d.ts +28 -0
  907. package/dist/rhumb-path.d.ts.map +1 -0
  908. package/dist/rhumb-path.js +100 -0
  909. package/dist/rhumb-path.js.map +1 -0
  910. package/dist/rhumb-polygon.d.ts +11 -0
  911. package/dist/rhumb-polygon.d.ts.map +1 -0
  912. package/dist/rhumb-polygon.js +19 -0
  913. package/dist/rhumb-polygon.js.map +1 -0
  914. package/dist/subdivide-geodesic-polyline.d.ts +15 -0
  915. package/dist/subdivide-geodesic-polyline.d.ts.map +1 -0
  916. package/dist/subdivide-geodesic-polyline.js +52 -0
  917. package/dist/subdivide-geodesic-polyline.js.map +1 -0
  918. package/dist/subdivide-rhumb-polyline.d.ts +12 -0
  919. package/dist/subdivide-rhumb-polyline.d.ts.map +1 -0
  920. package/dist/subdivide-rhumb-polyline.js +82 -0
  921. package/dist/subdivide-rhumb-polyline.js.map +1 -0
  922. package/dist/triaxial/integrate.d.ts +2 -0
  923. package/dist/triaxial/integrate.d.ts.map +1 -0
  924. package/dist/triaxial/integrate.js +76 -0
  925. package/dist/triaxial/integrate.js.map +1 -0
  926. package/dist/triaxial.cjs +204 -0
  927. package/dist/triaxial.cjs.map +6 -0
  928. package/dist/triaxial.d.ts +38 -0
  929. package/dist/triaxial.d.ts.map +1 -0
  930. package/dist/triaxial.js +121 -0
  931. package/dist/triaxial.js.map +1 -0
  932. package/dist/vendor/geographiclib-geodesic/runtime.d.ts +9 -0
  933. package/dist/vendor/geographiclib-geodesic/runtime.d.ts.map +1 -0
  934. package/dist/vendor/geographiclib-geodesic/runtime.js +2244 -0
  935. package/dist/vendor/geographiclib-geodesic/runtime.js.map +1 -0
  936. package/dist/wkb/index.cjs +7 -2
  937. package/dist/wkb/index.cjs.map +1 -1
  938. package/dist/wkb/wkb-builder.d.ts.map +1 -1
  939. package/dist/wkb/wkb-builder.js +9 -2
  940. package/dist/wkb/wkb-builder.js.map +1 -1
  941. package/package.json +30 -6
  942. package/projection/THIRD-PARTY-NOTICES.md +58 -11
  943. package/src/constants.ts +1 -1
  944. package/src/discontinuous/AIR-OCEAN-LICENSE.txt +26 -0
  945. package/src/discontinuous/D3-LICENSE.txt +37 -0
  946. package/src/discontinuous/PETROFF-LICENSE.txt +55 -0
  947. package/src/discontinuous/PROJ-LICENSE.txt +34 -0
  948. package/src/discontinuous/air-ocean-mesh.ts +86 -0
  949. package/src/discontinuous/albers-usa.ts +181 -0
  950. package/src/discontinuous/cap-map.ts +406 -0
  951. package/src/discontinuous/elastic/README.md +20 -0
  952. package/src/discontinuous/elastic/UNLICENSE.txt +24 -0
  953. package/src/discontinuous/elastic/data.ts +86 -0
  954. package/src/discontinuous/elastic/elasticI.ts +5238 -0
  955. package/src/discontinuous/elastic/elasticII.ts +18167 -0
  956. package/src/discontinuous/elastic/elasticIII.ts +29571 -0
  957. package/src/discontinuous/elastic/geometry.ts +172 -0
  958. package/src/discontinuous/elastic/grid.ts +194 -0
  959. package/src/discontinuous/elastic/map.ts +317 -0
  960. package/src/discontinuous/gray-fuller.ts +38 -0
  961. package/src/discontinuous/gringorten-kernel.ts +160 -0
  962. package/src/discontinuous/healpix.ts +61 -0
  963. package/src/discontinuous/layout.ts +177 -0
  964. package/src/discontinuous/map-engine.ts +528 -0
  965. package/src/discontinuous/map-layout.ts +605 -0
  966. package/src/discontinuous/map-transition.ts +339 -0
  967. package/src/discontinuous/math.ts +67 -0
  968. package/src/discontinuous/mercator-map.ts +155 -0
  969. package/src/discontinuous/myriahedral/graticule.ts +40 -0
  970. package/src/discontinuous/myriahedral/mesh.ts +138 -0
  971. package/src/discontinuous/myriahedral/unfold.ts +208 -0
  972. package/src/discontinuous/myriahedral.ts +285 -0
  973. package/src/discontinuous/petroff.ts +178 -0
  974. package/src/discontinuous/polyhedral.ts +138 -0
  975. package/src/discontinuous/prepare-features.ts +239 -0
  976. package/src/discontinuous/presets.ts +450 -0
  977. package/src/discontinuous/projection-catalog.ts +132 -0
  978. package/src/discontinuous/quincuncial-kernel.ts +173 -0
  979. package/src/discontinuous/quincuncial-star.ts +328 -0
  980. package/src/discontinuous/regional-map.ts +228 -0
  981. package/src/discontinuous/retroazimuthal-map.ts +52 -0
  982. package/src/discontinuous/rotated-map.ts +86 -0
  983. package/src/discontinuous/snyder-mesh.ts +88 -0
  984. package/src/discontinuous/snyder.ts +171 -0
  985. package/src/discontinuous/spherical-clip/D3-GEO-LICENSE.txt +34 -0
  986. package/src/discontinuous/spherical-clip/README.md +16 -0
  987. package/src/discontinuous/spherical-clip/cartesian.js +43 -0
  988. package/src/discontinuous/spherical-clip/circle.js +35 -0
  989. package/src/discontinuous/spherical-clip/clip-buffer.js +29 -0
  990. package/src/discontinuous/spherical-clip/clip-circle.js +197 -0
  991. package/src/discontinuous/spherical-clip/clip-index.js +140 -0
  992. package/src/discontinuous/spherical-clip/clip-rejoin.js +111 -0
  993. package/src/discontinuous/spherical-clip/helpers.js +20 -0
  994. package/src/discontinuous/spherical-clip/math.js +45 -0
  995. package/src/discontinuous/spherical-clip/noop.js +6 -0
  996. package/src/discontinuous/spherical-clip/pointEqual.js +10 -0
  997. package/src/discontinuous/spherical-clip/polygonContains.js +96 -0
  998. package/src/discontinuous/world-composite-kernels.ts +30 -0
  999. package/src/discontinuous/world-kernels/INTEGRATE-LICENSE.txt +21 -0
  1000. package/src/discontinuous/world-kernels/README.md +24 -0
  1001. package/src/discontinuous/world-kernels/airy.js +43 -0
  1002. package/src/discontinuous/world-kernels/aitoff.js +48 -0
  1003. package/src/discontinuous/world-kernels/armadillo.js +51 -0
  1004. package/src/discontinuous/world-kernels/august.js +36 -0
  1005. package/src/discontinuous/world-kernels/baker.js +50 -0
  1006. package/src/discontinuous/world-kernels/bertin.js +41 -0
  1007. package/src/discontinuous/world-kernels/boggs.js +32 -0
  1008. package/src/discontinuous/world-kernels/bonne.js +27 -0
  1009. package/src/discontinuous/world-kernels/bottomley.js +25 -0
  1010. package/src/discontinuous/world-kernels/bromley.js +10 -0
  1011. package/src/discontinuous/world-kernels/chamberlin.js +97 -0
  1012. package/src/discontinuous/world-kernels/collignon.js +17 -0
  1013. package/src/discontinuous/world-kernels/craig.js +33 -0
  1014. package/src/discontinuous/world-kernels/craster.js +18 -0
  1015. package/src/discontinuous/world-kernels/cylindricalEqualArea.js +21 -0
  1016. package/src/discontinuous/world-kernels/cylindricalStereographic.js +21 -0
  1017. package/src/discontinuous/world-kernels/d3-geo-raw.js +26 -0
  1018. package/src/discontinuous/world-kernels/eckert1.js +18 -0
  1019. package/src/discontinuous/world-kernels/eckert2.js +17 -0
  1020. package/src/discontinuous/world-kernels/eckert3.js +17 -0
  1021. package/src/discontinuous/world-kernels/eckert4.js +24 -0
  1022. package/src/discontinuous/world-kernels/eckert5.js +17 -0
  1023. package/src/discontinuous/world-kernels/eckert6.js +22 -0
  1024. package/src/discontinuous/world-kernels/eisenlohr.js +88 -0
  1025. package/src/discontinuous/world-kernels/fahey.js +19 -0
  1026. package/src/discontinuous/world-kernels/foucaut.js +20 -0
  1027. package/src/discontinuous/world-kernels/foucautSinusoidal.js +38 -0
  1028. package/src/discontinuous/world-kernels/ginzburg4.js +17 -0
  1029. package/src/discontinuous/world-kernels/ginzburg5.js +17 -0
  1030. package/src/discontinuous/world-kernels/ginzburg6.js +19 -0
  1031. package/src/discontinuous/world-kernels/ginzburg8.js +34 -0
  1032. package/src/discontinuous/world-kernels/ginzburg9.js +17 -0
  1033. package/src/discontinuous/world-kernels/ginzburgPolyconic.js +64 -0
  1034. package/src/discontinuous/world-kernels/hammer.js +37 -0
  1035. package/src/discontinuous/world-kernels/hammerRetroazimuthal.js +63 -0
  1036. package/src/discontinuous/world-kernels/hill.js +57 -0
  1037. package/src/discontinuous/world-kernels/homolosine.js +24 -0
  1038. package/src/discontinuous/world-kernels/hufnagel.js +68 -0
  1039. package/src/discontinuous/world-kernels/hyperelliptical.js +56 -0
  1040. package/src/discontinuous/world-kernels/integrate.js +99 -0
  1041. package/src/discontinuous/world-kernels/kavrayskiy7.js +15 -0
  1042. package/src/discontinuous/world-kernels/lagrange.js +32 -0
  1043. package/src/discontinuous/world-kernels/larrivee.js +43 -0
  1044. package/src/discontinuous/world-kernels/laskowski.js +50 -0
  1045. package/src/discontinuous/world-kernels/littrow.js +19 -0
  1046. package/src/discontinuous/world-kernels/loximuthal.js +38 -0
  1047. package/src/discontinuous/world-kernels/math.js +98 -0
  1048. package/src/discontinuous/world-kernels/miller.js +15 -0
  1049. package/src/discontinuous/world-kernels/modifiedStereographic.js +112 -0
  1050. package/src/discontinuous/world-kernels/mollweide.js +30 -0
  1051. package/src/discontinuous/world-kernels/mtFlatPolarParabolic.js +23 -0
  1052. package/src/discontinuous/world-kernels/mtFlatPolarQuartic.js +29 -0
  1053. package/src/discontinuous/world-kernels/mtFlatPolarSinusoidal.js +25 -0
  1054. package/src/discontinuous/world-kernels/naturalEarth2.js +46 -0
  1055. package/src/discontinuous/world-kernels/nellHammer.js +20 -0
  1056. package/src/discontinuous/world-kernels/newton.js +77 -0
  1057. package/src/discontinuous/world-kernels/nicolosi.js +60 -0
  1058. package/src/discontinuous/world-kernels/patterson.js +45 -0
  1059. package/src/discontinuous/world-kernels/polyconic.js +36 -0
  1060. package/src/discontinuous/world-kernels/rectangularPolyconic.js +41 -0
  1061. package/src/discontinuous/world-kernels/robinson.js +88 -0
  1062. package/src/discontinuous/world-kernels/satellite.js +44 -0
  1063. package/src/discontinuous/world-kernels/sinuMollweide.js +24 -0
  1064. package/src/discontinuous/world-kernels/sinusoidal.js +15 -0
  1065. package/src/discontinuous/world-kernels/times.js +19 -0
  1066. package/src/discontinuous/world-kernels/twoPointEquidistant.js +41 -0
  1067. package/src/discontinuous/world-kernels/vanDerGrinten.js +48 -0
  1068. package/src/discontinuous/world-kernels/vanDerGrinten2.js +32 -0
  1069. package/src/discontinuous/world-kernels/vanDerGrinten3.js +24 -0
  1070. package/src/discontinuous/world-kernels/vanDerGrinten4.js +70 -0
  1071. package/src/discontinuous/world-kernels/wagner.js +61 -0
  1072. package/src/discontinuous/world-kernels/wagner4.js +13 -0
  1073. package/src/discontinuous/world-kernels/wagner6.js +15 -0
  1074. package/src/discontinuous/world-kernels/wiechel.js +25 -0
  1075. package/src/discontinuous/world-kernels/winkel3.js +45 -0
  1076. package/src/discontinuous/world-kernels.ts +249 -0
  1077. package/src/discontinuous/world-map.ts +257 -0
  1078. package/src/discontinuous.ts +134 -0
  1079. package/src/elastic.ts +7 -0
  1080. package/src/ellipsoid-geodesic.ts +159 -0
  1081. package/src/ellipsoid-helpers/ellipsoid-transform.ts +17 -5
  1082. package/src/ellipsoid-helpers/exact-nearest-surface.ts +118 -0
  1083. package/src/ellipsoid-helpers/intersection-bounds.ts +85 -0
  1084. package/src/ellipsoid-helpers/nearest-surface.ts +157 -0
  1085. package/src/ellipsoid-helpers/rhumb-pole-distance.ts +76 -0
  1086. package/src/ellipsoid-helpers/scale-to-geodetic-surface.ts +14 -107
  1087. package/src/ellipsoid-helpers/surface-polygon.ts +210 -0
  1088. package/src/ellipsoid-helpers/tangent-plane-numerics.ts +124 -0
  1089. package/src/ellipsoid-metrics.ts +225 -0
  1090. package/src/ellipsoid-rhumb.ts +404 -0
  1091. package/src/ellipsoid-tangent-plane.ts +232 -36
  1092. package/src/ellipsoid-transforms.ts +61 -0
  1093. package/src/ellipsoid.ts +210 -126
  1094. package/src/entries/ellipsoid.ts +36 -0
  1095. package/src/expressions.ts +2 -1
  1096. package/src/geoarrow/codecs.ts +3 -9
  1097. package/src/geoarrow/index.ts +3 -1
  1098. package/src/geoarrow/types.ts +40 -0
  1099. package/src/geodesic-exact/area.ts +70 -0
  1100. package/src/geodesic-exact/inverse-engine.ts +166 -0
  1101. package/src/geodesic-exact/polygon.ts +36 -0
  1102. package/src/geodesic-exact/quadrature.ts +60 -0
  1103. package/src/geodesic-exact.ts +290 -0
  1104. package/src/geodesic-intersections.ts +598 -0
  1105. package/src/geodesic-path.ts +128 -0
  1106. package/src/geodesic-polygon.ts +19 -0
  1107. package/src/geographic-seams/edge.ts +406 -0
  1108. package/src/geographic-seams/polygon.ts +478 -0
  1109. package/src/geographic-seams/types.ts +67 -0
  1110. package/src/geographic-seams.ts +81 -0
  1111. package/src/globe.ts +17 -0
  1112. package/src/lng-lat-rectangle.ts +1 -1
  1113. package/src/local-reference-frame.ts +320 -0
  1114. package/src/make-obb-from-region.ts +1 -1
  1115. package/src/projection/experimental/authalic-latitude.ts +49 -0
  1116. package/src/projection/experimental/common/adjust_lat.ts +2 -2
  1117. package/src/projection/experimental/common/adjust_lon.ts +1 -1
  1118. package/src/projection/experimental/common/asinhy.ts +1 -1
  1119. package/src/projection/experimental/common/asinz.ts +1 -1
  1120. package/src/projection/experimental/common/authlat.ts +1 -1
  1121. package/src/projection/experimental/common/authset.ts +1 -1
  1122. package/src/projection/experimental/common/clens.ts +1 -1
  1123. package/src/projection/experimental/common/clens_cmplx.ts +1 -1
  1124. package/src/projection/experimental/common/constants.ts +1 -1
  1125. package/src/projection/experimental/common/cosh.ts +1 -1
  1126. package/src/projection/experimental/common/e0fn.ts +1 -1
  1127. package/src/projection/experimental/common/e1fn.ts +1 -1
  1128. package/src/projection/experimental/common/e2fn.ts +1 -1
  1129. package/src/projection/experimental/common/e3fn.ts +1 -1
  1130. package/src/projection/experimental/common/fL.ts +1 -1
  1131. package/src/projection/experimental/common/gN.ts +1 -1
  1132. package/src/projection/experimental/common/gatg.ts +1 -1
  1133. package/src/projection/experimental/common/hypot.ts +1 -1
  1134. package/src/projection/experimental/common/imlfn.ts +1 -1
  1135. package/src/projection/experimental/common/invlatiso.ts +1 -1
  1136. package/src/projection/experimental/common/iqsfnz.ts +1 -1
  1137. package/src/projection/experimental/common/latiso.ts +1 -1
  1138. package/src/projection/experimental/common/log1py.ts +1 -1
  1139. package/src/projection/experimental/common/mlfn.ts +1 -1
  1140. package/src/projection/experimental/common/msfnz.ts +1 -1
  1141. package/src/projection/experimental/common/phi2z.ts +1 -1
  1142. package/src/projection/experimental/common/pj_enfn.ts +1 -1
  1143. package/src/projection/experimental/common/pj_inv_mlfn.ts +1 -1
  1144. package/src/projection/experimental/common/pj_mlfn.ts +1 -1
  1145. package/src/projection/experimental/common/qsfnz.ts +1 -1
  1146. package/src/projection/experimental/common/sign.ts +1 -1
  1147. package/src/projection/experimental/common/sinh.ts +1 -1
  1148. package/src/projection/experimental/common/srat.ts +1 -1
  1149. package/src/projection/experimental/common/tsfnz.ts +8 -7
  1150. package/src/projection/experimental/common/vincenty.ts +1 -1
  1151. package/src/projection/experimental/crs/datum-table.ts +1 -1
  1152. package/src/projection/experimental/crs/ellipsoid-table.ts +1 -1
  1153. package/src/projection/experimental/crs/primemeridian-table.ts +1 -1
  1154. package/src/projection/experimental/crs/structured.ts +1 -1
  1155. package/src/projection/experimental/crs/wkt.ts +1 -1
  1156. package/src/projection/experimental/datum.ts +1 -1
  1157. package/src/projection/experimental/ellipsoidal-gnomonic.ts +83 -0
  1158. package/src/projection/experimental/exact-helmert.ts +1 -1
  1159. package/src/projection/experimental/grids/geotiff.ts +1 -1
  1160. package/src/projection/experimental/grids/grid.ts +1 -1
  1161. package/src/projection/experimental/grids/ntv2.ts +1 -1
  1162. package/src/projection/experimental/helmert-flat.ts +1 -1
  1163. package/src/projection/experimental/inverse-spherical-latitude.ts +19 -0
  1164. package/src/projection/experimental/kernels/aea.ts +10 -31
  1165. package/src/projection/experimental/kernels/aeqd.ts +3 -3
  1166. package/src/projection/experimental/kernels/bonne.ts +1 -1
  1167. package/src/projection/experimental/kernels/cass.ts +1 -1
  1168. package/src/projection/experimental/kernels/cea.ts +1 -1
  1169. package/src/projection/experimental/kernels/eck6.ts +1 -1
  1170. package/src/projection/experimental/kernels/eqdc.ts +1 -1
  1171. package/src/projection/experimental/kernels/eqearth.ts +12 -2
  1172. package/src/projection/experimental/kernels/equi.ts +3 -1
  1173. package/src/projection/experimental/kernels/etmerc.ts +1 -1
  1174. package/src/projection/experimental/kernels/gauss.ts +1 -1
  1175. package/src/projection/experimental/kernels/geos.ts +1 -1
  1176. package/src/projection/experimental/kernels/gnom.ts +11 -1
  1177. package/src/projection/experimental/kernels/gstmerc.ts +1 -1
  1178. package/src/projection/experimental/kernels/krovak.ts +2 -2
  1179. package/src/projection/experimental/kernels/laea.ts +39 -16
  1180. package/src/projection/experimental/kernels/lcc.ts +2 -8
  1181. package/src/projection/experimental/kernels/mill.ts +1 -1
  1182. package/src/projection/experimental/kernels/moll.ts +62 -58
  1183. package/src/projection/experimental/kernels/nzmg.ts +1 -1
  1184. package/src/projection/experimental/kernels/omerc.ts +1 -1
  1185. package/src/projection/experimental/kernels/ortho.ts +38 -92
  1186. package/src/projection/experimental/kernels/poly.ts +97 -36
  1187. package/src/projection/experimental/kernels/qsc.ts +40 -50
  1188. package/src/projection/experimental/kernels/robin.ts +1 -1
  1189. package/src/projection/experimental/kernels/sinu.ts +4 -2
  1190. package/src/projection/experimental/kernels/somerc.ts +45 -55
  1191. package/src/projection/experimental/kernels/stere.ts +31 -3
  1192. package/src/projection/experimental/kernels/sterea.ts +4 -2
  1193. package/src/projection/experimental/kernels/tmerc.ts +1 -1
  1194. package/src/projection/experimental/kernels/tpers.ts +1 -1
  1195. package/src/projection/experimental/kernels/vandg.ts +1 -1
  1196. package/src/projection/experimental/kinematic-helmert-flat.ts +1 -1
  1197. package/src/projection/experimental/kinematic-helmert.ts +1 -1
  1198. package/src/projection/experimental/projection-pipeline.ts +1 -1
  1199. package/src/projection/experimental/projections/gnom.ts +22 -5
  1200. package/src/projection/experimental/projections/laea.ts +3 -3
  1201. package/src/projection/experimental/projections/ob-tran.ts +1 -1
  1202. package/src/projection/experimental/projections/ortho.ts +4 -4
  1203. package/src/projection/experimental/rendering-profile/azimuthal-rendering-bounds.ts +72 -2
  1204. package/src/rhumb-path.ts +128 -0
  1205. package/src/rhumb-polygon.ts +24 -0
  1206. package/src/subdivide-geodesic-polyline.ts +74 -0
  1207. package/src/subdivide-rhumb-polyline.ts +108 -0
  1208. package/src/triaxial/integrate.ts +82 -0
  1209. package/src/triaxial.ts +172 -0
  1210. package/src/type-utils.ts +1 -1
  1211. package/src/vendor/geographiclib-geodesic/README.md +21 -0
  1212. package/src/vendor/geographiclib-geodesic/runtime.js +2338 -0
  1213. package/src/wkb/wkb-builder.ts +11 -2
@@ -0,0 +1,75 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: ISC
3
+ // SPDX-FileCopyrightText: Copyright 2017-2024 Mike Bostock
4
+ // AirOcean topology/rotation adapted from d3-geo-polygon, ISC license.
5
+ // Copyright 2017-2024 Mike Bostock. See AIR-OCEAN-LICENSE.txt.
6
+ // Arrangement implementation credited upstream to Jason Davies, Enrico Spinielli,
7
+ // and Philippe Riviere. Hinge geometry and rendering are independent of Nico's code.
8
+ import { Matrix4 } from '@math.gl/core';
9
+ import { add, cross, dot, scale } from "./math.js";
10
+ const subtract = (a, b) => add(a, scale(b, -1));
11
+ const center = (points) => scale(points.reduce(add, [0, 0, 0]), 1 / points.length);
12
+ /** The 24-piece AirOcean net: 20 icosahedron faces, with three faces split.
13
+ * Added vertices stay in the original planar facets, preserving a true flat net.
14
+ * This supplies the cut arrangement, not the Gray-Fuller geographic projection.
15
+ */
16
+ export function airOceanMesh() {
17
+ const latitude = Math.atan(0.5);
18
+ const vertices = [
19
+ [0, 0, 1],
20
+ [0, 0, -1]
21
+ ];
22
+ for (let i = 0; i < 10; i++) {
23
+ const lon = (i * Math.PI) / 5, lat = i % 2 ? latitude : -latitude;
24
+ vertices.push([Math.cos(lat) * Math.cos(lon), Math.cos(lat) * Math.sin(lon), Math.sin(lat)]);
25
+ }
26
+ const faces = [
27
+ [0, 3, 11],
28
+ [0, 5, 3],
29
+ [0, 7, 5],
30
+ [0, 9, 7],
31
+ [0, 11, 9],
32
+ [2, 11, 3],
33
+ [3, 4, 2],
34
+ [4, 3, 5],
35
+ [5, 6, 4],
36
+ [6, 5, 7],
37
+ [7, 8, 6],
38
+ [8, 7, 9],
39
+ [9, 10, 8],
40
+ [10, 9, 11],
41
+ [11, 2, 10],
42
+ [1, 2, 4],
43
+ [1, 4, 6],
44
+ [1, 6, 8],
45
+ [1, 8, 10],
46
+ [1, 10, 2]
47
+ ];
48
+ vertices.push(center(faces[15].map(i => vertices[i]))); // 12: facet centroid
49
+ vertices.push(center([vertices[2], vertices[10]])); // 13: shared edge midpoint
50
+ faces[15] = [12, 2, 4];
51
+ faces.push([1, 12, 4], [1, 2, 12]); // 20,21
52
+ faces[14] = [11, 13, 10];
53
+ faces.push([11, 2, 13]); // 22
54
+ faces[19] = [1, 13, 2];
55
+ faces.push([13, 1, 10]); // 23
56
+ // Invert the geographic-to-polyhedron Euler rotation from the AirOcean preset.
57
+ const radians = Math.PI / 180;
58
+ const rotation = new Matrix4()
59
+ .rotateZ(83.65929 * radians)
60
+ .rotateY(25.44458 * radians)
61
+ .rotateX(87.45184 * radians);
62
+ const geographicVertices = vertices.map(v => Array.from(rotation.transformAsPoint(v)));
63
+ for (const f of faces) {
64
+ if (dot(cross(subtract(geographicVertices[f[1]], geographicVertices[f[0]]), subtract(geographicVertices[f[2]], geographicVertices[f[0]])), geographicVertices[f[0]]) < 0)
65
+ f.reverse();
66
+ }
67
+ const parents = [
68
+ -1, 0, 1, 11, 13, 6, 7, 1, 7, 8, 9, 10, 11, 12, 13, 6, 8, 10, 17, 21, 16, 15, 19, 19
69
+ ];
70
+ return {
71
+ mesh: { vertices: geographicVertices, faces },
72
+ joins: parents.flatMap((parent, face) => (parent < 0 ? [] : [[parent, face]]))
73
+ };
74
+ }
75
+ //# sourceMappingURL=air-ocean-mesh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"air-ocean-mesh.js","sourceRoot":"","sources":["../../src/discontinuous/air-ocean-mesh.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { DiscontinuousMap } from "./map-layout.js";
2
+ /** Independent spherical Albers USA composite with Alaska and Hawaii insets.
3
+ * Geographic masks have great-circle edges, not political or D3 clip boundaries.
4
+ */
5
+ export declare function createAlbersUsaMap(options?: {
6
+ radius?: number;
7
+ includeTerritories?: boolean;
8
+ }): DiscontinuousMap;
9
+ //# sourceMappingURL=albers-usa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"albers-usa.d.ts","sourceRoot":"","sources":["../../src/discontinuous/albers-usa.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,gBAAgB,EAAiB,wBAAqB;AAG9D;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,GAAE;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAM,GAC5D,gBAAgB,CAwKlB"}
@@ -0,0 +1,105 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
+ import { DiscontinuousMap } from "./map-layout.js";
5
+ import { RAD } from "./math.js";
6
+ /** Independent spherical Albers USA composite with Alaska and Hawaii insets.
7
+ * Geographic masks have great-circle edges, not political or D3 clip boundaries.
8
+ */
9
+ export function createAlbersUsaMap(options = {}) {
10
+ const radius = options.radius ?? 1;
11
+ if (!Number.isFinite(radius) || radius <= 0)
12
+ throw new Error('Radius must be finite and positive');
13
+ const region = (id, bounds, center, parallels, size, offset, insetBounds) => {
14
+ const [west, south, east, north] = bounds;
15
+ const n = (Math.sin(parallels[0] * RAD) + Math.sin(parallels[1] * RAD)) / 2;
16
+ const c = Math.cos(parallels[0] * RAD) ** 2 + 2 * n * Math.sin(parallels[0] * RAD);
17
+ const rho = (latitude) => Math.sqrt(c - 2 * n * Math.sin(latitude)) / n;
18
+ const origin = rho(center[1] * RAD);
19
+ const definition = {
20
+ id,
21
+ layout: {
22
+ label: {
23
+ lower48: 'Contiguous U.S.',
24
+ alaska: 'Alaska',
25
+ hawaii: 'Hawaii',
26
+ puertoRico: 'Puerto Rico',
27
+ virginIslands: 'U.S. Virgin Islands',
28
+ guam: 'Guam',
29
+ northernMariana: 'Northern Mariana Islands',
30
+ americanSamoa: 'American Samoa'
31
+ }[id] ?? id,
32
+ kind: insetBounds ? 'inset' : 'main',
33
+ ...(insetBounds
34
+ ? {
35
+ parentId: 'lower48',
36
+ frame: insetBounds.map(v => v * radius)
37
+ }
38
+ : {}),
39
+ relativeScale: size,
40
+ drawOrder: insetBounds ? 1 : 0
41
+ },
42
+ boundary: [
43
+ [west, south],
44
+ [east, south],
45
+ [east, north],
46
+ [west, north]
47
+ ],
48
+ interior: center,
49
+ placement: [radius * size, 0, 0, radius * size, radius * offset[0], radius * offset[1]],
50
+ project: ([longitude, latitude]) => {
51
+ const delta = ((((longitude - center[0] + 180) % 360) + 360) % 360) - 180;
52
+ const angle = n * delta * RAD, r = rho(latitude * RAD);
53
+ return [r * Math.sin(angle), origin - r * Math.cos(angle)];
54
+ },
55
+ unproject: ([x, y]) => {
56
+ const dy = origin - y;
57
+ const sine = (c - n * n * (x * x + dy * dy)) / (2 * n);
58
+ if (Math.abs(sine) > 1 + 1e-12)
59
+ return null;
60
+ return [
61
+ center[0] + Math.atan2(x * Math.sign(n), dy * Math.sign(n)) / n / RAD,
62
+ Math.asin(Math.max(-1, Math.min(1, sine))) / RAD
63
+ ];
64
+ }
65
+ };
66
+ if (insetBounds) {
67
+ const [left, bottom, right, top] = insetBounds;
68
+ definition.boundary = [
69
+ [left, bottom],
70
+ [right, bottom],
71
+ [right, top],
72
+ [left, top]
73
+ ].map(([x, y]) => definition.unproject([(x - offset[0]) / size, (y - offset[1]) / size]));
74
+ definition.interior = definition.unproject([
75
+ ((left + right) / 2 - offset[0]) / size,
76
+ ((bottom + top) / 2 - offset[1]) / size
77
+ ]);
78
+ }
79
+ return definition;
80
+ };
81
+ const regions = [
82
+ region('lower48', [-127, 20, -65, 51], [-96, 38], [29.5, 45.5], 1, [0, 0]),
83
+ region('alaska', [-190, 40, -130, 78], [-154, 60], [55, 65], 0.35, [-0.307, -0.201], [-0.425, -0.234, -0.22, -0.12]),
84
+ region('hawaii', [-179, 17, -153, 30], [-157, 21], [8, 18], 1, [-0.15, -0.2], [-0.215, -0.245, -0.1, -0.155])
85
+ ];
86
+ if (options.includeTerritories) {
87
+ const territory = (id, bounds, center, parallels, scale, frame) => {
88
+ const result = region(id, bounds, center, parallels, scale, [
89
+ (frame[0] + frame[2]) / 2,
90
+ (frame[1] + frame[3]) / 2
91
+ ]);
92
+ result.layout = {
93
+ ...result.layout,
94
+ kind: 'inset',
95
+ parentId: 'lower48',
96
+ frame: frame.map(value => value * radius),
97
+ drawOrder: 1
98
+ };
99
+ return result;
100
+ };
101
+ regions.push(territory('puertoRico', [-68.4, 17.4, -64.2, 19.2], [-66.4, 18.2], [15, 21], 2.6, [-0.205, -0.34, -0.125, -0.26]), territory('virginIslands', [-65.2, 17.6, -64.3, 18.8], [-64.8, 18.3], [15, 21], 7, [-0.12, -0.34, -0.04, -0.26]), territory('guam', [144.4, 13.1, 145.1, 13.9], [144.8, 13.5], [10, 17], 7, [-0.035, -0.34, 0.045, -0.26]), territory('northernMariana', [144.7, 13.8, 146.4, 20.6], [145.6, 17], [12, 20], 2.5, [0.05, -0.34, 0.13, -0.26]), territory('americanSamoa', [-171.5, -14.5, -168, -10.8], [-170.6, -12.8], [-17, -11], 5, [0.135, -0.34, 0.215, -0.26]));
102
+ }
103
+ return new DiscontinuousMap(regions);
104
+ }
105
+ //# sourceMappingURL=albers-usa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"albers-usa.js","sourceRoot":"","sources":["../../src/discontinuous/albers-usa.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAE5D,OAAO,EAAC,gBAAgB,EAAiB,wBAAqB;AAC9D,OAAO,EAAC,GAAG,EAAgB,kBAAe;AAE1C;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAA2D,EAAE;IAE7D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,CACb,EAAU,EACV,MAAwC,EACxC,MAAgB,EAChB,SAAmB,EACnB,IAAY,EACZ,MAAgB,EAChB,WAA8C,EACnC,EAAE;QACb,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACnF,MAAM,GAAG,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACpC,MAAM,UAAU,GAAc;YAC5B,EAAE;YACF,MAAM,EAAE;gBACN,KAAK,EACH;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,aAAa;oBACzB,aAAa,EAAE,qBAAqB;oBACpC,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,0BAA0B;oBAC3C,aAAa,EAAE,gBAAgB;iBAChC,CAAC,EAAE,CAAC,IAAI,EAAE;gBACb,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACpC,GAAG,CAAC,WAAW;oBACb,CAAC,CAAC;wBACE,QAAQ,EAAE,SAAS;wBACnB,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAqC;qBAC5E;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,aAAa,EAAE,IAAI;gBACnB,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/B;YACD,QAAQ,EAAE;gBACR,CAAC,IAAI,EAAE,KAAK,CAAC;gBACb,CAAC,IAAI,EAAE,KAAK,CAAC;gBACb,CAAC,IAAI,EAAE,KAAK,CAAC;gBACb,CAAC,IAAI,EAAE,KAAK,CAAC;aACd;YACD,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvF,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE;gBACjC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBAC1E,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,EAC3B,CAAC,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;gBAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBACpB,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;gBACtB,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK;oBAAE,OAAO,IAAI,CAAC;gBAC5C,OAAO;oBACL,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG;oBACrE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;iBACjD,CAAC;YACJ,CAAC;SACF,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC;YAC/C,UAAU,CAAC,QAAQ,GAAG;gBACpB,CAAC,IAAI,EAAE,MAAM,CAAC;gBACd,CAAC,KAAK,EAAE,MAAM,CAAC;gBACf,CAAC,KAAK,EAAE,GAAG,CAAC;gBACZ,CAAC,IAAI,EAAE,GAAG,CAAC;aACZ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAE,CAAC,CAAC;YAC3F,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC;gBACzC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;gBACvC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;aACxC,CAAE,CAAC;QACN,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IACF,MAAM,OAAO,GAAG;QACd,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,CACJ,QAAQ,EACR,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EACpB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EACV,CAAC,EAAE,EAAE,EAAE,CAAC,EACR,IAAI,EACJ,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAChB,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAC/B;QACD,MAAM,CACJ,QAAQ,EACR,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EACpB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,EACP,CAAC,EACD,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EACb,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAC/B;KACF,CAAC;IACF,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,CAChB,EAAU,EACV,MAAwC,EACxC,MAAgB,EAChB,SAAmB,EACnB,KAAa,EACb,KAAuC,EACvC,EAAE;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;gBAC1D,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACzB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,GAAG;gBACd,GAAG,MAAM,CAAC,MAAM;gBAChB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,MAAM,CAAqC;gBAC7E,SAAS,EAAE,CAAC;aACb,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CACV,SAAS,CACP,YAAY,EACZ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAC1B,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EACb,CAAC,EAAE,EAAE,EAAE,CAAC,EACR,GAAG,EACH,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAC/B,EACD,SAAS,CACP,eAAe,EACf,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAC1B,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EACb,CAAC,EAAE,EAAE,EAAE,CAAC,EACR,CAAC,EACD,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAC7B,EACD,SAAS,CACP,MAAM,EACN,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAC1B,CAAC,KAAK,EAAE,IAAI,CAAC,EACb,CAAC,EAAE,EAAE,EAAE,CAAC,EACR,CAAC,EACD,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAC9B,EACD,SAAS,CACP,iBAAiB,EACjB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,EACX,CAAC,EAAE,EAAE,EAAE,CAAC,EACR,GAAG,EACH,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAC3B,EACD,SAAS,CACP,eAAe,EACf,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAC5B,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EACf,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EACV,CAAC,EACD,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAC7B,CACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { DiscontinuousMap, type GeographicPosition, type MapRegion, type MapSamplingOptions, type MapLine, type MapPolygon } from "./map-layout.js";
2
+ import { type Vector, type Position } from "./math.js";
3
+ /** Spherical cap clipping before final projection, including polygon horizon arcs. */
4
+ export declare class CapMap extends DiscontinuousMap {
5
+ private readonly local;
6
+ private readonly source;
7
+ private readonly cap;
8
+ private readonly radius;
9
+ private readonly polarLimits;
10
+ private readonly nonlinear;
11
+ constructor(regions: MapRegion[], local: (p: GeographicPosition) => Position, source: (p: Position) => Position, cap: number, radius: number, polarLimits?: boolean, nonlinear?: boolean);
12
+ protected resolveSourceLimit(point: Vector, towards: Vector): Vector;
13
+ private visible;
14
+ findRegions(p: GeographicPosition): string[];
15
+ containsConvexPolygon(ring: readonly GeographicPosition[], regionId: string): boolean;
16
+ projectPoint(p: GeographicPosition, id?: string): import("./map-layout").MapPoint;
17
+ unprojectPoint(p: GeographicPosition, id?: string): import("./map-layout").MapPoint[];
18
+ private clip;
19
+ projectLine(line: readonly GeographicPosition[], options?: MapSamplingOptions): MapLine[];
20
+ projectPolygon(rings: readonly (readonly GeographicPosition[])[], options?: MapSamplingOptions): MapPolygon[];
21
+ getRegionOutlines(id: string, options?: MapSamplingOptions): Position[][];
22
+ }
23
+ //# sourceMappingURL=cap-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cap-map.d.ts","sourceRoot":"","sources":["../../src/discontinuous/cap-map.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,OAAO,EACZ,KAAK,UAAU,EAChB,wBAAqB;AACtB,OAAO,EAWL,KAAK,MAAM,EACX,KAAK,QAAQ,EACd,kBAAe;AAEhB,sFAAsF;AACtF,qBAAa,MAAO,SAAQ,gBAAgB;IAGxC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAN1B,OAAO,EAAE,SAAS,EAAE,EACH,KAAK,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,QAAQ,EAC1C,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,QAAQ,EACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,WAAW,UAAQ,EACnB,SAAS,UAAQ;cAIjB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAS7E,OAAO,CAAC,OAAO;IAKN,WAAW,CAAC,CAAC,EAAE,kBAAkB;IAGjC,qBAAqB,CAAC,IAAI,EAAE,SAAS,kBAAkB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAwBrF,YAAY,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,MAAM;IAG/C,cAAc,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,MAAM;IAG1D,OAAO,CAAC,IAAI;IA0JH,WAAW,CAClB,IAAI,EAAE,SAAS,kBAAkB,EAAE,EACnC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,EAAE;IAWH,cAAc,CACrB,KAAK,EAAE,SAAS,CAAC,SAAS,kBAAkB,EAAE,CAAC,EAAE,EACjD,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,EAAE;IAoHN,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,QAAQ,EAAE,EAAE;CA6BnF"}
@@ -0,0 +1,314 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
+ import clipCircle from './spherical-clip/clip-circle.js';
5
+ import { circleStream } from './spherical-clip/circle.js';
6
+ import { DiscontinuousMap } from "./map-layout.js";
7
+ import { geographic, coordinates, basis, dot, cross, angle, add, unit, ringOrientation, RAD } from "./math.js";
8
+ /** Spherical cap clipping before final projection, including polygon horizon arcs. */
9
+ export class CapMap extends DiscontinuousMap {
10
+ constructor(regions, local, source, cap, radius, polarLimits = false, nonlinear = false) {
11
+ super(regions);
12
+ this.local = local;
13
+ this.source = source;
14
+ this.cap = cap;
15
+ this.radius = radius;
16
+ this.polarLimits = polarLimits;
17
+ this.nonlinear = nonlinear;
18
+ }
19
+ resolveSourceLimit(point, towards) {
20
+ if (this.polarLimits &&
21
+ Math.hypot(point[0], point[1]) < 1e-14 &&
22
+ Math.hypot(towards[0], towards[1]) > 1e-14)
23
+ return geographic([Math.atan2(towards[1], towards[0]) / RAD, point[2] > 0 ? 90 : -90]);
24
+ return point;
25
+ }
26
+ visible(p) {
27
+ geographic(p);
28
+ const q = this.local(p);
29
+ return Math.cos(q[0] * RAD) * Math.cos(q[1] * RAD) >= Math.cos(this.cap) - 1e-12;
30
+ }
31
+ findRegions(p) {
32
+ return this.visible(p) ? super.findRegions(p) : [];
33
+ }
34
+ containsConvexPolygon(ring, regionId) {
35
+ if (this.nonlinear || !super.containsConvexPolygon(ring, regionId))
36
+ return false;
37
+ const points = ring.map(p => geographic(this.local(p))), threshold = Math.cos(this.cap) + 1e-12;
38
+ if (points.some(p => p[0] < threshold))
39
+ return false;
40
+ if (this.cap <= Math.PI / 2)
41
+ return true;
42
+ for (let i = 0; i < points.length; i++) {
43
+ const a = points[i], b = points[(i + 1) % points.length], arc = angle(a, b);
44
+ if (arc < 1e-12)
45
+ continue;
46
+ const c = (b[0] - a[0] * Math.cos(arc)) / Math.sin(arc);
47
+ const minimum = (((Math.atan2(c, a[0]) + Math.PI) % (2 * Math.PI)) + 2 * Math.PI) % (2 * Math.PI);
48
+ if (minimum < arc && -Math.hypot(a[0], c) < threshold)
49
+ return false;
50
+ }
51
+ const center = unit(points.reduce(add, [0, 0, 0]));
52
+ // The excluded cap can sit entirely inside a ring without touching an edge.
53
+ const containsAntipode = points.every((a, i) => {
54
+ const n = cross(a, points[(i + 1) % points.length]);
55
+ return (dot(n, center) < 0 ? n[0] : -n[0]) >= -1e-12;
56
+ });
57
+ return !containsAntipode;
58
+ }
59
+ projectPoint(p, id) {
60
+ return this.visible(p) ? super.projectPoint(p, id) : null;
61
+ }
62
+ unprojectPoint(p, id) {
63
+ return super.unprojectPoint(p, id).filter(q => this.visible(q.position));
64
+ }
65
+ clip(rings, polygon, options, regionId) {
66
+ const output = [];
67
+ const originals = new Map();
68
+ let ring = [];
69
+ const precision = Math.min(options?.maxAngularStep ?? 2, Math.sqrt((options?.tolerance ?? 1e-4) / this.radius) / RAD / 4) * RAD;
70
+ if (!Number.isFinite(precision) || (2 * Math.PI) / precision > 1000000)
71
+ throw new Error('Projection sampling limit exceeded; relax tolerance');
72
+ let emitted = 0;
73
+ const region = this.regions.find(r => r.id === regionId);
74
+ const local = (p) => {
75
+ // Nonlinear longitude transforms must retain the owning chart's seam side.
76
+ const longitude = this.nonlinear && region && Math.abs(Math.abs(p[0]) - 180) < 1e-10
77
+ ? Math.sign(region.interior[0]) * 180
78
+ : p[0];
79
+ return this.local([longitude, p[1]]);
80
+ };
81
+ const projected = (p) => {
82
+ const q = region.project(this.source([p[0] / RAD, p[1] / RAD])), [a, b, c, d, x, y] = region.placement;
83
+ return [a * q[0] + c * q[1] + x, b * q[0] + d * q[1] + y];
84
+ };
85
+ const interpolate = region
86
+ ? (from, to, direction, sink) => {
87
+ const points = [];
88
+ if (from)
89
+ points.push(from);
90
+ circleStream({ point: (x, y) => points.push([x, y]) }, this.cap, Math.min(options?.maxAngularStep ?? 2, 2) * RAD, direction, from, to);
91
+ if (to)
92
+ points.push(to);
93
+ else if (points.length)
94
+ points.push(points[0]);
95
+ const emit = (p) => sink.point(p[0], p[1]);
96
+ const sample = (a, b, depth = 0) => {
97
+ const va = geographic([a[0] / RAD, a[1] / RAD]), vb = geographic([b[0] / RAD, b[1] / RAD]);
98
+ const y = va[1] + vb[1], z = va[2] + vb[2], n = Math.hypot(y, z);
99
+ if (n < 1e-14) {
100
+ emit(b);
101
+ return;
102
+ }
103
+ const mid = coordinates([
104
+ Math.cos(this.cap),
105
+ (Math.sin(this.cap) * y) / n,
106
+ (Math.sin(this.cap) * z) / n
107
+ ]).map(v => v * RAD);
108
+ const pa = projected(a), pb = projected(b), pm = projected(mid), dx = pb[0] - pa[0], dy = pb[1] - pa[1], length = dx * dx + dy * dy;
109
+ const t = length
110
+ ? Math.max(0, Math.min(1, ((pm[0] - pa[0]) * dx + (pm[1] - pa[1]) * dy) / length))
111
+ : 0;
112
+ if (Math.hypot(pm[0] - pa[0] - t * dx, pm[1] - pa[1] - t * dy) >
113
+ (options?.tolerance ?? 1e-4)) {
114
+ if (depth >= 32)
115
+ throw new Error('Projection sampling limit exceeded; relax tolerance');
116
+ sample(a, mid, depth + 1);
117
+ sample(mid, b, depth + 1);
118
+ }
119
+ else
120
+ emit(b);
121
+ };
122
+ if (points.length)
123
+ emit(points[0]);
124
+ for (let i = 1; i < points.length; i++)
125
+ sample(points[i - 1], points[i]);
126
+ }
127
+ : undefined;
128
+ const stream = clipCircle(this.cap, precision, interpolate)({
129
+ point: (x, y) => {
130
+ if (++emitted > 1000000)
131
+ throw new Error('Projection sampling limit exceeded; relax tolerance');
132
+ ring.push(originals.get(`${x},${y}`) ?? this.source([x / RAD, y / RAD]));
133
+ },
134
+ lineStart: () => {
135
+ ring = [];
136
+ },
137
+ lineEnd: () => {
138
+ if (ring.length > 1)
139
+ output.push(ring);
140
+ },
141
+ polygonStart: () => { },
142
+ polygonEnd: () => { }
143
+ });
144
+ if (polygon)
145
+ stream.polygonStart();
146
+ const emit = (p) => {
147
+ const q = local(p);
148
+ // Canonicalize the antipode: roundoff from oblique rotations otherwise
149
+ // assigns the same point to opposite sides of the longitude seam.
150
+ if (Math.abs(Math.abs(q[0]) - 180) < 1e-10 && Math.abs(q[1]) < 1e-10) {
151
+ q[0] = 180;
152
+ q[1] = 0;
153
+ }
154
+ const x = q[0] * RAD, y = q[1] * RAD;
155
+ originals.set(`${x},${y}`, [...p]);
156
+ stream.point(x, y);
157
+ };
158
+ const subdivide = (a, b, depth = 0) => {
159
+ if (this.nonlinear && depth < 20) {
160
+ const va = geographic(a), vb = geographic(b), sum = add(va, vb);
161
+ if (Math.hypot(...sum) > 1e-10) {
162
+ const mid = coordinates(unit(sum)), v = geographic(local(mid)), q = add(geographic(local(a)), geographic(local(b)));
163
+ if (Math.hypot(...q) > 1e-10 &&
164
+ Math.hypot(...unit(q).map((n, i) => n - v[i])) >
165
+ Math.min(1e-6, (options?.tolerance ?? 1e-4) / this.radius)) {
166
+ subdivide(a, mid, depth + 1);
167
+ subdivide(mid, b, depth + 1);
168
+ return;
169
+ }
170
+ }
171
+ }
172
+ emit(b);
173
+ };
174
+ for (const points of rings) {
175
+ stream.lineStart();
176
+ if (points.length)
177
+ emit(points[0]);
178
+ for (let i = 1; i < points.length; i++)
179
+ subdivide(points[i - 1], points[i]);
180
+ if (polygon && points.length)
181
+ subdivide(points[points.length - 1], points[0]);
182
+ stream.lineEnd();
183
+ }
184
+ if (polygon)
185
+ stream.polygonEnd();
186
+ return output;
187
+ }
188
+ projectLine(line, options) {
189
+ if (this.cap === Math.PI / 2 && !this.nonlinear)
190
+ return super.projectLine(line, options);
191
+ // Super validates antipodal edges and sampling options even for invisible input.
192
+ return super
193
+ .projectLine(line, options)
194
+ .flatMap(part => this.clip([part.sourceCoordinates], false, options, part.regionId).flatMap(line => super.projectLine(line, options).filter(q => q.regionId === part.regionId)));
195
+ }
196
+ projectPolygon(rings, options) {
197
+ if (this.cap === Math.PI / 2 && !this.nonlinear)
198
+ return super.projectPolygon(rings, options);
199
+ const result = [];
200
+ // Split into convex chart hemispheres first; this also validates source topology.
201
+ for (const part of super.projectPolygon(rings, options)) {
202
+ const region = this.regions.find(r => r.id === part.regionId);
203
+ const center = geographic(region.interior), [x, y] = basis(center);
204
+ const planar = (p) => {
205
+ const v = geographic(p), d = dot(v, center);
206
+ return [dot(v, x) / d, dot(v, y) / d];
207
+ };
208
+ const input = part.sourceCoordinates.map((ring, i) => {
209
+ const open = ring.slice(0, -1);
210
+ return ringOrientation(open.map(planar)) === (i ? 1 : -1) ? open : open.reverse();
211
+ });
212
+ // Circle interpolation can step just beyond a chart corner when a
213
+ // chart edge lies on the horizon. Trim in source space, retaining exact
214
+ // small-circle intersections and polar longitude limits.
215
+ const trim = (ring) => {
216
+ for (let edge = 0; edge < region.boundary.length * 3; edge++) {
217
+ let normal = unit(cross(geographic(region.boundary[edge % region.boundary.length]), geographic(region.boundary[(edge + 1) % region.boundary.length])));
218
+ if (dot(normal, center) < 0)
219
+ normal = normal.map(v => -v);
220
+ const next = [];
221
+ for (let i = 0; i < ring.length; i++) {
222
+ const a = ring[i], b = ring[(i + 1) % ring.length], va = geographic(a), vb = geographic(b);
223
+ const da = dot(normal, va), db = dot(normal, vb), insideA = da >= 0, insideB = db >= 0;
224
+ if (insideA)
225
+ next.push(a);
226
+ if (insideA !== insideB) {
227
+ const la = geographic(this.local(a)), lb = geographic(this.local(b));
228
+ const horizon = Math.abs(la[0] - Math.cos(this.cap)) < 1e-14 &&
229
+ Math.abs(lb[0] - Math.cos(this.cap)) < 1e-14;
230
+ const at = (t) => {
231
+ if (horizon) {
232
+ const y = la[1] * (1 - t) + lb[1] * t, z = la[2] * (1 - t) + lb[2] * t, n = Math.hypot(y, z);
233
+ if (n > 1e-14)
234
+ return this.source(coordinates([
235
+ Math.cos(this.cap),
236
+ (Math.sin(this.cap) * y) / n,
237
+ (Math.sin(this.cap) * z) / n
238
+ ]));
239
+ }
240
+ return coordinates(unit(va.map((v, i) => v * (1 - t) + vb[i] * t)));
241
+ };
242
+ let low = 0, high = 1;
243
+ for (let j = 0; j < 48; j++) {
244
+ const mid = (low + high) / 2;
245
+ if (dot(normal, geographic(at(mid))) >= 0 === da >= 0)
246
+ low = mid;
247
+ else
248
+ high = mid;
249
+ }
250
+ next.push(at((low + high) / 2));
251
+ }
252
+ }
253
+ ring = next;
254
+ if (!ring.length)
255
+ break;
256
+ }
257
+ return ring.length >= 3 ? [...ring, ring[0]] : [];
258
+ };
259
+ const clipped = this.clip(input, true, options, part.regionId)
260
+ .map(trim)
261
+ .filter(r => r.length >= 4);
262
+ const outer = clipped.filter(r => ringOrientation(r.map(planar)) < 0), holes = clipped.filter(r => ringOrientation(r.map(planar)) > 0);
263
+ const contains = (ring, point) => {
264
+ let inside = false;
265
+ for (let i = 0, j = ring.length - 1; i < ring.length; j = i++) {
266
+ const a = ring[i], b = ring[j];
267
+ if (a[1] > point[1] !== b[1] > point[1] &&
268
+ point[0] < ((b[0] - a[0]) * (point[1] - a[1])) / (b[1] - a[1]) + a[0])
269
+ inside = !inside;
270
+ }
271
+ return inside;
272
+ };
273
+ for (const ring of outer) {
274
+ const plane = ring.map(planar), sources = [ring, ...holes.filter(h => contains(plane, planar(h[0])))];
275
+ result.push({
276
+ regionId: part.regionId,
277
+ sourceCoordinates: sources,
278
+ coordinates: sources.map(r => r.map(p => {
279
+ const q = super.projectPoint(p, part.regionId);
280
+ if (!q)
281
+ throw new Error(`Cap point outside chart ${part.regionId}: ${p}, owner ${super.findRegions(p)}`);
282
+ return q.position;
283
+ }))
284
+ });
285
+ }
286
+ }
287
+ return result;
288
+ }
289
+ getRegionOutlines(id, options) {
290
+ const region = this.regions.find(r => r.id === id);
291
+ const boundary = region.boundary.map(p => [...p]);
292
+ for (let changed = true; changed && boundary.length > 3;) {
293
+ changed = false;
294
+ for (let i = 0; i < boundary.length; i++) {
295
+ const a = geographic(boundary[(i + boundary.length - 1) % boundary.length]), b = geographic(boundary[i]), c = geographic(boundary[(i + 1) % boundary.length]);
296
+ const n = cross(a, c), length = Math.hypot(...n);
297
+ if (length > 1e-10 &&
298
+ Math.abs(dot(n, b)) / length < 1e-13 &&
299
+ angle(a, b) + angle(b, c) - angle(a, c) < 1e-12) {
300
+ boundary.splice(i, 1);
301
+ changed = true;
302
+ break;
303
+ }
304
+ }
305
+ }
306
+ return this.projectPolygon([boundary], {
307
+ ...options,
308
+ chartCenter: region.interior
309
+ })
310
+ .filter(p => p.regionId === id)
311
+ .flatMap(p => p.coordinates);
312
+ }
313
+ }
314
+ //# sourceMappingURL=cap-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cap-map.js","sourceRoot":"","sources":["../../src/discontinuous/cap-map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /** JSON-safe sampled projection. Coordinates are longitude/latitude degrees,
2
+ * rows run south to north, columns west to east. Null denotes an undefined node. */
3
+ export type ElasticMapData = {
4
+ version: 1;
5
+ name: string;
6
+ /** Normalization radius in the table's output units. */
7
+ radius: number;
8
+ sections: readonly ElasticSection[];
9
+ };
10
+ export type ElasticSection = {
11
+ id: string;
12
+ /** Closed, straight longitude/latitude boundary in [-180,180] × [-90,90]. */
13
+ boundary: readonly (readonly [number, number])[];
14
+ /** True selects the complement of the boundary within the geographic rectangle. */
15
+ complement?: boolean;
16
+ rows: number;
17
+ columns: number;
18
+ /** Interleaved x,y pairs, row-major. */
19
+ values: readonly (number | null)[];
20
+ };
21
+ /** Read Justin Kunimune's published Elastic text format. The inverse hint table
22
+ * is validated but not used: picking solves the forward bilinear cells instead. */
23
+ export declare function parseElasticMap(text: string, options?: {
24
+ radius?: number;
25
+ }): ElasticMapData;
26
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/discontinuous/elastic/data.ts"],"names":[],"mappings":"AAIA;oFACoF;AACpF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CACrC,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IACjD,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;CACpC,CAAC;AAEF;mFACmF;AACnF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAM,GAAG,cAAc,CA0D7F"}