@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,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/experimental/crs/wkt.ts", "../../../../crs/src/spatial-reference.ts", "../../../../crs/src/wkt-crs.ts", "../../../src/experimental/crs/types.ts", "../../../src/experimental/crs/datum-table.ts", "../../../src/experimental/parameters.ts", "../../../src/experimental/crs/structured.ts"],
|
|
4
|
+
"mappings": "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AAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,iBAAiB;IACf,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,gBAAgB;IACd,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,aAAa;IACX,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,iBAAiB;IACf,SAAS;;EAEX,kBAAkB;IAChB,SAAS;;EAEX,gBAAgB;IACd,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,cAAc;IACZ,SAAS;;EAEX,eAAe;IACb,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,WAAW;IACT,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,YAAY;IACV,SAAS;;EAEX,WAAW;IACT,S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",
|
|
5
|
+
"names": ["_a", "_a", "value", "value", "value", "key", "value", "factor", "_a", "operation", "base", "parameters", "value"]
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wkt.d.ts","sourceRoot":"","sources":["../../../src/experimental/crs/wkt.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,SAAS,EAAC,mBAAgB;AAiLvC,eAAO,MAAM,YAAY,EAAE,SAO1B,CAAC"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
4
|
+
// SPDX-FileComment: Original adapter; named-axis fallback inspired by proj4js 2.22.0 / wkt-parser (MIT). See ../../../PROJ4-LICENSE.md for upstream attribution.
|
|
5
|
+
import { inferCRSRepresentation } from '@math.gl/crs/spatial-reference';
|
|
6
|
+
import { parseWKTCRS } from '@math.gl/crs/wkt';
|
|
7
|
+
import { unsupportedStage } from "./types.js";
|
|
8
|
+
import { readStructuredCRS } from "./structured.js";
|
|
9
|
+
function children(node, ...names) {
|
|
10
|
+
return node.values.filter((value) => value.type === 'node' && names.includes(value.keyword.toUpperCase()));
|
|
11
|
+
}
|
|
12
|
+
function child(node, ...names) {
|
|
13
|
+
return children(node, ...names)[0];
|
|
14
|
+
}
|
|
15
|
+
function value(node, index = 0) {
|
|
16
|
+
const item = node.values[index];
|
|
17
|
+
return item && item.type !== 'node' ? item.value : undefined;
|
|
18
|
+
}
|
|
19
|
+
function units(node) {
|
|
20
|
+
return node ? { name: value(node), conversion_factor: value(node, 1) } : undefined;
|
|
21
|
+
}
|
|
22
|
+
// Original WKT adapters. UNKNOWN is only recoverable from an explicit grid-axis name.
|
|
23
|
+
function legacyAxisDirection(axis, projected) {
|
|
24
|
+
const direction = value(axis, 1);
|
|
25
|
+
if (projected && String(direction).toLowerCase() === 'unknown') {
|
|
26
|
+
const name = String(value(axis)).toLowerCase();
|
|
27
|
+
const match = /^(easting|northing|westing|southing)(?:\s*\([a-z]\))?$/.exec(name);
|
|
28
|
+
if (match)
|
|
29
|
+
return { easting: 'east', northing: 'north', westing: 'west', southing: 'south' }[match[1]];
|
|
30
|
+
}
|
|
31
|
+
return direction;
|
|
32
|
+
}
|
|
33
|
+
function axisMeridian(axis) {
|
|
34
|
+
const meridian = child(axis, 'MERIDIAN');
|
|
35
|
+
if (!meridian)
|
|
36
|
+
return undefined;
|
|
37
|
+
return { longitude: { value: value(meridian), unit: units(child(meridian, 'ANGLEUNIT')) } };
|
|
38
|
+
}
|
|
39
|
+
function operation(node) {
|
|
40
|
+
const method = child(node, 'METHOD', 'PROJECTION');
|
|
41
|
+
if (!method)
|
|
42
|
+
throw new Error('WKT conversion requires a METHOD or PROJECTION');
|
|
43
|
+
if (child(node, 'PARAMETERFILE'))
|
|
44
|
+
unsupportedStage('Grid-based WKT operation is not implemented');
|
|
45
|
+
return {
|
|
46
|
+
method: { name: value(method) },
|
|
47
|
+
parameters: children(node, 'PARAMETER').map(parameter => ({
|
|
48
|
+
name: value(parameter),
|
|
49
|
+
value: value(parameter, 1),
|
|
50
|
+
unit: units(child(parameter, 'ANGLEUNIT', 'LENGTHUNIT', 'SCALEUNIT'))
|
|
51
|
+
}))
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function readWKT(node) {
|
|
55
|
+
const keyword = node.keyword.toUpperCase();
|
|
56
|
+
if (keyword === 'COMPD_CS' || keyword === 'COMPOUNDCRS') {
|
|
57
|
+
return {
|
|
58
|
+
type: 'CompoundCRS',
|
|
59
|
+
components: children(node, 'PROJCS', 'PROJCRS', 'GEOGCS', 'GEOGCRS', 'GEODCRS', 'BOUNDCRS', 'VERT_CS', 'VERTCRS').map(readWKT)
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (keyword === 'BOUNDCRS') {
|
|
63
|
+
const source = child(node, 'SOURCECRS'), target = child(node, 'TARGETCRS'), transform = child(node, 'ABRIDGEDTRANSFORMATION');
|
|
64
|
+
if (!source || !target || !transform)
|
|
65
|
+
throw new Error('Incomplete WKT BoundCRS');
|
|
66
|
+
const root = (wrapper) => {
|
|
67
|
+
const entry = wrapper.values.find((value) => value.type === 'node');
|
|
68
|
+
if (!entry)
|
|
69
|
+
throw new Error('Missing bound CRS component');
|
|
70
|
+
return entry;
|
|
71
|
+
};
|
|
72
|
+
// Abridged transformations express scale as a multiplier; PROJJSON uses ppm.
|
|
73
|
+
const op = operation(transform);
|
|
74
|
+
const parameters = op['parameters'];
|
|
75
|
+
for (const parameter of parameters) {
|
|
76
|
+
if (String(parameter['name']).toLowerCase() === 'scale difference' &&
|
|
77
|
+
parameter['unit'] === undefined)
|
|
78
|
+
parameter['value'] = (Number(parameter['value']) - 1) * 1e6;
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
type: 'BoundCRS',
|
|
82
|
+
source_crs: readWKT(root(source)),
|
|
83
|
+
target_crs: readWKT(root(target)),
|
|
84
|
+
transformation: op
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
if (['VERT_CS', 'VERTCRS'].includes(keyword))
|
|
88
|
+
return { type: 'VerticalCRS' };
|
|
89
|
+
const projected = ['PROJCS', 'PROJCRS', 'PROJECTEDCRS'].includes(keyword);
|
|
90
|
+
const geographic = [
|
|
91
|
+
'GEOGCS',
|
|
92
|
+
'GEOGCRS',
|
|
93
|
+
'GEODCRS',
|
|
94
|
+
'GEODETICCRS',
|
|
95
|
+
'GEOGRAPHICCRS',
|
|
96
|
+
'BASEGEOGCRS',
|
|
97
|
+
'BASEGEODCRS',
|
|
98
|
+
'GEOCCS'
|
|
99
|
+
].includes(keyword);
|
|
100
|
+
if (!projected && !geographic)
|
|
101
|
+
unsupportedStage('Unsupported WKT CRS: ' + keyword);
|
|
102
|
+
if (child(node, 'DYNAMIC', 'DERIVINGCONVERSION', 'VELOCITYGRID', 'EXTENSION'))
|
|
103
|
+
unsupportedStage('Unsupported WKT dynamic/extension operation');
|
|
104
|
+
const cs = child(node, 'CS');
|
|
105
|
+
const geocentric = keyword === 'GEOCCS' || (String(value(cs || node)).toLowerCase() === 'cartesian' && !projected);
|
|
106
|
+
const localUnit = child(node, projected || geocentric ? 'LENGTHUNIT' : 'ANGLEUNIT', 'UNIT');
|
|
107
|
+
const axes = children(node, 'AXIS')
|
|
108
|
+
.sort((a, b) => Number(value(child(a, 'ORDER') || a)) - Number(value(child(b, 'ORDER') || b)))
|
|
109
|
+
.map((axis, index) => ({
|
|
110
|
+
name: value(axis),
|
|
111
|
+
direction: keyword === 'GEOCCS'
|
|
112
|
+
? ['geocentricX', 'geocentricY', 'geocentricZ'][index]
|
|
113
|
+
: legacyAxisDirection(axis, projected),
|
|
114
|
+
unit: units(child(axis, 'ANGLEUNIT', 'LENGTHUNIT') ||
|
|
115
|
+
(!geocentric && !projected && /^(up|down)$/i.test(String(value(axis, 1)))
|
|
116
|
+
? undefined
|
|
117
|
+
: localUnit)),
|
|
118
|
+
meridian: axisMeridian(axis)
|
|
119
|
+
}));
|
|
120
|
+
if (!axes.length) {
|
|
121
|
+
for (const direction of geocentric
|
|
122
|
+
? ['geocentricX', 'geocentricY', 'geocentricZ']
|
|
123
|
+
: ['east', 'north'])
|
|
124
|
+
axes.push({ name: direction, direction, unit: units(localUnit), meridian: undefined });
|
|
125
|
+
}
|
|
126
|
+
const id = keyword === 'GEOGCS' ? undefined : child(node, 'ID');
|
|
127
|
+
const result = {
|
|
128
|
+
type: projected ? 'ProjectedCRS' : geocentric ? 'GeodeticCRS' : 'GeographicCRS',
|
|
129
|
+
name: value(node),
|
|
130
|
+
// WKT1 uses datum names; WKT2 base-CRS IDs select the upstream authority table.
|
|
131
|
+
id: id ? { authority: value(id), code: value(id, 1) } : undefined,
|
|
132
|
+
coordinate_system: { subtype: projected || geocentric ? 'Cartesian' : 'ellipsoidal', axis: axes }
|
|
133
|
+
};
|
|
134
|
+
if (projected) {
|
|
135
|
+
const base = child(node, 'GEOGCS', 'BASEGEOGCRS', 'BASEGEODCRS', 'GEODCRS', 'GEOGCRS');
|
|
136
|
+
if (!base)
|
|
137
|
+
throw new Error('Projected WKT requires a base geographic CRS');
|
|
138
|
+
result['base_crs'] = readWKT(base);
|
|
139
|
+
result['conversion'] = operation(child(node, 'CONVERSION') || node);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
const datum = child(node, 'DATUM', 'GEODETICDATUM', 'ENSEMBLE');
|
|
143
|
+
if (!datum)
|
|
144
|
+
throw new Error('WKT requires a geodetic datum');
|
|
145
|
+
if (child(datum, 'EXTENSION', 'DYNAMIC'))
|
|
146
|
+
unsupportedStage('Unsupported datum extension');
|
|
147
|
+
const ellipsoid = child(datum, 'SPHEROID', 'ELLIPSOID');
|
|
148
|
+
if (!ellipsoid)
|
|
149
|
+
throw new Error('WKT datum requires an ellipsoid');
|
|
150
|
+
const shift = child(datum, 'TOWGS84');
|
|
151
|
+
result['datum'] = {
|
|
152
|
+
name: value(datum),
|
|
153
|
+
ellipsoid: {
|
|
154
|
+
name: value(ellipsoid),
|
|
155
|
+
semi_major_axis: value(ellipsoid, 1),
|
|
156
|
+
inverse_flattening: value(ellipsoid, 2),
|
|
157
|
+
unit: units(child(ellipsoid, 'LENGTHUNIT'))
|
|
158
|
+
},
|
|
159
|
+
towgs84: shift?.values.map((_, index) => value(shift, index))
|
|
160
|
+
};
|
|
161
|
+
const pm = child(node, 'PRIMEM');
|
|
162
|
+
if (pm)
|
|
163
|
+
result['prime_meridian'] = {
|
|
164
|
+
name: value(pm),
|
|
165
|
+
longitude: value(pm, 1),
|
|
166
|
+
unit: units(child(pm, 'ANGLEUNIT') || (geocentric ? undefined : localUnit))
|
|
167
|
+
};
|
|
168
|
+
result['angular_unit'] = geocentric ? undefined : units(localUnit);
|
|
169
|
+
}
|
|
170
|
+
return result;
|
|
171
|
+
}
|
|
172
|
+
export const wktCRSParser = {
|
|
173
|
+
name: 'wkt',
|
|
174
|
+
canParse: definition => inferCRSRepresentation(definition) === 'wkt',
|
|
175
|
+
parse(definition, options) {
|
|
176
|
+
if (typeof definition !== 'string')
|
|
177
|
+
throw new Error('Expected serialized WKT');
|
|
178
|
+
return readStructuredCRS(readWKT(parseWKTCRS(definition).root), options);
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
//# sourceMappingURL=wkt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wkt.js","sourceRoot":"","sources":["../../../src/experimental/crs/wkt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Datum, Ellipsoid } from "./crs/types.js";
|
|
2
|
+
import type { ProjectionPoint } from "./types.js";
|
|
3
|
+
export type Coordinate3D = [number, number, number];
|
|
4
|
+
export declare function geodeticToGeocentricInPlace(point: ProjectionPoint, ellipsoid: Ellipsoid): void;
|
|
5
|
+
/** Projection retains its center error and historical near-axis canonicalization. */
|
|
6
|
+
export declare function geocentricToGeodeticInPlace(point: ProjectionPoint, ellipsoid: Ellipsoid): void;
|
|
7
|
+
/** Convert rotation units and scale once for the lifetime of a compiled datum stage. */
|
|
8
|
+
export declare function createHelmert(values: readonly number[], inverse: boolean): DatumOperation;
|
|
9
|
+
type DatumOperation = (point: ProjectionPoint) => void;
|
|
10
|
+
/** Resolve identity, grid and Helmert stages once, outside coordinate loops. */
|
|
11
|
+
export declare function createDatumTransform(source: Datum, destination: Datum): DatumOperation | undefined;
|
|
12
|
+
/** Original per-instance dispatch informed by proj4js grid list semantics. */
|
|
13
|
+
export declare function applyDatumGrids(point: ProjectionPoint, datum: Datum, inverse: boolean): void;
|
|
14
|
+
export declare function geodeticToGeocentric(coordinate: Coordinate3D, ellipsoid: Ellipsoid): Coordinate3D;
|
|
15
|
+
export declare function geocentricToGeodetic(coordinate: Coordinate3D, ellipsoid: Ellipsoid): Coordinate3D;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=datum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datum.d.ts","sourceRoot":"","sources":["../../src/experimental/datum.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,KAAK,EAAE,SAAS,EAAC,uBAAoB;AAClD,OAAO,KAAK,EAAC,eAAe,EAAC,mBAAgB;AAC7C,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAWpD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAI9F;AAED,qFAAqF;AACrF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAuB9F;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,cAAc,CAyBzF;AAID,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;AACvD,gFAAgF;AAChF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,KAAK,GACjB,cAAc,GAAG,SAAS,CAqC5B;AAuBD,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA0B5F;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAIjG;AACD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAIjG"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// SPDX-FileCopyrightText: 2014 Mike Adair, Richard Greenwood, Didier Richard, Stephen Irons, Olivier Terral and Calvin Metcalf (proj4js)
|
|
4
|
+
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
5
|
+
// SPDX-FileComment: Helmert equations directly adapted from proj4js 2.22.0 datumUtils.js. See ../../PROJ4-LICENSE.md. Geocentric equations now delegate to the attributed @math.gl/core/spheroid leaf.
|
|
6
|
+
import { spheroidToCartesian, cartesianToSpheroid } from '@math.gl/core/spheroid';
|
|
7
|
+
const ARC_SECOND = Math.PI / (180 * 3600);
|
|
8
|
+
const WGS84 = {
|
|
9
|
+
ellipsoid: {
|
|
10
|
+
semiMajorAxis: 6378137,
|
|
11
|
+
semiMinorAxis: 6356752.314245179,
|
|
12
|
+
eccentricitySquared: 0.0066943799901413165
|
|
13
|
+
},
|
|
14
|
+
towgs84: [0, 0, 0]
|
|
15
|
+
};
|
|
16
|
+
export function geodeticToGeocentricInPlace(point, ellipsoid) {
|
|
17
|
+
if (Math.abs(point.y) > Math.PI / 2)
|
|
18
|
+
throw new Error('Latitude outside geocentric domain');
|
|
19
|
+
if (!spheroidToCartesian(point, ellipsoid))
|
|
20
|
+
throw new Error('Geocentric coordinate must be finite');
|
|
21
|
+
}
|
|
22
|
+
/** Projection retains its center error and historical near-axis canonicalization. */
|
|
23
|
+
export function geocentricToGeodeticInPlace(point, ellipsoid) {
|
|
24
|
+
const x = point.x, y = point.y, z = point.z;
|
|
25
|
+
const { semiMajorAxis: a, semiMinorAxis: b, eccentricitySquared: es } = ellipsoid;
|
|
26
|
+
if (x === 0 && y === 0 && z === 0)
|
|
27
|
+
throw new Error('Geodetic coordinates are undefined at the Earth center');
|
|
28
|
+
if (es !== 0 &&
|
|
29
|
+
Math.abs(x) < 1e-12 * a &&
|
|
30
|
+
Math.abs(y) < 1e-12 * a &&
|
|
31
|
+
Math.hypot(x, y) < 1e-12 * a) {
|
|
32
|
+
if (!Number.isFinite(Math.hypot(x, y, z)))
|
|
33
|
+
throw new Error('Geocentric radius must be finite');
|
|
34
|
+
point.x = 0;
|
|
35
|
+
point.y = (Math.sign(z) * Math.PI) / 2;
|
|
36
|
+
point.z = Math.abs(z) - b;
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (!cartesianToSpheroid(point, ellipsoid)) {
|
|
40
|
+
if (!Number.isFinite(Math.hypot(x, y, z)))
|
|
41
|
+
throw new Error('Geocentric radius must be finite');
|
|
42
|
+
throw new Error('Geocentric inverse did not converge');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** Convert rotation units and scale once for the lifetime of a compiled datum stage. */
|
|
46
|
+
export function createHelmert(values, inverse) {
|
|
47
|
+
const dx = values[0], dy = values[1], dz = values[2];
|
|
48
|
+
const rx = (values[3] || 0) * ARC_SECOND, ry = (values[4] || 0) * ARC_SECOND, rz = (values[5] || 0) * ARC_SECOND;
|
|
49
|
+
const scale = 1 + (values[6] || 0) / 1e6;
|
|
50
|
+
return inverse
|
|
51
|
+
? point => {
|
|
52
|
+
const x = (point.x - dx) / scale, y = (point.y - dy) / scale, z = (point.z - dz) / scale;
|
|
53
|
+
point.x = x + rz * y - ry * z;
|
|
54
|
+
point.y = -rz * x + y + rx * z;
|
|
55
|
+
point.z = ry * x - rx * y + z;
|
|
56
|
+
}
|
|
57
|
+
: point => {
|
|
58
|
+
const x = point.x, y = point.y, z = point.z;
|
|
59
|
+
point.x = scale * (x - rz * y + ry * z) + dx;
|
|
60
|
+
point.y = scale * (rz * x + y - rx * z) + dy;
|
|
61
|
+
point.z = scale * (-ry * x + rx * y + z) + dz;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function shifted(datum) {
|
|
65
|
+
return Boolean(datum.towgs84?.some(value => value !== 0));
|
|
66
|
+
}
|
|
67
|
+
/** Resolve identity, grid and Helmert stages once, outside coordinate loops. */
|
|
68
|
+
export function createDatumTransform(source, destination) {
|
|
69
|
+
// datum=none disables the entire chain, including a shifted opposite endpoint.
|
|
70
|
+
if (!source.towgs84 || !destination.towgs84)
|
|
71
|
+
return undefined;
|
|
72
|
+
if (source.grids || destination.grids) {
|
|
73
|
+
if (source.grids &&
|
|
74
|
+
destination.grids &&
|
|
75
|
+
source.ellipsoid.semiMajorAxis === destination.ellipsoid.semiMajorAxis &&
|
|
76
|
+
source.ellipsoid.eccentricitySquared === destination.ellipsoid.eccentricitySquared &&
|
|
77
|
+
source.grids.length === destination.grids.length &&
|
|
78
|
+
source.grids.every((entry, i) => entry.name === destination.grids[i].name &&
|
|
79
|
+
entry.optional === destination.grids[i].optional &&
|
|
80
|
+
entry.grid === destination.grids[i].grid))
|
|
81
|
+
return undefined;
|
|
82
|
+
const middle = createDatumTransform(source.grids ? WGS84 : source, destination.grids ? WGS84 : destination);
|
|
83
|
+
return point => {
|
|
84
|
+
if (source.grids)
|
|
85
|
+
applyDatumGrids(point, source, false);
|
|
86
|
+
middle?.(point);
|
|
87
|
+
if (destination.grids)
|
|
88
|
+
applyDatumGrids(point, destination, true);
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
if (shifted(source) || shifted(destination)) {
|
|
92
|
+
const first = convertDatum(source, WGS84), second = convertDatum(WGS84, destination);
|
|
93
|
+
return point => {
|
|
94
|
+
first?.(point);
|
|
95
|
+
second?.(point);
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return convertDatum(source, destination);
|
|
99
|
+
}
|
|
100
|
+
function convertDatum(from, to) {
|
|
101
|
+
if (!from.towgs84 || !to.towgs84)
|
|
102
|
+
return undefined;
|
|
103
|
+
const a = from.ellipsoid, b = to.ellipsoid;
|
|
104
|
+
let sameParameters = true;
|
|
105
|
+
for (let i = 0; i < 7; i++)
|
|
106
|
+
if ((from.towgs84[i] || 0) !== (to.towgs84[i] || 0))
|
|
107
|
+
sameParameters = false;
|
|
108
|
+
if (a.semiMajorAxis === b.semiMajorAxis &&
|
|
109
|
+
Math.abs(a.eccentricitySquared - b.eccentricitySquared) <= 5e-11 &&
|
|
110
|
+
sameParameters)
|
|
111
|
+
return undefined;
|
|
112
|
+
const sourceShift = shifted(from) ? createHelmert(from.towgs84, false) : undefined, targetShift = shifted(to) ? createHelmert(to.towgs84, true) : undefined;
|
|
113
|
+
return point => {
|
|
114
|
+
geodeticToGeocentricInPlace(point, a);
|
|
115
|
+
sourceShift?.(point);
|
|
116
|
+
targetShift?.(point);
|
|
117
|
+
geocentricToGeodeticInPlace(point, b);
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
/** Original per-instance dispatch informed by proj4js grid list semantics. */
|
|
121
|
+
export function applyDatumGrids(point, datum, inverse) {
|
|
122
|
+
for (const reference of datum.grids) {
|
|
123
|
+
if (reference.name === 'null')
|
|
124
|
+
return;
|
|
125
|
+
if (!reference.grid) {
|
|
126
|
+
if (reference.optional)
|
|
127
|
+
continue;
|
|
128
|
+
throw new Error('Required datum grid is not registered: ' + reference.name);
|
|
129
|
+
}
|
|
130
|
+
let found = false;
|
|
131
|
+
if (reference.grid.shiftInPlace)
|
|
132
|
+
found = reference.grid.shiftInPlace(point, inverse);
|
|
133
|
+
else {
|
|
134
|
+
const output = reference.grid.shift(point.x, point.y, inverse);
|
|
135
|
+
if (output) {
|
|
136
|
+
point.x = output[0];
|
|
137
|
+
point.y = output[1];
|
|
138
|
+
found = true;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (found) {
|
|
142
|
+
if (!Number.isFinite(point.x) || !Number.isFinite(point.y) || Math.abs(point.y) > Math.PI / 2)
|
|
143
|
+
throw new Error('Datum grid produced a coordinate outside the geographic domain');
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
throw new Error('No datum grid covers coordinate: ' + datum.grids.map(grid => grid.name).join(','));
|
|
148
|
+
}
|
|
149
|
+
// Scalar adapters retain the internal tuple API for existing callers.
|
|
150
|
+
export function geodeticToGeocentric(coordinate, ellipsoid) {
|
|
151
|
+
const point = { x: coordinate[0], y: coordinate[1], z: coordinate[2] };
|
|
152
|
+
geodeticToGeocentricInPlace(point, ellipsoid);
|
|
153
|
+
return [point.x, point.y, point.z];
|
|
154
|
+
}
|
|
155
|
+
export function geocentricToGeodetic(coordinate, ellipsoid) {
|
|
156
|
+
const point = { x: coordinate[0], y: coordinate[1], z: coordinate[2] };
|
|
157
|
+
geocentricToGeodeticInPlace(point, ellipsoid);
|
|
158
|
+
return [point.x, point.y, point.z];
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=datum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datum.js","sourceRoot":"","sources":["../../src/experimental/datum.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ProjectionPoint } from "./types.js";
|
|
2
|
+
import type { VelocityGrid } from "./grids/velocity.js";
|
|
3
|
+
/** Both methods take the ORIGINAL source/target epoch pair. inverse solves forward,
|
|
4
|
+
* rather than sampling the endpoint with a negated duration. XYZ are ECEF metres.
|
|
5
|
+
* Successful calls mutate XYZ; a failure restores the input. No per-point allocations.
|
|
6
|
+
*/
|
|
7
|
+
export type DeformationModel = {
|
|
8
|
+
forward(point: ProjectionPoint, sourceEpoch: number, targetEpoch: number): void;
|
|
9
|
+
inverse(point: ProjectionPoint, sourceEpoch: number, targetEpoch: number): void;
|
|
10
|
+
};
|
|
11
|
+
export type DeformationModelOptions = {
|
|
12
|
+
readonly grid: VelocityGrid;
|
|
13
|
+
/** Inclusive, application-reviewed validity interval in decimal years. */
|
|
14
|
+
readonly epochRange: readonly [number, number];
|
|
15
|
+
/** Must match the velocity model's geographic reference frame. Default WGS84. */
|
|
16
|
+
readonly ellipsoid?: {
|
|
17
|
+
readonly semiMajorAxis: number;
|
|
18
|
+
readonly flattening: number;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
/** Linear, time-invariant ENU velocity model, applied in geocentric space.
|
|
22
|
+
* No event offsets, time-varying components, extrapolation or automatic model loading.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createDeformationModel(options: DeformationModelOptions): DeformationModel;
|
|
25
|
+
//# sourceMappingURL=deformation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deformation.d.ts","sourceRoot":"","sources":["../../src/experimental/deformation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,eAAe,EAAC,mBAAgB;AAC7C,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AAEnD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAChF,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACjF,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC;CACpF,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CA0GzF"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
4
|
+
// SPDX-FileComment: Original ENU basis rotation and inverse, inspired by PROJ's documented deformation contract; no PROJ implementation is copied or forked. Geocentric conversion reuses the attributed proj4js adaptation in datum.ts.
|
|
5
|
+
import { geocentricToGeodeticInPlace } from "./datum.js";
|
|
6
|
+
/** Linear, time-invariant ENU velocity model, applied in geocentric space.
|
|
7
|
+
* No event offsets, time-varying components, extrapolation or automatic model loading.
|
|
8
|
+
*/
|
|
9
|
+
export function createDeformationModel(options) {
|
|
10
|
+
const grid = options.grid;
|
|
11
|
+
if (!grid || typeof grid.sample !== 'function')
|
|
12
|
+
throw new Error('Prepared velocity grid required');
|
|
13
|
+
const sample = grid.sample.bind(grid);
|
|
14
|
+
const range = options.epochRange;
|
|
15
|
+
if (!Array.isArray(range) ||
|
|
16
|
+
range.length !== 2 ||
|
|
17
|
+
!range.every(Number.isFinite) ||
|
|
18
|
+
range[0] > range[1])
|
|
19
|
+
throw new Error('Finite ordered deformation epochRange required');
|
|
20
|
+
const start = range[0], end = range[1];
|
|
21
|
+
const a = options.ellipsoid?.semiMajorAxis ?? 6378137;
|
|
22
|
+
const f = options.ellipsoid?.flattening ?? 1 / 298.257223563;
|
|
23
|
+
if (!Number.isFinite(a) || a <= 0 || !Number.isFinite(f) || f < 0 || f >= 1)
|
|
24
|
+
throw new Error('Invalid deformation ellipsoid');
|
|
25
|
+
if (!(a * (1 - f) > 0) || !(f * (2 - f) < 1))
|
|
26
|
+
throw new Error('Invalid deformation ellipsoid');
|
|
27
|
+
const ellipsoid = Object.freeze({
|
|
28
|
+
semiMajorAxis: a,
|
|
29
|
+
semiMinorAxis: a * (1 - f),
|
|
30
|
+
eccentricitySquared: f * (2 - f)
|
|
31
|
+
});
|
|
32
|
+
const duration = (source, target) => {
|
|
33
|
+
if (!Number.isFinite(source) ||
|
|
34
|
+
!Number.isFinite(target) ||
|
|
35
|
+
source < start ||
|
|
36
|
+
source > end ||
|
|
37
|
+
target < start ||
|
|
38
|
+
target > end)
|
|
39
|
+
throw new Error('Deformation epochs outside model epochRange or non-finite');
|
|
40
|
+
const dt = target - source;
|
|
41
|
+
if (!Number.isFinite(dt))
|
|
42
|
+
throw new Error('Non-finite deformation duration');
|
|
43
|
+
return dt;
|
|
44
|
+
};
|
|
45
|
+
// Scratch belongs to the caller. Recursive custom sampling cannot overwrite shared state.
|
|
46
|
+
const velocity = (point) => {
|
|
47
|
+
geocentricToGeodeticInPlace(point, ellipsoid);
|
|
48
|
+
const longitude = point.x, latitude = point.y;
|
|
49
|
+
if (!sample(longitude, latitude, point))
|
|
50
|
+
throw new Error('No velocity grid covers coordinate');
|
|
51
|
+
const east = point.x, north = point.y, up = point.z;
|
|
52
|
+
const sp = Math.sin(latitude), cp = Math.cos(latitude), sl = Math.sin(longitude), cl = Math.cos(longitude);
|
|
53
|
+
// Rotate north/up into the radial/Z plane, then rotate radial/east by longitude.
|
|
54
|
+
const radial = up * cp - north * sp;
|
|
55
|
+
point.x = radial * cl - east * sl;
|
|
56
|
+
point.y = radial * sl + east * cl;
|
|
57
|
+
point.z = up * sp + north * cp;
|
|
58
|
+
};
|
|
59
|
+
const apply = (point, source, target, inverse) => {
|
|
60
|
+
const dt = duration(source, target);
|
|
61
|
+
const x = point.x, y = point.y, z = point.z;
|
|
62
|
+
if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(z))
|
|
63
|
+
throw new Error('Finite deformation XYZ required');
|
|
64
|
+
try {
|
|
65
|
+
let px = x, py = y, pz = z;
|
|
66
|
+
for (let iteration = 0; iteration < (inverse ? 32 : 1); iteration++) {
|
|
67
|
+
point.x = px;
|
|
68
|
+
point.y = py;
|
|
69
|
+
point.z = pz;
|
|
70
|
+
velocity(point);
|
|
71
|
+
const nx = x + (inverse ? -dt : dt) * point.x, ny = y + (inverse ? -dt : dt) * point.y, nz = z + (inverse ? -dt : dt) * point.z;
|
|
72
|
+
if (!Number.isFinite(nx) || !Number.isFinite(ny) || !Number.isFinite(nz))
|
|
73
|
+
throw new Error('Non-finite deformation output');
|
|
74
|
+
if (!inverse || Math.hypot(nx - px, ny - py, nz - pz) <= 1e-8) {
|
|
75
|
+
point.x = nx;
|
|
76
|
+
point.y = ny;
|
|
77
|
+
point.z = nz;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
px = nx;
|
|
81
|
+
py = ny;
|
|
82
|
+
pz = nz;
|
|
83
|
+
}
|
|
84
|
+
throw new Error('Deformation inverse did not converge');
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
point.x = x;
|
|
88
|
+
point.y = y;
|
|
89
|
+
point.z = z;
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
return Object.freeze({
|
|
94
|
+
forward: (point, source, target) => apply(point, source, target, false),
|
|
95
|
+
inverse: (point, source, target) => apply(point, source, target, true)
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=deformation.js.map
|