@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,521 @@
|
|
|
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: Original adapter; datum lookup and method/parameter normalization rules are adapted from proj4js 2.22.0 and its MIT-licensed wkt-parser dependency. See ../../../PROJ4-LICENSE.md.
|
|
6
|
+
import datums from './datum-table';
|
|
7
|
+
import {DEGREES_TO_RADIANS} from '../parameters';
|
|
8
|
+
import {unsupportedStage} from './types';
|
|
9
|
+
import type {CRSNormalizationOptions, ParsedCRS} from './types';
|
|
10
|
+
export type RecordValue = Record<string, unknown>;
|
|
11
|
+
export function object(value: unknown): RecordValue {
|
|
12
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
13
|
+
throw new Error('Expected a CRS object');
|
|
14
|
+
return value as RecordValue;
|
|
15
|
+
}
|
|
16
|
+
export function array(value: unknown): readonly unknown[] {
|
|
17
|
+
return Array.isArray(value) ? value : [];
|
|
18
|
+
}
|
|
19
|
+
export function key(value: unknown): string {
|
|
20
|
+
return String(value || '')
|
|
21
|
+
.toLowerCase()
|
|
22
|
+
.replace(/[^a-z0-9]/g, '');
|
|
23
|
+
}
|
|
24
|
+
function finite(value: unknown): number {
|
|
25
|
+
if (typeof value !== 'number' || !Number.isFinite(value))
|
|
26
|
+
throw new Error('Expected a finite CRS parameter');
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
export function unit(value: unknown, fallback: number): number {
|
|
30
|
+
if (value === undefined) return fallback;
|
|
31
|
+
if (typeof value === 'object') {
|
|
32
|
+
const factor = finite(object(value)['conversion_factor']);
|
|
33
|
+
if (factor <= 0) throw new Error('Unit conversion factor must be positive');
|
|
34
|
+
return factor;
|
|
35
|
+
}
|
|
36
|
+
const factors: Record<string, number> = {
|
|
37
|
+
metre: 1,
|
|
38
|
+
meter: 1,
|
|
39
|
+
degree: DEGREES_TO_RADIANS,
|
|
40
|
+
radian: 1,
|
|
41
|
+
grad: Math.PI / 200,
|
|
42
|
+
gon: Math.PI / 200,
|
|
43
|
+
foot: 0.3048,
|
|
44
|
+
ussurveyfoot: 1200 / 3937,
|
|
45
|
+
kilometre: 1000,
|
|
46
|
+
arcsecond: DEGREES_TO_RADIANS / 3600,
|
|
47
|
+
partspermillion: 1e-6,
|
|
48
|
+
unity: 1
|
|
49
|
+
};
|
|
50
|
+
const factor = factors[key(value)];
|
|
51
|
+
if (!factor) unsupportedStage('Unsupported CRS unit: ' + String(value));
|
|
52
|
+
return factor;
|
|
53
|
+
}
|
|
54
|
+
const METHODS: Record<string, string> = {
|
|
55
|
+
hotineobliquemercator: 'omerc',
|
|
56
|
+
hotineobliquemercatorvarianta: 'omerc',
|
|
57
|
+
hotineobliquemercatorvariantb: 'omerc',
|
|
58
|
+
hotineobliquemercatorazimuthnaturalorigin: 'omerc',
|
|
59
|
+
hotineobliquemercatorazimuthcenter: 'omerc',
|
|
60
|
+
obliquemercator: 'omerc',
|
|
61
|
+
krovak: 'krovak',
|
|
62
|
+
krovaknorthorientated: 'krovak',
|
|
63
|
+
quadrilateralizedsphericalcube: 'qsc',
|
|
64
|
+
transversemercator: 'tmerc',
|
|
65
|
+
transversemercatorsouthorientated: 'unsupported-south-tmerc',
|
|
66
|
+
mercator: 'merc',
|
|
67
|
+
mercator1sp: 'merc',
|
|
68
|
+
mercator2sp: 'merc',
|
|
69
|
+
mercatorvarianta: 'merc',
|
|
70
|
+
mercatorvariantb: 'merc',
|
|
71
|
+
mercatorauxiliarysphere: 'webmerc',
|
|
72
|
+
popularvisualisationpseudomercator: 'webmerc',
|
|
73
|
+
lambertconformalconic: 'lcc',
|
|
74
|
+
lambertconformalconic1sp: 'lcc',
|
|
75
|
+
lambertconformalconic2sp: 'lcc',
|
|
76
|
+
lambertconicconformal1sp: 'lcc',
|
|
77
|
+
lambertconicconformal2sp: 'lcc',
|
|
78
|
+
albers: 'aea',
|
|
79
|
+
albersconicequalarea: 'aea',
|
|
80
|
+
albersequalarea: 'aea',
|
|
81
|
+
equidistantconic: 'eqdc',
|
|
82
|
+
lambertazimuthalequalarea: 'laea',
|
|
83
|
+
stereographic: 'stere',
|
|
84
|
+
stereographicnorthpole: 'sterea',
|
|
85
|
+
stereographicsouthpole: 'stere',
|
|
86
|
+
polarstereographic: 'stere',
|
|
87
|
+
polarstereographicvarianta: 'stere',
|
|
88
|
+
polarstereographicvariantb: 'stere',
|
|
89
|
+
obliquestereographic: 'sterea',
|
|
90
|
+
doublestereographic: 'sterea',
|
|
91
|
+
azimuthalequidistant: 'aeqd',
|
|
92
|
+
modifiedazimuthalequidistant: 'aeqd',
|
|
93
|
+
equidistantcylindrical: 'eqc',
|
|
94
|
+
equidistantcylindricalspherical: 'eqc',
|
|
95
|
+
equirectangular: 'eqc',
|
|
96
|
+
platecarree: 'eqc',
|
|
97
|
+
bonne: 'bonne',
|
|
98
|
+
cassinisoldner: 'cass',
|
|
99
|
+
cassini: 'cass',
|
|
100
|
+
cylindricalequalarea: 'cea',
|
|
101
|
+
lambertcylindricalequalarea: 'cea',
|
|
102
|
+
eckertvi: 'eck6',
|
|
103
|
+
equalearth: 'eqearth',
|
|
104
|
+
millercylindrical: 'mill',
|
|
105
|
+
mollweide: 'moll',
|
|
106
|
+
robinson: 'robin',
|
|
107
|
+
sinusoidal: 'sinu',
|
|
108
|
+
vandergrinten: 'vandg',
|
|
109
|
+
vandergrinteni: 'vandg',
|
|
110
|
+
gnomonic: 'gnom',
|
|
111
|
+
orthographic: 'ortho',
|
|
112
|
+
polyconic: 'poly',
|
|
113
|
+
americanpolyconic: 'poly',
|
|
114
|
+
newzealandmapgrid: 'nzmg',
|
|
115
|
+
gaussschreibertransversemercator: 'gstmerc'
|
|
116
|
+
};
|
|
117
|
+
const PARAMETERS: Record<string, string> = {
|
|
118
|
+
centralmeridian: 'lon_0',
|
|
119
|
+
longitudeoforigin: 'lon_0',
|
|
120
|
+
longitudeofcenter: 'lon_0',
|
|
121
|
+
longitudeofnaturalorigin: 'lon_0',
|
|
122
|
+
longitudeoffalseorigin: 'lon_0',
|
|
123
|
+
longitudeofprojectioncentre: 'lon_0',
|
|
124
|
+
straightverticalpolelongitude: 'lon_0',
|
|
125
|
+
longitudeoforiginmeridian: 'lon_0',
|
|
126
|
+
latitudeoforigin: 'lat_0',
|
|
127
|
+
latitudeofcenter: 'lat_0',
|
|
128
|
+
latitudeofnaturalorigin: 'lat_0',
|
|
129
|
+
latitudeoffalseorigin: 'lat_0',
|
|
130
|
+
latitudeofprojectioncentre: 'lat_0',
|
|
131
|
+
standardparallel1: 'lat_1',
|
|
132
|
+
latitudeof1ststandardparallel: 'lat_1',
|
|
133
|
+
standardparallel2: 'lat_2',
|
|
134
|
+
latitudeof2ndstandardparallel: 'lat_2',
|
|
135
|
+
latitudeofstandardparallel: 'lat_ts',
|
|
136
|
+
scalefactor: 'k_0',
|
|
137
|
+
scalefactoratnaturalorigin: 'k_0',
|
|
138
|
+
scalefactoratprojectionorigin: 'k_0',
|
|
139
|
+
falseeasting: 'x_0',
|
|
140
|
+
falsenorthing: 'y_0',
|
|
141
|
+
eastingatfalseorigin: 'x_0',
|
|
142
|
+
northingatfalseorigin: 'y_0'
|
|
143
|
+
};
|
|
144
|
+
// Projection-specific names must not leak into unrelated method interpretations.
|
|
145
|
+
const METHOD_PARAMETERS: Record<string, Record<string, string>> = {
|
|
146
|
+
omerc: {
|
|
147
|
+
longitudeofcenter: 'lonc',
|
|
148
|
+
longitudeofprojectioncentre: 'lonc',
|
|
149
|
+
azimuth: 'alpha',
|
|
150
|
+
azimuthatprojectioncentre: 'alpha',
|
|
151
|
+
rectifiedgridangle: 'gamma',
|
|
152
|
+
anglefromrectifiedtoskewgrid: 'gamma',
|
|
153
|
+
scalefactoratprojectioncentre: 'k_0',
|
|
154
|
+
eastingatprojectioncentre: 'x_0',
|
|
155
|
+
northingatprojectioncentre: 'y_0'
|
|
156
|
+
},
|
|
157
|
+
krovak: {
|
|
158
|
+
azimuth: 'alpha',
|
|
159
|
+
colatitudeofconeaxis: 'alpha',
|
|
160
|
+
pseudostandardparallel1: 'lat_ts',
|
|
161
|
+
latitudeofpseudostandardparallel: 'lat_ts',
|
|
162
|
+
scalefactoronpseudostandardparallel: 'k_0'
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
const DIRECTIONS: Record<string, string> = {
|
|
166
|
+
east: 'e',
|
|
167
|
+
west: 'w',
|
|
168
|
+
north: 'n',
|
|
169
|
+
south: 's',
|
|
170
|
+
up: 'u',
|
|
171
|
+
down: 'd',
|
|
172
|
+
geocentricx: 'e',
|
|
173
|
+
geocentricy: 'n',
|
|
174
|
+
geocentricz: 'u'
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
export function readStructuredCRS(crs: RecordValue, options: CRSNormalizationOptions): ParsedCRS {
|
|
178
|
+
const type = String(crs['type']);
|
|
179
|
+
if (type === 'CompoundCRS') {
|
|
180
|
+
if (options.mode !== 'horizontal')
|
|
181
|
+
unsupportedStage('CompoundCRS requires explicit horizontal extraction');
|
|
182
|
+
const components = array(crs['components'])
|
|
183
|
+
.map(object)
|
|
184
|
+
.filter(value =>
|
|
185
|
+
['ProjectedCRS', 'GeographicCRS', 'GeodeticCRS', 'BoundCRS'].includes(String(value['type']))
|
|
186
|
+
);
|
|
187
|
+
if (components.length !== 1)
|
|
188
|
+
throw new Error('CompoundCRS requires exactly one horizontal component');
|
|
189
|
+
return {...readStructuredCRS(components[0], options), lossy: true};
|
|
190
|
+
}
|
|
191
|
+
if (type === 'BoundCRS') {
|
|
192
|
+
const source = readStructuredCRS(object(crs['source_crs']), options);
|
|
193
|
+
const target = readStructuredCRS(object(crs['target_crs']), options);
|
|
194
|
+
if (
|
|
195
|
+
target.parameters['datum'] !== 'WGS84' ||
|
|
196
|
+
!['longlat', 'geocent'].includes(target.parameters['proj']) ||
|
|
197
|
+
Number(target.parameters['pm'] || 0) !== 0 ||
|
|
198
|
+
target.parameters['towgs84'] ||
|
|
199
|
+
Number(target.parameters['a']) !== 6378137 ||
|
|
200
|
+
!(
|
|
201
|
+
Math.abs(Number(target.parameters['rf']) - 298.257223563) <= 1e-9 ||
|
|
202
|
+
Math.abs(Number(target.parameters['b']) - 6356752.314245179) <= 1e-6
|
|
203
|
+
)
|
|
204
|
+
)
|
|
205
|
+
unsupportedStage('BoundCRS requires a WGS84 target');
|
|
206
|
+
const operation = object(crs['transformation']);
|
|
207
|
+
const method = key(object(operation['method'])['name']);
|
|
208
|
+
const translation =
|
|
209
|
+
method === 'geocentrictranslations' || /^geocentrictranslationsgeog[23]ddomain$/.test(method);
|
|
210
|
+
const position =
|
|
211
|
+
/^positionvector(?:transformation)?(?:geog[23]ddomain|geocentricdomain)?$/.test(method);
|
|
212
|
+
const frame = /^coordinateframe(?:rotation)?(?:geog[23]ddomain|geocentricdomain)?$/.test(
|
|
213
|
+
method
|
|
214
|
+
);
|
|
215
|
+
if (!translation && !position && !frame)
|
|
216
|
+
unsupportedStage('Unsupported BoundCRS transformation: ' + method);
|
|
217
|
+
const names = [
|
|
218
|
+
'xaxistranslation',
|
|
219
|
+
'yaxistranslation',
|
|
220
|
+
'zaxistranslation',
|
|
221
|
+
'xaxisrotation',
|
|
222
|
+
'yaxisrotation',
|
|
223
|
+
'zaxisrotation',
|
|
224
|
+
'scaledifference'
|
|
225
|
+
];
|
|
226
|
+
const values: (number | undefined)[] = new Array(translation ? 3 : 7).fill(undefined);
|
|
227
|
+
for (const entry of array(operation['parameters'])) {
|
|
228
|
+
const parameter = object(entry),
|
|
229
|
+
index = names.indexOf(key(parameter['name']));
|
|
230
|
+
if (index < 0 || index >= values.length || values[index] !== undefined)
|
|
231
|
+
unsupportedStage(
|
|
232
|
+
'Unsupported or duplicate Helmert parameter: ' + String(parameter['name'])
|
|
233
|
+
);
|
|
234
|
+
const base = index < 3 ? 1 : index < 6 ? DEGREES_TO_RADIANS / 3600 : 1e-6;
|
|
235
|
+
values[index] =
|
|
236
|
+
((finite(parameter['value']) * unit(parameter['unit'], base)) / base) *
|
|
237
|
+
(frame && index >= 3 && index < 6 ? -1 : 1);
|
|
238
|
+
}
|
|
239
|
+
if (values.some(value => value === undefined))
|
|
240
|
+
throw new Error('Incomplete BoundCRS Helmert transformation');
|
|
241
|
+
const parameters: Record<string, string | undefined> = {
|
|
242
|
+
...source.parameters,
|
|
243
|
+
towgs84: values.join(',')
|
|
244
|
+
};
|
|
245
|
+
delete parameters['datum'];
|
|
246
|
+
return {...source, parameters};
|
|
247
|
+
}
|
|
248
|
+
if (!['ProjectedCRS', 'GeographicCRS', 'GeodeticCRS'].includes(type))
|
|
249
|
+
unsupportedStage('Unsupported CRS type: ' + type);
|
|
250
|
+
const base = type === 'ProjectedCRS' ? object(crs['base_crs']) : crs;
|
|
251
|
+
const datum = object(base['datum'] || base['datum_ensemble']);
|
|
252
|
+
if (
|
|
253
|
+
datum['type'] === 'DynamicGeodeticReferenceFrame' ||
|
|
254
|
+
datum['frame_reference_epoch'] !== undefined ||
|
|
255
|
+
crs['coordinate_epoch'] !== undefined
|
|
256
|
+
)
|
|
257
|
+
unsupportedStage('Time-dependent datum transformations are not implemented');
|
|
258
|
+
const ellipsoid = object(datum['ellipsoid']);
|
|
259
|
+
const major = finite(ellipsoid['semi_major_axis'] ?? ellipsoid['radius']);
|
|
260
|
+
const parameters: Record<string, string | undefined> = {
|
|
261
|
+
proj: 'longlat',
|
|
262
|
+
a: String(major * unit(ellipsoid['unit'], 1))
|
|
263
|
+
};
|
|
264
|
+
if (ellipsoid['inverse_flattening'] !== undefined)
|
|
265
|
+
parameters['rf'] = String(finite(ellipsoid['inverse_flattening']));
|
|
266
|
+
else if (ellipsoid['semi_minor_axis'] !== undefined)
|
|
267
|
+
parameters['b'] = String(finite(ellipsoid['semi_minor_axis']) * unit(ellipsoid['unit'], 1));
|
|
268
|
+
else if (ellipsoid['radius'] !== undefined) parameters['b'] = parameters['a'];
|
|
269
|
+
else throw new Error('Ellipsoid requires inverse flattening or semi-minor axis');
|
|
270
|
+
const datumName = key(datum['name']);
|
|
271
|
+
const namedDatum = Object.keys(datums).find(
|
|
272
|
+
name => key(name) === datumName || key(name) === datumName.replace(/^d/, '')
|
|
273
|
+
);
|
|
274
|
+
if (namedDatum) parameters['datum'] = namedDatum;
|
|
275
|
+
if (
|
|
276
|
+
[
|
|
277
|
+
'wgs84',
|
|
278
|
+
'worldgeodeticsystem1984',
|
|
279
|
+
'worldgeodeticsystem1984ensemble',
|
|
280
|
+
'dwgs1984',
|
|
281
|
+
'wgs1984'
|
|
282
|
+
].includes(datumName)
|
|
283
|
+
)
|
|
284
|
+
parameters['datum'] = 'WGS84';
|
|
285
|
+
if (['nad83', 'northamericandatum1983', 'dnorthamerican1983'].includes(datumName))
|
|
286
|
+
parameters['datum'] = 'NAD83';
|
|
287
|
+
if (['nad27', 'northamericandatum1927', 'dnorthamerican1927'].includes(datumName))
|
|
288
|
+
parameters['datum'] = 'NAD27';
|
|
289
|
+
// WKT1 spellings used by ESRI and older exporters.
|
|
290
|
+
const datumAlias: Record<string, string> = {
|
|
291
|
+
newzealand1949: 'nzgd49',
|
|
292
|
+
belge1972: 'rnb72'
|
|
293
|
+
};
|
|
294
|
+
const alias = datumAlias[datumName.replace(/^d/, '')];
|
|
295
|
+
if (alias) parameters['datum'] = alias;
|
|
296
|
+
// Only the geographic base ID identifies a datum-table entry. A projected CRS
|
|
297
|
+
// or datum object's ID belongs to a different authority namespace.
|
|
298
|
+
if (type === 'ProjectedCRS' && base['id']) {
|
|
299
|
+
const id = object(base['id']);
|
|
300
|
+
const authorityDatum = String(id['authority']) + '_' + String(id['code']);
|
|
301
|
+
if (Object.prototype.hasOwnProperty.call(datums, authorityDatum))
|
|
302
|
+
parameters['datum'] = authorityDatum;
|
|
303
|
+
}
|
|
304
|
+
// WKT1's explicit operation takes priority over a datum-name or authority lookup.
|
|
305
|
+
if (datum['towgs84'] !== undefined) {
|
|
306
|
+
parameters['towgs84'] = array(datum['towgs84']).map(finite).join(',');
|
|
307
|
+
// Do not inherit named datum grids over an explicit Helmert operation.
|
|
308
|
+
delete parameters['datum'];
|
|
309
|
+
}
|
|
310
|
+
const cs = crs['coordinate_system'] ? object(crs['coordinate_system']) : {};
|
|
311
|
+
const axes = array(cs['axis']).map(object);
|
|
312
|
+
const geocentric = key(cs['subtype']) === 'cartesian' && type === 'GeodeticCRS';
|
|
313
|
+
if (
|
|
314
|
+
type !== 'ProjectedCRS' &&
|
|
315
|
+
!geocentric &&
|
|
316
|
+
cs['subtype'] &&
|
|
317
|
+
key(cs['subtype']) !== 'ellipsoidal'
|
|
318
|
+
)
|
|
319
|
+
unsupportedStage('Unsupported coordinate system subtype');
|
|
320
|
+
if (geocentric) parameters['proj'] = 'geocent';
|
|
321
|
+
const angularUnit = unit(base['angular_unit'], DEGREES_TO_RADIANS);
|
|
322
|
+
const factor = unit(axes[0]?.['unit'], type === 'ProjectedCRS' || geocentric ? 1 : angularUnit);
|
|
323
|
+
if (axes[1] && unit(axes[1]['unit'], factor) !== factor)
|
|
324
|
+
unsupportedStage('Mixed horizontal axis units are not supported');
|
|
325
|
+
if (geocentric && axes[2] && unit(axes[2]['unit'], factor) !== factor)
|
|
326
|
+
unsupportedStage('Mixed geocentric axis units are not supported');
|
|
327
|
+
const pm = base['prime_meridian'] || datum['prime_meridian'];
|
|
328
|
+
if (pm) {
|
|
329
|
+
const meridian = object(pm);
|
|
330
|
+
parameters['pm'] = String(
|
|
331
|
+
(finite(meridian['longitude']) * unit(meridian['unit'], angularUnit)) / DEGREES_TO_RADIANS
|
|
332
|
+
);
|
|
333
|
+
}
|
|
334
|
+
if (type === 'ProjectedCRS') {
|
|
335
|
+
const conversion = object(crs['conversion']),
|
|
336
|
+
method = key(object(conversion['method'])['name']);
|
|
337
|
+
// ESRI's true-scale North Pole spelling omits scale_factor. Preserve the
|
|
338
|
+
// older explicit-scale oblique spelling separately for compatibility.
|
|
339
|
+
const conversionParameters = array(conversion['parameters']).map(object);
|
|
340
|
+
const polarTrueScale =
|
|
341
|
+
method === 'stereographicnorthpole' &&
|
|
342
|
+
!conversionParameters.some(parameter => key(parameter['name']).startsWith('scalefactor'));
|
|
343
|
+
const projection = polarTrueScale ? 'stere' : METHODS[method];
|
|
344
|
+
const esriKrovak = conversionParameters.filter(parameter =>
|
|
345
|
+
['xscale', 'yscale', 'xyplanerotation'].includes(key(parameter['name']))
|
|
346
|
+
);
|
|
347
|
+
if (esriKrovak.length) {
|
|
348
|
+
const expected: Record<string, number> = {xscale: -1, yscale: 1, xyplanerotation: 90};
|
|
349
|
+
if (
|
|
350
|
+
projection !== 'krovak' ||
|
|
351
|
+
esriKrovak.length !== 3 ||
|
|
352
|
+
new Set(esriKrovak.map(parameter => key(parameter['name']))).size !== 3 ||
|
|
353
|
+
esriKrovak.some(parameter => {
|
|
354
|
+
const name = key(parameter['name']);
|
|
355
|
+
const factor =
|
|
356
|
+
name === 'xyplanerotation'
|
|
357
|
+
? unit(parameter['unit'], angularUnit) / DEGREES_TO_RADIANS
|
|
358
|
+
: unit(parameter['unit'], 1);
|
|
359
|
+
return Math.abs(finite(parameter['value']) * factor - expected[name]) > 1e-10;
|
|
360
|
+
})
|
|
361
|
+
)
|
|
362
|
+
unsupportedStage('Unsupported ESRI Krovak axis adjustment');
|
|
363
|
+
}
|
|
364
|
+
if (!projection || projection.startsWith('unsupported'))
|
|
365
|
+
unsupportedStage(
|
|
366
|
+
'Unsupported projection method: ' + String(object(conversion['method'])['name'])
|
|
367
|
+
);
|
|
368
|
+
parameters['proj'] = projection === 'webmerc' ? 'merc' : projection;
|
|
369
|
+
let hasSemiMinor = false;
|
|
370
|
+
for (const parameter of conversionParameters) {
|
|
371
|
+
const parameterName = key(parameter['name']);
|
|
372
|
+
if (esriKrovak.includes(parameter)) continue;
|
|
373
|
+
if (
|
|
374
|
+
parameterName === 'auxiliaryspheretype' &&
|
|
375
|
+
projection === 'webmerc' &&
|
|
376
|
+
parameter['value'] === 0
|
|
377
|
+
)
|
|
378
|
+
continue;
|
|
379
|
+
if (parameterName === 'semiminor' && projection === 'webmerc') {
|
|
380
|
+
if (hasSemiMinor) throw new Error('Duplicate conversion parameter: semi_minor');
|
|
381
|
+
hasSemiMinor = true;
|
|
382
|
+
// This legacy pseudo-Mercator hint may only confirm the projection sphere.
|
|
383
|
+
// It must not override the geographic datum ellipsoid or choose another radius.
|
|
384
|
+
const radius = finite(parameter['value']) * unit(parameter['unit'], 1);
|
|
385
|
+
if (
|
|
386
|
+
Math.abs(radius - Number(parameters['a'])) >
|
|
387
|
+
4 * Number.EPSILON * Number(parameters['a'])
|
|
388
|
+
)
|
|
389
|
+
unsupportedStage('Pseudo-Mercator semi_minor must equal the semi-major axis');
|
|
390
|
+
continue;
|
|
391
|
+
}
|
|
392
|
+
let name = METHOD_PARAMETERS[projection]?.[parameterName] || PARAMETERS[parameterName];
|
|
393
|
+
if (!name) unsupportedStage('Unsupported conversion parameter: ' + String(parameter['name']));
|
|
394
|
+
if (name === 'lat_1' && method === 'stereographicnorthpole' && !polarTrueScale)
|
|
395
|
+
name = 'lat_0';
|
|
396
|
+
else if (name === 'lat_1' && ['merc', 'webmerc', 'eqc', 'stere', 'cea'].includes(projection))
|
|
397
|
+
name = 'lat_ts';
|
|
398
|
+
if (parameters[name] !== undefined)
|
|
399
|
+
throw new Error('Duplicate conversion parameter: ' + name);
|
|
400
|
+
if (['merc', 'webmerc'].includes(projection) && name === 'lat_0' && parameter['value'] === 0)
|
|
401
|
+
continue;
|
|
402
|
+
const angle =
|
|
403
|
+
name.startsWith('lat') || name.startsWith('lon') || name === 'alpha' || name === 'gamma';
|
|
404
|
+
const length = name === 'x_0' || name === 'y_0';
|
|
405
|
+
let converted =
|
|
406
|
+
(finite(parameter['value']) *
|
|
407
|
+
unit(parameter['unit'], angle ? angularUnit : length ? factor : 1)) /
|
|
408
|
+
(angle ? DEGREES_TO_RADIANS : 1);
|
|
409
|
+
// Decimal unit factors can put an exact pole a few ULPs outside ±90°.
|
|
410
|
+
// Keep this tolerance local to structured latitude unit conversion.
|
|
411
|
+
if (name.startsWith('lat') && Math.abs(Math.abs(converted) - 90) <= 4 * Number.EPSILON * 90)
|
|
412
|
+
converted = Math.sign(converted) * 90;
|
|
413
|
+
parameters[name] = String(converted);
|
|
414
|
+
}
|
|
415
|
+
if (
|
|
416
|
+
projection === 'omerc' &&
|
|
417
|
+
[
|
|
418
|
+
'hotineobliquemercator',
|
|
419
|
+
'hotineobliquemercatorvarianta',
|
|
420
|
+
'hotineobliquemercatorazimuthnaturalorigin'
|
|
421
|
+
].includes(method)
|
|
422
|
+
)
|
|
423
|
+
parameters['no_uoff'] = undefined;
|
|
424
|
+
if (
|
|
425
|
+
projection === 'omerc' &&
|
|
426
|
+
parameters['lon_0'] !== undefined &&
|
|
427
|
+
parameters['lonc'] !== undefined
|
|
428
|
+
) {
|
|
429
|
+
if (Math.abs(Number(parameters['lon_0']) - Number(parameters['lonc'])) > 1e-10)
|
|
430
|
+
unsupportedStage('Oblique Mercator central meridian conflicts with projection centre');
|
|
431
|
+
delete parameters['lon_0'];
|
|
432
|
+
}
|
|
433
|
+
// The legacy North_Pole alias uses the oblique alternative away from a pole.
|
|
434
|
+
// At a pole use the equivalent polar kernel; sterea's inverse is singular there.
|
|
435
|
+
if (method === 'stereographicnorthpole' && Math.abs(Number(parameters['lat_0'])) === 90)
|
|
436
|
+
parameters['proj'] = 'stere';
|
|
437
|
+
if (projection === 'lcc' && parameters['lat_1'] === undefined)
|
|
438
|
+
parameters['lat_1'] = parameters['lat_0'];
|
|
439
|
+
if (method === 'polarstereographic' && parameters['lat_0'] !== undefined) {
|
|
440
|
+
// WKT1 latitude_of_origin is the latitude of true scale for this method.
|
|
441
|
+
// WKT2 variant A keeps its actual pole origin and scale factor.
|
|
442
|
+
if (parameters['lat_ts'] !== undefined)
|
|
443
|
+
throw new Error('Duplicate polar stereographic latitude of true scale');
|
|
444
|
+
parameters['lat_ts'] = parameters['lat_0'];
|
|
445
|
+
delete parameters['lat_0'];
|
|
446
|
+
}
|
|
447
|
+
if (
|
|
448
|
+
projection === 'stere' &&
|
|
449
|
+
(method.includes('polar') || method === 'stereographicsouthpole' || polarTrueScale) &&
|
|
450
|
+
parameters['lat_0'] === undefined
|
|
451
|
+
)
|
|
452
|
+
parameters['lat_0'] = Number(parameters['lat_ts'] || 90) < 0 ? '-90' : '90';
|
|
453
|
+
if (projection === 'webmerc') {
|
|
454
|
+
parameters['b'] = parameters['a'];
|
|
455
|
+
delete parameters['rf'];
|
|
456
|
+
parameters['nadgrids'] = '@null';
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
let axis = axes
|
|
460
|
+
.map(entry => readAxisDirection(entry, parameters, type === 'ProjectedCRS'))
|
|
461
|
+
.join('');
|
|
462
|
+
if (axis.length === 2) axis += 'u';
|
|
463
|
+
if (!geocentric && /[ud]/.test(axis.slice(0, 2)))
|
|
464
|
+
unsupportedStage('Structured CRS vertical-first axes require an explicit PROJ axis definition');
|
|
465
|
+
if (axis) parameters['axis'] = axis;
|
|
466
|
+
if (type === 'ProjectedCRS' || geocentric) parameters['to_meter'] = String(factor);
|
|
467
|
+
return {
|
|
468
|
+
parameters,
|
|
469
|
+
angularUnit: type === 'ProjectedCRS' || geocentric ? angularUnit : factor,
|
|
470
|
+
verticalUnit: geocentric ? 1 : unit(axes[2]?.['unit'], 1)
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/** Interpret polar axis meridians in the projection's central-meridian frame.
|
|
475
|
+
* Original adapter following OGC WKT2 axis semantics, not a proj4js numerical port.
|
|
476
|
+
* Only cardinal orientations are representable by the engine's signed axis order.
|
|
477
|
+
*/
|
|
478
|
+
function readAxisDirection(
|
|
479
|
+
entry: RecordValue,
|
|
480
|
+
parameters: Record<string, string | undefined>,
|
|
481
|
+
projected: boolean
|
|
482
|
+
): string {
|
|
483
|
+
let direction = String(entry['direction']);
|
|
484
|
+
let meridian = entry['meridian'];
|
|
485
|
+
// Legacy WKT1 exporters spell out the same WKT2 MERIDIAN metadata.
|
|
486
|
+
const along = /^(north|south) along ([+-]?(?:\d+(?:\.\d*)?|\.\d+)) deg(?: (east|west))?$/i.exec(
|
|
487
|
+
direction
|
|
488
|
+
);
|
|
489
|
+
if (along) {
|
|
490
|
+
if (meridian !== undefined) throw new Error('Duplicate axis meridian');
|
|
491
|
+
direction = along[1];
|
|
492
|
+
meridian = {longitude: Number(along[2]) * (along[3]?.toLowerCase() === 'west' ? -1 : 1)};
|
|
493
|
+
}
|
|
494
|
+
if (meridian !== undefined) {
|
|
495
|
+
const latitude = Number(parameters['lat_0']);
|
|
496
|
+
const north = latitude === 90;
|
|
497
|
+
if (
|
|
498
|
+
!projected ||
|
|
499
|
+
parameters['proj'] !== 'stere' ||
|
|
500
|
+
Math.abs(latitude) !== 90 ||
|
|
501
|
+
key(direction) !== (north ? 'south' : 'north')
|
|
502
|
+
)
|
|
503
|
+
unsupportedStage('Axis meridians require an outward-facing polar stereographic axis');
|
|
504
|
+
const longitude = object(meridian)['longitude'];
|
|
505
|
+
const degrees =
|
|
506
|
+
typeof longitude === 'number'
|
|
507
|
+
? finite(longitude)
|
|
508
|
+
: (finite(object(longitude)['value']) *
|
|
509
|
+
unit(object(longitude)['unit'], DEGREES_TO_RADIANS)) /
|
|
510
|
+
DEGREES_TO_RADIANS;
|
|
511
|
+
// Axis meridians and lon_0 are relative to the same CRS prime meridian.
|
|
512
|
+
const quarterTurns = finite((degrees - Number(parameters['lon_0'] || 0)) / 90);
|
|
513
|
+
if (Math.abs(quarterTurns - Math.round(quarterTurns)) > 1e-12)
|
|
514
|
+
unsupportedStage('Non-cardinal axis meridians require an orientation operation');
|
|
515
|
+
const quadrant = ((Math.round(quarterTurns) % 4) + 4) % 4;
|
|
516
|
+
return (north ? 'senw' : 'nesw')[quadrant];
|
|
517
|
+
}
|
|
518
|
+
const result = DIRECTIONS[key(direction)];
|
|
519
|
+
if (!result) unsupportedStage('Unsupported axis direction: ' + direction);
|
|
520
|
+
return result;
|
|
521
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
4
|
+
import type {SpheroidParameters} from '@math.gl/core';
|
|
5
|
+
import type {ReadonlyCRSDefinition} from '@math.gl/crs';
|
|
6
|
+
import type {ProjectionParameters} from '../types';
|
|
7
|
+
import type {DatumGridReference} from '../grids/types';
|
|
8
|
+
|
|
9
|
+
export type CRSNormalizationOptions = {
|
|
10
|
+
aliases?: Readonly<Record<string, ReadonlyCRSDefinition>>;
|
|
11
|
+
parsers?: readonly CRSParser[];
|
|
12
|
+
/** Explicitly discard the vertical component of a compound CRS. */
|
|
13
|
+
mode?: 'strict' | 'horizontal';
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/** Parser adapters provide execution metadata; syntax parsing stays in @math.gl/crs. */
|
|
17
|
+
export type ParsedCRS = {
|
|
18
|
+
parameters: ProjectionParameters;
|
|
19
|
+
angularUnit?: number;
|
|
20
|
+
verticalUnit?: number;
|
|
21
|
+
lossy?: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type CRSParser = {
|
|
24
|
+
readonly name: string;
|
|
25
|
+
canParse(definition: ReadonlyCRSDefinition): boolean;
|
|
26
|
+
parse(definition: ReadonlyCRSDefinition, options: CRSNormalizationOptions): ParsedCRS;
|
|
27
|
+
};
|
|
28
|
+
export type Ellipsoid = SpheroidParameters & {
|
|
29
|
+
readonly eccentricitySquared: number;
|
|
30
|
+
};
|
|
31
|
+
export type Datum = {
|
|
32
|
+
readonly ellipsoid: Ellipsoid;
|
|
33
|
+
/** undefined disables datum conversion; values use meters, arcseconds and ppm. */
|
|
34
|
+
readonly towgs84?: readonly number[];
|
|
35
|
+
/** Ordered horizontal grids; compiled instances capture the supplied grid objects. */
|
|
36
|
+
readonly grids?: readonly DatumGridReference[];
|
|
37
|
+
};
|
|
38
|
+
export type NormalizedCRS = {
|
|
39
|
+
readonly kind: 'geographic' | 'projected' | 'geocentric' | 'identity';
|
|
40
|
+
readonly projection: string;
|
|
41
|
+
readonly parameters: ProjectionParameters;
|
|
42
|
+
readonly ellipsoid: Ellipsoid;
|
|
43
|
+
readonly datum: Datum;
|
|
44
|
+
readonly angularUnit: number;
|
|
45
|
+
readonly toMeter: number;
|
|
46
|
+
readonly verticalUnit: number;
|
|
47
|
+
readonly primeMeridian: number;
|
|
48
|
+
readonly axis: string;
|
|
49
|
+
readonly storedAxis?: string;
|
|
50
|
+
readonly longitudeWrap?: number;
|
|
51
|
+
readonly lossy: boolean;
|
|
52
|
+
};
|
|
53
|
+
export type CRSCompatibilityReason =
|
|
54
|
+
| 'unknown-syntax'
|
|
55
|
+
| 'missing-parser'
|
|
56
|
+
| 'missing-plugin'
|
|
57
|
+
| 'missing-transform-stage'
|
|
58
|
+
| 'invalid-definition';
|
|
59
|
+
// CJS subpaths are independently bundled; keep instanceof and capability reasons
|
|
60
|
+
// stable when a parser and the core come from different public entry points.
|
|
61
|
+
const CRS_ERROR = Symbol.for('@math.gl/projection/TypeScriptCRSError');
|
|
62
|
+
export class TypeScriptCRSError extends Error {
|
|
63
|
+
readonly [CRS_ERROR] = true;
|
|
64
|
+
static override [Symbol.hasInstance](value: unknown): boolean {
|
|
65
|
+
if (this !== TypeScriptCRSError)
|
|
66
|
+
return Function.prototype[Symbol.hasInstance].call(this, value);
|
|
67
|
+
return value instanceof Error && (value as TypeScriptCRSError)[CRS_ERROR] === true;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
constructor(
|
|
71
|
+
readonly reason: CRSCompatibilityReason,
|
|
72
|
+
message: string
|
|
73
|
+
) {
|
|
74
|
+
super(message);
|
|
75
|
+
this.name = 'TypeScriptCRSError';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
export function unsupportedStage(message: string): never {
|
|
79
|
+
throw new TypeScriptCRSError('missing-transform-stage', message);
|
|
80
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
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-FileComment: Direct TypeScript port of proj4js 2.22.0. See ../../../PROJ4-LICENSE.md.
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
mm: {to_meter: 0.001},
|
|
8
|
+
cm: {to_meter: 0.01},
|
|
9
|
+
ft: {to_meter: 0.3048},
|
|
10
|
+
'us-ft': {to_meter: 1200 / 3937},
|
|
11
|
+
fath: {to_meter: 1.8288},
|
|
12
|
+
kmi: {to_meter: 1852},
|
|
13
|
+
'us-ch': {to_meter: 20.1168402336805},
|
|
14
|
+
'us-mi': {to_meter: 1609.34721869444},
|
|
15
|
+
km: {to_meter: 1000},
|
|
16
|
+
'ind-ft': {to_meter: 0.30479841},
|
|
17
|
+
'ind-yd': {to_meter: 0.91439523},
|
|
18
|
+
mi: {to_meter: 1609.344},
|
|
19
|
+
yd: {to_meter: 0.9144},
|
|
20
|
+
ch: {to_meter: 20.1168},
|
|
21
|
+
link: {to_meter: 0.201168},
|
|
22
|
+
dm: {to_meter: 0.1},
|
|
23
|
+
in: {to_meter: 0.0254},
|
|
24
|
+
'ind-ch': {to_meter: 20.11669506},
|
|
25
|
+
'us-in': {to_meter: 0.025400050800101},
|
|
26
|
+
'us-yd': {to_meter: 0.914401828803658}
|
|
27
|
+
};
|