@math.gl/projection 0.0.0-stage → 5.0.0-alpha.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/APACHE-2.0-LICENSE.txt +55 -0
- package/PROJ-LICENSE.txt +37 -0
- package/PROJ4-LICENSE.md +29 -0
- package/README.md +27 -2
- package/THIRD-PARTY-NOTICES.md +163 -0
- package/dist/deformation.cjs +189 -0
- package/dist/deformation.cjs.map +6 -0
- package/dist/deformation.d.ts +3 -0
- package/dist/deformation.d.ts.map +1 -0
- package/dist/deformation.js +5 -0
- package/dist/deformation.js.map +1 -0
- package/dist/experimental/catalogue-kernel.d.ts +7 -0
- package/dist/experimental/catalogue-kernel.d.ts.map +1 -0
- package/dist/experimental/catalogue-kernel.js +36 -0
- package/dist/experimental/catalogue-kernel.js.map +1 -0
- package/dist/experimental/common/adjust_lat.d.ts +2 -0
- package/dist/experimental/common/adjust_lat.d.ts.map +1 -0
- package/dist/experimental/common/adjust_lat.js +10 -0
- package/dist/experimental/common/adjust_lat.js.map +1 -0
- package/dist/experimental/common/adjust_lon.d.ts +2 -0
- package/dist/experimental/common/adjust_lon.d.ts.map +1 -0
- package/dist/experimental/common/adjust_lon.js +13 -0
- package/dist/experimental/common/adjust_lon.js.map +1 -0
- package/dist/experimental/common/asinhy.d.ts +2 -0
- package/dist/experimental/common/asinhy.d.ts.map +1 -0
- package/dist/experimental/common/asinhy.js +12 -0
- package/dist/experimental/common/asinhy.js.map +1 -0
- package/dist/experimental/common/asinz.d.ts +2 -0
- package/dist/experimental/common/asinz.d.ts.map +1 -0
- package/dist/experimental/common/asinz.js +11 -0
- package/dist/experimental/common/asinz.js.map +1 -0
- package/dist/experimental/common/authlat.d.ts +2 -0
- package/dist/experimental/common/authlat.d.ts.map +1 -0
- package/dist/experimental/common/authlat.js +9 -0
- package/dist/experimental/common/authlat.js.map +1 -0
- package/dist/experimental/common/authset.d.ts +2 -0
- package/dist/experimental/common/authset.d.ts.map +1 -0
- package/dist/experimental/common/authset.js +24 -0
- package/dist/experimental/common/authset.js.map +1 -0
- package/dist/experimental/common/clens.d.ts +2 -0
- package/dist/experimental/common/clens.d.ts.map +1 -0
- package/dist/experimental/common/clens.js +18 -0
- package/dist/experimental/common/clens.js.map +1 -0
- package/dist/experimental/common/clens_cmplx.d.ts +5 -0
- package/dist/experimental/common/clens_cmplx.d.ts.map +1 -0
- package/dist/experimental/common/clens_cmplx.js +34 -0
- package/dist/experimental/common/clens_cmplx.js.map +1 -0
- package/dist/experimental/common/constants.d.ts +9 -0
- package/dist/experimental/common/constants.d.ts.map +1 -0
- package/dist/experimental/common/constants.js +14 -0
- package/dist/experimental/common/constants.js.map +1 -0
- package/dist/experimental/common/cosh.d.ts +2 -0
- package/dist/experimental/common/cosh.d.ts.map +1 -0
- package/dist/experimental/common/cosh.js +10 -0
- package/dist/experimental/common/cosh.js.map +1 -0
- package/dist/experimental/common/e0fn.d.ts +2 -0
- package/dist/experimental/common/e0fn.d.ts.map +1 -0
- package/dist/experimental/common/e0fn.js +8 -0
- package/dist/experimental/common/e0fn.js.map +1 -0
- package/dist/experimental/common/e1fn.d.ts +2 -0
- package/dist/experimental/common/e1fn.d.ts.map +1 -0
- package/dist/experimental/common/e1fn.js +8 -0
- package/dist/experimental/common/e1fn.js.map +1 -0
- package/dist/experimental/common/e2fn.d.ts +2 -0
- package/dist/experimental/common/e2fn.d.ts.map +1 -0
- package/dist/experimental/common/e2fn.js +8 -0
- package/dist/experimental/common/e2fn.js.map +1 -0
- package/dist/experimental/common/e3fn.d.ts +2 -0
- package/dist/experimental/common/e3fn.d.ts.map +1 -0
- package/dist/experimental/common/e3fn.js +8 -0
- package/dist/experimental/common/e3fn.js.map +1 -0
- package/dist/experimental/common/fL.d.ts +2 -0
- package/dist/experimental/common/fL.d.ts.map +1 -0
- package/dist/experimental/common/fL.js +9 -0
- package/dist/experimental/common/fL.js.map +1 -0
- package/dist/experimental/common/gN.d.ts +2 -0
- package/dist/experimental/common/gN.d.ts.map +1 -0
- package/dist/experimental/common/gN.js +9 -0
- package/dist/experimental/common/gN.js.map +1 -0
- package/dist/experimental/common/gatg.d.ts +2 -0
- package/dist/experimental/common/gatg.d.ts.map +1 -0
- package/dist/experimental/common/gatg.js +18 -0
- package/dist/experimental/common/gatg.js.map +1 -0
- package/dist/experimental/common/hypot.d.ts +2 -0
- package/dist/experimental/common/hypot.d.ts.map +1 -0
- package/dist/experimental/common/hypot.js +12 -0
- package/dist/experimental/common/hypot.js.map +1 -0
- package/dist/experimental/common/imlfn.d.ts +2 -0
- package/dist/experimental/common/imlfn.d.ts.map +1 -0
- package/dist/experimental/common/imlfn.js +21 -0
- package/dist/experimental/common/imlfn.js.map +1 -0
- package/dist/experimental/common/invlatiso.d.ts +2 -0
- package/dist/experimental/common/invlatiso.d.ts.map +1 -0
- package/dist/experimental/common/invlatiso.js +20 -0
- package/dist/experimental/common/invlatiso.js.map +1 -0
- package/dist/experimental/common/iqsfnz.d.ts +2 -0
- package/dist/experimental/common/iqsfnz.d.ts.map +1 -0
- package/dist/experimental/common/iqsfnz.js +44 -0
- package/dist/experimental/common/iqsfnz.js.map +1 -0
- package/dist/experimental/common/latiso.d.ts +2 -0
- package/dist/experimental/common/latiso.d.ts.map +1 -0
- package/dist/experimental/common/latiso.js +19 -0
- package/dist/experimental/common/latiso.js.map +1 -0
- package/dist/experimental/common/log1py.d.ts +2 -0
- package/dist/experimental/common/log1py.d.ts.map +1 -0
- package/dist/experimental/common/log1py.js +10 -0
- package/dist/experimental/common/log1py.js.map +1 -0
- package/dist/experimental/common/mlfn.d.ts +2 -0
- package/dist/experimental/common/mlfn.d.ts.map +1 -0
- package/dist/experimental/common/mlfn.js +8 -0
- package/dist/experimental/common/mlfn.js.map +1 -0
- package/dist/experimental/common/msfnz.d.ts +2 -0
- package/dist/experimental/common/msfnz.d.ts.map +1 -0
- package/dist/experimental/common/msfnz.js +9 -0
- package/dist/experimental/common/msfnz.js.map +1 -0
- package/dist/experimental/common/phi2z.d.ts +2 -0
- package/dist/experimental/common/phi2z.d.ts.map +1 -0
- package/dist/experimental/common/phi2z.js +21 -0
- package/dist/experimental/common/phi2z.js.map +1 -0
- package/dist/experimental/common/pj_enfn.d.ts +2 -0
- package/dist/experimental/common/pj_enfn.d.ts.map +1 -0
- package/dist/experimental/common/pj_enfn.js +28 -0
- package/dist/experimental/common/pj_enfn.js.map +1 -0
- package/dist/experimental/common/pj_inv_mlfn.d.ts +2 -0
- package/dist/experimental/common/pj_inv_mlfn.d.ts.map +1 -0
- package/dist/experimental/common/pj_inv_mlfn.js +26 -0
- package/dist/experimental/common/pj_inv_mlfn.js.map +1 -0
- package/dist/experimental/common/pj_mlfn.d.ts +2 -0
- package/dist/experimental/common/pj_mlfn.d.ts.map +1 -0
- package/dist/experimental/common/pj_mlfn.js +10 -0
- package/dist/experimental/common/pj_mlfn.js.map +1 -0
- package/dist/experimental/common/qsfnz.d.ts +2 -0
- package/dist/experimental/common/qsfnz.d.ts.map +1 -0
- package/dist/experimental/common/qsfnz.js +16 -0
- package/dist/experimental/common/qsfnz.js.map +1 -0
- package/dist/experimental/common/sign.d.ts +2 -0
- package/dist/experimental/common/sign.d.ts.map +1 -0
- package/dist/experimental/common/sign.js +8 -0
- package/dist/experimental/common/sign.js.map +1 -0
- package/dist/experimental/common/sinh.d.ts +2 -0
- package/dist/experimental/common/sinh.d.ts.map +1 -0
- package/dist/experimental/common/sinh.js +10 -0
- package/dist/experimental/common/sinh.js.map +1 -0
- package/dist/experimental/common/srat.d.ts +2 -0
- package/dist/experimental/common/srat.d.ts.map +1 -0
- package/dist/experimental/common/srat.js +8 -0
- package/dist/experimental/common/srat.js.map +1 -0
- package/dist/experimental/common/tsfnz.d.ts +2 -0
- package/dist/experimental/common/tsfnz.d.ts.map +1 -0
- package/dist/experimental/common/tsfnz.js +12 -0
- package/dist/experimental/common/tsfnz.js.map +1 -0
- package/dist/experimental/common/vincenty.d.ts +29 -0
- package/dist/experimental/common/vincenty.d.ts.map +1 -0
- package/dist/experimental/common/vincenty.js +134 -0
- package/dist/experimental/common/vincenty.js.map +1 -0
- package/dist/experimental/core.cjs +2868 -0
- package/dist/experimental/core.cjs.map +6 -0
- package/dist/experimental/core.d.ts +13 -0
- package/dist/experimental/core.d.ts.map +1 -0
- package/dist/experimental/core.js +9 -0
- package/dist/experimental/core.js.map +1 -0
- package/dist/experimental/crs/datum-table.d.ts +8 -0
- package/dist/experimental/crs/datum-table.d.ts.map +1 -0
- package/dist/experimental/crs/datum-table.js +1365 -0
- package/dist/experimental/crs/datum-table.js.map +1 -0
- package/dist/experimental/crs/ellipsoid-table.d.ts +8 -0
- package/dist/experimental/crs/ellipsoid-table.d.ts.map +1 -0
- package/dist/experimental/crs/ellipsoid-table.js +229 -0
- package/dist/experimental/crs/ellipsoid-table.js.map +1 -0
- package/dist/experimental/crs/normalize.d.ts +8 -0
- package/dist/experimental/crs/normalize.d.ts.map +1 -0
- package/dist/experimental/crs/normalize.js +277 -0
- package/dist/experimental/crs/normalize.js.map +1 -0
- package/dist/experimental/crs/primemeridian-table.d.ts +3 -0
- package/dist/experimental/crs/primemeridian-table.d.ts.map +1 -0
- package/dist/experimental/crs/primemeridian-table.js +20 -0
- package/dist/experimental/crs/primemeridian-table.js.map +1 -0
- package/dist/experimental/crs/projjson.cjs +1847 -0
- package/dist/experimental/crs/projjson.cjs.map +6 -0
- package/dist/experimental/crs/projjson.d.ts +4 -0
- package/dist/experimental/crs/projjson.d.ts.map +1 -0
- package/dist/experimental/crs/projjson.js +12 -0
- package/dist/experimental/crs/projjson.js.map +1 -0
- package/dist/experimental/crs/spatial-reference.d.ts +11 -0
- package/dist/experimental/crs/spatial-reference.d.ts.map +1 -0
- package/dist/experimental/crs/spatial-reference.js +91 -0
- package/dist/experimental/crs/spatial-reference.js.map +1 -0
- package/dist/experimental/crs/structured.d.ts +8 -0
- package/dist/experimental/crs/structured.d.ts.map +1 -0
- package/dist/experimental/crs/structured.js +481 -0
- package/dist/experimental/crs/structured.js.map +1 -0
- package/dist/experimental/crs/types.d.ts +58 -0
- package/dist/experimental/crs/types.d.ts.map +1 -0
- package/dist/experimental/crs/types.js +21 -0
- package/dist/experimental/crs/types.js.map +1 -0
- package/dist/experimental/crs/units-table.d.ts +64 -0
- package/dist/experimental/crs/units-table.d.ts.map +1 -0
- package/dist/experimental/crs/units-table.js +27 -0
- package/dist/experimental/crs/units-table.js.map +1 -0
- package/dist/experimental/crs/wkt.cjs +2507 -0
- package/dist/experimental/crs/wkt.cjs.map +6 -0
- package/dist/experimental/crs/wkt.d.ts +3 -0
- package/dist/experimental/crs/wkt.d.ts.map +1 -0
- package/dist/experimental/crs/wkt.js +181 -0
- package/dist/experimental/crs/wkt.js.map +1 -0
- package/dist/experimental/datum.d.ts +17 -0
- package/dist/experimental/datum.d.ts.map +1 -0
- package/dist/experimental/datum.js +160 -0
- package/dist/experimental/datum.js.map +1 -0
- package/dist/experimental/deformation.d.ts +25 -0
- package/dist/experimental/deformation.d.ts.map +1 -0
- package/dist/experimental/deformation.js +98 -0
- package/dist/experimental/deformation.js.map +1 -0
- package/dist/experimental/entries/projections/aea.cjs +367 -0
- package/dist/experimental/entries/projections/aea.cjs.map +6 -0
- package/dist/experimental/entries/projections/aea.d.ts +2 -0
- package/dist/experimental/entries/projections/aea.d.ts.map +1 -0
- package/dist/experimental/entries/projections/aea.js +5 -0
- package/dist/experimental/entries/projections/aea.js.map +1 -0
- package/dist/experimental/entries/projections/aeqd.cjs +461 -0
- package/dist/experimental/entries/projections/aeqd.cjs.map +6 -0
- package/dist/experimental/entries/projections/aeqd.d.ts +2 -0
- package/dist/experimental/entries/projections/aeqd.d.ts.map +1 -0
- package/dist/experimental/entries/projections/aeqd.js +5 -0
- package/dist/experimental/entries/projections/aeqd.js.map +1 -0
- package/dist/experimental/entries/projections/bonne.cjs +359 -0
- package/dist/experimental/entries/projections/bonne.cjs.map +6 -0
- package/dist/experimental/entries/projections/bonne.d.ts +2 -0
- package/dist/experimental/entries/projections/bonne.d.ts.map +1 -0
- package/dist/experimental/entries/projections/bonne.js +5 -0
- package/dist/experimental/entries/projections/bonne.js.map +1 -0
- package/dist/experimental/entries/projections/cass.cjs +347 -0
- package/dist/experimental/entries/projections/cass.cjs.map +6 -0
- package/dist/experimental/entries/projections/cass.d.ts +2 -0
- package/dist/experimental/entries/projections/cass.d.ts.map +1 -0
- package/dist/experimental/entries/projections/cass.js +5 -0
- package/dist/experimental/entries/projections/cass.js.map +1 -0
- package/dist/experimental/entries/projections/cea.cjs +283 -0
- package/dist/experimental/entries/projections/cea.cjs.map +6 -0
- package/dist/experimental/entries/projections/cea.d.ts +2 -0
- package/dist/experimental/entries/projections/cea.d.ts.map +1 -0
- package/dist/experimental/entries/projections/cea.js +5 -0
- package/dist/experimental/entries/projections/cea.js.map +1 -0
- package/dist/experimental/entries/projections/eck6.cjs +306 -0
- package/dist/experimental/entries/projections/eck6.cjs.map +6 -0
- package/dist/experimental/entries/projections/eck6.d.ts +2 -0
- package/dist/experimental/entries/projections/eck6.d.ts.map +1 -0
- package/dist/experimental/entries/projections/eck6.js +5 -0
- package/dist/experimental/entries/projections/eck6.js.map +1 -0
- package/dist/experimental/entries/projections/eqc.cjs +119 -0
- package/dist/experimental/entries/projections/eqc.cjs.map +6 -0
- package/dist/experimental/entries/projections/eqc.d.ts +2 -0
- package/dist/experimental/entries/projections/eqc.d.ts.map +1 -0
- package/dist/experimental/entries/projections/eqc.js +5 -0
- package/dist/experimental/entries/projections/eqc.js.map +1 -0
- package/dist/experimental/entries/projections/eqdc.cjs +377 -0
- package/dist/experimental/entries/projections/eqdc.cjs.map +6 -0
- package/dist/experimental/entries/projections/eqdc.d.ts +2 -0
- package/dist/experimental/entries/projections/eqdc.d.ts.map +1 -0
- package/dist/experimental/entries/projections/eqdc.js +5 -0
- package/dist/experimental/entries/projections/eqdc.js.map +1 -0
- package/dist/experimental/entries/projections/eqearth.cjs +292 -0
- package/dist/experimental/entries/projections/eqearth.cjs.map +6 -0
- package/dist/experimental/entries/projections/eqearth.d.ts +2 -0
- package/dist/experimental/entries/projections/eqearth.d.ts.map +1 -0
- package/dist/experimental/entries/projections/eqearth.js +5 -0
- package/dist/experimental/entries/projections/eqearth.js.map +1 -0
- package/dist/experimental/entries/projections/equi.cjs +222 -0
- package/dist/experimental/entries/projections/equi.cjs.map +6 -0
- package/dist/experimental/entries/projections/equi.d.ts +2 -0
- package/dist/experimental/entries/projections/equi.d.ts.map +1 -0
- package/dist/experimental/entries/projections/equi.js +5 -0
- package/dist/experimental/entries/projections/equi.js.map +1 -0
- package/dist/experimental/entries/projections/etmerc.cjs +618 -0
- package/dist/experimental/entries/projections/etmerc.cjs.map +6 -0
- package/dist/experimental/entries/projections/etmerc.d.ts +2 -0
- package/dist/experimental/entries/projections/etmerc.d.ts.map +1 -0
- package/dist/experimental/entries/projections/etmerc.js +5 -0
- package/dist/experimental/entries/projections/etmerc.js.map +1 -0
- package/dist/experimental/entries/projections/geocent.cjs +161 -0
- package/dist/experimental/entries/projections/geocent.cjs.map +6 -0
- package/dist/experimental/entries/projections/geocent.d.ts +2 -0
- package/dist/experimental/entries/projections/geocent.d.ts.map +1 -0
- package/dist/experimental/entries/projections/geocent.js +5 -0
- package/dist/experimental/entries/projections/geocent.js.map +1 -0
- package/dist/experimental/entries/projections/geos.cjs +328 -0
- package/dist/experimental/entries/projections/geos.cjs.map +6 -0
- package/dist/experimental/entries/projections/geos.d.ts +2 -0
- package/dist/experimental/entries/projections/geos.d.ts.map +1 -0
- package/dist/experimental/entries/projections/geos.js +5 -0
- package/dist/experimental/entries/projections/geos.js.map +1 -0
- package/dist/experimental/entries/projections/gnom.cjs +274 -0
- package/dist/experimental/entries/projections/gnom.cjs.map +6 -0
- package/dist/experimental/entries/projections/gnom.d.ts +2 -0
- package/dist/experimental/entries/projections/gnom.d.ts.map +1 -0
- package/dist/experimental/entries/projections/gnom.js +5 -0
- package/dist/experimental/entries/projections/gnom.js.map +1 -0
- package/dist/experimental/entries/projections/gstmerc.cjs +266 -0
- package/dist/experimental/entries/projections/gstmerc.cjs.map +6 -0
- package/dist/experimental/entries/projections/gstmerc.d.ts +2 -0
- package/dist/experimental/entries/projections/gstmerc.d.ts.map +1 -0
- package/dist/experimental/entries/projections/gstmerc.js +5 -0
- package/dist/experimental/entries/projections/gstmerc.js.map +1 -0
- package/dist/experimental/entries/projections/krovak.cjs +301 -0
- package/dist/experimental/entries/projections/krovak.cjs.map +6 -0
- package/dist/experimental/entries/projections/krovak.d.ts +2 -0
- package/dist/experimental/entries/projections/krovak.d.ts.map +1 -0
- package/dist/experimental/entries/projections/krovak.js +5 -0
- package/dist/experimental/entries/projections/krovak.js.map +1 -0
- package/dist/experimental/entries/projections/laea.cjs +477 -0
- package/dist/experimental/entries/projections/laea.cjs.map +6 -0
- package/dist/experimental/entries/projections/laea.d.ts +2 -0
- package/dist/experimental/entries/projections/laea.d.ts.map +1 -0
- package/dist/experimental/entries/projections/laea.js +5 -0
- package/dist/experimental/entries/projections/laea.js.map +1 -0
- package/dist/experimental/entries/projections/lcc.cjs +368 -0
- package/dist/experimental/entries/projections/lcc.cjs.map +6 -0
- package/dist/experimental/entries/projections/lcc.d.ts +2 -0
- package/dist/experimental/entries/projections/lcc.d.ts.map +1 -0
- package/dist/experimental/entries/projections/lcc.js +5 -0
- package/dist/experimental/entries/projections/lcc.js.map +1 -0
- package/dist/experimental/entries/projections/merc.cjs +201 -0
- package/dist/experimental/entries/projections/merc.cjs.map +6 -0
- package/dist/experimental/entries/projections/merc.d.ts +2 -0
- package/dist/experimental/entries/projections/merc.d.ts.map +1 -0
- package/dist/experimental/entries/projections/merc.js +5 -0
- package/dist/experimental/entries/projections/merc.js.map +1 -0
- package/dist/experimental/entries/projections/mill.cjs +217 -0
- package/dist/experimental/entries/projections/mill.cjs.map +6 -0
- package/dist/experimental/entries/projections/mill.d.ts +2 -0
- package/dist/experimental/entries/projections/mill.d.ts.map +1 -0
- package/dist/experimental/entries/projections/mill.js +5 -0
- package/dist/experimental/entries/projections/mill.js.map +1 -0
- package/dist/experimental/entries/projections/moll.cjs +257 -0
- package/dist/experimental/entries/projections/moll.cjs.map +6 -0
- package/dist/experimental/entries/projections/moll.d.ts +2 -0
- package/dist/experimental/entries/projections/moll.d.ts.map +1 -0
- package/dist/experimental/entries/projections/moll.js +5 -0
- package/dist/experimental/entries/projections/moll.js.map +1 -0
- package/dist/experimental/entries/projections/nzmg.cjs +346 -0
- package/dist/experimental/entries/projections/nzmg.cjs.map +6 -0
- package/dist/experimental/entries/projections/nzmg.d.ts +2 -0
- package/dist/experimental/entries/projections/nzmg.d.ts.map +1 -0
- package/dist/experimental/entries/projections/nzmg.js +5 -0
- package/dist/experimental/entries/projections/nzmg.js.map +1 -0
- package/dist/experimental/entries/projections/ob_tran.cjs +233 -0
- package/dist/experimental/entries/projections/ob_tran.cjs.map +6 -0
- package/dist/experimental/entries/projections/ob_tran.d.ts +2 -0
- package/dist/experimental/entries/projections/ob_tran.d.ts.map +1 -0
- package/dist/experimental/entries/projections/ob_tran.js +5 -0
- package/dist/experimental/entries/projections/ob_tran.js.map +1 -0
- package/dist/experimental/entries/projections/omerc.cjs +479 -0
- package/dist/experimental/entries/projections/omerc.cjs.map +6 -0
- package/dist/experimental/entries/projections/omerc.d.ts +2 -0
- package/dist/experimental/entries/projections/omerc.d.ts.map +1 -0
- package/dist/experimental/entries/projections/omerc.js +5 -0
- package/dist/experimental/entries/projections/omerc.js.map +1 -0
- package/dist/experimental/entries/projections/ortho.cjs +276 -0
- package/dist/experimental/entries/projections/ortho.cjs.map +6 -0
- package/dist/experimental/entries/projections/ortho.d.ts +2 -0
- package/dist/experimental/entries/projections/ortho.d.ts.map +1 -0
- package/dist/experimental/entries/projections/ortho.js +5 -0
- package/dist/experimental/entries/projections/ortho.js.map +1 -0
- package/dist/experimental/entries/projections/poly.cjs +326 -0
- package/dist/experimental/entries/projections/poly.cjs.map +6 -0
- package/dist/experimental/entries/projections/poly.d.ts +2 -0
- package/dist/experimental/entries/projections/poly.d.ts.map +1 -0
- package/dist/experimental/entries/projections/poly.js +5 -0
- package/dist/experimental/entries/projections/poly.js.map +1 -0
- package/dist/experimental/entries/projections/qsc.cjs +455 -0
- package/dist/experimental/entries/projections/qsc.cjs.map +6 -0
- package/dist/experimental/entries/projections/qsc.d.ts +2 -0
- package/dist/experimental/entries/projections/qsc.d.ts.map +1 -0
- package/dist/experimental/entries/projections/qsc.js +5 -0
- package/dist/experimental/entries/projections/qsc.js.map +1 -0
- package/dist/experimental/entries/projections/robin.cjs +331 -0
- package/dist/experimental/entries/projections/robin.cjs.map +6 -0
- package/dist/experimental/entries/projections/robin.d.ts +2 -0
- package/dist/experimental/entries/projections/robin.d.ts.map +1 -0
- package/dist/experimental/entries/projections/robin.js +5 -0
- package/dist/experimental/entries/projections/robin.js.map +1 -0
- package/dist/experimental/entries/projections/sinu.cjs +330 -0
- package/dist/experimental/entries/projections/sinu.cjs.map +6 -0
- package/dist/experimental/entries/projections/sinu.d.ts +2 -0
- package/dist/experimental/entries/projections/sinu.d.ts.map +1 -0
- package/dist/experimental/entries/projections/sinu.js +5 -0
- package/dist/experimental/entries/projections/sinu.js.map +1 -0
- package/dist/experimental/entries/projections/somerc.cjs +228 -0
- package/dist/experimental/entries/projections/somerc.cjs.map +6 -0
- package/dist/experimental/entries/projections/somerc.d.ts +2 -0
- package/dist/experimental/entries/projections/somerc.d.ts.map +1 -0
- package/dist/experimental/entries/projections/somerc.js +5 -0
- package/dist/experimental/entries/projections/somerc.js.map +1 -0
- package/dist/experimental/entries/projections/stere.cjs +379 -0
- package/dist/experimental/entries/projections/stere.cjs.map +6 -0
- package/dist/experimental/entries/projections/stere.d.ts +2 -0
- package/dist/experimental/entries/projections/stere.d.ts.map +1 -0
- package/dist/experimental/entries/projections/stere.js +5 -0
- package/dist/experimental/entries/projections/stere.js.map +1 -0
- package/dist/experimental/entries/projections/sterea.cjs +328 -0
- package/dist/experimental/entries/projections/sterea.cjs.map +6 -0
- package/dist/experimental/entries/projections/sterea.d.ts +2 -0
- package/dist/experimental/entries/projections/sterea.d.ts.map +1 -0
- package/dist/experimental/entries/projections/sterea.js +5 -0
- package/dist/experimental/entries/projections/sterea.js.map +1 -0
- package/dist/experimental/entries/projections/tmerc.cjs +618 -0
- package/dist/experimental/entries/projections/tmerc.cjs.map +6 -0
- package/dist/experimental/entries/projections/tmerc.d.ts +2 -0
- package/dist/experimental/entries/projections/tmerc.d.ts.map +1 -0
- package/dist/experimental/entries/projections/tmerc.js +5 -0
- package/dist/experimental/entries/projections/tmerc.js.map +1 -0
- package/dist/experimental/entries/projections/tpers.cjs +340 -0
- package/dist/experimental/entries/projections/tpers.cjs.map +6 -0
- package/dist/experimental/entries/projections/tpers.d.ts +2 -0
- package/dist/experimental/entries/projections/tpers.d.ts.map +1 -0
- package/dist/experimental/entries/projections/tpers.js +5 -0
- package/dist/experimental/entries/projections/tpers.js.map +1 -0
- package/dist/experimental/entries/projections/utm.cjs +644 -0
- package/dist/experimental/entries/projections/utm.cjs.map +6 -0
- package/dist/experimental/entries/projections/utm.d.ts +2 -0
- package/dist/experimental/entries/projections/utm.d.ts.map +1 -0
- package/dist/experimental/entries/projections/utm.js +5 -0
- package/dist/experimental/entries/projections/utm.js.map +1 -0
- package/dist/experimental/entries/projections/vandg.cjs +301 -0
- package/dist/experimental/entries/projections/vandg.cjs.map +6 -0
- package/dist/experimental/entries/projections/vandg.d.ts +2 -0
- package/dist/experimental/entries/projections/vandg.d.ts.map +1 -0
- package/dist/experimental/entries/projections/vandg.js +5 -0
- package/dist/experimental/entries/projections/vandg.js.map +1 -0
- package/dist/experimental/exact-helmert.d.ts +9 -0
- package/dist/experimental/exact-helmert.d.ts.map +1 -0
- package/dist/experimental/exact-helmert.js +32 -0
- package/dist/experimental/exact-helmert.js.map +1 -0
- package/dist/experimental/flat-projection.d.ts +13 -0
- package/dist/experimental/flat-projection.d.ts.map +1 -0
- package/dist/experimental/flat-projection.js +61 -0
- package/dist/experimental/flat-projection.js.map +1 -0
- package/dist/experimental/grids/geotiff.cjs +180 -0
- package/dist/experimental/grids/geotiff.cjs.map +6 -0
- package/dist/experimental/grids/geotiff.d.ts +23 -0
- package/dist/experimental/grids/geotiff.d.ts.map +1 -0
- package/dist/experimental/grids/geotiff.js +59 -0
- package/dist/experimental/grids/geotiff.js.map +1 -0
- package/dist/experimental/grids/grid.d.ts +4 -0
- package/dist/experimental/grids/grid.d.ts.map +1 -0
- package/dist/experimental/grids/grid.js +111 -0
- package/dist/experimental/grids/grid.js.map +1 -0
- package/dist/experimental/grids/gtx.cjs +91 -0
- package/dist/experimental/grids/gtx.cjs.map +6 -0
- package/dist/experimental/grids/gtx.d.ts +7 -0
- package/dist/experimental/grids/gtx.d.ts.map +1 -0
- package/dist/experimental/grids/gtx.js +30 -0
- package/dist/experimental/grids/gtx.js.map +1 -0
- package/dist/experimental/grids/ntv2.cjs +181 -0
- package/dist/experimental/grids/ntv2.cjs.map +6 -0
- package/dist/experimental/grids/ntv2.d.ts +8 -0
- package/dist/experimental/grids/ntv2.d.ts.map +1 -0
- package/dist/experimental/grids/ntv2.js +56 -0
- package/dist/experimental/grids/ntv2.js.map +1 -0
- package/dist/experimental/grids/scalar-geotiff.d.ts +58 -0
- package/dist/experimental/grids/scalar-geotiff.d.ts.map +1 -0
- package/dist/experimental/grids/scalar-geotiff.js +147 -0
- package/dist/experimental/grids/scalar-geotiff.js.map +1 -0
- package/dist/experimental/grids/types.d.ts +35 -0
- package/dist/experimental/grids/types.d.ts.map +1 -0
- package/dist/experimental/grids/types.js +2 -0
- package/dist/experimental/grids/types.js.map +1 -0
- package/dist/experimental/grids/velocity-geotiff.cjs +247 -0
- package/dist/experimental/grids/velocity-geotiff.cjs.map +6 -0
- package/dist/experimental/grids/velocity-geotiff.d.ts +11 -0
- package/dist/experimental/grids/velocity-geotiff.d.ts.map +1 -0
- package/dist/experimental/grids/velocity-geotiff.js +61 -0
- package/dist/experimental/grids/velocity-geotiff.js.map +1 -0
- package/dist/experimental/grids/velocity.d.ts +21 -0
- package/dist/experimental/grids/velocity.d.ts.map +1 -0
- package/dist/experimental/grids/velocity.js +29 -0
- package/dist/experimental/grids/velocity.js.map +1 -0
- package/dist/experimental/grids/vertical-geotiff.cjs +195 -0
- package/dist/experimental/grids/vertical-geotiff.cjs.map +6 -0
- package/dist/experimental/grids/vertical-geotiff.d.ts +6 -0
- package/dist/experimental/grids/vertical-geotiff.d.ts.map +1 -0
- package/dist/experimental/grids/vertical-geotiff.js +20 -0
- package/dist/experimental/grids/vertical-geotiff.js.map +1 -0
- package/dist/experimental/grids/vertical.cjs +80 -0
- package/dist/experimental/grids/vertical.cjs.map +6 -0
- package/dist/experimental/grids/vertical.d.ts +22 -0
- package/dist/experimental/grids/vertical.d.ts.map +1 -0
- package/dist/experimental/grids/vertical.js +73 -0
- package/dist/experimental/grids/vertical.js.map +1 -0
- package/dist/experimental/helmert-flat.d.ts +4 -0
- package/dist/experimental/helmert-flat.d.ts.map +1 -0
- package/dist/experimental/helmert-flat.js +53 -0
- package/dist/experimental/helmert-flat.js.map +1 -0
- package/dist/experimental/index.cjs +10062 -0
- package/dist/experimental/index.cjs.map +6 -0
- package/dist/experimental/index.d.ts +49 -0
- package/dist/experimental/index.d.ts.map +1 -0
- package/dist/experimental/index.js +48 -0
- package/dist/experimental/index.js.map +1 -0
- package/dist/experimental/kernel.d.ts +36 -0
- package/dist/experimental/kernel.d.ts.map +1 -0
- package/dist/experimental/kernel.js +80 -0
- package/dist/experimental/kernel.js.map +1 -0
- package/dist/experimental/kernels/aea.d.ts +25 -0
- package/dist/experimental/kernels/aea.d.ts.map +1 -0
- package/dist/experimental/kernels/aea.js +136 -0
- package/dist/experimental/kernels/aea.js.map +1 -0
- package/dist/experimental/kernels/aeqd.d.ts +10 -0
- package/dist/experimental/kernels/aeqd.d.ts.map +1 -0
- package/dist/experimental/kernels/aeqd.js +176 -0
- package/dist/experimental/kernels/aeqd.js.map +1 -0
- package/dist/experimental/kernels/bonne.d.ts +12 -0
- package/dist/experimental/kernels/bonne.d.ts.map +1 -0
- package/dist/experimental/kernels/bonne.js +128 -0
- package/dist/experimental/kernels/bonne.js.map +1 -0
- package/dist/experimental/kernels/cass.d.ts +10 -0
- package/dist/experimental/kernels/cass.d.ts.map +1 -0
- package/dist/experimental/kernels/cass.js +122 -0
- package/dist/experimental/kernels/cass.js.map +1 -0
- package/dist/experimental/kernels/cea.d.ts +6 -0
- package/dist/experimental/kernels/cea.d.ts.map +1 -0
- package/dist/experimental/kernels/cea.js +63 -0
- package/dist/experimental/kernels/cea.js.map +1 -0
- package/dist/experimental/kernels/eck6.d.ts +13 -0
- package/dist/experimental/kernels/eck6.d.ts.map +1 -0
- package/dist/experimental/kernels/eck6.js +23 -0
- package/dist/experimental/kernels/eck6.js.map +1 -0
- package/dist/experimental/kernels/eqdc.d.ts +19 -0
- package/dist/experimental/kernels/eqdc.d.ts.map +1 -0
- package/dist/experimental/kernels/eqdc.js +117 -0
- package/dist/experimental/kernels/eqdc.js.map +1 -0
- package/dist/experimental/kernels/eqearth.d.ts +10 -0
- package/dist/experimental/kernels/eqearth.d.ts.map +1 -0
- package/dist/experimental/kernels/eqearth.js +103 -0
- package/dist/experimental/kernels/eqearth.js.map +1 -0
- package/dist/experimental/kernels/equi.d.ts +9 -0
- package/dist/experimental/kernels/equi.d.ts.map +1 -0
- package/dist/experimental/kernels/equi.js +41 -0
- package/dist/experimental/kernels/equi.js.map +1 -0
- package/dist/experimental/kernels/etmerc.d.ts +13 -0
- package/dist/experimental/kernels/etmerc.d.ts.map +1 -0
- package/dist/experimental/kernels/etmerc.js +145 -0
- package/dist/experimental/kernels/etmerc.js.map +1 -0
- package/dist/experimental/kernels/gauss.d.ts +12 -0
- package/dist/experimental/kernels/gauss.d.ts.map +1 -0
- package/dist/experimental/kernels/gauss.js +64 -0
- package/dist/experimental/kernels/gauss.js.map +1 -0
- package/dist/experimental/kernels/geos.d.ts +17 -0
- package/dist/experimental/kernels/geos.d.ts.map +1 -0
- package/dist/experimental/kernels/geos.js +153 -0
- package/dist/experimental/kernels/geos.js.map +1 -0
- package/dist/experimental/kernels/gnom.d.ts +12 -0
- package/dist/experimental/kernels/gnom.d.ts.map +1 -0
- package/dist/experimental/kernels/gnom.js +95 -0
- package/dist/experimental/kernels/gnom.js.map +1 -0
- package/dist/experimental/kernels/gstmerc.d.ts +13 -0
- package/dist/experimental/kernels/gstmerc.d.ts.map +1 -0
- package/dist/experimental/kernels/gstmerc.js +57 -0
- package/dist/experimental/kernels/gstmerc.js.map +1 -0
- package/dist/experimental/kernels/krovak.d.ts +23 -0
- package/dist/experimental/kernels/krovak.d.ts.map +1 -0
- package/dist/experimental/kernels/krovak.js +128 -0
- package/dist/experimental/kernels/krovak.js.map +1 -0
- package/dist/experimental/kernels/laea.d.ts +23 -0
- package/dist/experimental/kernels/laea.d.ts.map +1 -0
- package/dist/experimental/kernels/laea.js +278 -0
- package/dist/experimental/kernels/laea.js.map +1 -0
- package/dist/experimental/kernels/lcc.d.ts +10 -0
- package/dist/experimental/kernels/lcc.d.ts.map +1 -0
- package/dist/experimental/kernels/lcc.js +131 -0
- package/dist/experimental/kernels/lcc.js.map +1 -0
- package/dist/experimental/kernels/mill.d.ts +6 -0
- package/dist/experimental/kernels/mill.d.ts.map +1 -0
- package/dist/experimental/kernels/mill.js +49 -0
- package/dist/experimental/kernels/mill.js.map +1 -0
- package/dist/experimental/kernels/moll.d.ts +6 -0
- package/dist/experimental/kernels/moll.d.ts.map +1 -0
- package/dist/experimental/kernels/moll.js +89 -0
- package/dist/experimental/kernels/moll.js.map +1 -0
- package/dist/experimental/kernels/nzmg.d.ts +28 -0
- package/dist/experimental/kernels/nzmg.d.ts.map +1 -0
- package/dist/experimental/kernels/nzmg.js +209 -0
- package/dist/experimental/kernels/nzmg.js.map +1 -0
- package/dist/experimental/kernels/omerc.d.ts +30 -0
- package/dist/experimental/kernels/omerc.d.ts.map +1 -0
- package/dist/experimental/kernels/omerc.js +260 -0
- package/dist/experimental/kernels/omerc.js.map +1 -0
- package/dist/experimental/kernels/ortho.d.ts +9 -0
- package/dist/experimental/kernels/ortho.d.ts.map +1 -0
- package/dist/experimental/kernels/ortho.js +91 -0
- package/dist/experimental/kernels/ortho.js.map +1 -0
- package/dist/experimental/kernels/poly.d.ts +13 -0
- package/dist/experimental/kernels/poly.d.ts.map +1 -0
- package/dist/experimental/kernels/poly.js +141 -0
- package/dist/experimental/kernels/poly.js.map +1 -0
- package/dist/experimental/kernels/qsc.d.ts +10 -0
- package/dist/experimental/kernels/qsc.d.ts.map +1 -0
- package/dist/experimental/kernels/qsc.js +379 -0
- package/dist/experimental/kernels/qsc.js.map +1 -0
- package/dist/experimental/kernels/robin.d.ts +6 -0
- package/dist/experimental/kernels/robin.d.ts.map +1 -0
- package/dist/experimental/kernels/robin.js +166 -0
- package/dist/experimental/kernels/robin.js.map +1 -0
- package/dist/experimental/kernels/sinu.d.ts +12 -0
- package/dist/experimental/kernels/sinu.d.ts.map +1 -0
- package/dist/experimental/kernels/sinu.js +104 -0
- package/dist/experimental/kernels/sinu.js.map +1 -0
- package/dist/experimental/kernels/somerc.d.ts +13 -0
- package/dist/experimental/kernels/somerc.d.ts.map +1 -0
- package/dist/experimental/kernels/somerc.js +81 -0
- package/dist/experimental/kernels/somerc.js.map +1 -0
- package/dist/experimental/kernels/stere.d.ts +15 -0
- package/dist/experimental/kernels/stere.d.ts.map +1 -0
- package/dist/experimental/kernels/stere.js +195 -0
- package/dist/experimental/kernels/stere.js.map +1 -0
- package/dist/experimental/kernels/sterea.d.ts +11 -0
- package/dist/experimental/kernels/sterea.d.ts.map +1 -0
- package/dist/experimental/kernels/sterea.js +65 -0
- package/dist/experimental/kernels/sterea.js.map +1 -0
- package/dist/experimental/kernels/tmerc.d.ts +9 -0
- package/dist/experimental/kernels/tmerc.d.ts.map +1 -0
- package/dist/experimental/kernels/tmerc.js +201 -0
- package/dist/experimental/kernels/tmerc.js.map +1 -0
- package/dist/experimental/kernels/tpers.d.ts +22 -0
- package/dist/experimental/kernels/tpers.d.ts.map +1 -0
- package/dist/experimental/kernels/tpers.js +156 -0
- package/dist/experimental/kernels/tpers.js.map +1 -0
- package/dist/experimental/kernels/vandg.d.ts +8 -0
- package/dist/experimental/kernels/vandg.d.ts.map +1 -0
- package/dist/experimental/kernels/vandg.js +132 -0
- package/dist/experimental/kernels/vandg.js.map +1 -0
- package/dist/experimental/kinematic-helmert-flat.d.ts +4 -0
- package/dist/experimental/kinematic-helmert-flat.d.ts.map +1 -0
- package/dist/experimental/kinematic-helmert-flat.js +60 -0
- package/dist/experimental/kinematic-helmert-flat.js.map +1 -0
- package/dist/experimental/kinematic-helmert.d.ts +11 -0
- package/dist/experimental/kinematic-helmert.d.ts.map +1 -0
- package/dist/experimental/kinematic-helmert.js +103 -0
- package/dist/experimental/kinematic-helmert.js.map +1 -0
- package/dist/experimental/lazy-projection.d.ts +11 -0
- package/dist/experimental/lazy-projection.d.ts.map +1 -0
- package/dist/experimental/lazy-projection.js +138 -0
- package/dist/experimental/lazy-projection.js.map +1 -0
- package/dist/experimental/lazy-projections/aea.cjs +79 -0
- package/dist/experimental/lazy-projections/aea.cjs.map +6 -0
- package/dist/experimental/lazy-projections/aea.d.ts +3 -0
- package/dist/experimental/lazy-projections/aea.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/aea.js +7 -0
- package/dist/experimental/lazy-projections/aea.js.map +1 -0
- package/dist/experimental/lazy-projections/aeqd.cjs +79 -0
- package/dist/experimental/lazy-projections/aeqd.cjs.map +6 -0
- package/dist/experimental/lazy-projections/aeqd.d.ts +3 -0
- package/dist/experimental/lazy-projections/aeqd.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/aeqd.js +8 -0
- package/dist/experimental/lazy-projections/aeqd.js.map +1 -0
- package/dist/experimental/lazy-projections/bonne.cjs +79 -0
- package/dist/experimental/lazy-projections/bonne.cjs.map +6 -0
- package/dist/experimental/lazy-projections/bonne.d.ts +3 -0
- package/dist/experimental/lazy-projections/bonne.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/bonne.js +7 -0
- package/dist/experimental/lazy-projections/bonne.js.map +1 -0
- package/dist/experimental/lazy-projections/cass.cjs +79 -0
- package/dist/experimental/lazy-projections/cass.cjs.map +6 -0
- package/dist/experimental/lazy-projections/cass.d.ts +3 -0
- package/dist/experimental/lazy-projections/cass.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/cass.js +7 -0
- package/dist/experimental/lazy-projections/cass.js.map +1 -0
- package/dist/experimental/lazy-projections/cea.cjs +79 -0
- package/dist/experimental/lazy-projections/cea.cjs.map +6 -0
- package/dist/experimental/lazy-projections/cea.d.ts +3 -0
- package/dist/experimental/lazy-projections/cea.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/cea.js +8 -0
- package/dist/experimental/lazy-projections/cea.js.map +1 -0
- package/dist/experimental/lazy-projections/eck6.cjs +79 -0
- package/dist/experimental/lazy-projections/eck6.cjs.map +6 -0
- package/dist/experimental/lazy-projections/eck6.d.ts +3 -0
- package/dist/experimental/lazy-projections/eck6.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/eck6.js +7 -0
- package/dist/experimental/lazy-projections/eck6.js.map +1 -0
- package/dist/experimental/lazy-projections/eqc.cjs +82 -0
- package/dist/experimental/lazy-projections/eqc.cjs.map +6 -0
- package/dist/experimental/lazy-projections/eqc.d.ts +3 -0
- package/dist/experimental/lazy-projections/eqc.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/eqc.js +11 -0
- package/dist/experimental/lazy-projections/eqc.js.map +1 -0
- package/dist/experimental/lazy-projections/eqdc.cjs +79 -0
- package/dist/experimental/lazy-projections/eqdc.cjs.map +6 -0
- package/dist/experimental/lazy-projections/eqdc.d.ts +3 -0
- package/dist/experimental/lazy-projections/eqdc.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/eqdc.js +8 -0
- package/dist/experimental/lazy-projections/eqdc.js.map +1 -0
- package/dist/experimental/lazy-projections/eqearth.cjs +79 -0
- package/dist/experimental/lazy-projections/eqearth.cjs.map +6 -0
- package/dist/experimental/lazy-projections/eqearth.d.ts +3 -0
- package/dist/experimental/lazy-projections/eqearth.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/eqearth.js +7 -0
- package/dist/experimental/lazy-projections/eqearth.js.map +1 -0
- package/dist/experimental/lazy-projections/equi.cjs +79 -0
- package/dist/experimental/lazy-projections/equi.cjs.map +6 -0
- package/dist/experimental/lazy-projections/equi.d.ts +3 -0
- package/dist/experimental/lazy-projections/equi.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/equi.js +7 -0
- package/dist/experimental/lazy-projections/equi.js.map +1 -0
- package/dist/experimental/lazy-projections/etmerc.cjs +79 -0
- package/dist/experimental/lazy-projections/etmerc.cjs.map +6 -0
- package/dist/experimental/lazy-projections/etmerc.d.ts +3 -0
- package/dist/experimental/lazy-projections/etmerc.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/etmerc.js +8 -0
- package/dist/experimental/lazy-projections/etmerc.js.map +1 -0
- package/dist/experimental/lazy-projections/geocent.cjs +79 -0
- package/dist/experimental/lazy-projections/geocent.cjs.map +6 -0
- package/dist/experimental/lazy-projections/geocent.d.ts +3 -0
- package/dist/experimental/lazy-projections/geocent.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/geocent.js +7 -0
- package/dist/experimental/lazy-projections/geocent.js.map +1 -0
- package/dist/experimental/lazy-projections/geos.cjs +79 -0
- package/dist/experimental/lazy-projections/geos.cjs.map +6 -0
- package/dist/experimental/lazy-projections/geos.d.ts +3 -0
- package/dist/experimental/lazy-projections/geos.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/geos.js +7 -0
- package/dist/experimental/lazy-projections/geos.js.map +1 -0
- package/dist/experimental/lazy-projections/gnom.cjs +79 -0
- package/dist/experimental/lazy-projections/gnom.cjs.map +6 -0
- package/dist/experimental/lazy-projections/gnom.d.ts +3 -0
- package/dist/experimental/lazy-projections/gnom.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/gnom.js +7 -0
- package/dist/experimental/lazy-projections/gnom.js.map +1 -0
- package/dist/experimental/lazy-projections/gstmerc.cjs +79 -0
- package/dist/experimental/lazy-projections/gstmerc.cjs.map +6 -0
- package/dist/experimental/lazy-projections/gstmerc.d.ts +3 -0
- package/dist/experimental/lazy-projections/gstmerc.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/gstmerc.js +8 -0
- package/dist/experimental/lazy-projections/gstmerc.js.map +1 -0
- package/dist/experimental/lazy-projections/index.cjs +3177 -0
- package/dist/experimental/lazy-projections/index.cjs.map +6 -0
- package/dist/experimental/lazy-projections/index.d.ts +39 -0
- package/dist/experimental/lazy-projections/index.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/index.js +41 -0
- package/dist/experimental/lazy-projections/index.js.map +1 -0
- package/dist/experimental/lazy-projections/krovak.cjs +87 -0
- package/dist/experimental/lazy-projections/krovak.cjs.map +6 -0
- package/dist/experimental/lazy-projections/krovak.d.ts +3 -0
- package/dist/experimental/lazy-projections/krovak.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/krovak.js +15 -0
- package/dist/experimental/lazy-projections/krovak.js.map +1 -0
- package/dist/experimental/lazy-projections/laea.cjs +79 -0
- package/dist/experimental/lazy-projections/laea.cjs.map +6 -0
- package/dist/experimental/lazy-projections/laea.d.ts +3 -0
- package/dist/experimental/lazy-projections/laea.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/laea.js +8 -0
- package/dist/experimental/lazy-projections/laea.js.map +1 -0
- package/dist/experimental/lazy-projections/lcc.cjs +89 -0
- package/dist/experimental/lazy-projections/lcc.cjs.map +6 -0
- package/dist/experimental/lazy-projections/lcc.d.ts +3 -0
- package/dist/experimental/lazy-projections/lcc.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/lcc.js +18 -0
- package/dist/experimental/lazy-projections/lcc.js.map +1 -0
- package/dist/experimental/lazy-projections/merc.cjs +88 -0
- package/dist/experimental/lazy-projections/merc.cjs.map +6 -0
- package/dist/experimental/lazy-projections/merc.d.ts +3 -0
- package/dist/experimental/lazy-projections/merc.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/merc.js +16 -0
- package/dist/experimental/lazy-projections/merc.js.map +1 -0
- package/dist/experimental/lazy-projections/mill.cjs +79 -0
- package/dist/experimental/lazy-projections/mill.cjs.map +6 -0
- package/dist/experimental/lazy-projections/mill.d.ts +3 -0
- package/dist/experimental/lazy-projections/mill.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/mill.js +8 -0
- package/dist/experimental/lazy-projections/mill.js.map +1 -0
- package/dist/experimental/lazy-projections/moll.cjs +79 -0
- package/dist/experimental/lazy-projections/moll.cjs.map +6 -0
- package/dist/experimental/lazy-projections/moll.d.ts +3 -0
- package/dist/experimental/lazy-projections/moll.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/moll.js +7 -0
- package/dist/experimental/lazy-projections/moll.js.map +1 -0
- package/dist/experimental/lazy-projections/nzmg.cjs +79 -0
- package/dist/experimental/lazy-projections/nzmg.cjs.map +6 -0
- package/dist/experimental/lazy-projections/nzmg.d.ts +3 -0
- package/dist/experimental/lazy-projections/nzmg.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/nzmg.js +8 -0
- package/dist/experimental/lazy-projections/nzmg.js.map +1 -0
- package/dist/experimental/lazy-projections/ob_tran.cjs +90 -0
- package/dist/experimental/lazy-projections/ob_tran.cjs.map +6 -0
- package/dist/experimental/lazy-projections/ob_tran.d.ts +5 -0
- package/dist/experimental/lazy-projections/ob_tran.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/ob_tran.js +18 -0
- package/dist/experimental/lazy-projections/ob_tran.js.map +1 -0
- package/dist/experimental/lazy-projections/omerc.cjs +91 -0
- package/dist/experimental/lazy-projections/omerc.cjs.map +6 -0
- package/dist/experimental/lazy-projections/omerc.d.ts +3 -0
- package/dist/experimental/lazy-projections/omerc.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/omerc.js +19 -0
- package/dist/experimental/lazy-projections/omerc.js.map +1 -0
- package/dist/experimental/lazy-projections/ortho.cjs +79 -0
- package/dist/experimental/lazy-projections/ortho.cjs.map +6 -0
- package/dist/experimental/lazy-projections/ortho.d.ts +3 -0
- package/dist/experimental/lazy-projections/ortho.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/ortho.js +7 -0
- package/dist/experimental/lazy-projections/ortho.js.map +1 -0
- package/dist/experimental/lazy-projections/poly.cjs +79 -0
- package/dist/experimental/lazy-projections/poly.cjs.map +6 -0
- package/dist/experimental/lazy-projections/poly.d.ts +3 -0
- package/dist/experimental/lazy-projections/poly.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/poly.js +7 -0
- package/dist/experimental/lazy-projections/poly.js.map +1 -0
- package/dist/experimental/lazy-projections/qsc.cjs +82 -0
- package/dist/experimental/lazy-projections/qsc.cjs.map +6 -0
- package/dist/experimental/lazy-projections/qsc.d.ts +3 -0
- package/dist/experimental/lazy-projections/qsc.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/qsc.js +11 -0
- package/dist/experimental/lazy-projections/qsc.js.map +1 -0
- package/dist/experimental/lazy-projections/robin.cjs +79 -0
- package/dist/experimental/lazy-projections/robin.cjs.map +6 -0
- package/dist/experimental/lazy-projections/robin.d.ts +3 -0
- package/dist/experimental/lazy-projections/robin.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/robin.js +7 -0
- package/dist/experimental/lazy-projections/robin.js.map +1 -0
- package/dist/experimental/lazy-projections/sinu.cjs +79 -0
- package/dist/experimental/lazy-projections/sinu.cjs.map +6 -0
- package/dist/experimental/lazy-projections/sinu.d.ts +3 -0
- package/dist/experimental/lazy-projections/sinu.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/sinu.js +7 -0
- package/dist/experimental/lazy-projections/sinu.js.map +1 -0
- package/dist/experimental/lazy-projections/somerc.cjs +79 -0
- package/dist/experimental/lazy-projections/somerc.cjs.map +6 -0
- package/dist/experimental/lazy-projections/somerc.d.ts +3 -0
- package/dist/experimental/lazy-projections/somerc.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/somerc.js +8 -0
- package/dist/experimental/lazy-projections/somerc.js.map +1 -0
- package/dist/experimental/lazy-projections/stere.cjs +87 -0
- package/dist/experimental/lazy-projections/stere.cjs.map +6 -0
- package/dist/experimental/lazy-projections/stere.d.ts +3 -0
- package/dist/experimental/lazy-projections/stere.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/stere.js +15 -0
- package/dist/experimental/lazy-projections/stere.js.map +1 -0
- package/dist/experimental/lazy-projections/sterea.cjs +87 -0
- package/dist/experimental/lazy-projections/sterea.cjs.map +6 -0
- package/dist/experimental/lazy-projections/sterea.d.ts +3 -0
- package/dist/experimental/lazy-projections/sterea.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/sterea.js +16 -0
- package/dist/experimental/lazy-projections/sterea.js.map +1 -0
- package/dist/experimental/lazy-projections/tmerc.cjs +89 -0
- package/dist/experimental/lazy-projections/tmerc.cjs.map +6 -0
- package/dist/experimental/lazy-projections/tmerc.d.ts +3 -0
- package/dist/experimental/lazy-projections/tmerc.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/tmerc.js +18 -0
- package/dist/experimental/lazy-projections/tmerc.js.map +1 -0
- package/dist/experimental/lazy-projections/tpers.cjs +79 -0
- package/dist/experimental/lazy-projections/tpers.cjs.map +6 -0
- package/dist/experimental/lazy-projections/tpers.d.ts +3 -0
- package/dist/experimental/lazy-projections/tpers.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/tpers.js +8 -0
- package/dist/experimental/lazy-projections/tpers.js.map +1 -0
- package/dist/experimental/lazy-projections/utm.cjs +79 -0
- package/dist/experimental/lazy-projections/utm.cjs.map +6 -0
- package/dist/experimental/lazy-projections/utm.d.ts +3 -0
- package/dist/experimental/lazy-projections/utm.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/utm.js +8 -0
- package/dist/experimental/lazy-projections/utm.js.map +1 -0
- package/dist/experimental/lazy-projections/vandg.cjs +79 -0
- package/dist/experimental/lazy-projections/vandg.cjs.map +6 -0
- package/dist/experimental/lazy-projections/vandg.d.ts +3 -0
- package/dist/experimental/lazy-projections/vandg.d.ts.map +1 -0
- package/dist/experimental/lazy-projections/vandg.js +7 -0
- package/dist/experimental/lazy-projections/vandg.js.map +1 -0
- package/dist/experimental/mutable-projection.d.ts +6 -0
- package/dist/experimental/mutable-projection.d.ts.map +1 -0
- package/dist/experimental/mutable-projection.js +53 -0
- package/dist/experimental/mutable-projection.js.map +1 -0
- package/dist/experimental/numeric-flat.d.ts +8 -0
- package/dist/experimental/numeric-flat.d.ts.map +1 -0
- package/dist/experimental/numeric-flat.js +54 -0
- package/dist/experimental/numeric-flat.js.map +1 -0
- package/dist/experimental/parameters.d.ts +7 -0
- package/dist/experimental/parameters.d.ts.map +1 -0
- package/dist/experimental/parameters.js +30 -0
- package/dist/experimental/parameters.js.map +1 -0
- package/dist/experimental/projection-descriptor.d.ts +13 -0
- package/dist/experimental/projection-descriptor.d.ts.map +1 -0
- package/dist/experimental/projection-descriptor.js +52 -0
- package/dist/experimental/projection-descriptor.js.map +1 -0
- package/dist/experimental/projection-pipeline.d.ts +142 -0
- package/dist/experimental/projection-pipeline.d.ts.map +1 -0
- package/dist/experimental/projection-pipeline.js +746 -0
- package/dist/experimental/projection-pipeline.js.map +1 -0
- package/dist/experimental/projection-scratch.d.ts +9 -0
- package/dist/experimental/projection-scratch.d.ts.map +1 -0
- package/dist/experimental/projection-scratch.js +18 -0
- package/dist/experimental/projection-scratch.js.map +1 -0
- package/dist/experimental/projections/aea.d.ts +3 -0
- package/dist/experimental/projections/aea.d.ts.map +1 -0
- package/dist/experimental/projections/aea.js +17 -0
- package/dist/experimental/projections/aea.js.map +1 -0
- package/dist/experimental/projections/aeqd.d.ts +3 -0
- package/dist/experimental/projections/aeqd.d.ts.map +1 -0
- package/dist/experimental/projections/aeqd.js +15 -0
- package/dist/experimental/projections/aeqd.js.map +1 -0
- package/dist/experimental/projections/bonne.d.ts +3 -0
- package/dist/experimental/projections/bonne.d.ts.map +1 -0
- package/dist/experimental/projections/bonne.js +16 -0
- package/dist/experimental/projections/bonne.js.map +1 -0
- package/dist/experimental/projections/cass.d.ts +3 -0
- package/dist/experimental/projections/cass.d.ts.map +1 -0
- package/dist/experimental/projections/cass.js +13 -0
- package/dist/experimental/projections/cass.js.map +1 -0
- package/dist/experimental/projections/cea.d.ts +3 -0
- package/dist/experimental/projections/cea.d.ts.map +1 -0
- package/dist/experimental/projections/cea.js +15 -0
- package/dist/experimental/projections/cea.js.map +1 -0
- package/dist/experimental/projections/eck6.d.ts +3 -0
- package/dist/experimental/projections/eck6.d.ts.map +1 -0
- package/dist/experimental/projections/eck6.js +13 -0
- package/dist/experimental/projections/eck6.js.map +1 -0
- package/dist/experimental/projections/eqdc.d.ts +3 -0
- package/dist/experimental/projections/eqdc.d.ts.map +1 -0
- package/dist/experimental/projections/eqdc.js +17 -0
- package/dist/experimental/projections/eqdc.js.map +1 -0
- package/dist/experimental/projections/eqearth.d.ts +3 -0
- package/dist/experimental/projections/eqearth.d.ts.map +1 -0
- package/dist/experimental/projections/eqearth.js +13 -0
- package/dist/experimental/projections/eqearth.js.map +1 -0
- package/dist/experimental/projections/equi.d.ts +3 -0
- package/dist/experimental/projections/equi.d.ts.map +1 -0
- package/dist/experimental/projections/equi.js +15 -0
- package/dist/experimental/projections/equi.js.map +1 -0
- package/dist/experimental/projections/equidistant-cylindrical.d.ts +4 -0
- package/dist/experimental/projections/equidistant-cylindrical.d.ts.map +1 -0
- package/dist/experimental/projections/equidistant-cylindrical.js +30 -0
- package/dist/experimental/projections/equidistant-cylindrical.js.map +1 -0
- package/dist/experimental/projections/geocentric.d.ts +3 -0
- package/dist/experimental/projections/geocentric.d.ts.map +1 -0
- package/dist/experimental/projections/geocentric.js +26 -0
- package/dist/experimental/projections/geocentric.js.map +1 -0
- package/dist/experimental/projections/geos.d.ts +3 -0
- package/dist/experimental/projections/geos.d.ts.map +1 -0
- package/dist/experimental/projections/geos.js +20 -0
- package/dist/experimental/projections/geos.js.map +1 -0
- package/dist/experimental/projections/gnom.d.ts +3 -0
- package/dist/experimental/projections/gnom.d.ts.map +1 -0
- package/dist/experimental/projections/gnom.js +13 -0
- package/dist/experimental/projections/gnom.js.map +1 -0
- package/dist/experimental/projections/gstmerc.d.ts +3 -0
- package/dist/experimental/projections/gstmerc.d.ts.map +1 -0
- package/dist/experimental/projections/gstmerc.js +13 -0
- package/dist/experimental/projections/gstmerc.js.map +1 -0
- package/dist/experimental/projections/krovak.d.ts +3 -0
- package/dist/experimental/projections/krovak.d.ts.map +1 -0
- package/dist/experimental/projections/krovak.js +32 -0
- package/dist/experimental/projections/krovak.js.map +1 -0
- package/dist/experimental/projections/laea.d.ts +3 -0
- package/dist/experimental/projections/laea.d.ts.map +1 -0
- package/dist/experimental/projections/laea.js +15 -0
- package/dist/experimental/projections/laea.js.map +1 -0
- package/dist/experimental/projections/lcc.d.ts +3 -0
- package/dist/experimental/projections/lcc.d.ts.map +1 -0
- package/dist/experimental/projections/lcc.js +32 -0
- package/dist/experimental/projections/lcc.js.map +1 -0
- package/dist/experimental/projections/mercator.d.ts +4 -0
- package/dist/experimental/projections/mercator.d.ts.map +1 -0
- package/dist/experimental/projections/mercator.js +71 -0
- package/dist/experimental/projections/mercator.js.map +1 -0
- package/dist/experimental/projections/mill.d.ts +3 -0
- package/dist/experimental/projections/mill.d.ts.map +1 -0
- package/dist/experimental/projections/mill.js +13 -0
- package/dist/experimental/projections/mill.js.map +1 -0
- package/dist/experimental/projections/moll.d.ts +3 -0
- package/dist/experimental/projections/moll.d.ts.map +1 -0
- package/dist/experimental/projections/moll.js +13 -0
- package/dist/experimental/projections/moll.js.map +1 -0
- package/dist/experimental/projections/nzmg.d.ts +3 -0
- package/dist/experimental/projections/nzmg.d.ts.map +1 -0
- package/dist/experimental/projections/nzmg.js +20 -0
- package/dist/experimental/projections/nzmg.js.map +1 -0
- package/dist/experimental/projections/ob-tran.d.ts +4 -0
- package/dist/experimental/projections/ob-tran.d.ts.map +1 -0
- package/dist/experimental/projections/ob-tran.js +119 -0
- package/dist/experimental/projections/ob-tran.js.map +1 -0
- package/dist/experimental/projections/omerc.d.ts +3 -0
- package/dist/experimental/projections/omerc.d.ts.map +1 -0
- package/dist/experimental/projections/omerc.js +60 -0
- package/dist/experimental/projections/omerc.js.map +1 -0
- package/dist/experimental/projections/ortho.d.ts +3 -0
- package/dist/experimental/projections/ortho.d.ts.map +1 -0
- package/dist/experimental/projections/ortho.js +13 -0
- package/dist/experimental/projections/ortho.js.map +1 -0
- package/dist/experimental/projections/poly.d.ts +3 -0
- package/dist/experimental/projections/poly.d.ts.map +1 -0
- package/dist/experimental/projections/poly.js +13 -0
- package/dist/experimental/projections/poly.js.map +1 -0
- package/dist/experimental/projections/qsc.d.ts +3 -0
- package/dist/experimental/projections/qsc.d.ts.map +1 -0
- package/dist/experimental/projections/qsc.js +13 -0
- package/dist/experimental/projections/qsc.js.map +1 -0
- package/dist/experimental/projections/robin.d.ts +3 -0
- package/dist/experimental/projections/robin.d.ts.map +1 -0
- package/dist/experimental/projections/robin.js +13 -0
- package/dist/experimental/projections/robin.js.map +1 -0
- package/dist/experimental/projections/sinu.d.ts +3 -0
- package/dist/experimental/projections/sinu.d.ts.map +1 -0
- package/dist/experimental/projections/sinu.js +13 -0
- package/dist/experimental/projections/sinu.js.map +1 -0
- package/dist/experimental/projections/somerc.d.ts +3 -0
- package/dist/experimental/projections/somerc.d.ts.map +1 -0
- package/dist/experimental/projections/somerc.js +13 -0
- package/dist/experimental/projections/somerc.js.map +1 -0
- package/dist/experimental/projections/stere.d.ts +3 -0
- package/dist/experimental/projections/stere.d.ts.map +1 -0
- package/dist/experimental/projections/stere.js +20 -0
- package/dist/experimental/projections/stere.js.map +1 -0
- package/dist/experimental/projections/sterea.d.ts +3 -0
- package/dist/experimental/projections/sterea.d.ts.map +1 -0
- package/dist/experimental/projections/sterea.js +22 -0
- package/dist/experimental/projections/sterea.js.map +1 -0
- package/dist/experimental/projections/tpers.d.ts +3 -0
- package/dist/experimental/projections/tpers.d.ts.map +1 -0
- package/dist/experimental/projections/tpers.js +19 -0
- package/dist/experimental/projections/tpers.js.map +1 -0
- package/dist/experimental/projections/transverse-mercator.d.ts +6 -0
- package/dist/experimental/projections/transverse-mercator.d.ts.map +1 -0
- package/dist/experimental/projections/transverse-mercator.js +39 -0
- package/dist/experimental/projections/transverse-mercator.js.map +1 -0
- package/dist/experimental/projections/utm.d.ts +3 -0
- package/dist/experimental/projections/utm.d.ts.map +1 -0
- package/dist/experimental/projections/utm.js +31 -0
- package/dist/experimental/projections/utm.js.map +1 -0
- package/dist/experimental/projections/vandg.d.ts +3 -0
- package/dist/experimental/projections/vandg.d.ts.map +1 -0
- package/dist/experimental/projections/vandg.js +13 -0
- package/dist/experimental/projections/vandg.js.map +1 -0
- package/dist/experimental/scalar-output.d.ts +8 -0
- package/dist/experimental/scalar-output.d.ts.map +1 -0
- package/dist/experimental/scalar-output.js +46 -0
- package/dist/experimental/scalar-output.js.map +1 -0
- package/dist/experimental/types.d.ts +54 -0
- package/dist/experimental/types.d.ts.map +1 -0
- package/dist/experimental/types.js +5 -0
- package/dist/experimental/types.js.map +1 -0
- package/dist/experimental/typescript-projection.d.ts +67 -0
- package/dist/experimental/typescript-projection.d.ts.map +1 -0
- package/dist/experimental/typescript-projection.js +429 -0
- package/dist/experimental/typescript-projection.js.map +1 -0
- package/dist/experimental/vertical-datum.d.ts +4 -0
- package/dist/experimental/vertical-datum.d.ts.map +1 -0
- package/dist/experimental/vertical-datum.js +43 -0
- package/dist/experimental/vertical-datum.js.map +1 -0
- package/dist/grids/velocity.cjs +92 -0
- package/dist/grids/velocity.cjs.map +6 -0
- package/dist/grids/velocity.d.ts +3 -0
- package/dist/grids/velocity.d.ts.map +1 -0
- package/dist/grids/velocity.js +5 -0
- package/dist/grids/velocity.js.map +1 -0
- package/dist/index.cjs +10158 -0
- package/dist/index.cjs.map +6 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/projection.d.ts +24 -0
- package/dist/lib/projection.d.ts.map +1 -0
- package/dist/lib/projection.js +107 -0
- package/dist/lib/projection.js.map +1 -0
- package/dist/operations.cjs +255 -0
- package/dist/operations.cjs.map +6 -0
- package/dist/operations.d.ts +67 -0
- package/dist/operations.d.ts.map +1 -0
- package/dist/operations.js +272 -0
- package/dist/operations.js.map +1 -0
- package/dist/pipeline.cjs +3347 -0
- package/dist/pipeline.cjs.map +6 -0
- package/dist/pipeline.d.ts +2 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +5 -0
- package/dist/pipeline.js.map +1 -0
- package/package.json +970 -3
- package/src/deformation.ts +5 -0
- package/src/experimental/catalogue-kernel.ts +54 -0
- package/src/experimental/common/adjust_lat.ts +11 -0
- package/src/experimental/common/adjust_lon.ts +14 -0
- package/src/experimental/common/asinhy.ts +14 -0
- package/src/experimental/common/asinz.ts +11 -0
- package/src/experimental/common/authlat.ts +9 -0
- package/src/experimental/common/authset.ts +25 -0
- package/src/experimental/common/clens.ts +20 -0
- package/src/experimental/common/clens_cmplx.ts +43 -0
- package/src/experimental/common/constants.ts +15 -0
- package/src/experimental/common/cosh.ts +10 -0
- package/src/experimental/common/e0fn.ts +8 -0
- package/src/experimental/common/e1fn.ts +8 -0
- package/src/experimental/common/e2fn.ts +8 -0
- package/src/experimental/common/e3fn.ts +8 -0
- package/src/experimental/common/fL.ts +10 -0
- package/src/experimental/common/gN.ts +9 -0
- package/src/experimental/common/gatg.ts +20 -0
- package/src/experimental/common/hypot.ts +13 -0
- package/src/experimental/common/imlfn.ts +23 -0
- package/src/experimental/common/invlatiso.ts +20 -0
- package/src/experimental/common/iqsfnz.ts +45 -0
- package/src/experimental/common/latiso.ts +21 -0
- package/src/experimental/common/log1py.ts +11 -0
- package/src/experimental/common/mlfn.ts +8 -0
- package/src/experimental/common/msfnz.ts +9 -0
- package/src/experimental/common/phi2z.ts +22 -0
- package/src/experimental/common/pj_enfn.ts +29 -0
- package/src/experimental/common/pj_inv_mlfn.ts +28 -0
- package/src/experimental/common/pj_mlfn.ts +10 -0
- package/src/experimental/common/qsfnz.ts +17 -0
- package/src/experimental/common/sign.ts +8 -0
- package/src/experimental/common/sinh.ts +10 -0
- package/src/experimental/common/srat.ts +8 -0
- package/src/experimental/common/tsfnz.ts +13 -0
- package/src/experimental/common/vincenty.ts +180 -0
- package/src/experimental/core.ts +48 -0
- package/src/experimental/crs/datum-table.ts +1370 -0
- package/src/experimental/crs/ellipsoid-table.ts +230 -0
- package/src/experimental/crs/normalize.ts +303 -0
- package/src/experimental/crs/primemeridian-table.ts +22 -0
- package/src/experimental/crs/projjson.ts +12 -0
- package/src/experimental/crs/spatial-reference.ts +115 -0
- package/src/experimental/crs/structured.ts +521 -0
- package/src/experimental/crs/types.ts +80 -0
- package/src/experimental/crs/units-table.ts +27 -0
- package/src/experimental/crs/wkt.ts +192 -0
- package/src/experimental/datum.ts +185 -0
- package/src/experimental/deformation.ts +134 -0
- package/src/experimental/entries/projections/aea.ts +5 -0
- package/src/experimental/entries/projections/aeqd.ts +5 -0
- package/src/experimental/entries/projections/bonne.ts +5 -0
- package/src/experimental/entries/projections/cass.ts +5 -0
- package/src/experimental/entries/projections/cea.ts +5 -0
- package/src/experimental/entries/projections/eck6.ts +5 -0
- package/src/experimental/entries/projections/eqc.ts +5 -0
- package/src/experimental/entries/projections/eqdc.ts +5 -0
- package/src/experimental/entries/projections/eqearth.ts +5 -0
- package/src/experimental/entries/projections/equi.ts +5 -0
- package/src/experimental/entries/projections/etmerc.ts +5 -0
- package/src/experimental/entries/projections/geocent.ts +5 -0
- package/src/experimental/entries/projections/geos.ts +5 -0
- package/src/experimental/entries/projections/gnom.ts +5 -0
- package/src/experimental/entries/projections/gstmerc.ts +5 -0
- package/src/experimental/entries/projections/krovak.ts +5 -0
- package/src/experimental/entries/projections/laea.ts +5 -0
- package/src/experimental/entries/projections/lcc.ts +5 -0
- package/src/experimental/entries/projections/merc.ts +5 -0
- package/src/experimental/entries/projections/mill.ts +5 -0
- package/src/experimental/entries/projections/moll.ts +5 -0
- package/src/experimental/entries/projections/nzmg.ts +5 -0
- package/src/experimental/entries/projections/ob_tran.ts +5 -0
- package/src/experimental/entries/projections/omerc.ts +5 -0
- package/src/experimental/entries/projections/ortho.ts +5 -0
- package/src/experimental/entries/projections/poly.ts +5 -0
- package/src/experimental/entries/projections/qsc.ts +5 -0
- package/src/experimental/entries/projections/robin.ts +5 -0
- package/src/experimental/entries/projections/sinu.ts +5 -0
- package/src/experimental/entries/projections/somerc.ts +5 -0
- package/src/experimental/entries/projections/stere.ts +5 -0
- package/src/experimental/entries/projections/sterea.ts +5 -0
- package/src/experimental/entries/projections/tmerc.ts +5 -0
- package/src/experimental/entries/projections/tpers.ts +5 -0
- package/src/experimental/entries/projections/utm.ts +5 -0
- package/src/experimental/entries/projections/vandg.ts +5 -0
- package/src/experimental/exact-helmert.ts +58 -0
- package/src/experimental/flat-projection.ts +70 -0
- package/src/experimental/grids/geotiff.ts +88 -0
- package/src/experimental/grids/grid.ts +141 -0
- package/src/experimental/grids/gtx.ts +31 -0
- package/src/experimental/grids/ntv2.ts +71 -0
- package/src/experimental/grids/scalar-geotiff.ts +231 -0
- package/src/experimental/grids/types.ts +35 -0
- package/src/experimental/grids/velocity-geotiff.ts +82 -0
- package/src/experimental/grids/velocity.ts +58 -0
- package/src/experimental/grids/vertical-geotiff.ts +28 -0
- package/src/experimental/grids/vertical.ts +99 -0
- package/src/experimental/helmert-flat.ts +76 -0
- package/src/experimental/index.ts +59 -0
- package/src/experimental/kernel.ts +139 -0
- package/src/experimental/kernels/aea.ts +170 -0
- package/src/experimental/kernels/aeqd.ts +182 -0
- package/src/experimental/kernels/bonne.ts +141 -0
- package/src/experimental/kernels/cass.ts +140 -0
- package/src/experimental/kernels/cea.ts +71 -0
- package/src/experimental/kernels/eck6.ts +36 -0
- package/src/experimental/kernels/eqdc.ts +137 -0
- package/src/experimental/kernels/eqearth.ts +136 -0
- package/src/experimental/kernels/equi.ts +53 -0
- package/src/experimental/kernels/etmerc.ts +190 -0
- package/src/experimental/kernels/gauss.ts +79 -0
- package/src/experimental/kernels/geos.ts +183 -0
- package/src/experimental/kernels/gnom.ts +113 -0
- package/src/experimental/kernels/gstmerc.ts +74 -0
- package/src/experimental/kernels/krovak.ts +166 -0
- package/src/experimental/kernels/laea.ts +297 -0
- package/src/experimental/kernels/lcc.ts +147 -0
- package/src/experimental/kernels/mill.ts +60 -0
- package/src/experimental/kernels/moll.ts +105 -0
- package/src/experimental/kernels/nzmg.ts +249 -0
- package/src/experimental/kernels/omerc.ts +343 -0
- package/src/experimental/kernels/ortho.ts +106 -0
- package/src/experimental/kernels/poly.ts +156 -0
- package/src/experimental/kernels/qsc.ts +369 -0
- package/src/experimental/kernels/robin.ts +189 -0
- package/src/experimental/kernels/sinu.ts +116 -0
- package/src/experimental/kernels/somerc.ts +112 -0
- package/src/experimental/kernels/stere.ts +221 -0
- package/src/experimental/kernels/sterea.ts +80 -0
- package/src/experimental/kernels/tmerc.ts +227 -0
- package/src/experimental/kernels/tpers.ts +187 -0
- package/src/experimental/kernels/vandg.ts +147 -0
- package/src/experimental/kinematic-helmert-flat.ts +85 -0
- package/src/experimental/kinematic-helmert.ts +132 -0
- package/src/experimental/lazy-projection.ts +146 -0
- package/src/experimental/lazy-projections/aea.ts +10 -0
- package/src/experimental/lazy-projections/aeqd.ts +11 -0
- package/src/experimental/lazy-projections/bonne.ts +10 -0
- package/src/experimental/lazy-projections/cass.ts +10 -0
- package/src/experimental/lazy-projections/cea.ts +11 -0
- package/src/experimental/lazy-projections/eck6.ts +10 -0
- package/src/experimental/lazy-projections/eqc.ts +14 -0
- package/src/experimental/lazy-projections/eqdc.ts +11 -0
- package/src/experimental/lazy-projections/eqearth.ts +10 -0
- package/src/experimental/lazy-projections/equi.ts +10 -0
- package/src/experimental/lazy-projections/etmerc.ts +11 -0
- package/src/experimental/lazy-projections/geocent.ts +10 -0
- package/src/experimental/lazy-projections/geos.ts +10 -0
- package/src/experimental/lazy-projections/gnom.ts +10 -0
- package/src/experimental/lazy-projections/gstmerc.ts +12 -0
- package/src/experimental/lazy-projections/index.ts +42 -0
- package/src/experimental/lazy-projections/krovak.ts +18 -0
- package/src/experimental/lazy-projections/laea.ts +11 -0
- package/src/experimental/lazy-projections/lcc.ts +21 -0
- package/src/experimental/lazy-projections/merc.ts +19 -0
- package/src/experimental/lazy-projections/mill.ts +11 -0
- package/src/experimental/lazy-projections/moll.ts +10 -0
- package/src/experimental/lazy-projections/nzmg.ts +11 -0
- package/src/experimental/lazy-projections/ob_tran.ts +25 -0
- package/src/experimental/lazy-projections/omerc.ts +22 -0
- package/src/experimental/lazy-projections/ortho.ts +10 -0
- package/src/experimental/lazy-projections/poly.ts +10 -0
- package/src/experimental/lazy-projections/qsc.ts +14 -0
- package/src/experimental/lazy-projections/robin.ts +10 -0
- package/src/experimental/lazy-projections/sinu.ts +10 -0
- package/src/experimental/lazy-projections/somerc.ts +11 -0
- package/src/experimental/lazy-projections/stere.ts +18 -0
- package/src/experimental/lazy-projections/sterea.ts +19 -0
- package/src/experimental/lazy-projections/tmerc.ts +21 -0
- package/src/experimental/lazy-projections/tpers.ts +11 -0
- package/src/experimental/lazy-projections/utm.ts +11 -0
- package/src/experimental/lazy-projections/vandg.ts +10 -0
- package/src/experimental/mutable-projection.ts +63 -0
- package/src/experimental/numeric-flat.ts +73 -0
- package/src/experimental/parameters.ts +35 -0
- package/src/experimental/projection-descriptor.ts +79 -0
- package/src/experimental/projection-pipeline.ts +1053 -0
- package/src/experimental/projection-scratch.ts +19 -0
- package/src/experimental/projections/aea.ts +19 -0
- package/src/experimental/projections/aeqd.ts +18 -0
- package/src/experimental/projections/bonne.ts +23 -0
- package/src/experimental/projections/cass.ts +19 -0
- package/src/experimental/projections/cea.ts +20 -0
- package/src/experimental/projections/eck6.ts +19 -0
- package/src/experimental/projections/eqdc.ts +19 -0
- package/src/experimental/projections/eqearth.ts +19 -0
- package/src/experimental/projections/equi.ts +20 -0
- package/src/experimental/projections/equidistant-cylindrical.ts +35 -0
- package/src/experimental/projections/geocentric.ts +34 -0
- package/src/experimental/projections/geos.ts +31 -0
- package/src/experimental/projections/gnom.ts +19 -0
- package/src/experimental/projections/gstmerc.ts +19 -0
- package/src/experimental/projections/krovak.ts +41 -0
- package/src/experimental/projections/laea.ts +18 -0
- package/src/experimental/projections/lcc.ts +40 -0
- package/src/experimental/projections/mercator.ts +79 -0
- package/src/experimental/projections/mill.ts +19 -0
- package/src/experimental/projections/moll.ts +19 -0
- package/src/experimental/projections/nzmg.ts +27 -0
- package/src/experimental/projections/ob-tran.ts +161 -0
- package/src/experimental/projections/omerc.ts +66 -0
- package/src/experimental/projections/ortho.ts +26 -0
- package/src/experimental/projections/poly.ts +19 -0
- package/src/experimental/projections/qsc.ts +19 -0
- package/src/experimental/projections/robin.ts +19 -0
- package/src/experimental/projections/sinu.ts +19 -0
- package/src/experimental/projections/somerc.ts +19 -0
- package/src/experimental/projections/stere.ts +29 -0
- package/src/experimental/projections/sterea.ts +30 -0
- package/src/experimental/projections/tpers.ts +31 -0
- package/src/experimental/projections/transverse-mercator.ts +68 -0
- package/src/experimental/projections/utm.ts +33 -0
- package/src/experimental/projections/vandg.ts +19 -0
- package/src/experimental/scalar-output.ts +74 -0
- package/src/experimental/types.ts +61 -0
- package/src/experimental/typescript-projection.ts +545 -0
- package/src/experimental/vertical-datum.ts +39 -0
- package/src/grids/velocity.ts +5 -0
- package/src/index.ts +7 -0
- package/src/lib/projection.ts +167 -0
- package/src/operations.ts +358 -0
- package/src/pipeline.ts +4 -0
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import { getLoadedProjection, preloadProjection } from "./projection-descriptor.js";
|
|
2
|
+
import { projectionOperation } from "./mutable-projection.js";
|
|
3
|
+
import { ProjectionScratch } from "./projection-scratch.js";
|
|
4
|
+
import { validateScalarOutput, writeScalarOutput } from "./scalar-output.js";
|
|
5
|
+
import { CORE_FLAGS, CORE_PARAMETERS, normalizeCRS } from "./crs/normalize.js";
|
|
6
|
+
import { TypeScriptCRSError, unsupportedStage } from "./crs/types.js";
|
|
7
|
+
import { createDatumTransform } from "./datum.js";
|
|
8
|
+
import { wrapLongitude } from "./parameters.js";
|
|
9
|
+
import { compileVerticalGrid } from "./vertical-datum.js";
|
|
10
|
+
/** Configurable math.gl projection engine; see the documented supported subset and accuracy limits.
|
|
11
|
+
* Third ordinates are height (gravity-related with +geoidgrids) or geocentric Z.
|
|
12
|
+
*/
|
|
13
|
+
export class ProjectionEngine {
|
|
14
|
+
/** Resolve required descriptors once, then return an ordinary synchronous instance. */
|
|
15
|
+
static async create(options = {}) {
|
|
16
|
+
const projections = await Promise.all(requiredProjections(options).map(preloadProjection));
|
|
17
|
+
return new ProjectionEngine({ ...options, projections });
|
|
18
|
+
}
|
|
19
|
+
constructor(options = {}) {
|
|
20
|
+
this.coordinateScratch = new ProjectionScratch();
|
|
21
|
+
const registrations = options.projections || [];
|
|
22
|
+
const plugins = registry(registrations);
|
|
23
|
+
if (registrations.some(projection => !('create' in projection))) {
|
|
24
|
+
// Inspect definitions without fetching any algorithms. Importing descriptors
|
|
25
|
+
// and constructing an instance never starts a dynamic import.
|
|
26
|
+
const from = normalizeCRS(options.from ?? 'WGS84', options);
|
|
27
|
+
const to = normalizeCRS(options.to ?? 'WGS84', options);
|
|
28
|
+
this.lossy = from.lossy || to.lossy;
|
|
29
|
+
this.deferred = { options: { ...options, projections: [...registrations] } };
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
const eager = options;
|
|
33
|
+
const eagerPlugins = plugins;
|
|
34
|
+
const from = compileCRS(eager.from ?? 'WGS84', eagerPlugins, eager);
|
|
35
|
+
const to = compileCRS(eager.to ?? 'WGS84', eagerPlugins, eager);
|
|
36
|
+
this.lossy = from.lossy || to.lossy;
|
|
37
|
+
if (this.lossy && (from.kind === 'geocentric' || to.kind === 'geocentric'))
|
|
38
|
+
unsupportedStage('Horizontal extraction cannot supply ellipsoidal height for geocentric coordinates');
|
|
39
|
+
if (this.lossy && (from.verticalGrid || to.verticalGrid))
|
|
40
|
+
unsupportedStage('Horizontal extraction cannot be combined with vertical grids');
|
|
41
|
+
this.forwardTransform = compileTransform(from, to, Boolean(options.enforceAxis));
|
|
42
|
+
this.inverseTransform = compileTransform(to, from, Boolean(options.enforceAxis));
|
|
43
|
+
}
|
|
44
|
+
this.project = this.project.bind(this);
|
|
45
|
+
this.unproject = this.unproject.bind(this);
|
|
46
|
+
this.projectTo = this.projectTo.bind(this);
|
|
47
|
+
this.unprojectTo = this.unprojectTo.bind(this);
|
|
48
|
+
this.projectToSync = this.projectToSync.bind(this);
|
|
49
|
+
this.unprojectToSync = this.unprojectToSync.bind(this);
|
|
50
|
+
this.projectFlat = this.projectFlat.bind(this);
|
|
51
|
+
this.unprojectFlat = this.unprojectFlat.bind(this);
|
|
52
|
+
this.projectSync = this.projectSync.bind(this);
|
|
53
|
+
this.unprojectSync = this.unprojectSync.bind(this);
|
|
54
|
+
this.projectFlatSync = this.projectFlatSync.bind(this);
|
|
55
|
+
this.unprojectFlatSync = this.unprojectFlatSync.bind(this);
|
|
56
|
+
}
|
|
57
|
+
load() {
|
|
58
|
+
const state = this.deferred;
|
|
59
|
+
if (!state)
|
|
60
|
+
return Promise.resolve(this);
|
|
61
|
+
if (state.implementation)
|
|
62
|
+
return Promise.resolve(state.implementation);
|
|
63
|
+
state.pending || (state.pending = ProjectionEngine.create(state.options)
|
|
64
|
+
.then(projection => {
|
|
65
|
+
state.implementation = projection;
|
|
66
|
+
return projection;
|
|
67
|
+
})
|
|
68
|
+
.catch(error => {
|
|
69
|
+
state.pending = undefined;
|
|
70
|
+
throw error;
|
|
71
|
+
}));
|
|
72
|
+
return state.pending;
|
|
73
|
+
}
|
|
74
|
+
loadSync() {
|
|
75
|
+
const state = this.deferred;
|
|
76
|
+
if (!state)
|
|
77
|
+
return this;
|
|
78
|
+
if (!state.implementation) {
|
|
79
|
+
const projections = requiredProjections(state.options).map(descriptor => {
|
|
80
|
+
const plugin = getLoadedProjection(descriptor);
|
|
81
|
+
if (!plugin)
|
|
82
|
+
throw new Error('Projection is not preloaded: ' + descriptor.name + '. Call preload() first.');
|
|
83
|
+
return plugin;
|
|
84
|
+
});
|
|
85
|
+
state.implementation = new ProjectionEngine({ ...state.options, projections });
|
|
86
|
+
}
|
|
87
|
+
return state.implementation;
|
|
88
|
+
}
|
|
89
|
+
/** Synchronous variants never import algorithms; descriptors must be preloaded. */
|
|
90
|
+
projectSync(coordinate) {
|
|
91
|
+
return this.deferred
|
|
92
|
+
? this.loadSync().project(coordinate)
|
|
93
|
+
: transformScalar(coordinate, this.forwardTransform, this.coordinateScratch);
|
|
94
|
+
}
|
|
95
|
+
unprojectSync(coordinate) {
|
|
96
|
+
return this.deferred
|
|
97
|
+
? this.loadSync().unproject(coordinate)
|
|
98
|
+
: transformScalar(coordinate, this.inverseTransform, this.coordinateScratch);
|
|
99
|
+
}
|
|
100
|
+
projectFlatSync(coordinates, dimension = 2) {
|
|
101
|
+
return this.deferred
|
|
102
|
+
? this.loadSync().projectFlat(coordinates, dimension)
|
|
103
|
+
: transformInPlace(coordinates, dimension, this.forwardTransform, this.coordinateScratch);
|
|
104
|
+
}
|
|
105
|
+
unprojectFlatSync(coordinates, dimension = 2) {
|
|
106
|
+
return this.deferred
|
|
107
|
+
? this.loadSync().unprojectFlat(coordinates, dimension)
|
|
108
|
+
: transformInPlace(coordinates, dimension, this.inverseTransform, this.coordinateScratch);
|
|
109
|
+
}
|
|
110
|
+
/** Optional warm-up. Coordinate methods also load automatically on first use. */
|
|
111
|
+
async preload() {
|
|
112
|
+
await this.load();
|
|
113
|
+
}
|
|
114
|
+
/** Eager plugins return arrays; descriptor-backed instances return promises. */
|
|
115
|
+
project(coordinate) {
|
|
116
|
+
const result = this.deferred
|
|
117
|
+
? this.projectLoaded(coordinate, false)
|
|
118
|
+
: transformScalar(coordinate, this.forwardTransform, this.coordinateScratch);
|
|
119
|
+
return result;
|
|
120
|
+
}
|
|
121
|
+
unproject(coordinate) {
|
|
122
|
+
const result = this.deferred
|
|
123
|
+
? this.projectLoaded(coordinate, true)
|
|
124
|
+
: transformScalar(coordinate, this.inverseTransform, this.coordinateScratch);
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
127
|
+
/** Write one coordinate into caller-owned storage; return that same output. */
|
|
128
|
+
projectTo(coordinate, output) {
|
|
129
|
+
return (this.deferred
|
|
130
|
+
? this.projectToLoaded(coordinate, output, false)
|
|
131
|
+
: this.projectToSync(coordinate, output));
|
|
132
|
+
}
|
|
133
|
+
unprojectTo(coordinate, output) {
|
|
134
|
+
return (this.deferred
|
|
135
|
+
? this.projectToLoaded(coordinate, output, true)
|
|
136
|
+
: this.unprojectToSync(coordinate, output));
|
|
137
|
+
}
|
|
138
|
+
projectToSync(coordinate, output) {
|
|
139
|
+
if (this.deferred)
|
|
140
|
+
return this.loadSync().projectTo(coordinate, output);
|
|
141
|
+
validateScalarOutput(coordinate, output, Math.max(coordinate.length, this.forwardTransform.geocentricOutput ? 3 : 2));
|
|
142
|
+
return transformScalar(coordinate, this.forwardTransform, this.coordinateScratch, output);
|
|
143
|
+
}
|
|
144
|
+
unprojectToSync(coordinate, output) {
|
|
145
|
+
if (this.deferred)
|
|
146
|
+
return this.loadSync().unprojectTo(coordinate, output);
|
|
147
|
+
validateScalarOutput(coordinate, output, Math.max(coordinate.length, this.inverseTransform.geocentricOutput ? 3 : 2));
|
|
148
|
+
return transformScalar(coordinate, this.inverseTransform, this.coordinateScratch, output);
|
|
149
|
+
}
|
|
150
|
+
projectToLoaded(coordinate, output, inverse) {
|
|
151
|
+
validateScalarOutput(coordinate, output, coordinate.length);
|
|
152
|
+
const input = coordinate.slice();
|
|
153
|
+
return this.load().then(projection => inverse ? projection.unprojectTo(input, output) : projection.projectTo(input, output));
|
|
154
|
+
}
|
|
155
|
+
projectLoaded(coordinate, inverse) {
|
|
156
|
+
const input = coordinate.slice();
|
|
157
|
+
return this.load().then(projection => inverse ? projection.unproject(input) : projection.project(input));
|
|
158
|
+
}
|
|
159
|
+
/** In-place; descriptor callers must await completion before reusing the buffer. */
|
|
160
|
+
projectFlat(coordinates, dimension = 2) {
|
|
161
|
+
const result = this.deferred
|
|
162
|
+
? this.load().then(projection => projection.projectFlat(coordinates, dimension))
|
|
163
|
+
: transformInPlace(coordinates, dimension, this.forwardTransform, this.coordinateScratch);
|
|
164
|
+
return result;
|
|
165
|
+
}
|
|
166
|
+
unprojectFlat(coordinates, dimension = 2) {
|
|
167
|
+
const result = this.deferred
|
|
168
|
+
? this.load().then(projection => projection.unprojectFlat(coordinates, dimension))
|
|
169
|
+
: transformInPlace(coordinates, dimension, this.inverseTransform, this.coordinateScratch);
|
|
170
|
+
return result;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
function requiredProjections(options) {
|
|
174
|
+
const available = registry(options.projections || []);
|
|
175
|
+
const required = new Set();
|
|
176
|
+
for (const definition of [options.from ?? 'WGS84', options.to ?? 'WGS84']) {
|
|
177
|
+
const crs = normalizeCRS(definition, options);
|
|
178
|
+
if (['geographic', 'identity'].includes(crs.kind))
|
|
179
|
+
continue;
|
|
180
|
+
const projection = available.get(pluginKey(crs.projection));
|
|
181
|
+
if (!projection)
|
|
182
|
+
throw new TypeScriptCRSError('missing-plugin', 'Projection plugin is not registered: ' + crs.projection);
|
|
183
|
+
required.add(projection);
|
|
184
|
+
}
|
|
185
|
+
return [...required];
|
|
186
|
+
}
|
|
187
|
+
/** Check construction with this backend and this exact set of registered plugins/readers. */
|
|
188
|
+
export function checkProjectionCompatibility(definition, options = {}) {
|
|
189
|
+
try {
|
|
190
|
+
const crs = compileCRS(definition, registry(options.projections || []), options);
|
|
191
|
+
return { status: 'supported', lossy: crs.lossy };
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
const reason = error instanceof TypeScriptCRSError ? error.reason : 'invalid-definition';
|
|
195
|
+
return {
|
|
196
|
+
status: reason === 'unknown-syntax' ? 'unknown' : 'unsupported',
|
|
197
|
+
lossy: false,
|
|
198
|
+
reason,
|
|
199
|
+
message: error instanceof Error ? error.message : String(error)
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
const pluginKey = (name) => name.toLowerCase().replace(/[\s_-]/g, '');
|
|
204
|
+
function registry(projections) {
|
|
205
|
+
const plugins = new Map();
|
|
206
|
+
for (const plugin of projections) {
|
|
207
|
+
for (const name of new Set([plugin.name, ...(plugin.aliases || [])].map(pluginKey))) {
|
|
208
|
+
if (!name ||
|
|
209
|
+
['longlat', 'latlong', 'latlon', 'lonlat', 'identity'].includes(name) ||
|
|
210
|
+
plugins.has(name))
|
|
211
|
+
throw new Error('Duplicate or reserved projection plugin: ' + name);
|
|
212
|
+
plugins.set(name, plugin);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return plugins;
|
|
216
|
+
}
|
|
217
|
+
function compileCRS(definition, plugins, options) {
|
|
218
|
+
const crs = normalizeCRS(definition, options);
|
|
219
|
+
const plugin = plugins.get(pluginKey(crs.projection));
|
|
220
|
+
if (!['geographic', 'identity'].includes(crs.kind) && !plugin)
|
|
221
|
+
throw new TypeScriptCRSError('missing-plugin', 'Projection plugin is not registered: ' + crs.projection);
|
|
222
|
+
const allowed = new Set([...CORE_PARAMETERS, ...(plugin?.parameters || [])]);
|
|
223
|
+
for (const key of Object.keys(crs.parameters)) {
|
|
224
|
+
if (!allowed.has(key))
|
|
225
|
+
throw new TypeScriptCRSError('missing-transform-stage', 'Unsupported PROJ parameter: +' + key);
|
|
226
|
+
const flag = CORE_FLAGS.includes(key) || plugin?.flags?.includes(key);
|
|
227
|
+
if (flag && crs.parameters[key] !== undefined)
|
|
228
|
+
throw new Error('Expected a flag without a value: +' + key);
|
|
229
|
+
if (!flag && !crs.parameters[key])
|
|
230
|
+
throw new Error('PROJ parameter requires a value: +' + key);
|
|
231
|
+
}
|
|
232
|
+
if (crs.parameters['type'] && crs.parameters['type'] !== 'crs')
|
|
233
|
+
throw new Error('Only +type=crs is supported');
|
|
234
|
+
const parameters = pluginKey(crs.projection) === 'fasttransversemercator'
|
|
235
|
+
? Object.freeze({ ...crs.parameters, approx: undefined })
|
|
236
|
+
: crs.parameters;
|
|
237
|
+
const implementation = plugin?.create({ ...crs.ellipsoid, parameters });
|
|
238
|
+
if (crs.kind === 'geocentric' && (!implementation?.forward3D || !implementation?.inverse3D))
|
|
239
|
+
throw new Error('Geocentric plugin must implement 3D operations');
|
|
240
|
+
const references = crs.datum.grids;
|
|
241
|
+
const nullIndex = references?.findIndex(reference => reference.name === 'null') ?? -1;
|
|
242
|
+
const grids = references?.slice(0, nullIndex < 0 ? undefined : nullIndex + 1).map(reference => {
|
|
243
|
+
const grid = Object.prototype.hasOwnProperty.call(options.datumGrids || {}, reference.name)
|
|
244
|
+
? options.datumGrids[reference.name]
|
|
245
|
+
: undefined;
|
|
246
|
+
if (grid && typeof grid.shift !== 'function')
|
|
247
|
+
throw new Error('Invalid prepared datum grid: ' + reference.name);
|
|
248
|
+
return Object.freeze({ ...reference, grid });
|
|
249
|
+
});
|
|
250
|
+
// A null fallback terminates the list. Later entries can never be consulted.
|
|
251
|
+
for (const reference of grids || []) {
|
|
252
|
+
if (reference.name === 'null')
|
|
253
|
+
break;
|
|
254
|
+
if (!reference.optional && !reference.grid)
|
|
255
|
+
unsupportedStage('Required datum grid is not registered: ' + reference.name);
|
|
256
|
+
}
|
|
257
|
+
const datum = grids ? Object.freeze({ ...crs.datum, grids: Object.freeze(grids) }) : crs.datum;
|
|
258
|
+
const verticalGrid = compileVerticalGrid(crs.parameters['geoidgrids'], options.verticalGrids);
|
|
259
|
+
if (verticalGrid && (crs.kind === 'geocentric' || crs.kind === 'identity' || crs.lossy))
|
|
260
|
+
unsupportedStage('Vertical grids require a non-lossy geographic or projected CRS');
|
|
261
|
+
return { ...crs, datum, implementation, verticalGrid };
|
|
262
|
+
}
|
|
263
|
+
function finite(point) {
|
|
264
|
+
return Number.isFinite(point.x) && Number.isFinite(point.y) && Number.isFinite(point.z);
|
|
265
|
+
}
|
|
266
|
+
function compileAxis(axis, inverse) {
|
|
267
|
+
if (axis === 'enu')
|
|
268
|
+
return undefined;
|
|
269
|
+
const indexes = [0, 0, 0], signs = [0, 0, 0];
|
|
270
|
+
for (let i = 0; i < 3; i++) {
|
|
271
|
+
const char = axis[i], component = 'ew'.includes(char) ? 0 : 'ns'.includes(char) ? 1 : 2;
|
|
272
|
+
indexes[inverse ? i : component] = inverse ? component : i;
|
|
273
|
+
signs[inverse ? i : component] = 'wsd'.includes(char) ? -1 : 1;
|
|
274
|
+
}
|
|
275
|
+
return point => {
|
|
276
|
+
const x = point.x, y = point.y, z = point.z;
|
|
277
|
+
point.x = signs[0] * (indexes[0] === 0 ? x : indexes[0] === 1 ? y : z);
|
|
278
|
+
point.y = signs[1] * (indexes[1] === 0 ? x : indexes[1] === 1 ? y : z);
|
|
279
|
+
point.z = signs[2] * (indexes[2] === 0 ? x : indexes[2] === 1 ? y : z);
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
function compileTransform(from, to, enforceAxis) {
|
|
283
|
+
const fromAxis = from.storedAxis || (enforceAxis ? from.axis : 'enu');
|
|
284
|
+
const toAxis = to.storedAxis || (enforceAxis ? to.axis : 'enu');
|
|
285
|
+
const inputAxis = compileAxis(fromAxis, false), outputAxis = compileAxis(toAxis, true);
|
|
286
|
+
const source = from.implementation &&
|
|
287
|
+
projectionOperation(from.implementation, true, from.kind === 'geocentric');
|
|
288
|
+
const target = to.implementation && projectionOperation(to.implementation, false, to.kind === 'geocentric');
|
|
289
|
+
const datum = createDatumTransform(from.datum, to.datum);
|
|
290
|
+
const horizontalOnly = from.lossy || to.lossy;
|
|
291
|
+
// Resolve CRS kinds and scalar constants once, outside the coordinate loop.
|
|
292
|
+
const fromGeocentric = from.kind === 'geocentric';
|
|
293
|
+
const inputScale = from.kind === 'geographic' ? from.angularUnit : from.toMeter;
|
|
294
|
+
const outputScale = to.kind === 'geographic' ? to.angularUnit : to.toMeter;
|
|
295
|
+
const inputVerticalScale = fromGeocentric ? 1 : from.verticalUnit, outputVerticalScale = to.kind === 'geocentric' ? outputScale : to.verticalUnit;
|
|
296
|
+
const fromPrime = from.primeMeridian, toPrime = to.primeMeridian;
|
|
297
|
+
const longitudeWrap = to.kind === 'geographic' ? to.longitudeWrap : undefined;
|
|
298
|
+
let flat;
|
|
299
|
+
if (!datum &&
|
|
300
|
+
!from.verticalGrid &&
|
|
301
|
+
!to.verticalGrid &&
|
|
302
|
+
!horizontalOnly &&
|
|
303
|
+
!inputAxis &&
|
|
304
|
+
!outputAxis &&
|
|
305
|
+
!fromPrime &&
|
|
306
|
+
!toPrime &&
|
|
307
|
+
from.verticalUnit === 1 &&
|
|
308
|
+
to.verticalUnit === 1 &&
|
|
309
|
+
longitudeWrap === undefined) {
|
|
310
|
+
const context = Object.freeze({ inputScale, outputScale });
|
|
311
|
+
if (from.kind === 'geographic' && to.kind === 'projected')
|
|
312
|
+
flat = to.implementation?.createForwardFlat?.(context);
|
|
313
|
+
if (from.kind === 'projected' && to.kind === 'geographic')
|
|
314
|
+
flat = from.implementation?.createInverseFlat?.(context);
|
|
315
|
+
}
|
|
316
|
+
return {
|
|
317
|
+
flat,
|
|
318
|
+
requiresInputZ: Boolean(from.verticalGrid || to.verticalGrid) ||
|
|
319
|
+
from.kind === 'geocentric' ||
|
|
320
|
+
/[ud]/.test(fromAxis.slice(0, 2)) ||
|
|
321
|
+
/[ud]/.test(toAxis.slice(0, 2)),
|
|
322
|
+
geocentricOutput: to.kind === 'geocentric',
|
|
323
|
+
run(point) {
|
|
324
|
+
if (!finite(point))
|
|
325
|
+
throw new Error('Coordinates must contain finite x, y and optional z values');
|
|
326
|
+
inputAxis?.(point);
|
|
327
|
+
const preservedHeight = point.z;
|
|
328
|
+
if (horizontalOnly)
|
|
329
|
+
point.z = 0;
|
|
330
|
+
if (inputScale !== 1) {
|
|
331
|
+
point.x *= inputScale;
|
|
332
|
+
point.y *= inputScale;
|
|
333
|
+
if (fromGeocentric)
|
|
334
|
+
point.z *= inputScale;
|
|
335
|
+
}
|
|
336
|
+
source?.(point);
|
|
337
|
+
if (inputVerticalScale !== 1)
|
|
338
|
+
point.z *= inputVerticalScale;
|
|
339
|
+
if (Math.abs(point.y) > Math.PI / 2 || !finite(point))
|
|
340
|
+
throw new Error('Coordinate is outside the geographic domain');
|
|
341
|
+
point.x += fromPrime;
|
|
342
|
+
// Source H -> h before datum conversion; destination h -> H after it.
|
|
343
|
+
// Sample Greenwich geographic coordinates in each grid's horizontal datum.
|
|
344
|
+
if (from.verticalGrid)
|
|
345
|
+
point.z += from.verticalGrid(point.x, point.y);
|
|
346
|
+
datum?.(point);
|
|
347
|
+
if (to.verticalGrid)
|
|
348
|
+
point.z -= to.verticalGrid(point.x, point.y);
|
|
349
|
+
point.x -= toPrime;
|
|
350
|
+
if (longitudeWrap !== undefined)
|
|
351
|
+
point.x = longitudeWrap + wrapLongitude(point.x - longitudeWrap);
|
|
352
|
+
target?.(point);
|
|
353
|
+
if (outputScale !== 1) {
|
|
354
|
+
point.x /= outputScale;
|
|
355
|
+
point.y /= outputScale;
|
|
356
|
+
}
|
|
357
|
+
if (outputVerticalScale !== 1)
|
|
358
|
+
point.z /= outputVerticalScale;
|
|
359
|
+
if (horizontalOnly)
|
|
360
|
+
point.z = preservedHeight;
|
|
361
|
+
outputAxis?.(point);
|
|
362
|
+
if (!finite(point))
|
|
363
|
+
throw new Error('Projection produced non-finite coordinates');
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
function transformScalar(coordinate, operation, scratch, output) {
|
|
368
|
+
if (coordinate.length < 2)
|
|
369
|
+
throw new Error('Coordinates must contain finite x, y and optional z values');
|
|
370
|
+
if (coordinate.length < 3 && operation.requiresInputZ)
|
|
371
|
+
throw new Error('This transform requires three ordinates');
|
|
372
|
+
const length = Math.max(coordinate.length, operation.geocentricOutput ? 3 : 2);
|
|
373
|
+
const point = scratch.acquire();
|
|
374
|
+
try {
|
|
375
|
+
point.x = coordinate[0];
|
|
376
|
+
point.y = coordinate[1];
|
|
377
|
+
point.z = coordinate.length >= 3 ? coordinate[2] : 0;
|
|
378
|
+
operation.run(point);
|
|
379
|
+
if (output)
|
|
380
|
+
return writeScalarOutput(coordinate, output, point, length);
|
|
381
|
+
// Only the legacy number-array methods omit output; retain their owned result contract.
|
|
382
|
+
const result = coordinate.slice();
|
|
383
|
+
result[0] = point.x;
|
|
384
|
+
result[1] = point.y;
|
|
385
|
+
if (coordinate.length >= 3 || operation.geocentricOutput)
|
|
386
|
+
result[2] = point.z;
|
|
387
|
+
return result;
|
|
388
|
+
}
|
|
389
|
+
finally {
|
|
390
|
+
scratch.release(point);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
function transformInPlace(coordinates, dimension, operation, scratch) {
|
|
394
|
+
if (!(coordinates instanceof Float32Array || coordinates instanceof Float64Array))
|
|
395
|
+
throw new Error('In-place projection requires a Float32Array or Float64Array');
|
|
396
|
+
if (!Number.isSafeInteger(dimension) || dimension < 2 || coordinates.length % dimension !== 0)
|
|
397
|
+
throw new Error('Dimension must be an integer >= 2 and divide the typed array length');
|
|
398
|
+
if (dimension < 3 && (operation.requiresInputZ || operation.geocentricOutput))
|
|
399
|
+
throw new Error('This transform requires a dimension of at least 3');
|
|
400
|
+
if (operation.flat) {
|
|
401
|
+
operation.flat(coordinates, dimension);
|
|
402
|
+
return coordinates;
|
|
403
|
+
}
|
|
404
|
+
const point = scratch.acquire();
|
|
405
|
+
try {
|
|
406
|
+
const float32 = coordinates instanceof Float32Array;
|
|
407
|
+
for (let offset = 0; offset < coordinates.length; offset += dimension) {
|
|
408
|
+
point.x = coordinates[offset];
|
|
409
|
+
point.y = coordinates[offset + 1];
|
|
410
|
+
point.z = dimension >= 3 ? coordinates[offset + 2] : 0;
|
|
411
|
+
operation.run(point);
|
|
412
|
+
// Commit only a complete finite record; do not silently overflow Float32 storage.
|
|
413
|
+
if (float32 &&
|
|
414
|
+
(Math.abs(point.x) > 3.4028234663852886e38 ||
|
|
415
|
+
Math.abs(point.y) > 3.4028234663852886e38 ||
|
|
416
|
+
(dimension >= 3 && Math.abs(point.z) > 3.4028234663852886e38)))
|
|
417
|
+
throw new Error('Projected coordinate exceeds Float32 range');
|
|
418
|
+
coordinates[offset] = point.x;
|
|
419
|
+
coordinates[offset + 1] = point.y;
|
|
420
|
+
if (dimension >= 3)
|
|
421
|
+
coordinates[offset + 2] = point.z;
|
|
422
|
+
}
|
|
423
|
+
return coordinates;
|
|
424
|
+
}
|
|
425
|
+
finally {
|
|
426
|
+
scratch.release(point);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
//# sourceMappingURL=typescript-projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript-projection.js","sourceRoot":"","sources":["../../src/experimental/typescript-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { VerticalGridCollection } from "./grids/types.js";
|
|
2
|
+
/** Compile an ordered list; null explicitly supplies a zero-offset fallback. */
|
|
3
|
+
export declare function compileVerticalGrid(names: string | undefined, grids?: VerticalGridCollection): ((longitude: number, latitude: number) => number) | undefined;
|
|
4
|
+
//# sourceMappingURL=vertical-datum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical-datum.d.ts","sourceRoot":"","sources":["../../src/experimental/vertical-datum.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,sBAAsB,EAAC,yBAAsB;AAE1D,gFAAgF;AAChF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,GAAE,sBAA2B,GACjC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CA2B/D"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
4
|
+
// SPDX-FileComment: Original explicit vertical-grid stage, following PROJ geoid-height conventions. No proj4js or PROJ implementation code is copied.
|
|
5
|
+
import { unsupportedStage } from "./crs/types.js";
|
|
6
|
+
/** Compile an ordered list; null explicitly supplies a zero-offset fallback. */
|
|
7
|
+
export function compileVerticalGrid(names, grids = {}) {
|
|
8
|
+
if (names === undefined)
|
|
9
|
+
return undefined;
|
|
10
|
+
const entries = [];
|
|
11
|
+
for (const entry of names.split(',')) {
|
|
12
|
+
const optional = entry.startsWith('@');
|
|
13
|
+
const name = optional ? entry.slice(1) : entry;
|
|
14
|
+
if (!name || /\s/.test(name))
|
|
15
|
+
throw new Error('Invalid vertical grid name');
|
|
16
|
+
if (name === 'null') {
|
|
17
|
+
entries.push(null);
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
const grid = Object.prototype.hasOwnProperty.call(grids, name) ? grids[name] : undefined;
|
|
21
|
+
if (grid) {
|
|
22
|
+
if (typeof grid.getOffset !== 'function')
|
|
23
|
+
throw new Error('Invalid vertical grid: ' + name);
|
|
24
|
+
entries.push(grid.getOffset.bind(grid));
|
|
25
|
+
}
|
|
26
|
+
else if (!optional)
|
|
27
|
+
unsupportedStage('Required vertical grid is not registered: ' + name);
|
|
28
|
+
}
|
|
29
|
+
return (longitude, latitude) => {
|
|
30
|
+
for (const sample of entries) {
|
|
31
|
+
if (!sample)
|
|
32
|
+
return 0;
|
|
33
|
+
const offset = sample(longitude, latitude);
|
|
34
|
+
if (offset === undefined)
|
|
35
|
+
continue;
|
|
36
|
+
if (!Number.isFinite(offset))
|
|
37
|
+
throw new Error('Vertical grid returned a non-finite offset');
|
|
38
|
+
return offset;
|
|
39
|
+
}
|
|
40
|
+
throw new Error('No vertical grid covers this coordinate');
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=vertical-datum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical-datum.js","sourceRoot":"","sources":["../../src/experimental/vertical-datum.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAC5D,sJAAsJ;AACtJ,OAAO,EAAC,gBAAgB,EAAC,uBAAoB;AAG7C,gFAAgF;AAChF,MAAM,UAAU,mBAAmB,CACjC,KAAyB,EACzB,QAAgC,EAAE;IAElC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,OAAO,GAA6E,EAAE,CAAC;IAC7F,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5E,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAC;YAC5F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,CAAC,QAAQ;YAAE,gBAAgB,CAAC,4CAA4C,GAAG,IAAI,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QAC7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAS;YACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5F,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// dist/grids/velocity.js
|
|
20
|
+
var velocity_exports = {};
|
|
21
|
+
__export(velocity_exports, {
|
|
22
|
+
createVelocityGrid: () => createVelocityGrid
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(velocity_exports);
|
|
25
|
+
|
|
26
|
+
// dist/experimental/grids/vertical.js
|
|
27
|
+
function createVerticalGrid(options) {
|
|
28
|
+
const [west, south] = options.origin;
|
|
29
|
+
const [dx, dy] = options.step;
|
|
30
|
+
const [width, height] = options.size;
|
|
31
|
+
const east = west + (width - 1) * dx;
|
|
32
|
+
const north = south + (height - 1) * dy;
|
|
33
|
+
if (![west, south, dx, dy, east, north].every(Number.isFinite) || ![width, height].every((n) => Number.isSafeInteger(n) && n >= 2) || !(dx > 0 && dy > 0) || east - west > 360 || south < -90 || north > 90 || width * height !== options.offsets.length)
|
|
34
|
+
throw new Error("Invalid vertical grid geometry or node count");
|
|
35
|
+
const noData = options.noData;
|
|
36
|
+
const values = Float64Array.from(options.offsets, (value) => value === noData || !Number.isFinite(value) ? NaN : value);
|
|
37
|
+
return Object.freeze({
|
|
38
|
+
getOffset(longitude, latitude) {
|
|
39
|
+
if (!Number.isFinite(longitude) || !Number.isFinite(latitude))
|
|
40
|
+
throw new Error("Vertical grid coordinates must be finite");
|
|
41
|
+
let x = longitude * (180 / Math.PI);
|
|
42
|
+
const epsilon = 1e-10;
|
|
43
|
+
if (x < west - epsilon * dx || x > east + epsilon * dx)
|
|
44
|
+
x += 360 * Math.round(((west + east) / 2 - x) / 360);
|
|
45
|
+
let col = (x - west) / dx;
|
|
46
|
+
let row = (latitude * (180 / Math.PI) - south) / dy;
|
|
47
|
+
if (!Number.isFinite(col) || !Number.isFinite(row) || col < -epsilon || row < -epsilon || col > width - 1 + epsilon || row > height - 1 + epsilon)
|
|
48
|
+
return void 0;
|
|
49
|
+
col = Math.max(0, Math.min(width - 1, col));
|
|
50
|
+
row = Math.max(0, Math.min(height - 1, row));
|
|
51
|
+
const i = Math.min(width - 2, Math.floor(col));
|
|
52
|
+
const j = Math.min(height - 2, Math.floor(row));
|
|
53
|
+
const u = col - i, v = row - j;
|
|
54
|
+
let offset = 0;
|
|
55
|
+
for (let n = 0; n < 4; n++) {
|
|
56
|
+
const right = n % 2, upper = n > 1;
|
|
57
|
+
const weight = (right ? u : 1 - u) * (upper ? v : 1 - v);
|
|
58
|
+
if (!weight)
|
|
59
|
+
continue;
|
|
60
|
+
const value = values[(j + (upper ? 1 : 0)) * width + i + right];
|
|
61
|
+
if (!Number.isFinite(value))
|
|
62
|
+
return void 0;
|
|
63
|
+
offset += weight * value;
|
|
64
|
+
}
|
|
65
|
+
return offset;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// dist/experimental/grids/velocity.js
|
|
71
|
+
function velocityGridFromComponents(east, north, up, scale) {
|
|
72
|
+
return Object.freeze({
|
|
73
|
+
sample(longitude, latitude, output) {
|
|
74
|
+
const e = east.getOffset(longitude, latitude), n = north.getOffset(longitude, latitude), u = up.getOffset(longitude, latitude);
|
|
75
|
+
if (e === void 0 || n === void 0 || u === void 0)
|
|
76
|
+
return false;
|
|
77
|
+
const x = e * scale, y = n * scale, z = u * scale;
|
|
78
|
+
if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(z))
|
|
79
|
+
throw new Error("Non-finite velocity interpolation");
|
|
80
|
+
output.x = x;
|
|
81
|
+
output.y = y;
|
|
82
|
+
output.z = z;
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function createVelocityGrid(options) {
|
|
88
|
+
if (!["m/year", "mm/year"].includes(options.units))
|
|
89
|
+
throw new Error("Explicit velocity units required");
|
|
90
|
+
return velocityGridFromComponents(createVerticalGrid({ ...options, offsets: options.east }), createVerticalGrid({ ...options, offsets: options.north }), createVerticalGrid({ ...options, offsets: options.up }), options.units === "mm/year" ? 1e-3 : 1);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=velocity.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/grids/velocity.ts", "../../src/experimental/grids/vertical.ts", "../../src/experimental/grids/velocity.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"velocity.d.ts","sourceRoot":"","sources":["../../src/grids/velocity.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,kBAAkB,EAAC,0CAAuC;AAClE,YAAY,EAAC,YAAY,EAAE,mBAAmB,EAAC,0CAAuC"}
|