@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.
- package/GEOGRAPHICLIB-LICENSE.txt +27 -0
- package/LICENSE +264 -73
- package/README.md +6 -1
- package/THIRD-PARTY-NOTICES.md +95 -0
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/discontinuous/air-ocean-mesh.d.ts +15 -0
- package/dist/discontinuous/air-ocean-mesh.d.ts.map +1 -0
- package/dist/discontinuous/air-ocean-mesh.js +75 -0
- package/dist/discontinuous/air-ocean-mesh.js.map +1 -0
- package/dist/discontinuous/albers-usa.d.ts +9 -0
- package/dist/discontinuous/albers-usa.d.ts.map +1 -0
- package/dist/discontinuous/albers-usa.js +105 -0
- package/dist/discontinuous/albers-usa.js.map +1 -0
- package/dist/discontinuous/cap-map.d.ts +23 -0
- package/dist/discontinuous/cap-map.d.ts.map +1 -0
- package/dist/discontinuous/cap-map.js +314 -0
- package/dist/discontinuous/cap-map.js.map +1 -0
- package/dist/discontinuous/elastic/data.d.ts +26 -0
- package/dist/discontinuous/elastic/data.d.ts.map +1 -0
- package/dist/discontinuous/elastic/data.js +72 -0
- package/dist/discontinuous/elastic/data.js.map +1 -0
- package/dist/discontinuous/elastic/elasticI.d.ts +3 -0
- package/dist/discontinuous/elastic/elasticI.d.ts.map +1 -0
- package/dist/discontinuous/elastic/elasticI.js +5233 -0
- package/dist/discontinuous/elastic/elasticI.js.map +1 -0
- package/dist/discontinuous/elastic/elasticII.d.ts +3 -0
- package/dist/discontinuous/elastic/elasticII.d.ts.map +1 -0
- package/dist/discontinuous/elastic/elasticII.js +18162 -0
- package/dist/discontinuous/elastic/elasticII.js.map +1 -0
- package/dist/discontinuous/elastic/elasticIII.d.ts +3 -0
- package/dist/discontinuous/elastic/elasticIII.d.ts.map +1 -0
- package/dist/discontinuous/elastic/elasticIII.js +29566 -0
- package/dist/discontinuous/elastic/elasticIII.js.map +1 -0
- package/dist/discontinuous/elastic/geometry.d.ts +22 -0
- package/dist/discontinuous/elastic/geometry.d.ts.map +1 -0
- package/dist/discontinuous/elastic/geometry.js +131 -0
- package/dist/discontinuous/elastic/geometry.js.map +1 -0
- package/dist/discontinuous/elastic/grid.d.ts +15 -0
- package/dist/discontinuous/elastic/grid.d.ts.map +1 -0
- package/dist/discontinuous/elastic/grid.js +177 -0
- package/dist/discontinuous/elastic/grid.js.map +1 -0
- package/dist/discontinuous/elastic/map.d.ts +8 -0
- package/dist/discontinuous/elastic/map.d.ts.map +1 -0
- package/dist/discontinuous/elastic/map.js +260 -0
- package/dist/discontinuous/elastic/map.js.map +1 -0
- package/dist/discontinuous/gray-fuller.d.ts +5 -0
- package/dist/discontinuous/gray-fuller.d.ts.map +1 -0
- package/dist/discontinuous/gray-fuller.js +36 -0
- package/dist/discontinuous/gray-fuller.js.map +1 -0
- package/dist/discontinuous/gringorten-kernel.d.ts +5 -0
- package/dist/discontinuous/gringorten-kernel.d.ts.map +1 -0
- package/dist/discontinuous/gringorten-kernel.js +94 -0
- package/dist/discontinuous/gringorten-kernel.js.map +1 -0
- package/dist/discontinuous/healpix.d.ts +13 -0
- package/dist/discontinuous/healpix.d.ts.map +1 -0
- package/dist/discontinuous/healpix.js +61 -0
- package/dist/discontinuous/healpix.js.map +1 -0
- package/dist/discontinuous/layout.d.ts +72 -0
- package/dist/discontinuous/layout.d.ts.map +1 -0
- package/dist/discontinuous/layout.js +114 -0
- package/dist/discontinuous/layout.js.map +1 -0
- package/dist/discontinuous/map-engine.d.ts +197 -0
- package/dist/discontinuous/map-engine.d.ts.map +1 -0
- package/dist/discontinuous/map-engine.js +356 -0
- package/dist/discontinuous/map-engine.js.map +1 -0
- package/dist/discontinuous/map-layout.d.ts +93 -0
- package/dist/discontinuous/map-layout.d.ts.map +1 -0
- package/dist/discontinuous/map-layout.js +490 -0
- package/dist/discontinuous/map-layout.js.map +1 -0
- package/dist/discontinuous/map-transition.d.ts +42 -0
- package/dist/discontinuous/map-transition.d.ts.map +1 -0
- package/dist/discontinuous/map-transition.js +283 -0
- package/dist/discontinuous/map-transition.js.map +1 -0
- package/dist/discontinuous/math.d.ts +19 -0
- package/dist/discontinuous/math.d.ts.map +1 -0
- package/dist/discontinuous/math.js +65 -0
- package/dist/discontinuous/math.js.map +1 -0
- package/dist/discontinuous/mercator-map.d.ts +22 -0
- package/dist/discontinuous/mercator-map.d.ts.map +1 -0
- package/dist/discontinuous/mercator-map.js +130 -0
- package/dist/discontinuous/mercator-map.js.map +1 -0
- package/dist/discontinuous/myriahedral/graticule.d.ts +6 -0
- package/dist/discontinuous/myriahedral/graticule.d.ts.map +1 -0
- package/dist/discontinuous/myriahedral/graticule.js +37 -0
- package/dist/discontinuous/myriahedral/graticule.js.map +1 -0
- package/dist/discontinuous/myriahedral/mesh.d.ts +18 -0
- package/dist/discontinuous/myriahedral/mesh.d.ts.map +1 -0
- package/dist/discontinuous/myriahedral/mesh.js +131 -0
- package/dist/discontinuous/myriahedral/mesh.js.map +1 -0
- package/dist/discontinuous/myriahedral/unfold.d.ts +36 -0
- package/dist/discontinuous/myriahedral/unfold.d.ts.map +1 -0
- package/dist/discontinuous/myriahedral/unfold.js +172 -0
- package/dist/discontinuous/myriahedral/unfold.js.map +1 -0
- package/dist/discontinuous/myriahedral.d.ts +56 -0
- package/dist/discontinuous/myriahedral.d.ts.map +1 -0
- package/dist/discontinuous/myriahedral.js +204 -0
- package/dist/discontinuous/myriahedral.js.map +1 -0
- package/dist/discontinuous/petroff.d.ts +8 -0
- package/dist/discontinuous/petroff.d.ts.map +1 -0
- package/dist/discontinuous/petroff.js +159 -0
- package/dist/discontinuous/petroff.js.map +1 -0
- package/dist/discontinuous/polyhedral.d.ts +8 -0
- package/dist/discontinuous/polyhedral.d.ts.map +1 -0
- package/dist/discontinuous/polyhedral.js +117 -0
- package/dist/discontinuous/polyhedral.js.map +1 -0
- package/dist/discontinuous/prepare-features.d.ts +78 -0
- package/dist/discontinuous/prepare-features.d.ts.map +1 -0
- package/dist/discontinuous/prepare-features.js +146 -0
- package/dist/discontinuous/prepare-features.js.map +1 -0
- package/dist/discontinuous/presets.d.ts +71 -0
- package/dist/discontinuous/presets.d.ts.map +1 -0
- package/dist/discontinuous/presets.js +372 -0
- package/dist/discontinuous/presets.js.map +1 -0
- package/dist/discontinuous/projection-catalog.d.ts +33 -0
- package/dist/discontinuous/projection-catalog.d.ts.map +1 -0
- package/dist/discontinuous/projection-catalog.js +96 -0
- package/dist/discontinuous/projection-catalog.js.map +1 -0
- package/dist/discontinuous/quincuncial-kernel.d.ts +9 -0
- package/dist/discontinuous/quincuncial-kernel.d.ts.map +1 -0
- package/dist/discontinuous/quincuncial-kernel.js +139 -0
- package/dist/discontinuous/quincuncial-kernel.js.map +1 -0
- package/dist/discontinuous/quincuncial-star.d.ts +29 -0
- package/dist/discontinuous/quincuncial-star.d.ts.map +1 -0
- package/dist/discontinuous/quincuncial-star.js +307 -0
- package/dist/discontinuous/quincuncial-star.js.map +1 -0
- package/dist/discontinuous/regional-map.d.ts +18 -0
- package/dist/discontinuous/regional-map.d.ts.map +1 -0
- package/dist/discontinuous/regional-map.js +193 -0
- package/dist/discontinuous/regional-map.js.map +1 -0
- package/dist/discontinuous/retroazimuthal-map.d.ts +6 -0
- package/dist/discontinuous/retroazimuthal-map.d.ts.map +1 -0
- package/dist/discontinuous/retroazimuthal-map.js +52 -0
- package/dist/discontinuous/retroazimuthal-map.js.map +1 -0
- package/dist/discontinuous/rotated-map.d.ts +31 -0
- package/dist/discontinuous/rotated-map.d.ts.map +1 -0
- package/dist/discontinuous/rotated-map.js +66 -0
- package/dist/discontinuous/rotated-map.js.map +1 -0
- package/dist/discontinuous/snyder-mesh.d.ts +11 -0
- package/dist/discontinuous/snyder-mesh.d.ts.map +1 -0
- package/dist/discontinuous/snyder-mesh.js +88 -0
- package/dist/discontinuous/snyder-mesh.js.map +1 -0
- package/dist/discontinuous/snyder.d.ts +16 -0
- package/dist/discontinuous/snyder.d.ts.map +1 -0
- package/dist/discontinuous/snyder.js +153 -0
- package/dist/discontinuous/snyder.js.map +1 -0
- package/dist/discontinuous/spherical-clip/cartesian.d.ts +8 -0
- package/dist/discontinuous/spherical-clip/cartesian.d.ts.map +1 -0
- package/dist/discontinuous/spherical-clip/cartesian.js +34 -0
- package/dist/discontinuous/spherical-clip/cartesian.js.map +1 -0
- package/dist/discontinuous/spherical-clip/circle.d.ts +2 -0
- package/dist/discontinuous/spherical-clip/circle.d.ts.map +1 -0
- package/dist/discontinuous/spherical-clip/circle.js +34 -0
- package/dist/discontinuous/spherical-clip/circle.js.map +1 -0
- package/dist/discontinuous/spherical-clip/clip-buffer.d.ts +9 -0
- package/dist/discontinuous/spherical-clip/clip-buffer.d.ts.map +1 -0
- package/dist/discontinuous/spherical-clip/clip-buffer.js +28 -0
- package/dist/discontinuous/spherical-clip/clip-buffer.js.map +1 -0
- package/dist/discontinuous/spherical-clip/clip-circle.d.ts +9 -0
- package/dist/discontinuous/spherical-clip/clip-circle.d.ts.map +1 -0
- package/dist/discontinuous/spherical-clip/clip-circle.js +160 -0
- package/dist/discontinuous/spherical-clip/clip-circle.js.map +1 -0
- package/dist/discontinuous/spherical-clip/clip-index.d.ts +9 -0
- package/dist/discontinuous/spherical-clip/clip-index.d.ts.map +1 -0
- package/dist/discontinuous/spherical-clip/clip-index.js +117 -0
- package/dist/discontinuous/spherical-clip/clip-index.js.map +1 -0
- package/dist/discontinuous/spherical-clip/clip-rejoin.d.ts +2 -0
- package/dist/discontinuous/spherical-clip/clip-rejoin.d.ts.map +1 -0
- package/dist/discontinuous/spherical-clip/clip-rejoin.js +99 -0
- package/dist/discontinuous/spherical-clip/clip-rejoin.js.map +1 -0
- package/dist/discontinuous/spherical-clip/helpers.d.ts +8 -0
- package/dist/discontinuous/spherical-clip/helpers.d.ts.map +1 -0
- package/dist/discontinuous/spherical-clip/helpers.js +21 -0
- package/dist/discontinuous/spherical-clip/helpers.js.map +1 -0
- package/dist/discontinuous/spherical-clip/math.d.ts +26 -0
- package/dist/discontinuous/spherical-clip/math.d.ts.map +1 -0
- package/dist/discontinuous/spherical-clip/math.js +39 -0
- package/dist/discontinuous/spherical-clip/math.js.map +1 -0
- package/dist/discontinuous/spherical-clip/noop.d.ts +2 -0
- package/dist/discontinuous/spherical-clip/noop.d.ts.map +1 -0
- package/dist/discontinuous/spherical-clip/noop.js +6 -0
- package/dist/discontinuous/spherical-clip/noop.js.map +1 -0
- package/dist/discontinuous/spherical-clip/pointEqual.d.ts +2 -0
- package/dist/discontinuous/spherical-clip/pointEqual.d.ts.map +1 -0
- package/dist/discontinuous/spherical-clip/pointEqual.js +9 -0
- package/dist/discontinuous/spherical-clip/pointEqual.js.map +1 -0
- package/dist/discontinuous/spherical-clip/polygonContains.d.ts +2 -0
- package/dist/discontinuous/spherical-clip/polygonContains.d.ts.map +1 -0
- package/dist/discontinuous/spherical-clip/polygonContains.js +52 -0
- package/dist/discontinuous/spherical-clip/polygonContains.js.map +1 -0
- package/dist/discontinuous/world-composite-kernels.d.ts +11 -0
- package/dist/discontinuous/world-composite-kernels.d.ts.map +1 -0
- package/dist/discontinuous/world-composite-kernels.js +30 -0
- package/dist/discontinuous/world-composite-kernels.js.map +1 -0
- package/dist/discontinuous/world-kernels/airy.d.ts +5 -0
- package/dist/discontinuous/world-kernels/airy.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/airy.js +28 -0
- package/dist/discontinuous/world-kernels/airy.js.map +1 -0
- package/dist/discontinuous/world-kernels/aitoff.d.ts +5 -0
- package/dist/discontinuous/world-kernels/aitoff.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/aitoff.js +26 -0
- package/dist/discontinuous/world-kernels/aitoff.js.map +1 -0
- package/dist/discontinuous/world-kernels/armadillo.d.ts +5 -0
- package/dist/discontinuous/world-kernels/armadillo.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/armadillo.js +28 -0
- package/dist/discontinuous/world-kernels/armadillo.js.map +1 -0
- package/dist/discontinuous/world-kernels/august.d.ts +5 -0
- package/dist/discontinuous/world-kernels/august.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/august.js +21 -0
- package/dist/discontinuous/world-kernels/august.js.map +1 -0
- package/dist/discontinuous/world-kernels/baker.d.ts +5 -0
- package/dist/discontinuous/world-kernels/baker.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/baker.js +29 -0
- package/dist/discontinuous/world-kernels/baker.js.map +1 -0
- package/dist/discontinuous/world-kernels/bertin.d.ts +5 -0
- package/dist/discontinuous/world-kernels/bertin.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/bertin.js +32 -0
- package/dist/discontinuous/world-kernels/bertin.js.map +1 -0
- package/dist/discontinuous/world-kernels/boggs.d.ts +5 -0
- package/dist/discontinuous/world-kernels/boggs.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/boggs.js +24 -0
- package/dist/discontinuous/world-kernels/boggs.js.map +1 -0
- package/dist/discontinuous/world-kernels/bonne.d.ts +3 -0
- package/dist/discontinuous/world-kernels/bonne.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/bonne.js +22 -0
- package/dist/discontinuous/world-kernels/bonne.js.map +1 -0
- package/dist/discontinuous/world-kernels/bottomley.d.ts +5 -0
- package/dist/discontinuous/world-kernels/bottomley.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/bottomley.js +18 -0
- package/dist/discontinuous/world-kernels/bottomley.js.map +1 -0
- package/dist/discontinuous/world-kernels/bromley.d.ts +5 -0
- package/dist/discontinuous/world-kernels/bromley.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/bromley.js +9 -0
- package/dist/discontinuous/world-kernels/bromley.js.map +1 -0
- package/dist/discontinuous/world-kernels/chamberlin.d.ts +2 -0
- package/dist/discontinuous/world-kernels/chamberlin.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/chamberlin.js +81 -0
- package/dist/discontinuous/world-kernels/chamberlin.js.map +1 -0
- package/dist/discontinuous/world-kernels/collignon.d.ts +5 -0
- package/dist/discontinuous/world-kernels/collignon.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/collignon.js +15 -0
- package/dist/discontinuous/world-kernels/collignon.js.map +1 -0
- package/dist/discontinuous/world-kernels/craig.d.ts +5 -0
- package/dist/discontinuous/world-kernels/craig.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/craig.js +30 -0
- package/dist/discontinuous/world-kernels/craig.js.map +1 -0
- package/dist/discontinuous/world-kernels/craster.d.ts +5 -0
- package/dist/discontinuous/world-kernels/craster.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/craster.js +15 -0
- package/dist/discontinuous/world-kernels/craster.js.map +1 -0
- package/dist/discontinuous/world-kernels/cylindricalEqualArea.d.ts +5 -0
- package/dist/discontinuous/world-kernels/cylindricalEqualArea.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/cylindricalEqualArea.js +17 -0
- package/dist/discontinuous/world-kernels/cylindricalEqualArea.js.map +1 -0
- package/dist/discontinuous/world-kernels/cylindricalStereographic.d.ts +5 -0
- package/dist/discontinuous/world-kernels/cylindricalStereographic.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/cylindricalStereographic.js +17 -0
- package/dist/discontinuous/world-kernels/cylindricalStereographic.js.map +1 -0
- package/dist/discontinuous/world-kernels/d3-geo-raw.d.ts +9 -0
- package/dist/discontinuous/world-kernels/d3-geo-raw.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/d3-geo-raw.js +21 -0
- package/dist/discontinuous/world-kernels/d3-geo-raw.js.map +1 -0
- package/dist/discontinuous/world-kernels/eckert1.d.ts +5 -0
- package/dist/discontinuous/world-kernels/eckert1.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/eckert1.js +15 -0
- package/dist/discontinuous/world-kernels/eckert1.js.map +1 -0
- package/dist/discontinuous/world-kernels/eckert2.d.ts +5 -0
- package/dist/discontinuous/world-kernels/eckert2.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/eckert2.js +15 -0
- package/dist/discontinuous/world-kernels/eckert2.js.map +1 -0
- package/dist/discontinuous/world-kernels/eckert3.d.ts +5 -0
- package/dist/discontinuous/world-kernels/eckert3.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/eckert3.js +15 -0
- package/dist/discontinuous/world-kernels/eckert3.js.map +1 -0
- package/dist/discontinuous/world-kernels/eckert4.d.ts +5 -0
- package/dist/discontinuous/world-kernels/eckert4.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/eckert4.js +20 -0
- package/dist/discontinuous/world-kernels/eckert4.js.map +1 -0
- package/dist/discontinuous/world-kernels/eckert5.d.ts +5 -0
- package/dist/discontinuous/world-kernels/eckert5.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/eckert5.js +14 -0
- package/dist/discontinuous/world-kernels/eckert5.js.map +1 -0
- package/dist/discontinuous/world-kernels/eckert6.d.ts +5 -0
- package/dist/discontinuous/world-kernels/eckert6.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/eckert6.js +19 -0
- package/dist/discontinuous/world-kernels/eckert6.js.map +1 -0
- package/dist/discontinuous/world-kernels/eisenlohr.d.ts +5 -0
- package/dist/discontinuous/world-kernels/eisenlohr.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/eisenlohr.js +41 -0
- package/dist/discontinuous/world-kernels/eisenlohr.js.map +1 -0
- package/dist/discontinuous/world-kernels/fahey.d.ts +5 -0
- package/dist/discontinuous/world-kernels/fahey.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/fahey.js +16 -0
- package/dist/discontinuous/world-kernels/fahey.js.map +1 -0
- package/dist/discontinuous/world-kernels/foucaut.d.ts +5 -0
- package/dist/discontinuous/world-kernels/foucaut.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/foucaut.js +15 -0
- package/dist/discontinuous/world-kernels/foucaut.js.map +1 -0
- package/dist/discontinuous/world-kernels/foucautSinusoidal.d.ts +5 -0
- package/dist/discontinuous/world-kernels/foucautSinusoidal.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/foucautSinusoidal.js +27 -0
- package/dist/discontinuous/world-kernels/foucautSinusoidal.js.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburg4.d.ts +5 -0
- package/dist/discontinuous/world-kernels/ginzburg4.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburg4.js +8 -0
- package/dist/discontinuous/world-kernels/ginzburg4.js.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburg5.d.ts +5 -0
- package/dist/discontinuous/world-kernels/ginzburg5.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburg5.js +8 -0
- package/dist/discontinuous/world-kernels/ginzburg5.js.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburg6.d.ts +5 -0
- package/dist/discontinuous/world-kernels/ginzburg6.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburg6.js +9 -0
- package/dist/discontinuous/world-kernels/ginzburg6.js.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburg8.d.ts +5 -0
- package/dist/discontinuous/world-kernels/ginzburg8.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburg8.js +28 -0
- package/dist/discontinuous/world-kernels/ginzburg8.js.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburg9.d.ts +5 -0
- package/dist/discontinuous/world-kernels/ginzburg9.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburg9.js +8 -0
- package/dist/discontinuous/world-kernels/ginzburg9.js.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburgPolyconic.d.ts +5 -0
- package/dist/discontinuous/world-kernels/ginzburgPolyconic.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/ginzburgPolyconic.js +29 -0
- package/dist/discontinuous/world-kernels/ginzburgPolyconic.js.map +1 -0
- package/dist/discontinuous/world-kernels/hammer.d.ts +3 -0
- package/dist/discontinuous/world-kernels/hammer.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/hammer.js +34 -0
- package/dist/discontinuous/world-kernels/hammer.js.map +1 -0
- package/dist/discontinuous/world-kernels/hammerRetroazimuthal.d.ts +5 -0
- package/dist/discontinuous/world-kernels/hammerRetroazimuthal.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/hammerRetroazimuthal.js +37 -0
- package/dist/discontinuous/world-kernels/hammerRetroazimuthal.js.map +1 -0
- package/dist/discontinuous/world-kernels/hill.d.ts +5 -0
- package/dist/discontinuous/world-kernels/hill.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/hill.js +36 -0
- package/dist/discontinuous/world-kernels/hill.js.map +1 -0
- package/dist/discontinuous/world-kernels/homolosine.d.ts +5 -0
- package/dist/discontinuous/world-kernels/homolosine.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/homolosine.js +22 -0
- package/dist/discontinuous/world-kernels/homolosine.js.map +1 -0
- package/dist/discontinuous/world-kernels/hufnagel.d.ts +5 -0
- package/dist/discontinuous/world-kernels/hufnagel.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/hufnagel.js +53 -0
- package/dist/discontinuous/world-kernels/hufnagel.js.map +1 -0
- package/dist/discontinuous/world-kernels/hyperelliptical.d.ts +5 -0
- package/dist/discontinuous/world-kernels/hyperelliptical.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/hyperelliptical.js +47 -0
- package/dist/discontinuous/world-kernels/hyperelliptical.js.map +1 -0
- package/dist/discontinuous/world-kernels/integrate.d.ts +2 -0
- package/dist/discontinuous/world-kernels/integrate.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/integrate.js +82 -0
- package/dist/discontinuous/world-kernels/integrate.js.map +1 -0
- package/dist/discontinuous/world-kernels/kavrayskiy7.d.ts +5 -0
- package/dist/discontinuous/world-kernels/kavrayskiy7.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/kavrayskiy7.js +13 -0
- package/dist/discontinuous/world-kernels/kavrayskiy7.js.map +1 -0
- package/dist/discontinuous/world-kernels/lagrange.d.ts +5 -0
- package/dist/discontinuous/world-kernels/lagrange.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/lagrange.js +27 -0
- package/dist/discontinuous/world-kernels/lagrange.js.map +1 -0
- package/dist/discontinuous/world-kernels/larrivee.d.ts +5 -0
- package/dist/discontinuous/world-kernels/larrivee.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/larrivee.js +26 -0
- package/dist/discontinuous/world-kernels/larrivee.js.map +1 -0
- package/dist/discontinuous/world-kernels/laskowski.d.ts +5 -0
- package/dist/discontinuous/world-kernels/laskowski.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/laskowski.js +31 -0
- package/dist/discontinuous/world-kernels/laskowski.js.map +1 -0
- package/dist/discontinuous/world-kernels/littrow.d.ts +5 -0
- package/dist/discontinuous/world-kernels/littrow.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/littrow.js +13 -0
- package/dist/discontinuous/world-kernels/littrow.js.map +1 -0
- package/dist/discontinuous/world-kernels/loximuthal.d.ts +5 -0
- package/dist/discontinuous/world-kernels/loximuthal.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/loximuthal.js +30 -0
- package/dist/discontinuous/world-kernels/loximuthal.js.map +1 -0
- package/dist/discontinuous/world-kernels/math.d.ts +36 -0
- package/dist/discontinuous/world-kernels/math.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/math.js +63 -0
- package/dist/discontinuous/world-kernels/math.js.map +1 -0
- package/dist/discontinuous/world-kernels/miller.d.ts +5 -0
- package/dist/discontinuous/world-kernels/miller.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/miller.js +13 -0
- package/dist/discontinuous/world-kernels/miller.js.map +1 -0
- package/dist/discontinuous/world-kernels/modifiedStereographic.d.ts +18 -0
- package/dist/discontinuous/world-kernels/modifiedStereographic.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/modifiedStereographic.js +79 -0
- package/dist/discontinuous/world-kernels/modifiedStereographic.js.map +1 -0
- package/dist/discontinuous/world-kernels/mollweide.d.ts +10 -0
- package/dist/discontinuous/world-kernels/mollweide.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/mollweide.js +24 -0
- package/dist/discontinuous/world-kernels/mollweide.js.map +1 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarParabolic.d.ts +5 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarParabolic.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarParabolic.js +19 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarParabolic.js.map +1 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarQuartic.d.ts +5 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarQuartic.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarQuartic.js +26 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarQuartic.js.map +1 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarSinusoidal.d.ts +5 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarSinusoidal.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarSinusoidal.js +22 -0
- package/dist/discontinuous/world-kernels/mtFlatPolarSinusoidal.js.map +1 -0
- package/dist/discontinuous/world-kernels/naturalEarth2.d.ts +5 -0
- package/dist/discontinuous/world-kernels/naturalEarth2.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/naturalEarth2.js +37 -0
- package/dist/discontinuous/world-kernels/naturalEarth2.js.map +1 -0
- package/dist/discontinuous/world-kernels/nellHammer.d.ts +5 -0
- package/dist/discontinuous/world-kernels/nellHammer.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/nellHammer.js +18 -0
- package/dist/discontinuous/world-kernels/nellHammer.js.map +1 -0
- package/dist/discontinuous/world-kernels/newton.d.ts +3 -0
- package/dist/discontinuous/world-kernels/newton.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/newton.js +65 -0
- package/dist/discontinuous/world-kernels/newton.js.map +1 -0
- package/dist/discontinuous/world-kernels/nicolosi.d.ts +5 -0
- package/dist/discontinuous/world-kernels/nicolosi.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/nicolosi.js +38 -0
- package/dist/discontinuous/world-kernels/nicolosi.js.map +1 -0
- package/dist/discontinuous/world-kernels/patterson.d.ts +5 -0
- package/dist/discontinuous/world-kernels/patterson.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/patterson.js +32 -0
- package/dist/discontinuous/world-kernels/patterson.js.map +1 -0
- package/dist/discontinuous/world-kernels/polyconic.d.ts +5 -0
- package/dist/discontinuous/world-kernels/polyconic.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/polyconic.js +30 -0
- package/dist/discontinuous/world-kernels/polyconic.js.map +1 -0
- package/dist/discontinuous/world-kernels/rectangularPolyconic.d.ts +5 -0
- package/dist/discontinuous/world-kernels/rectangularPolyconic.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/rectangularPolyconic.js +31 -0
- package/dist/discontinuous/world-kernels/rectangularPolyconic.js.map +1 -0
- package/dist/discontinuous/world-kernels/robinson.d.ts +5 -0
- package/dist/discontinuous/world-kernels/robinson.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/robinson.js +63 -0
- package/dist/discontinuous/world-kernels/robinson.js.map +1 -0
- package/dist/discontinuous/world-kernels/satellite.d.ts +5 -0
- package/dist/discontinuous/world-kernels/satellite.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/satellite.js +32 -0
- package/dist/discontinuous/world-kernels/satellite.js.map +1 -0
- package/dist/discontinuous/world-kernels/sinuMollweide.d.ts +7 -0
- package/dist/discontinuous/world-kernels/sinuMollweide.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/sinuMollweide.js +20 -0
- package/dist/discontinuous/world-kernels/sinuMollweide.js.map +1 -0
- package/dist/discontinuous/world-kernels/sinusoidal.d.ts +5 -0
- package/dist/discontinuous/world-kernels/sinusoidal.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/sinusoidal.js +13 -0
- package/dist/discontinuous/world-kernels/sinusoidal.js.map +1 -0
- package/dist/discontinuous/world-kernels/times.d.ts +5 -0
- package/dist/discontinuous/world-kernels/times.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/times.js +15 -0
- package/dist/discontinuous/world-kernels/times.js.map +1 -0
- package/dist/discontinuous/world-kernels/twoPointEquidistant.d.ts +3 -0
- package/dist/discontinuous/world-kernels/twoPointEquidistant.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/twoPointEquidistant.js +28 -0
- package/dist/discontinuous/world-kernels/twoPointEquidistant.js.map +1 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten.d.ts +5 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten.js +30 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten.js.map +1 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten2.d.ts +5 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten2.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten2.js +25 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten2.js.map +1 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten3.d.ts +5 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten3.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten3.js +22 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten3.js.map +1 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten4.d.ts +5 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten4.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten4.js +38 -0
- package/dist/discontinuous/world-kernels/vanDerGrinten4.js.map +1 -0
- package/dist/discontinuous/world-kernels/wagner.d.ts +5 -0
- package/dist/discontinuous/world-kernels/wagner.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/wagner.js +44 -0
- package/dist/discontinuous/world-kernels/wagner.js.map +1 -0
- package/dist/discontinuous/world-kernels/wagner4.d.ts +5 -0
- package/dist/discontinuous/world-kernels/wagner4.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/wagner4.js +10 -0
- package/dist/discontinuous/world-kernels/wagner4.js.map +1 -0
- package/dist/discontinuous/world-kernels/wagner6.d.ts +5 -0
- package/dist/discontinuous/world-kernels/wagner6.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/wagner6.js +13 -0
- package/dist/discontinuous/world-kernels/wagner6.js.map +1 -0
- package/dist/discontinuous/world-kernels/wiechel.d.ts +5 -0
- package/dist/discontinuous/world-kernels/wiechel.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/wiechel.js +15 -0
- package/dist/discontinuous/world-kernels/wiechel.js.map +1 -0
- package/dist/discontinuous/world-kernels/winkel3.d.ts +5 -0
- package/dist/discontinuous/world-kernels/winkel3.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels/winkel3.js +20 -0
- package/dist/discontinuous/world-kernels/winkel3.js.map +1 -0
- package/dist/discontinuous/world-kernels.d.ts +150 -0
- package/dist/discontinuous/world-kernels.d.ts.map +1 -0
- package/dist/discontinuous/world-kernels.js +215 -0
- package/dist/discontinuous/world-kernels.js.map +1 -0
- package/dist/discontinuous/world-map.d.ts +25 -0
- package/dist/discontinuous/world-map.d.ts.map +1 -0
- package/dist/discontinuous/world-map.js +187 -0
- package/dist/discontinuous/world-map.js.map +1 -0
- package/dist/discontinuous.cjs +7037 -0
- package/dist/discontinuous.cjs.map +6 -0
- package/dist/discontinuous.d.ts +50 -0
- package/dist/discontinuous.d.ts.map +1 -0
- package/dist/discontinuous.js +35 -0
- package/dist/discontinuous.js.map +1 -0
- package/dist/elastic.cjs +52991 -0
- package/dist/elastic.cjs.map +6 -0
- package/dist/elastic.d.ts +5 -0
- package/dist/elastic.d.ts.map +1 -0
- package/dist/elastic.js +8 -0
- package/dist/elastic.js.map +1 -0
- package/dist/ellipsoid-geodesic.d.ts +62 -0
- package/dist/ellipsoid-geodesic.d.ts.map +1 -0
- package/dist/ellipsoid-geodesic.js +69 -0
- package/dist/ellipsoid-geodesic.js.map +1 -0
- package/dist/ellipsoid-helpers/ellipsoid-transform.d.ts.map +1 -1
- package/dist/ellipsoid-helpers/ellipsoid-transform.js +15 -5
- package/dist/ellipsoid-helpers/ellipsoid-transform.js.map +1 -1
- package/dist/ellipsoid-helpers/exact-nearest-surface.d.ts +16 -0
- package/dist/ellipsoid-helpers/exact-nearest-surface.d.ts.map +1 -0
- package/dist/ellipsoid-helpers/exact-nearest-surface.js +108 -0
- package/dist/ellipsoid-helpers/exact-nearest-surface.js.map +1 -0
- package/dist/ellipsoid-helpers/intersection-bounds.d.ts +18 -0
- package/dist/ellipsoid-helpers/intersection-bounds.d.ts.map +1 -0
- package/dist/ellipsoid-helpers/intersection-bounds.js +60 -0
- package/dist/ellipsoid-helpers/intersection-bounds.js.map +1 -0
- package/dist/ellipsoid-helpers/nearest-surface.d.ts +12 -0
- package/dist/ellipsoid-helpers/nearest-surface.d.ts.map +1 -0
- package/dist/ellipsoid-helpers/nearest-surface.js +127 -0
- package/dist/ellipsoid-helpers/nearest-surface.js.map +1 -0
- package/dist/ellipsoid-helpers/rhumb-pole-distance.d.ts +3 -0
- package/dist/ellipsoid-helpers/rhumb-pole-distance.d.ts.map +1 -0
- package/dist/ellipsoid-helpers/rhumb-pole-distance.js +63 -0
- package/dist/ellipsoid-helpers/rhumb-pole-distance.js.map +1 -0
- package/dist/ellipsoid-helpers/scale-to-geodetic-surface.d.ts.map +1 -1
- package/dist/ellipsoid-helpers/scale-to-geodetic-surface.js +14 -78
- package/dist/ellipsoid-helpers/scale-to-geodetic-surface.js.map +1 -1
- package/dist/ellipsoid-helpers/surface-polygon.d.ts +65 -0
- package/dist/ellipsoid-helpers/surface-polygon.d.ts.map +1 -0
- package/dist/ellipsoid-helpers/surface-polygon.js +159 -0
- package/dist/ellipsoid-helpers/surface-polygon.js.map +1 -0
- package/dist/ellipsoid-helpers/tangent-plane-numerics.d.ts +7 -0
- package/dist/ellipsoid-helpers/tangent-plane-numerics.d.ts.map +1 -0
- package/dist/ellipsoid-helpers/tangent-plane-numerics.js +88 -0
- package/dist/ellipsoid-helpers/tangent-plane-numerics.js.map +1 -0
- package/dist/ellipsoid-metrics.d.ts +31 -0
- package/dist/ellipsoid-metrics.d.ts.map +1 -0
- package/dist/ellipsoid-metrics.js +186 -0
- package/dist/ellipsoid-metrics.js.map +1 -0
- package/dist/ellipsoid-rhumb.d.ts +52 -0
- package/dist/ellipsoid-rhumb.d.ts.map +1 -0
- package/dist/ellipsoid-rhumb.js +321 -0
- package/dist/ellipsoid-rhumb.js.map +1 -0
- package/dist/ellipsoid-tangent-plane.d.ts +29 -7
- package/dist/ellipsoid-tangent-plane.d.ts.map +1 -1
- package/dist/ellipsoid-tangent-plane.js +177 -29
- package/dist/ellipsoid-tangent-plane.js.map +1 -1
- package/dist/ellipsoid-transforms.d.ts +12 -0
- package/dist/ellipsoid-transforms.d.ts.map +1 -0
- package/dist/ellipsoid-transforms.js +15 -0
- package/dist/ellipsoid-transforms.js.map +1 -0
- package/dist/ellipsoid.d.ts +2 -12
- package/dist/ellipsoid.d.ts.map +1 -1
- package/dist/ellipsoid.js +167 -73
- package/dist/ellipsoid.js.map +1 -1
- package/dist/entries/ellipsoid.cjs +3640 -302
- package/dist/entries/ellipsoid.cjs.map +3 -3
- package/dist/entries/ellipsoid.d.ts +21 -0
- package/dist/entries/ellipsoid.d.ts.map +1 -1
- package/dist/entries/ellipsoid.js +10 -0
- package/dist/entries/ellipsoid.js.map +1 -1
- package/dist/expressions.cjs +442 -244
- package/dist/expressions.cjs.map +3 -3
- package/dist/expressions.d.ts.map +1 -1
- package/dist/expressions.js +2 -1
- package/dist/expressions.js.map +1 -1
- package/dist/geoarrow/builder-entry.cjs.map +1 -1
- package/dist/geoarrow/codecs.d.ts.map +1 -1
- package/dist/geoarrow/codecs.js +3 -8
- package/dist/geoarrow/codecs.js.map +1 -1
- package/dist/geoarrow/index.cjs +34 -9
- package/dist/geoarrow/index.cjs.map +1 -1
- package/dist/geoarrow/index.d.ts +1 -1
- package/dist/geoarrow/index.d.ts.map +1 -1
- package/dist/geoarrow/index.js +1 -1
- package/dist/geoarrow/index.js.map +1 -1
- package/dist/geoarrow/tessellation-entry.cjs.map +1 -1
- package/dist/geoarrow/types.d.ts +8 -0
- package/dist/geoarrow/types.d.ts.map +1 -1
- package/dist/geoarrow/types.js +30 -0
- package/dist/geoarrow/types.js.map +1 -1
- package/dist/geoarrow/wkb-entry.cjs +14 -9
- package/dist/geoarrow/wkb-entry.cjs.map +1 -1
- package/dist/geodesic-exact/area.d.ts +5 -0
- package/dist/geodesic-exact/area.d.ts.map +1 -0
- package/dist/geodesic-exact/area.js +56 -0
- package/dist/geodesic-exact/area.js.map +1 -0
- package/dist/geodesic-exact/inverse-engine.d.ts +57 -0
- package/dist/geodesic-exact/inverse-engine.d.ts.map +1 -0
- package/dist/geodesic-exact/inverse-engine.js +56 -0
- package/dist/geodesic-exact/inverse-engine.js.map +1 -0
- package/dist/geodesic-exact/polygon.d.ts +12 -0
- package/dist/geodesic-exact/polygon.d.ts.map +1 -0
- package/dist/geodesic-exact/polygon.js +27 -0
- package/dist/geodesic-exact/polygon.js.map +1 -0
- package/dist/geodesic-exact/quadrature.d.ts +9 -0
- package/dist/geodesic-exact/quadrature.d.ts.map +1 -0
- package/dist/geodesic-exact/quadrature.js +62 -0
- package/dist/geodesic-exact/quadrature.js.map +1 -0
- package/dist/geodesic-exact.cjs +1871 -0
- package/dist/geodesic-exact.cjs.map +6 -0
- package/dist/geodesic-exact.d.ts +23 -0
- package/dist/geodesic-exact.d.ts.map +1 -0
- package/dist/geodesic-exact.js +210 -0
- package/dist/geodesic-exact.js.map +1 -0
- package/dist/geodesic-intersections.d.ts +83 -0
- package/dist/geodesic-intersections.d.ts.map +1 -0
- package/dist/geodesic-intersections.js +451 -0
- package/dist/geodesic-intersections.js.map +1 -0
- package/dist/geodesic-path.d.ts +28 -0
- package/dist/geodesic-path.d.ts.map +1 -0
- package/dist/geodesic-path.js +102 -0
- package/dist/geodesic-path.js.map +1 -0
- package/dist/geodesic-polygon.d.ts +11 -0
- package/dist/geodesic-polygon.d.ts.map +1 -0
- package/dist/geodesic-polygon.js +16 -0
- package/dist/geodesic-polygon.js.map +1 -0
- package/dist/geographic-seams/edge.d.ts +46 -0
- package/dist/geographic-seams/edge.d.ts.map +1 -0
- package/dist/geographic-seams/edge.js +362 -0
- package/dist/geographic-seams/edge.js.map +1 -0
- package/dist/geographic-seams/polygon.d.ts +8 -0
- package/dist/geographic-seams/polygon.d.ts.map +1 -0
- package/dist/geographic-seams/polygon.js +381 -0
- package/dist/geographic-seams/polygon.js.map +1 -0
- package/dist/geographic-seams/types.d.ts +59 -0
- package/dist/geographic-seams/types.d.ts.map +1 -0
- package/dist/geographic-seams/types.js +8 -0
- package/dist/geographic-seams/types.js.map +1 -0
- package/dist/geographic-seams.d.ts +12 -0
- package/dist/geographic-seams.d.ts.map +1 -0
- package/dist/geographic-seams.js +54 -0
- package/dist/geographic-seams.js.map +1 -0
- package/dist/globe.cjs +3520 -367
- package/dist/globe.cjs.map +3 -3
- package/dist/globe.d.ts +6 -0
- package/dist/globe.d.ts.map +1 -1
- package/dist/globe.js +3 -0
- package/dist/globe.js.map +1 -1
- package/dist/index.cjs +4495 -378
- package/dist/index.cjs.map +3 -3
- package/dist/lng-lat-rectangle.js +1 -1
- package/dist/lng-lat-rectangle.js.map +1 -1
- package/dist/local-reference-frame.d.ts +57 -0
- package/dist/local-reference-frame.d.ts.map +1 -0
- package/dist/local-reference-frame.js +247 -0
- package/dist/local-reference-frame.js.map +1 -0
- package/dist/make-obb-from-region.js +1 -1
- package/dist/make-obb-from-region.js.map +1 -1
- package/dist/projection/experimental/authalic-latitude.d.ts +7 -0
- package/dist/projection/experimental/authalic-latitude.d.ts.map +1 -0
- package/dist/projection/experimental/authalic-latitude.js +51 -0
- package/dist/projection/experimental/authalic-latitude.js.map +1 -0
- package/dist/projection/experimental/common/adjust_lat.js +2 -2
- package/dist/projection/experimental/common/adjust_lat.js.map +1 -1
- package/dist/projection/experimental/common/adjust_lon.js +1 -1
- package/dist/projection/experimental/common/adjust_lon.js.map +1 -1
- package/dist/projection/experimental/common/asinhy.js +1 -1
- package/dist/projection/experimental/common/asinhy.js.map +1 -1
- package/dist/projection/experimental/common/asinz.js +1 -1
- package/dist/projection/experimental/common/asinz.js.map +1 -1
- package/dist/projection/experimental/common/authlat.js +1 -1
- package/dist/projection/experimental/common/authlat.js.map +1 -1
- package/dist/projection/experimental/common/authset.js +1 -1
- package/dist/projection/experimental/common/authset.js.map +1 -1
- package/dist/projection/experimental/common/clens.js +1 -1
- package/dist/projection/experimental/common/clens.js.map +1 -1
- package/dist/projection/experimental/common/clens_cmplx.js +1 -1
- package/dist/projection/experimental/common/clens_cmplx.js.map +1 -1
- package/dist/projection/experimental/common/constants.js +1 -1
- package/dist/projection/experimental/common/constants.js.map +1 -1
- package/dist/projection/experimental/common/cosh.js +1 -1
- package/dist/projection/experimental/common/cosh.js.map +1 -1
- package/dist/projection/experimental/common/e0fn.js +1 -1
- package/dist/projection/experimental/common/e0fn.js.map +1 -1
- package/dist/projection/experimental/common/e1fn.js +1 -1
- package/dist/projection/experimental/common/e1fn.js.map +1 -1
- package/dist/projection/experimental/common/e2fn.js +1 -1
- package/dist/projection/experimental/common/e2fn.js.map +1 -1
- package/dist/projection/experimental/common/e3fn.js +1 -1
- package/dist/projection/experimental/common/e3fn.js.map +1 -1
- package/dist/projection/experimental/common/fL.js +1 -1
- package/dist/projection/experimental/common/fL.js.map +1 -1
- package/dist/projection/experimental/common/gN.js +1 -1
- package/dist/projection/experimental/common/gN.js.map +1 -1
- package/dist/projection/experimental/common/gatg.js +1 -1
- package/dist/projection/experimental/common/gatg.js.map +1 -1
- package/dist/projection/experimental/common/hypot.js +1 -1
- package/dist/projection/experimental/common/hypot.js.map +1 -1
- package/dist/projection/experimental/common/imlfn.js +1 -1
- package/dist/projection/experimental/common/imlfn.js.map +1 -1
- package/dist/projection/experimental/common/invlatiso.js +1 -1
- package/dist/projection/experimental/common/invlatiso.js.map +1 -1
- package/dist/projection/experimental/common/iqsfnz.js +1 -1
- package/dist/projection/experimental/common/iqsfnz.js.map +1 -1
- package/dist/projection/experimental/common/latiso.js +1 -1
- package/dist/projection/experimental/common/latiso.js.map +1 -1
- package/dist/projection/experimental/common/log1py.js +1 -1
- package/dist/projection/experimental/common/log1py.js.map +1 -1
- package/dist/projection/experimental/common/mlfn.js +1 -1
- package/dist/projection/experimental/common/mlfn.js.map +1 -1
- package/dist/projection/experimental/common/msfnz.js +1 -1
- package/dist/projection/experimental/common/msfnz.js.map +1 -1
- package/dist/projection/experimental/common/phi2z.js +1 -1
- package/dist/projection/experimental/common/phi2z.js.map +1 -1
- package/dist/projection/experimental/common/pj_enfn.js +1 -1
- package/dist/projection/experimental/common/pj_enfn.js.map +1 -1
- package/dist/projection/experimental/common/pj_inv_mlfn.js +1 -1
- package/dist/projection/experimental/common/pj_inv_mlfn.js.map +1 -1
- package/dist/projection/experimental/common/pj_mlfn.js +1 -1
- package/dist/projection/experimental/common/pj_mlfn.js.map +1 -1
- package/dist/projection/experimental/common/qsfnz.js +1 -1
- package/dist/projection/experimental/common/qsfnz.js.map +1 -1
- package/dist/projection/experimental/common/sign.js +1 -1
- package/dist/projection/experimental/common/sign.js.map +1 -1
- package/dist/projection/experimental/common/sinh.js +1 -1
- package/dist/projection/experimental/common/sinh.js.map +1 -1
- package/dist/projection/experimental/common/srat.js +1 -1
- package/dist/projection/experimental/common/srat.js.map +1 -1
- package/dist/projection/experimental/common/tsfnz.d.ts.map +1 -1
- package/dist/projection/experimental/common/tsfnz.js +6 -6
- package/dist/projection/experimental/common/tsfnz.js.map +1 -1
- package/dist/projection/experimental/common/vincenty.js +1 -1
- package/dist/projection/experimental/common/vincenty.js.map +1 -1
- package/dist/projection/experimental/crs/datum-table.js +1 -1
- package/dist/projection/experimental/crs/datum-table.js.map +1 -1
- package/dist/projection/experimental/crs/ellipsoid-table.js +1 -1
- package/dist/projection/experimental/crs/ellipsoid-table.js.map +1 -1
- package/dist/projection/experimental/crs/primemeridian-table.js +1 -1
- package/dist/projection/experimental/crs/primemeridian-table.js.map +1 -1
- package/dist/projection/experimental/crs/structured.js +1 -1
- package/dist/projection/experimental/crs/structured.js.map +1 -1
- package/dist/projection/experimental/crs/wkt.js +1 -1
- package/dist/projection/experimental/crs/wkt.js.map +1 -1
- package/dist/projection/experimental/datum.js +1 -1
- package/dist/projection/experimental/datum.js.map +1 -1
- package/dist/projection/experimental/ellipsoidal-gnomonic.d.ts +10 -0
- package/dist/projection/experimental/ellipsoidal-gnomonic.d.ts.map +1 -0
- package/dist/projection/experimental/ellipsoidal-gnomonic.js +59 -0
- package/dist/projection/experimental/ellipsoidal-gnomonic.js.map +1 -0
- package/dist/projection/experimental/entries/projections/aea.cjs +34 -27
- package/dist/projection/experimental/entries/projections/aea.cjs.map +2 -2
- package/dist/projection/experimental/entries/projections/aeqd.cjs +9 -9
- package/dist/projection/experimental/entries/projections/aeqd.cjs.map +3 -3
- package/dist/projection/experimental/entries/projections/bonne.cjs +1 -1
- package/dist/projection/experimental/entries/projections/bonne.cjs.map +1 -1
- package/dist/projection/experimental/entries/projections/cass.cjs +1 -1
- package/dist/projection/experimental/entries/projections/cass.cjs.map +1 -1
- package/dist/projection/experimental/entries/projections/eck6.cjs +5 -2
- package/dist/projection/experimental/entries/projections/eck6.cjs.map +1 -1
- package/dist/projection/experimental/entries/projections/eqdc.cjs +1 -1
- package/dist/projection/experimental/entries/projections/eqdc.cjs.map +1 -1
- package/dist/projection/experimental/entries/projections/eqearth.cjs +10 -1
- package/dist/projection/experimental/entries/projections/eqearth.cjs.map +1 -1
- package/dist/projection/experimental/entries/projections/equi.cjs +2 -0
- package/dist/projection/experimental/entries/projections/equi.cjs.map +1 -1
- package/dist/projection/experimental/entries/projections/gnom.cjs +1461 -4
- package/dist/projection/experimental/entries/projections/gnom.cjs.map +3 -3
- package/dist/projection/experimental/entries/projections/krovak.cjs +1 -1
- package/dist/projection/experimental/entries/projections/krovak.cjs.map +1 -1
- package/dist/projection/experimental/entries/projections/laea.cjs +82 -46
- package/dist/projection/experimental/entries/projections/laea.cjs.map +2 -2
- package/dist/projection/experimental/entries/projections/lcc.cjs +7 -12
- package/dist/projection/experimental/entries/projections/lcc.cjs.map +2 -2
- package/dist/projection/experimental/entries/projections/moll.cjs +46 -39
- package/dist/projection/experimental/entries/projections/moll.cjs.map +1 -1
- package/dist/projection/experimental/entries/projections/omerc.cjs +6 -8
- package/dist/projection/experimental/entries/projections/omerc.cjs.map +2 -2
- package/dist/projection/experimental/entries/projections/ortho.cjs +52 -106
- package/dist/projection/experimental/entries/projections/ortho.cjs.map +2 -2
- package/dist/projection/experimental/entries/projections/poly.cjs +83 -49
- package/dist/projection/experimental/entries/projections/poly.cjs.map +3 -3
- package/dist/projection/experimental/entries/projections/qsc.cjs +31 -50
- package/dist/projection/experimental/entries/projections/qsc.cjs.map +1 -1
- package/dist/projection/experimental/entries/projections/sinu.cjs +5 -2
- package/dist/projection/experimental/entries/projections/sinu.cjs.map +1 -1
- package/dist/projection/experimental/entries/projections/somerc.cjs +22 -29
- package/dist/projection/experimental/entries/projections/somerc.cjs.map +1 -1
- package/dist/projection/experimental/entries/projections/stere.cjs +19 -6
- package/dist/projection/experimental/entries/projections/stere.cjs.map +2 -2
- package/dist/projection/experimental/entries/projections/sterea.cjs +9 -1
- package/dist/projection/experimental/entries/projections/sterea.cjs.map +2 -2
- package/dist/projection/experimental/entries/projections/tpers.cjs.map +1 -1
- package/dist/projection/experimental/grids/geotiff.js +1 -1
- package/dist/projection/experimental/grids/geotiff.js.map +1 -1
- package/dist/projection/experimental/grids/ntv2.js +1 -1
- package/dist/projection/experimental/grids/ntv2.js.map +1 -1
- package/dist/projection/experimental/index.cjs +1870 -365
- package/dist/projection/experimental/index.cjs.map +3 -3
- package/dist/projection/experimental/inverse-spherical-latitude.d.ts +2 -0
- package/dist/projection/experimental/inverse-spherical-latitude.d.ts.map +1 -0
- package/dist/projection/experimental/inverse-spherical-latitude.js +11 -0
- package/dist/projection/experimental/inverse-spherical-latitude.js.map +1 -0
- package/dist/projection/experimental/kernels/aea.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/aea.js +11 -29
- package/dist/projection/experimental/kernels/aea.js.map +1 -1
- package/dist/projection/experimental/kernels/aeqd.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/aeqd.js +3 -3
- package/dist/projection/experimental/kernels/aeqd.js.map +1 -1
- package/dist/projection/experimental/kernels/bonne.js +1 -1
- package/dist/projection/experimental/kernels/bonne.js.map +1 -1
- package/dist/projection/experimental/kernels/cass.js +1 -1
- package/dist/projection/experimental/kernels/cass.js.map +1 -1
- package/dist/projection/experimental/kernels/cea.js +1 -1
- package/dist/projection/experimental/kernels/cea.js.map +1 -1
- package/dist/projection/experimental/kernels/eck6.js +1 -1
- package/dist/projection/experimental/kernels/eck6.js.map +1 -1
- package/dist/projection/experimental/kernels/eqdc.js +1 -1
- package/dist/projection/experimental/kernels/eqdc.js.map +1 -1
- package/dist/projection/experimental/kernels/eqearth.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/eqearth.js +13 -2
- package/dist/projection/experimental/kernels/eqearth.js.map +1 -1
- package/dist/projection/experimental/kernels/equi.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/equi.js +3 -1
- package/dist/projection/experimental/kernels/equi.js.map +1 -1
- package/dist/projection/experimental/kernels/etmerc.js +1 -1
- package/dist/projection/experimental/kernels/etmerc.js.map +1 -1
- package/dist/projection/experimental/kernels/gauss.js +1 -1
- package/dist/projection/experimental/kernels/gauss.js.map +1 -1
- package/dist/projection/experimental/kernels/geos.js +1 -1
- package/dist/projection/experimental/kernels/geos.js.map +1 -1
- package/dist/projection/experimental/kernels/gnom.d.ts +2 -0
- package/dist/projection/experimental/kernels/gnom.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/gnom.js +8 -1
- package/dist/projection/experimental/kernels/gnom.js.map +1 -1
- package/dist/projection/experimental/kernels/gstmerc.js +1 -1
- package/dist/projection/experimental/kernels/gstmerc.js.map +1 -1
- package/dist/projection/experimental/kernels/krovak.js +2 -2
- package/dist/projection/experimental/kernels/krovak.js.map +1 -1
- package/dist/projection/experimental/kernels/laea.d.ts +0 -1
- package/dist/projection/experimental/kernels/laea.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/laea.js +33 -15
- package/dist/projection/experimental/kernels/laea.js.map +1 -1
- package/dist/projection/experimental/kernels/lcc.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/lcc.js +2 -7
- package/dist/projection/experimental/kernels/lcc.js.map +1 -1
- package/dist/projection/experimental/kernels/mill.js +1 -1
- package/dist/projection/experimental/kernels/mill.js.map +1 -1
- package/dist/projection/experimental/kernels/moll.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/moll.js +65 -50
- package/dist/projection/experimental/kernels/moll.js.map +1 -1
- package/dist/projection/experimental/kernels/nzmg.js +1 -1
- package/dist/projection/experimental/kernels/nzmg.js.map +1 -1
- package/dist/projection/experimental/kernels/omerc.js +1 -1
- package/dist/projection/experimental/kernels/omerc.js.map +1 -1
- package/dist/projection/experimental/kernels/ortho.d.ts +6 -5
- package/dist/projection/experimental/kernels/ortho.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/ortho.js +35 -83
- package/dist/projection/experimental/kernels/ortho.js.map +1 -1
- package/dist/projection/experimental/kernels/poly.d.ts +2 -5
- package/dist/projection/experimental/kernels/poly.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/poly.js +83 -31
- package/dist/projection/experimental/kernels/poly.js.map +1 -1
- package/dist/projection/experimental/kernels/qsc.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/qsc.js +37 -52
- package/dist/projection/experimental/kernels/qsc.js.map +1 -1
- package/dist/projection/experimental/kernels/robin.js +1 -1
- package/dist/projection/experimental/kernels/robin.js.map +1 -1
- package/dist/projection/experimental/kernels/sinu.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/sinu.js +5 -2
- package/dist/projection/experimental/kernels/sinu.js.map +1 -1
- package/dist/projection/experimental/kernels/somerc.d.ts +2 -2
- package/dist/projection/experimental/kernels/somerc.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/somerc.js +35 -37
- package/dist/projection/experimental/kernels/somerc.js.map +1 -1
- package/dist/projection/experimental/kernels/stere.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/stere.js +15 -3
- package/dist/projection/experimental/kernels/stere.js.map +1 -1
- package/dist/projection/experimental/kernels/sterea.d.ts.map +1 -1
- package/dist/projection/experimental/kernels/sterea.js +4 -2
- package/dist/projection/experimental/kernels/sterea.js.map +1 -1
- package/dist/projection/experimental/kernels/tmerc.js +1 -1
- package/dist/projection/experimental/kernels/tmerc.js.map +1 -1
- package/dist/projection/experimental/kernels/tpers.js +1 -1
- package/dist/projection/experimental/kernels/tpers.js.map +1 -1
- package/dist/projection/experimental/kernels/vandg.js +1 -1
- package/dist/projection/experimental/kernels/vandg.js.map +1 -1
- package/dist/projection/experimental/kinematic-helmert.js +1 -1
- package/dist/projection/experimental/kinematic-helmert.js.map +1 -1
- package/dist/projection/experimental/projections/gnom.d.ts.map +1 -1
- package/dist/projection/experimental/projections/gnom.js +4 -2
- package/dist/projection/experimental/projections/gnom.js.map +1 -1
- package/dist/projection/experimental/projections/laea.js +3 -3
- package/dist/projection/experimental/projections/laea.js.map +1 -1
- package/dist/projection/experimental/projections/ortho.js +4 -4
- package/dist/projection/experimental/projections/ortho.js.map +1 -1
- package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.d.ts +7 -0
- package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.d.ts.map +1 -1
- package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.js +42 -2
- package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.js.map +1 -1
- package/dist/projection/index.cjs +1870 -365
- package/dist/projection/index.cjs.map +3 -3
- package/dist/rhumb-path.d.ts +28 -0
- package/dist/rhumb-path.d.ts.map +1 -0
- package/dist/rhumb-path.js +100 -0
- package/dist/rhumb-path.js.map +1 -0
- package/dist/rhumb-polygon.d.ts +11 -0
- package/dist/rhumb-polygon.d.ts.map +1 -0
- package/dist/rhumb-polygon.js +19 -0
- package/dist/rhumb-polygon.js.map +1 -0
- package/dist/subdivide-geodesic-polyline.d.ts +15 -0
- package/dist/subdivide-geodesic-polyline.d.ts.map +1 -0
- package/dist/subdivide-geodesic-polyline.js +52 -0
- package/dist/subdivide-geodesic-polyline.js.map +1 -0
- package/dist/subdivide-rhumb-polyline.d.ts +12 -0
- package/dist/subdivide-rhumb-polyline.d.ts.map +1 -0
- package/dist/subdivide-rhumb-polyline.js +82 -0
- package/dist/subdivide-rhumb-polyline.js.map +1 -0
- package/dist/triaxial/integrate.d.ts +2 -0
- package/dist/triaxial/integrate.d.ts.map +1 -0
- package/dist/triaxial/integrate.js +76 -0
- package/dist/triaxial/integrate.js.map +1 -0
- package/dist/triaxial.cjs +204 -0
- package/dist/triaxial.cjs.map +6 -0
- package/dist/triaxial.d.ts +38 -0
- package/dist/triaxial.d.ts.map +1 -0
- package/dist/triaxial.js +121 -0
- package/dist/triaxial.js.map +1 -0
- package/dist/vendor/geographiclib-geodesic/runtime.d.ts +9 -0
- package/dist/vendor/geographiclib-geodesic/runtime.d.ts.map +1 -0
- package/dist/vendor/geographiclib-geodesic/runtime.js +2244 -0
- package/dist/vendor/geographiclib-geodesic/runtime.js.map +1 -0
- package/dist/wkb/index.cjs +7 -2
- package/dist/wkb/index.cjs.map +1 -1
- package/dist/wkb/wkb-builder.d.ts.map +1 -1
- package/dist/wkb/wkb-builder.js +9 -2
- package/dist/wkb/wkb-builder.js.map +1 -1
- package/package.json +30 -6
- package/projection/THIRD-PARTY-NOTICES.md +58 -11
- package/src/constants.ts +1 -1
- package/src/discontinuous/AIR-OCEAN-LICENSE.txt +26 -0
- package/src/discontinuous/D3-LICENSE.txt +37 -0
- package/src/discontinuous/PETROFF-LICENSE.txt +55 -0
- package/src/discontinuous/PROJ-LICENSE.txt +34 -0
- package/src/discontinuous/air-ocean-mesh.ts +86 -0
- package/src/discontinuous/albers-usa.ts +181 -0
- package/src/discontinuous/cap-map.ts +406 -0
- package/src/discontinuous/elastic/README.md +20 -0
- package/src/discontinuous/elastic/UNLICENSE.txt +24 -0
- package/src/discontinuous/elastic/data.ts +86 -0
- package/src/discontinuous/elastic/elasticI.ts +5238 -0
- package/src/discontinuous/elastic/elasticII.ts +18167 -0
- package/src/discontinuous/elastic/elasticIII.ts +29571 -0
- package/src/discontinuous/elastic/geometry.ts +172 -0
- package/src/discontinuous/elastic/grid.ts +194 -0
- package/src/discontinuous/elastic/map.ts +317 -0
- package/src/discontinuous/gray-fuller.ts +38 -0
- package/src/discontinuous/gringorten-kernel.ts +160 -0
- package/src/discontinuous/healpix.ts +61 -0
- package/src/discontinuous/layout.ts +177 -0
- package/src/discontinuous/map-engine.ts +528 -0
- package/src/discontinuous/map-layout.ts +605 -0
- package/src/discontinuous/map-transition.ts +339 -0
- package/src/discontinuous/math.ts +67 -0
- package/src/discontinuous/mercator-map.ts +155 -0
- package/src/discontinuous/myriahedral/graticule.ts +40 -0
- package/src/discontinuous/myriahedral/mesh.ts +138 -0
- package/src/discontinuous/myriahedral/unfold.ts +208 -0
- package/src/discontinuous/myriahedral.ts +285 -0
- package/src/discontinuous/petroff.ts +178 -0
- package/src/discontinuous/polyhedral.ts +138 -0
- package/src/discontinuous/prepare-features.ts +239 -0
- package/src/discontinuous/presets.ts +450 -0
- package/src/discontinuous/projection-catalog.ts +132 -0
- package/src/discontinuous/quincuncial-kernel.ts +173 -0
- package/src/discontinuous/quincuncial-star.ts +328 -0
- package/src/discontinuous/regional-map.ts +228 -0
- package/src/discontinuous/retroazimuthal-map.ts +52 -0
- package/src/discontinuous/rotated-map.ts +86 -0
- package/src/discontinuous/snyder-mesh.ts +88 -0
- package/src/discontinuous/snyder.ts +171 -0
- package/src/discontinuous/spherical-clip/D3-GEO-LICENSE.txt +34 -0
- package/src/discontinuous/spherical-clip/README.md +16 -0
- package/src/discontinuous/spherical-clip/cartesian.js +43 -0
- package/src/discontinuous/spherical-clip/circle.js +35 -0
- package/src/discontinuous/spherical-clip/clip-buffer.js +29 -0
- package/src/discontinuous/spherical-clip/clip-circle.js +197 -0
- package/src/discontinuous/spherical-clip/clip-index.js +140 -0
- package/src/discontinuous/spherical-clip/clip-rejoin.js +111 -0
- package/src/discontinuous/spherical-clip/helpers.js +20 -0
- package/src/discontinuous/spherical-clip/math.js +45 -0
- package/src/discontinuous/spherical-clip/noop.js +6 -0
- package/src/discontinuous/spherical-clip/pointEqual.js +10 -0
- package/src/discontinuous/spherical-clip/polygonContains.js +96 -0
- package/src/discontinuous/world-composite-kernels.ts +30 -0
- package/src/discontinuous/world-kernels/INTEGRATE-LICENSE.txt +21 -0
- package/src/discontinuous/world-kernels/README.md +24 -0
- package/src/discontinuous/world-kernels/airy.js +43 -0
- package/src/discontinuous/world-kernels/aitoff.js +48 -0
- package/src/discontinuous/world-kernels/armadillo.js +51 -0
- package/src/discontinuous/world-kernels/august.js +36 -0
- package/src/discontinuous/world-kernels/baker.js +50 -0
- package/src/discontinuous/world-kernels/bertin.js +41 -0
- package/src/discontinuous/world-kernels/boggs.js +32 -0
- package/src/discontinuous/world-kernels/bonne.js +27 -0
- package/src/discontinuous/world-kernels/bottomley.js +25 -0
- package/src/discontinuous/world-kernels/bromley.js +10 -0
- package/src/discontinuous/world-kernels/chamberlin.js +97 -0
- package/src/discontinuous/world-kernels/collignon.js +17 -0
- package/src/discontinuous/world-kernels/craig.js +33 -0
- package/src/discontinuous/world-kernels/craster.js +18 -0
- package/src/discontinuous/world-kernels/cylindricalEqualArea.js +21 -0
- package/src/discontinuous/world-kernels/cylindricalStereographic.js +21 -0
- package/src/discontinuous/world-kernels/d3-geo-raw.js +26 -0
- package/src/discontinuous/world-kernels/eckert1.js +18 -0
- package/src/discontinuous/world-kernels/eckert2.js +17 -0
- package/src/discontinuous/world-kernels/eckert3.js +17 -0
- package/src/discontinuous/world-kernels/eckert4.js +24 -0
- package/src/discontinuous/world-kernels/eckert5.js +17 -0
- package/src/discontinuous/world-kernels/eckert6.js +22 -0
- package/src/discontinuous/world-kernels/eisenlohr.js +88 -0
- package/src/discontinuous/world-kernels/fahey.js +19 -0
- package/src/discontinuous/world-kernels/foucaut.js +20 -0
- package/src/discontinuous/world-kernels/foucautSinusoidal.js +38 -0
- package/src/discontinuous/world-kernels/ginzburg4.js +17 -0
- package/src/discontinuous/world-kernels/ginzburg5.js +17 -0
- package/src/discontinuous/world-kernels/ginzburg6.js +19 -0
- package/src/discontinuous/world-kernels/ginzburg8.js +34 -0
- package/src/discontinuous/world-kernels/ginzburg9.js +17 -0
- package/src/discontinuous/world-kernels/ginzburgPolyconic.js +64 -0
- package/src/discontinuous/world-kernels/hammer.js +37 -0
- package/src/discontinuous/world-kernels/hammerRetroazimuthal.js +63 -0
- package/src/discontinuous/world-kernels/hill.js +57 -0
- package/src/discontinuous/world-kernels/homolosine.js +24 -0
- package/src/discontinuous/world-kernels/hufnagel.js +68 -0
- package/src/discontinuous/world-kernels/hyperelliptical.js +56 -0
- package/src/discontinuous/world-kernels/integrate.js +99 -0
- package/src/discontinuous/world-kernels/kavrayskiy7.js +15 -0
- package/src/discontinuous/world-kernels/lagrange.js +32 -0
- package/src/discontinuous/world-kernels/larrivee.js +43 -0
- package/src/discontinuous/world-kernels/laskowski.js +50 -0
- package/src/discontinuous/world-kernels/littrow.js +19 -0
- package/src/discontinuous/world-kernels/loximuthal.js +38 -0
- package/src/discontinuous/world-kernels/math.js +98 -0
- package/src/discontinuous/world-kernels/miller.js +15 -0
- package/src/discontinuous/world-kernels/modifiedStereographic.js +112 -0
- package/src/discontinuous/world-kernels/mollweide.js +30 -0
- package/src/discontinuous/world-kernels/mtFlatPolarParabolic.js +23 -0
- package/src/discontinuous/world-kernels/mtFlatPolarQuartic.js +29 -0
- package/src/discontinuous/world-kernels/mtFlatPolarSinusoidal.js +25 -0
- package/src/discontinuous/world-kernels/naturalEarth2.js +46 -0
- package/src/discontinuous/world-kernels/nellHammer.js +20 -0
- package/src/discontinuous/world-kernels/newton.js +77 -0
- package/src/discontinuous/world-kernels/nicolosi.js +60 -0
- package/src/discontinuous/world-kernels/patterson.js +45 -0
- package/src/discontinuous/world-kernels/polyconic.js +36 -0
- package/src/discontinuous/world-kernels/rectangularPolyconic.js +41 -0
- package/src/discontinuous/world-kernels/robinson.js +88 -0
- package/src/discontinuous/world-kernels/satellite.js +44 -0
- package/src/discontinuous/world-kernels/sinuMollweide.js +24 -0
- package/src/discontinuous/world-kernels/sinusoidal.js +15 -0
- package/src/discontinuous/world-kernels/times.js +19 -0
- package/src/discontinuous/world-kernels/twoPointEquidistant.js +41 -0
- package/src/discontinuous/world-kernels/vanDerGrinten.js +48 -0
- package/src/discontinuous/world-kernels/vanDerGrinten2.js +32 -0
- package/src/discontinuous/world-kernels/vanDerGrinten3.js +24 -0
- package/src/discontinuous/world-kernels/vanDerGrinten4.js +70 -0
- package/src/discontinuous/world-kernels/wagner.js +61 -0
- package/src/discontinuous/world-kernels/wagner4.js +13 -0
- package/src/discontinuous/world-kernels/wagner6.js +15 -0
- package/src/discontinuous/world-kernels/wiechel.js +25 -0
- package/src/discontinuous/world-kernels/winkel3.js +45 -0
- package/src/discontinuous/world-kernels.ts +249 -0
- package/src/discontinuous/world-map.ts +257 -0
- package/src/discontinuous.ts +134 -0
- package/src/elastic.ts +7 -0
- package/src/ellipsoid-geodesic.ts +159 -0
- package/src/ellipsoid-helpers/ellipsoid-transform.ts +17 -5
- package/src/ellipsoid-helpers/exact-nearest-surface.ts +118 -0
- package/src/ellipsoid-helpers/intersection-bounds.ts +85 -0
- package/src/ellipsoid-helpers/nearest-surface.ts +157 -0
- package/src/ellipsoid-helpers/rhumb-pole-distance.ts +76 -0
- package/src/ellipsoid-helpers/scale-to-geodetic-surface.ts +14 -107
- package/src/ellipsoid-helpers/surface-polygon.ts +210 -0
- package/src/ellipsoid-helpers/tangent-plane-numerics.ts +124 -0
- package/src/ellipsoid-metrics.ts +225 -0
- package/src/ellipsoid-rhumb.ts +404 -0
- package/src/ellipsoid-tangent-plane.ts +232 -36
- package/src/ellipsoid-transforms.ts +61 -0
- package/src/ellipsoid.ts +210 -126
- package/src/entries/ellipsoid.ts +36 -0
- package/src/expressions.ts +2 -1
- package/src/geoarrow/codecs.ts +3 -9
- package/src/geoarrow/index.ts +3 -1
- package/src/geoarrow/types.ts +40 -0
- package/src/geodesic-exact/area.ts +70 -0
- package/src/geodesic-exact/inverse-engine.ts +166 -0
- package/src/geodesic-exact/polygon.ts +36 -0
- package/src/geodesic-exact/quadrature.ts +60 -0
- package/src/geodesic-exact.ts +290 -0
- package/src/geodesic-intersections.ts +598 -0
- package/src/geodesic-path.ts +128 -0
- package/src/geodesic-polygon.ts +19 -0
- package/src/geographic-seams/edge.ts +406 -0
- package/src/geographic-seams/polygon.ts +478 -0
- package/src/geographic-seams/types.ts +67 -0
- package/src/geographic-seams.ts +81 -0
- package/src/globe.ts +17 -0
- package/src/lng-lat-rectangle.ts +1 -1
- package/src/local-reference-frame.ts +320 -0
- package/src/make-obb-from-region.ts +1 -1
- package/src/projection/experimental/authalic-latitude.ts +49 -0
- package/src/projection/experimental/common/adjust_lat.ts +2 -2
- package/src/projection/experimental/common/adjust_lon.ts +1 -1
- package/src/projection/experimental/common/asinhy.ts +1 -1
- package/src/projection/experimental/common/asinz.ts +1 -1
- package/src/projection/experimental/common/authlat.ts +1 -1
- package/src/projection/experimental/common/authset.ts +1 -1
- package/src/projection/experimental/common/clens.ts +1 -1
- package/src/projection/experimental/common/clens_cmplx.ts +1 -1
- package/src/projection/experimental/common/constants.ts +1 -1
- package/src/projection/experimental/common/cosh.ts +1 -1
- package/src/projection/experimental/common/e0fn.ts +1 -1
- package/src/projection/experimental/common/e1fn.ts +1 -1
- package/src/projection/experimental/common/e2fn.ts +1 -1
- package/src/projection/experimental/common/e3fn.ts +1 -1
- package/src/projection/experimental/common/fL.ts +1 -1
- package/src/projection/experimental/common/gN.ts +1 -1
- package/src/projection/experimental/common/gatg.ts +1 -1
- package/src/projection/experimental/common/hypot.ts +1 -1
- package/src/projection/experimental/common/imlfn.ts +1 -1
- package/src/projection/experimental/common/invlatiso.ts +1 -1
- package/src/projection/experimental/common/iqsfnz.ts +1 -1
- package/src/projection/experimental/common/latiso.ts +1 -1
- package/src/projection/experimental/common/log1py.ts +1 -1
- package/src/projection/experimental/common/mlfn.ts +1 -1
- package/src/projection/experimental/common/msfnz.ts +1 -1
- package/src/projection/experimental/common/phi2z.ts +1 -1
- package/src/projection/experimental/common/pj_enfn.ts +1 -1
- package/src/projection/experimental/common/pj_inv_mlfn.ts +1 -1
- package/src/projection/experimental/common/pj_mlfn.ts +1 -1
- package/src/projection/experimental/common/qsfnz.ts +1 -1
- package/src/projection/experimental/common/sign.ts +1 -1
- package/src/projection/experimental/common/sinh.ts +1 -1
- package/src/projection/experimental/common/srat.ts +1 -1
- package/src/projection/experimental/common/tsfnz.ts +8 -7
- package/src/projection/experimental/common/vincenty.ts +1 -1
- package/src/projection/experimental/crs/datum-table.ts +1 -1
- package/src/projection/experimental/crs/ellipsoid-table.ts +1 -1
- package/src/projection/experimental/crs/primemeridian-table.ts +1 -1
- package/src/projection/experimental/crs/structured.ts +1 -1
- package/src/projection/experimental/crs/wkt.ts +1 -1
- package/src/projection/experimental/datum.ts +1 -1
- package/src/projection/experimental/ellipsoidal-gnomonic.ts +83 -0
- package/src/projection/experimental/exact-helmert.ts +1 -1
- package/src/projection/experimental/grids/geotiff.ts +1 -1
- package/src/projection/experimental/grids/grid.ts +1 -1
- package/src/projection/experimental/grids/ntv2.ts +1 -1
- package/src/projection/experimental/helmert-flat.ts +1 -1
- package/src/projection/experimental/inverse-spherical-latitude.ts +19 -0
- package/src/projection/experimental/kernels/aea.ts +10 -31
- package/src/projection/experimental/kernels/aeqd.ts +3 -3
- package/src/projection/experimental/kernels/bonne.ts +1 -1
- package/src/projection/experimental/kernels/cass.ts +1 -1
- package/src/projection/experimental/kernels/cea.ts +1 -1
- package/src/projection/experimental/kernels/eck6.ts +1 -1
- package/src/projection/experimental/kernels/eqdc.ts +1 -1
- package/src/projection/experimental/kernels/eqearth.ts +12 -2
- package/src/projection/experimental/kernels/equi.ts +3 -1
- package/src/projection/experimental/kernels/etmerc.ts +1 -1
- package/src/projection/experimental/kernels/gauss.ts +1 -1
- package/src/projection/experimental/kernels/geos.ts +1 -1
- package/src/projection/experimental/kernels/gnom.ts +11 -1
- package/src/projection/experimental/kernels/gstmerc.ts +1 -1
- package/src/projection/experimental/kernels/krovak.ts +2 -2
- package/src/projection/experimental/kernels/laea.ts +39 -16
- package/src/projection/experimental/kernels/lcc.ts +2 -8
- package/src/projection/experimental/kernels/mill.ts +1 -1
- package/src/projection/experimental/kernels/moll.ts +62 -58
- package/src/projection/experimental/kernels/nzmg.ts +1 -1
- package/src/projection/experimental/kernels/omerc.ts +1 -1
- package/src/projection/experimental/kernels/ortho.ts +38 -92
- package/src/projection/experimental/kernels/poly.ts +97 -36
- package/src/projection/experimental/kernels/qsc.ts +40 -50
- package/src/projection/experimental/kernels/robin.ts +1 -1
- package/src/projection/experimental/kernels/sinu.ts +4 -2
- package/src/projection/experimental/kernels/somerc.ts +45 -55
- package/src/projection/experimental/kernels/stere.ts +31 -3
- package/src/projection/experimental/kernels/sterea.ts +4 -2
- package/src/projection/experimental/kernels/tmerc.ts +1 -1
- package/src/projection/experimental/kernels/tpers.ts +1 -1
- package/src/projection/experimental/kernels/vandg.ts +1 -1
- package/src/projection/experimental/kinematic-helmert-flat.ts +1 -1
- package/src/projection/experimental/kinematic-helmert.ts +1 -1
- package/src/projection/experimental/projection-pipeline.ts +1 -1
- package/src/projection/experimental/projections/gnom.ts +22 -5
- package/src/projection/experimental/projections/laea.ts +3 -3
- package/src/projection/experimental/projections/ob-tran.ts +1 -1
- package/src/projection/experimental/projections/ortho.ts +4 -4
- package/src/projection/experimental/rendering-profile/azimuthal-rendering-bounds.ts +72 -2
- package/src/rhumb-path.ts +128 -0
- package/src/rhumb-polygon.ts +24 -0
- package/src/subdivide-geodesic-polyline.ts +74 -0
- package/src/subdivide-rhumb-polyline.ts +108 -0
- package/src/triaxial/integrate.ts +82 -0
- package/src/triaxial.ts +172 -0
- package/src/type-utils.ts +1 -1
- package/src/vendor/geographiclib-geodesic/README.md +21 -0
- package/src/vendor/geographiclib-geodesic/runtime.js +2338 -0
- package/src/wkb/wkb-builder.ts +11 -2
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2010-2024 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo 3.1.1; see ./D3-GEO-LICENSE.txt.
|
|
5
|
+
|
|
6
|
+
import {Adder} from './helpers.js';
|
|
7
|
+
import {cartesian, cartesianCross, cartesianNormalizeInPlace} from './cartesian.js';
|
|
8
|
+
import {
|
|
9
|
+
abs,
|
|
10
|
+
asin,
|
|
11
|
+
atan2,
|
|
12
|
+
cos,
|
|
13
|
+
epsilon,
|
|
14
|
+
epsilon2,
|
|
15
|
+
halfPi,
|
|
16
|
+
pi,
|
|
17
|
+
quarterPi,
|
|
18
|
+
sign,
|
|
19
|
+
sin,
|
|
20
|
+
tau
|
|
21
|
+
} from './math.js';
|
|
22
|
+
|
|
23
|
+
function longitude(point) {
|
|
24
|
+
return abs(point[0]) <= pi ? point[0] : sign(point[0]) * (((abs(point[0]) + pi) % tau) - pi);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export default function (polygon, point) {
|
|
28
|
+
var lambda = longitude(point),
|
|
29
|
+
phi = point[1],
|
|
30
|
+
sinPhi = sin(phi),
|
|
31
|
+
normal = [sin(lambda), -cos(lambda), 0],
|
|
32
|
+
angle = 0,
|
|
33
|
+
winding = 0;
|
|
34
|
+
|
|
35
|
+
var sum = new Adder();
|
|
36
|
+
|
|
37
|
+
if (sinPhi === 1) phi = halfPi + epsilon;
|
|
38
|
+
else if (sinPhi === -1) phi = -halfPi - epsilon;
|
|
39
|
+
|
|
40
|
+
for (var i = 0, n = polygon.length; i < n; ++i) {
|
|
41
|
+
if (!(m = (ring = polygon[i]).length)) continue;
|
|
42
|
+
var ring,
|
|
43
|
+
m,
|
|
44
|
+
point0 = ring[m - 1],
|
|
45
|
+
lambda0 = longitude(point0),
|
|
46
|
+
phi0 = point0[1] / 2 + quarterPi,
|
|
47
|
+
sinPhi0 = sin(phi0),
|
|
48
|
+
cosPhi0 = cos(phi0);
|
|
49
|
+
|
|
50
|
+
for (
|
|
51
|
+
var j = 0;
|
|
52
|
+
j < m;
|
|
53
|
+
++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1
|
|
54
|
+
) {
|
|
55
|
+
var point1 = ring[j],
|
|
56
|
+
lambda1 = longitude(point1),
|
|
57
|
+
phi1 = point1[1] / 2 + quarterPi,
|
|
58
|
+
sinPhi1 = sin(phi1),
|
|
59
|
+
cosPhi1 = cos(phi1),
|
|
60
|
+
delta = lambda1 - lambda0,
|
|
61
|
+
sign = delta >= 0 ? 1 : -1,
|
|
62
|
+
absDelta = sign * delta,
|
|
63
|
+
antimeridian = absDelta > pi,
|
|
64
|
+
k = sinPhi0 * sinPhi1;
|
|
65
|
+
|
|
66
|
+
sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));
|
|
67
|
+
angle += antimeridian ? delta + sign * tau : delta;
|
|
68
|
+
|
|
69
|
+
// Are the longitudes either side of the point’s meridian (lambda),
|
|
70
|
+
// and are the latitudes smaller than the parallel (phi)?
|
|
71
|
+
if (antimeridian ^ (lambda0 >= lambda) ^ (lambda1 >= lambda)) {
|
|
72
|
+
var arc = cartesianCross(cartesian(point0), cartesian(point1));
|
|
73
|
+
cartesianNormalizeInPlace(arc);
|
|
74
|
+
var intersection = cartesianCross(normal, arc);
|
|
75
|
+
cartesianNormalizeInPlace(intersection);
|
|
76
|
+
var phiArc = (antimeridian ^ (delta >= 0) ? -1 : 1) * asin(intersection[2]);
|
|
77
|
+
if (phi > phiArc || (phi === phiArc && (arc[0] || arc[1]))) {
|
|
78
|
+
winding += antimeridian ^ (delta >= 0) ? 1 : -1;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// First, determine whether the South pole is inside or outside:
|
|
85
|
+
//
|
|
86
|
+
// It is inside if:
|
|
87
|
+
// * the polygon winds around it in a clockwise direction.
|
|
88
|
+
// * the polygon does not (cumulatively) wind around it, but has a negative
|
|
89
|
+
// (counter-clockwise) area.
|
|
90
|
+
//
|
|
91
|
+
// Second, count the (signed) number of times a segment crosses a lambda
|
|
92
|
+
// from the point to the South pole. If it is zero, then the point is the
|
|
93
|
+
// same side as the South pole.
|
|
94
|
+
|
|
95
|
+
return (angle < -epsilon || (angle < epsilon && sum < -epsilon2)) ^ (winding & 1);
|
|
96
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import {gringortenRaw} from './gringorten-kernel';
|
|
6
|
+
|
|
7
|
+
/** Gilbert's two-world transform followed by an orthographic hemisphere. */
|
|
8
|
+
export function gilbertRaw(lambda: number, phi: number): number[] {
|
|
9
|
+
const y = Math.tan(phi / 2);
|
|
10
|
+
return [Math.sqrt(Math.max(0, 1 - y * y)) * Math.sin(lambda / 2), y];
|
|
11
|
+
}
|
|
12
|
+
gilbertRaw.invert = (x: number, y: number): number[] => [
|
|
13
|
+
2 * Math.asin(Math.max(-1, Math.min(1, x / Math.sqrt(Math.max(0, 1 - y * y))))),
|
|
14
|
+
2 * Math.atan(y)
|
|
15
|
+
];
|
|
16
|
+
|
|
17
|
+
/** Place the two Gringorten hemisphere squares side by side. */
|
|
18
|
+
export function rectangularGringortenRaw(lambda: number, phi: number): number[] {
|
|
19
|
+
const side = lambda > 0 ? 1 : -1;
|
|
20
|
+
const point = gringortenRaw(lambda - (side * Math.PI) / 2, phi);
|
|
21
|
+
return [point[0] + side, point[1]];
|
|
22
|
+
}
|
|
23
|
+
rectangularGringortenRaw.invert = (x: number, y: number): number[] => {
|
|
24
|
+
const side = x > 0 ? 1 : -1;
|
|
25
|
+
const point = gringortenRaw.invert(x - side, y);
|
|
26
|
+
let lambda = point[0] + (side * Math.PI) / 2;
|
|
27
|
+
if (lambda > Math.PI) lambda -= 2 * Math.PI;
|
|
28
|
+
if (lambda < -Math.PI) lambda += 2 * Math.PI;
|
|
29
|
+
return [lambda, point[1]];
|
|
30
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2015 Ricky Reusser
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# World and regional projection kernels
|
|
2
|
+
|
|
3
|
+
Numeric kernels adapted from [d3-geo-projection 4.0.0](https://github.com/d3/d3-geo-projection/tree/v4.0.0/src),
|
|
4
|
+
by Mike Bostock and the D3 contributors, under the adjacent [ISC license](../D3-LICENSE.txt).
|
|
5
|
+
Each JavaScript file matches its upstream source filename except `d3-geo-raw.js`,
|
|
6
|
+
which is an independent spherical Lambert azimuthal equal-area formula used by Hammer.
|
|
7
|
+
|
|
8
|
+
Changes: display factories, D3 imports, and unused imports removed; shared numeric
|
|
9
|
+
epsilon tightened to 1e-12 for chart boundary sampling; Newton finite-difference
|
|
10
|
+
steps retained at 1e-6 independently of convergence tolerance. MapEngine supplies
|
|
11
|
+
chart-local clipping, bounded inverse fallback, source coordinates and layout. Regional factories also retain named coefficient tables.
|
|
12
|
+
Armadillo uses explicit domain clipping in place of the displaced hidden-y sentinel;
|
|
13
|
+
Hammer retroazimuthal adds a center inverse limit and chart-side branch handling.
|
|
14
|
+
No D3 runtime dependency is added. The projection formulas retain their historical
|
|
15
|
+
names; attribution to D3 concerns this implementation, not invention of the maps.
|
|
16
|
+
|
|
17
|
+
`integrate.js` retains the upstream adaptive Simpson integration attribution to
|
|
18
|
+
[scijs/integrate-adaptive-simpson](https://github.com/scijs/integrate-adaptive-simpson),
|
|
19
|
+
Copyright 2015 Ricky Reusser, under the retained [MIT license](./INTEGRATE-LICENSE.txt).
|
|
20
|
+
|
|
21
|
+
Independent numeric fixtures are generated by
|
|
22
|
+
`modules/geospatial/test/discontinuous/generate-world-reference.mjs` from a separate
|
|
23
|
+
installation of the pinned upstream package. Tests compare forward coordinates,
|
|
24
|
+
check chart-local inverse round trips, and exercise seam/pole geometry separately.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
|
|
6
|
+
import {abs, asin, atan2, cos, epsilon, log, sin, sqrt, tan} from './math.js';
|
|
7
|
+
|
|
8
|
+
export function airyRaw(beta) {
|
|
9
|
+
var tanBeta_2 = tan(beta / 2),
|
|
10
|
+
b = (2 * log(cos(beta / 2))) / (tanBeta_2 * tanBeta_2);
|
|
11
|
+
|
|
12
|
+
function forward(x, y) {
|
|
13
|
+
var cosx = cos(x),
|
|
14
|
+
cosy = cos(y),
|
|
15
|
+
siny = sin(y),
|
|
16
|
+
cosz = cosy * cosx,
|
|
17
|
+
k = -((1 - cosz ? log((1 + cosz) / 2) / (1 - cosz) : -0.5) + b / (1 + cosz));
|
|
18
|
+
return [k * cosy * sin(x), k * siny];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
forward.invert = function (x, y) {
|
|
22
|
+
var r = sqrt(x * x + y * y),
|
|
23
|
+
z = -beta / 2,
|
|
24
|
+
i = 50,
|
|
25
|
+
delta;
|
|
26
|
+
if (!r) return [0, 0];
|
|
27
|
+
do {
|
|
28
|
+
var z_2 = z / 2,
|
|
29
|
+
cosz_2 = cos(z_2),
|
|
30
|
+
sinz_2 = sin(z_2),
|
|
31
|
+
tanz_2 = sinz_2 / cosz_2,
|
|
32
|
+
lnsecz_2 = -log(abs(cosz_2));
|
|
33
|
+
z -= delta =
|
|
34
|
+
(((2 / tanz_2) * lnsecz_2 - b * tanz_2 - r) /
|
|
35
|
+
(-lnsecz_2 / (sinz_2 * sinz_2) + 1 - b / (2 * cosz_2 * cosz_2))) *
|
|
36
|
+
(cosz_2 < 0 ? 0.7 : 1);
|
|
37
|
+
} while (abs(delta) > epsilon && --i > 0);
|
|
38
|
+
var sinz = sin(z);
|
|
39
|
+
return [atan2(x * sinz, r * cos(z)), asin((y * sinz) / r)];
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return forward;
|
|
43
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
// Display factories removed; numeric kernel retained for MapEngine.
|
|
6
|
+
|
|
7
|
+
import {abs, acos, cos, epsilon, pi, sin, sinci, sqrt} from './math.js';
|
|
8
|
+
|
|
9
|
+
export function aitoffRaw(x, y) {
|
|
10
|
+
var cosy = cos(y),
|
|
11
|
+
sincia = sinci(acos(cosy * cos((x /= 2))));
|
|
12
|
+
return [2 * cosy * sin(x) * sincia, sin(y) * sincia];
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Abort if [x, y] is not within an ellipse centered at [0, 0] with
|
|
16
|
+
// semi-major axis pi and semi-minor axis pi/2.
|
|
17
|
+
aitoffRaw.invert = function (x, y) {
|
|
18
|
+
if (x * x + 4 * y * y > pi * pi + epsilon) return;
|
|
19
|
+
var x1 = x,
|
|
20
|
+
y1 = y,
|
|
21
|
+
i = 25;
|
|
22
|
+
do {
|
|
23
|
+
var sinx = sin(x1),
|
|
24
|
+
sinx_2 = sin(x1 / 2),
|
|
25
|
+
cosx_2 = cos(x1 / 2),
|
|
26
|
+
siny = sin(y1),
|
|
27
|
+
cosy = cos(y1),
|
|
28
|
+
sin_2y = sin(2 * y1),
|
|
29
|
+
sin2y = siny * siny,
|
|
30
|
+
cos2y = cosy * cosy,
|
|
31
|
+
sin2x_2 = sinx_2 * sinx_2,
|
|
32
|
+
c = 1 - cos2y * cosx_2 * cosx_2,
|
|
33
|
+
e = c ? acos(cosy * cosx_2) * sqrt((f = 1 / c)) : (f = 0),
|
|
34
|
+
f,
|
|
35
|
+
fx = 2 * e * cosy * sinx_2 - x,
|
|
36
|
+
fy = e * siny - y,
|
|
37
|
+
dxdx = f * (cos2y * sin2x_2 + e * cosy * cosx_2 * sin2y),
|
|
38
|
+
dxdy = f * (0.5 * sinx * sin_2y - e * 2 * siny * sinx_2),
|
|
39
|
+
dydx = f * 0.25 * (sin_2y * sinx_2 - e * siny * cos2y * sinx),
|
|
40
|
+
dydy = f * (sin2y * cosx_2 + e * sin2x_2 * cosy),
|
|
41
|
+
z = dxdy * dydx - dydy * dxdx;
|
|
42
|
+
if (!z) break;
|
|
43
|
+
var dx = (fy * dxdy - fx * dydy) / z,
|
|
44
|
+
dy = (fx * dydx - fy * dxdx) / z;
|
|
45
|
+
(x1 -= dx), (y1 -= dy);
|
|
46
|
+
} while ((abs(dx) > epsilon || abs(dy) > epsilon) && --i > 0);
|
|
47
|
+
return [x1, y1];
|
|
48
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
// Domain clipping replaces the upstream out-of-domain y displacement.
|
|
6
|
+
|
|
7
|
+
import {abs, atan2, cos, epsilon, sin, tan} from './math.js';
|
|
8
|
+
|
|
9
|
+
export function armadilloRaw(phi0) {
|
|
10
|
+
var sinPhi0 = sin(phi0),
|
|
11
|
+
cosPhi0 = cos(phi0),
|
|
12
|
+
sPhi0 = phi0 >= 0 ? 1 : -1,
|
|
13
|
+
tanPhi0 = tan(sPhi0 * phi0),
|
|
14
|
+
k = (1 + sinPhi0 - cosPhi0) / 2;
|
|
15
|
+
|
|
16
|
+
function forward(lambda, phi) {
|
|
17
|
+
var cosPhi = cos(phi),
|
|
18
|
+
cosLambda = cos((lambda /= 2));
|
|
19
|
+
return [
|
|
20
|
+
(1 + cosPhi) * sin(lambda),
|
|
21
|
+
k + sin(phi) * cosPhi0 - (1 + cosPhi) * sinPhi0 * cosLambda // TODO D3 core should allow null or [NaN, NaN] to be returned.
|
|
22
|
+
];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
forward.invert = function (x, y) {
|
|
26
|
+
var lambda = 0,
|
|
27
|
+
phi = 0,
|
|
28
|
+
i = 50;
|
|
29
|
+
do {
|
|
30
|
+
var cosLambda = cos(lambda),
|
|
31
|
+
sinLambda = sin(lambda),
|
|
32
|
+
cosPhi = cos(phi),
|
|
33
|
+
sinPhi = sin(phi),
|
|
34
|
+
A = 1 + cosPhi,
|
|
35
|
+
fx = A * sinLambda - x,
|
|
36
|
+
fy = k + sinPhi * cosPhi0 - A * sinPhi0 * cosLambda - y,
|
|
37
|
+
dxdLambda = (A * cosLambda) / 2,
|
|
38
|
+
dxdPhi = -sinLambda * sinPhi,
|
|
39
|
+
dydLambda = (sinPhi0 * A * sinLambda) / 2,
|
|
40
|
+
dydPhi = cosPhi0 * cosPhi + sinPhi0 * cosLambda * sinPhi,
|
|
41
|
+
denominator = dxdPhi * dydLambda - dydPhi * dxdLambda,
|
|
42
|
+
dLambda = (fy * dxdPhi - fx * dydPhi) / denominator / 2,
|
|
43
|
+
dPhi = (fx * dydLambda - fy * dxdLambda) / denominator;
|
|
44
|
+
if (abs(dPhi) > 2) dPhi /= 2;
|
|
45
|
+
(lambda -= dLambda), (phi -= dPhi);
|
|
46
|
+
} while ((abs(dLambda) > epsilon || abs(dPhi) > epsilon) && --i > 0);
|
|
47
|
+
return sPhi0 * phi > -atan2(cos(lambda), tanPhi0) - 1e-3 ? [lambda * 2, phi] : null;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
return forward;
|
|
51
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
// Display factories removed; numeric kernel retained for MapEngine.
|
|
6
|
+
|
|
7
|
+
import {abs, arcosh, arsinh, asin, atan2, cos, cosh, sign, sin, sinh, sqrt, tan} from './math.js';
|
|
8
|
+
|
|
9
|
+
export function augustRaw(lambda, phi) {
|
|
10
|
+
var tanPhi = tan(phi / 2),
|
|
11
|
+
k = sqrt(1 - tanPhi * tanPhi),
|
|
12
|
+
c = 1 + k * cos((lambda /= 2)),
|
|
13
|
+
x = (sin(lambda) * k) / c,
|
|
14
|
+
y = tanPhi / c,
|
|
15
|
+
x2 = x * x,
|
|
16
|
+
y2 = y * y;
|
|
17
|
+
return [(4 / 3) * x * (3 + x2 - 3 * y2), (4 / 3) * y * (3 + 3 * x2 - y2)];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
augustRaw.invert = function (x, y) {
|
|
21
|
+
(x *= 3 / 8), (y *= 3 / 8);
|
|
22
|
+
if (!x && abs(y) > 1) return null;
|
|
23
|
+
var x2 = x * x,
|
|
24
|
+
y2 = y * y,
|
|
25
|
+
s = 1 + x2 + y2,
|
|
26
|
+
sin3Eta = sqrt((s - sqrt(s * s - 4 * y * y)) / 2),
|
|
27
|
+
eta = asin(sin3Eta) / 3,
|
|
28
|
+
xi = sin3Eta ? arcosh(abs(y / sin3Eta)) / 3 : arsinh(abs(x)) / 3,
|
|
29
|
+
cosEta = cos(eta),
|
|
30
|
+
coshXi = cosh(xi),
|
|
31
|
+
d = coshXi * coshXi - cosEta * cosEta;
|
|
32
|
+
return [
|
|
33
|
+
sign(x) * 2 * atan2(sinh(xi) * cosEta, 0.25 - d),
|
|
34
|
+
sign(y) * 2 * atan2(coshXi * sin(eta), 0.25 + d)
|
|
35
|
+
];
|
|
36
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
// Display factories removed; numeric kernel retained for MapEngine.
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
abs,
|
|
9
|
+
atan,
|
|
10
|
+
cos,
|
|
11
|
+
epsilon2,
|
|
12
|
+
exp,
|
|
13
|
+
halfPi,
|
|
14
|
+
log,
|
|
15
|
+
quarterPi,
|
|
16
|
+
sign,
|
|
17
|
+
sin,
|
|
18
|
+
sqrt,
|
|
19
|
+
sqrt2,
|
|
20
|
+
tan
|
|
21
|
+
} from './math.js';
|
|
22
|
+
|
|
23
|
+
var sqrt8 = sqrt(8),
|
|
24
|
+
phi0 = log(1 + sqrt2);
|
|
25
|
+
|
|
26
|
+
export function bakerRaw(lambda, phi) {
|
|
27
|
+
var phi0 = abs(phi);
|
|
28
|
+
return phi0 < quarterPi
|
|
29
|
+
? [lambda, log(tan(quarterPi + phi / 2))]
|
|
30
|
+
: [
|
|
31
|
+
lambda * cos(phi0) * (2 * sqrt2 - 1 / sin(phi0)),
|
|
32
|
+
sign(phi) * (2 * sqrt2 * (phi0 - quarterPi) - log(tan(phi0 / 2)))
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
bakerRaw.invert = function (x, y) {
|
|
37
|
+
if ((y0 = abs(y)) < phi0) return [x, 2 * atan(exp(y)) - halfPi];
|
|
38
|
+
var phi = quarterPi,
|
|
39
|
+
i = 25,
|
|
40
|
+
delta,
|
|
41
|
+
y0;
|
|
42
|
+
do {
|
|
43
|
+
var cosPhi_2 = cos(phi / 2),
|
|
44
|
+
tanPhi_2 = tan(phi / 2);
|
|
45
|
+
phi -= delta =
|
|
46
|
+
(sqrt8 * (phi - quarterPi) - log(tanPhi_2) - y0) /
|
|
47
|
+
(sqrt8 - (cosPhi_2 * cosPhi_2) / (2 * tanPhi_2));
|
|
48
|
+
} while (abs(delta) > epsilon2 && --i > 0);
|
|
49
|
+
return [x / (cos(phi) * (sqrt8 - 1 / sin(phi))), sign(y) * phi];
|
|
50
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
// Display factories removed; numeric kernel retained for MapEngine.
|
|
6
|
+
|
|
7
|
+
import {hammerRaw} from './hammer.js';
|
|
8
|
+
import {cos, pi, sin} from './math.js';
|
|
9
|
+
import {solve2d} from './newton.js';
|
|
10
|
+
|
|
11
|
+
// Bertin 1953 as a modified Briesemeister
|
|
12
|
+
// https://bl.ocks.org/Fil/5b9ee9636dfb6ffa53443c9006beb642
|
|
13
|
+
export function bertin1953Raw() {
|
|
14
|
+
var hammer = hammerRaw(1.68, 2),
|
|
15
|
+
fu = 1.4,
|
|
16
|
+
k = 12;
|
|
17
|
+
|
|
18
|
+
function forward(lambda, phi) {
|
|
19
|
+
if (lambda + phi < -fu) {
|
|
20
|
+
var u = ((lambda - phi + 1.6) * (lambda + phi + fu)) / 8;
|
|
21
|
+
lambda += u;
|
|
22
|
+
phi -= 0.8 * u * sin(phi + pi / 2);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var r = hammer(lambda, phi);
|
|
26
|
+
|
|
27
|
+
var d = (1 - cos(lambda * phi)) / k;
|
|
28
|
+
|
|
29
|
+
if (r[1] < 0) {
|
|
30
|
+
r[0] *= 1 + d;
|
|
31
|
+
}
|
|
32
|
+
if (r[1] > 0) {
|
|
33
|
+
r[1] *= 1 + (d / 1.5) * r[0] * r[0];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return r;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
forward.invert = solve2d(forward);
|
|
40
|
+
return forward;
|
|
41
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
// Display factories removed; numeric kernel retained for MapEngine.
|
|
6
|
+
|
|
7
|
+
import {mollweideBromleyTheta} from './mollweide.js';
|
|
8
|
+
import {abs, cos, epsilon, pi, quarterPi, sin, sqrt2} from './math.js';
|
|
9
|
+
|
|
10
|
+
var k = 2.00276,
|
|
11
|
+
w = 1.11072;
|
|
12
|
+
|
|
13
|
+
export function boggsRaw(lambda, phi) {
|
|
14
|
+
var theta = mollweideBromleyTheta(pi, phi);
|
|
15
|
+
return [(k * lambda) / (1 / cos(phi) + w / cos(theta)), (phi + sqrt2 * sin(theta)) / k];
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
boggsRaw.invert = function (x, y) {
|
|
19
|
+
var ky = k * y,
|
|
20
|
+
theta = y < 0 ? -quarterPi : quarterPi,
|
|
21
|
+
i = 25,
|
|
22
|
+
delta,
|
|
23
|
+
phi;
|
|
24
|
+
do {
|
|
25
|
+
phi = ky - sqrt2 * sin(theta);
|
|
26
|
+
theta -= delta =
|
|
27
|
+
(sin(2 * theta) + 2 * theta - pi * sin(phi)) /
|
|
28
|
+
(2 * cos(2 * theta) + 2 + pi * cos(phi) * sqrt2 * cos(theta));
|
|
29
|
+
} while (abs(delta) > epsilon && --i > 0);
|
|
30
|
+
phi = ky - sqrt2 * sin(theta);
|
|
31
|
+
return [(x * (1 / cos(phi) + w / cos(theta))) / k, phi];
|
|
32
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
// Display factories removed; numeric kernel retained for MapEngine.
|
|
6
|
+
|
|
7
|
+
import {atan2, cos, sin, sqrt, tan} from './math.js';
|
|
8
|
+
import {sinusoidalRaw} from './sinusoidal.js';
|
|
9
|
+
|
|
10
|
+
export function bonneRaw(phi0) {
|
|
11
|
+
if (!phi0) return sinusoidalRaw;
|
|
12
|
+
var cotPhi0 = 1 / tan(phi0);
|
|
13
|
+
|
|
14
|
+
function forward(lambda, phi) {
|
|
15
|
+
var rho = cotPhi0 + phi0 - phi,
|
|
16
|
+
e = rho ? (lambda * cos(phi)) / rho : rho;
|
|
17
|
+
return [rho * sin(e), cotPhi0 - rho * cos(e)];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
forward.invert = function (x, y) {
|
|
21
|
+
var rho = sqrt(x * x + (y = cotPhi0 - y) * y),
|
|
22
|
+
phi = cotPhi0 + phi0 - rho;
|
|
23
|
+
return [(rho / cos(phi)) * atan2(x, y), phi];
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
return forward;
|
|
27
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
// Display factories removed; numeric kernel retained for MapEngine.
|
|
6
|
+
|
|
7
|
+
import {atan2, cos, halfPi, sin, sqrt} from './math.js';
|
|
8
|
+
|
|
9
|
+
export function bottomleyRaw(sinPsi) {
|
|
10
|
+
function forward(lambda, phi) {
|
|
11
|
+
var rho = halfPi - phi,
|
|
12
|
+
eta = rho ? (lambda * sinPsi * sin(rho)) / rho : rho;
|
|
13
|
+
return [(rho * sin(eta)) / sinPsi, halfPi - rho * cos(eta)];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
forward.invert = function (x, y) {
|
|
17
|
+
var x1 = x * sinPsi,
|
|
18
|
+
y1 = halfPi - y,
|
|
19
|
+
rho = sqrt(x1 * x1 + y1 * y1),
|
|
20
|
+
eta = atan2(x1, y1);
|
|
21
|
+
return [((rho ? rho / sin(rho) : 1) * eta) / sinPsi, halfPi - rho];
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return forward;
|
|
25
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
// Display factories removed; numeric kernel retained for MapEngine.
|
|
6
|
+
|
|
7
|
+
import {pi} from './math.js';
|
|
8
|
+
import {mollweideBromleyRaw} from './mollweide.js';
|
|
9
|
+
|
|
10
|
+
export var bromleyRaw = mollweideBromleyRaw(1, 4 / pi, pi);
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
|
|
6
|
+
import {abs, acos, asin, atan2, cos, epsilon, floor, pi, sin, sqrt} from './math.js';
|
|
7
|
+
|
|
8
|
+
// Azimuthal distance.
|
|
9
|
+
function distance(dPhi, c1, s1, c2, s2, dLambda) {
|
|
10
|
+
var cosdLambda = cos(dLambda),
|
|
11
|
+
r;
|
|
12
|
+
if (abs(dPhi) > 1 || abs(dLambda) > 1) {
|
|
13
|
+
r = acos(s1 * s2 + c1 * c2 * cosdLambda);
|
|
14
|
+
} else {
|
|
15
|
+
var sindPhi = sin(dPhi / 2),
|
|
16
|
+
sindLambda = sin(dLambda / 2);
|
|
17
|
+
r = 2 * asin(sqrt(sindPhi * sindPhi + c1 * c2 * sindLambda * sindLambda));
|
|
18
|
+
}
|
|
19
|
+
return abs(r) > epsilon ? [r, atan2(c2 * sin(dLambda), c1 * s2 - s1 * c2 * cosdLambda)] : [0, 0];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Angle opposite a, and contained between sides of lengths b and c.
|
|
23
|
+
function angle(b, c, a) {
|
|
24
|
+
return acos((b * b + c * c - a * a) / (2 * b * c));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Normalize longitude.
|
|
28
|
+
function longitude(lambda) {
|
|
29
|
+
return lambda - 2 * pi * floor((lambda + pi) / (2 * pi));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function chamberlinRaw(p0, p1, p2) {
|
|
33
|
+
var points = [
|
|
34
|
+
[p0[0], p0[1], sin(p0[1]), cos(p0[1])],
|
|
35
|
+
[p1[0], p1[1], sin(p1[1]), cos(p1[1])],
|
|
36
|
+
[p2[0], p2[1], sin(p2[1]), cos(p2[1])]
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
for (var a = points[2], b, i = 0; i < 3; ++i, a = b) {
|
|
40
|
+
b = points[i];
|
|
41
|
+
a.v = distance(b[1] - a[1], a[3], a[2], b[3], b[2], b[0] - a[0]);
|
|
42
|
+
a.point = [0, 0];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
var beta0 = angle(points[0].v[0], points[2].v[0], points[1].v[0]),
|
|
46
|
+
beta1 = angle(points[0].v[0], points[1].v[0], points[2].v[0]),
|
|
47
|
+
beta2 = pi - beta0;
|
|
48
|
+
|
|
49
|
+
points[2].point[1] = 0;
|
|
50
|
+
points[0].point[0] = -(points[1].point[0] = points[0].v[0] / 2);
|
|
51
|
+
|
|
52
|
+
var mean = [
|
|
53
|
+
(points[2].point[0] = points[0].point[0] + points[2].v[0] * cos(beta0)),
|
|
54
|
+
2 * (points[0].point[1] = points[1].point[1] = points[2].v[0] * sin(beta0))
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
function forward(lambda, phi) {
|
|
58
|
+
var sinPhi = sin(phi),
|
|
59
|
+
cosPhi = cos(phi),
|
|
60
|
+
v = new Array(3),
|
|
61
|
+
i;
|
|
62
|
+
|
|
63
|
+
// Compute distance and azimuth from control points.
|
|
64
|
+
for (i = 0; i < 3; ++i) {
|
|
65
|
+
var p = points[i];
|
|
66
|
+
v[i] = distance(phi - p[1], p[3], p[2], cosPhi, sinPhi, lambda - p[0]);
|
|
67
|
+
if (!v[i][0]) return p.point;
|
|
68
|
+
v[i][1] = longitude(v[i][1] - p.v[1]);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Arithmetic mean of interception points.
|
|
72
|
+
var point = mean.slice();
|
|
73
|
+
for (i = 0; i < 3; ++i) {
|
|
74
|
+
var j = i === 2 ? 0 : i + 1;
|
|
75
|
+
var a = angle(points[i].v[0], v[i][0], v[j][0]);
|
|
76
|
+
if (v[i][1] < 0) a = -a;
|
|
77
|
+
|
|
78
|
+
if (!i) {
|
|
79
|
+
point[0] += v[i][0] * cos(a);
|
|
80
|
+
point[1] -= v[i][0] * sin(a);
|
|
81
|
+
} else if (i === 1) {
|
|
82
|
+
a = beta1 - a;
|
|
83
|
+
point[0] -= v[i][0] * cos(a);
|
|
84
|
+
point[1] -= v[i][0] * sin(a);
|
|
85
|
+
} else {
|
|
86
|
+
a = beta2 - a;
|
|
87
|
+
point[0] += v[i][0] * cos(a);
|
|
88
|
+
point[1] += v[i][0] * sin(a);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
(point[0] /= 3), (point[1] /= 3);
|
|
93
|
+
return point;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return forward;
|
|
97
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: ISC
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright 2013-2021 Mike Bostock
|
|
4
|
+
// Adapted from d3-geo-projection 4.0.0; see ../D3-LICENSE.txt.
|
|
5
|
+
// Display factories removed; numeric kernel retained for MapEngine.
|
|
6
|
+
|
|
7
|
+
import {asin, pi, sin, sqrt, sqrtPi} from './math.js';
|
|
8
|
+
|
|
9
|
+
export function collignonRaw(lambda, phi) {
|
|
10
|
+
var alpha = sqrt(1 - sin(phi));
|
|
11
|
+
return [(2 / sqrtPi) * lambda * alpha, sqrtPi * (1 - alpha)];
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
collignonRaw.invert = function (x, y) {
|
|
15
|
+
var lambda = (lambda = y / sqrtPi - 1) * lambda;
|
|
16
|
+
return [lambda > 0 ? (x * sqrt(pi / lambda)) / 2 : 0, asin(1 - lambda)];
|
|
17
|
+
};
|