@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,181 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// dist/experimental/grids/ntv2.js
|
|
20
|
+
var ntv2_exports = {};
|
|
21
|
+
__export(ntv2_exports, {
|
|
22
|
+
parseNTv2Grid: () => parseNTv2Grid
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(ntv2_exports);
|
|
25
|
+
|
|
26
|
+
// dist/experimental/parameters.js
|
|
27
|
+
var DEGREES_TO_RADIANS = Math.PI / 180;
|
|
28
|
+
function wrapLongitude(longitude) {
|
|
29
|
+
if (Math.abs(longitude) <= Math.PI)
|
|
30
|
+
return longitude;
|
|
31
|
+
const circle = 2 * Math.PI;
|
|
32
|
+
return ((longitude + Math.PI) % circle + circle) % circle - Math.PI;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// dist/experimental/grids/grid.js
|
|
36
|
+
var TOLERANCE = 1e-12;
|
|
37
|
+
function interpolate(grid, x, y, output, clamp = false) {
|
|
38
|
+
let col = (x - grid.origin[0]) / grid.step[0], row = (y - grid.origin[1]) / grid.step[1];
|
|
39
|
+
const width = grid.size[0], height = grid.size[1];
|
|
40
|
+
if (!clamp && (col < -1e-10 || row < -1e-10 || col > width - 1 + 1e-10 || row > height - 1 + 1e-10))
|
|
41
|
+
return false;
|
|
42
|
+
col = Math.max(0, Math.min(width - 1, col));
|
|
43
|
+
row = Math.max(0, Math.min(height - 1, row));
|
|
44
|
+
const i = Math.min(width - 2, Math.floor(col)), j = Math.min(height - 2, Math.floor(row));
|
|
45
|
+
const u = col - i, v = row - j;
|
|
46
|
+
let dx = 0, dy = 0;
|
|
47
|
+
for (let n = 0; n < 4; n++) {
|
|
48
|
+
const right = n % 2, upper = n > 1;
|
|
49
|
+
const weight = (right ? u : 1 - u) * (upper ? v : 1 - v);
|
|
50
|
+
if (weight === 0)
|
|
51
|
+
continue;
|
|
52
|
+
const index = ((j + (upper ? 1 : 0)) * width + i + right) * 2;
|
|
53
|
+
const xShift = grid.shifts[index], yShift = grid.shifts[index + 1];
|
|
54
|
+
if (!Number.isFinite(xShift) || !Number.isFinite(yShift))
|
|
55
|
+
return false;
|
|
56
|
+
dx += weight * xShift;
|
|
57
|
+
dy += weight * yShift;
|
|
58
|
+
}
|
|
59
|
+
output.x = dx;
|
|
60
|
+
output.y = dy;
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
function shiftSubgrid(grid, x, y, inverse, output) {
|
|
64
|
+
if (!inverse) {
|
|
65
|
+
if (!interpolate(grid, x, y, output))
|
|
66
|
+
return false;
|
|
67
|
+
output.x += x;
|
|
68
|
+
output.y += y;
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
for (let i = 0; i < 2; i++) {
|
|
72
|
+
const value = i === 0 ? x : y;
|
|
73
|
+
if (value < grid.origin[i] - grid.maxShift[i] - TOLERANCE || value > grid.origin[i] + (grid.size[i] - 1) * grid.step[i] + grid.maxShift[i] + TOLERANCE)
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
if (!interpolate(grid, x, y, output, true))
|
|
77
|
+
return false;
|
|
78
|
+
let guessX = x - output.x, guessY = y - output.y;
|
|
79
|
+
for (let iteration = 0; iteration < 20; iteration++) {
|
|
80
|
+
if (!interpolate(grid, guessX, guessY, output, true))
|
|
81
|
+
return false;
|
|
82
|
+
const dx = x - guessX - output.x, dy = y - guessY - output.y;
|
|
83
|
+
guessX += dx;
|
|
84
|
+
guessY += dy;
|
|
85
|
+
if (Math.max(Math.abs(dx), Math.abs(dy)) <= TOLERANCE) {
|
|
86
|
+
if (!interpolate(grid, guessX, guessY, output))
|
|
87
|
+
return false;
|
|
88
|
+
output.x = wrapLongitude(guessX);
|
|
89
|
+
output.y = guessY;
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
throw new Error("Inverse datum grid shift did not converge");
|
|
94
|
+
}
|
|
95
|
+
function createDatumGrid(subgrids) {
|
|
96
|
+
if (!subgrids.length)
|
|
97
|
+
throw new Error("Datum grid requires at least one subgrid");
|
|
98
|
+
const prepared = subgrids.map((grid) => {
|
|
99
|
+
const [width, height] = grid.size;
|
|
100
|
+
if (![width, height].every((n) => Number.isSafeInteger(n) && n >= 2) || width * height * 2 !== grid.shifts.length || !grid.origin.every(Number.isFinite) || !grid.step.every((n) => Number.isFinite(n) && n > 0))
|
|
101
|
+
throw new Error("Invalid datum subgrid geometry or node count");
|
|
102
|
+
const maxShift = [0, 0];
|
|
103
|
+
for (let index = 0; index < grid.shifts.length; index++) {
|
|
104
|
+
const value = grid.shifts[index];
|
|
105
|
+
if (Number.isFinite(value))
|
|
106
|
+
maxShift[index % 2] = Math.max(maxShift[index % 2], Math.abs(value));
|
|
107
|
+
}
|
|
108
|
+
return { ...grid, maxShift };
|
|
109
|
+
});
|
|
110
|
+
const shiftInPlace = (point, inverse) => {
|
|
111
|
+
const longitude = point.x, latitude = point.y;
|
|
112
|
+
if (!Number.isFinite(longitude) || !Number.isFinite(latitude))
|
|
113
|
+
throw new Error("Grid coordinates must be finite");
|
|
114
|
+
for (const grid of prepared) {
|
|
115
|
+
if (shiftSubgrid(grid, -longitude, latitude, inverse, point)) {
|
|
116
|
+
point.x = -point.x;
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
point.x = longitude;
|
|
121
|
+
point.y = latitude;
|
|
122
|
+
return false;
|
|
123
|
+
};
|
|
124
|
+
const tupleScratch = { x: NaN, y: NaN };
|
|
125
|
+
return Object.freeze({
|
|
126
|
+
subgridCount: prepared.length,
|
|
127
|
+
shiftInPlace,
|
|
128
|
+
shift(longitude, latitude, inverse) {
|
|
129
|
+
tupleScratch.x = longitude;
|
|
130
|
+
tupleScratch.y = latitude;
|
|
131
|
+
return shiftInPlace(tupleScratch, inverse) ? [tupleScratch.x, tupleScratch.y] : void 0;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// dist/experimental/grids/ntv2.js
|
|
137
|
+
var ARC_SECOND = Math.PI / 648e3;
|
|
138
|
+
function parseNTv2Grid(data, options = {}) {
|
|
139
|
+
const view = new DataView(data);
|
|
140
|
+
if (view.byteLength < 176)
|
|
141
|
+
throw new Error("Truncated NTv2 overview header");
|
|
142
|
+
const little = view.getInt32(8, true) === 11;
|
|
143
|
+
if (!little && view.getInt32(8, false) !== 11)
|
|
144
|
+
throw new Error("Invalid NTv2 header or byte order");
|
|
145
|
+
const integer = (offset2) => view.getInt32(offset2, little);
|
|
146
|
+
const real = (offset2) => view.getFloat64(offset2, little);
|
|
147
|
+
const label = (offset2) => String.fromCharCode(...new Uint8Array(data, offset2, 8)).replace(/\0/g, "").trim();
|
|
148
|
+
if (label(0) !== "NUM_OREC" || integer(24) !== 11 || label(56) !== "SECONDS")
|
|
149
|
+
throw new Error("Unsupported NTv2 header or shift units");
|
|
150
|
+
const count = integer(40), stride = options.includeErrorFields === false ? 8 : 16;
|
|
151
|
+
if (count < 1 || count > Math.floor((view.byteLength - 176) / (176 + 4 * stride)))
|
|
152
|
+
throw new Error("Invalid NTv2 subgrid count");
|
|
153
|
+
let offset = 176;
|
|
154
|
+
const subgrids = [];
|
|
155
|
+
for (let n = 0; n < count; n++) {
|
|
156
|
+
if (offset + 176 > view.byteLength)
|
|
157
|
+
throw new Error("Truncated NTv2 subgrid header");
|
|
158
|
+
const lowerLat = real(offset + 72), upperLat = real(offset + 88), lowerLon = real(offset + 104), upperLon = real(offset + 120);
|
|
159
|
+
const latStep = real(offset + 136), lonStep = real(offset + 152), nodes = integer(offset + 168);
|
|
160
|
+
const width = 1 + (upperLon - lowerLon) / lonStep, height = 1 + (upperLat - lowerLat) / latStep;
|
|
161
|
+
if (![width, height].every((v) => Number.isFinite(v) && v >= 2 && Math.abs(v - Math.round(v)) < 1e-7) || !(lonStep > 0 && latStep > 0) || nodes !== Math.round(width) * Math.round(height))
|
|
162
|
+
throw new Error("Invalid NTv2 subgrid dimensions");
|
|
163
|
+
const start = offset + 176, end = start + nodes * stride;
|
|
164
|
+
if (end > view.byteLength)
|
|
165
|
+
throw new Error("Truncated NTv2 node records");
|
|
166
|
+
const shifts = new Float64Array(nodes * 2);
|
|
167
|
+
for (let i = 0; i < nodes; i++) {
|
|
168
|
+
shifts[i * 2] = view.getFloat32(start + i * stride + 4, little) * ARC_SECOND;
|
|
169
|
+
shifts[i * 2 + 1] = view.getFloat32(start + i * stride, little) * ARC_SECOND;
|
|
170
|
+
}
|
|
171
|
+
subgrids.push({
|
|
172
|
+
origin: [lowerLon * ARC_SECOND, lowerLat * ARC_SECOND],
|
|
173
|
+
step: [lonStep * ARC_SECOND, latStep * ARC_SECOND],
|
|
174
|
+
size: [Math.round(width), Math.round(height)],
|
|
175
|
+
shifts
|
|
176
|
+
});
|
|
177
|
+
offset = end;
|
|
178
|
+
}
|
|
179
|
+
return createDatumGrid(subgrids);
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=ntv2.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/experimental/grids/ntv2.ts", "../../../src/experimental/parameters.ts", "../../../src/experimental/grids/grid.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["offset"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DatumGrid } from "./types.js";
|
|
2
|
+
export type NTv2GridOptions = {
|
|
3
|
+
/** False selects compact 8-byte nodes; true (default) selects 16-byte nodes with accuracy fields. */
|
|
4
|
+
includeErrorFields?: boolean;
|
|
5
|
+
};
|
|
6
|
+
/** Decode an owned grid snapshot. The input buffer may be changed or released after this returns. */
|
|
7
|
+
export declare function parseNTv2Grid(data: ArrayBuffer, options?: NTv2GridOptions): DatumGrid;
|
|
8
|
+
//# sourceMappingURL=ntv2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ntv2.d.ts","sourceRoot":"","sources":["../../../src/experimental/grids/ntv2.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,SAAS,EAAU,mBAAgB;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,qGAAqG;IACrG,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,eAAoB,GAAG,SAAS,CAwDzF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
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: NTv2 decoding directly adapted from proj4js 2.22.0 lib/nadgrid.js. See ../../../PROJ4-LICENSE.md. Modified for explicit ownership, bounds/geometry validation and no global registration.
|
|
6
|
+
import { createDatumGrid } from "./grid.js";
|
|
7
|
+
const ARC_SECOND = Math.PI / 648000;
|
|
8
|
+
/** Decode an owned grid snapshot. The input buffer may be changed or released after this returns. */
|
|
9
|
+
export function parseNTv2Grid(data, options = {}) {
|
|
10
|
+
const view = new DataView(data);
|
|
11
|
+
if (view.byteLength < 176)
|
|
12
|
+
throw new Error('Truncated NTv2 overview header');
|
|
13
|
+
const little = view.getInt32(8, true) === 11;
|
|
14
|
+
if (!little && view.getInt32(8, false) !== 11)
|
|
15
|
+
throw new Error('Invalid NTv2 header or byte order');
|
|
16
|
+
const integer = (offset) => view.getInt32(offset, little);
|
|
17
|
+
const real = (offset) => view.getFloat64(offset, little);
|
|
18
|
+
const label = (offset) => String.fromCharCode(...new Uint8Array(data, offset, 8))
|
|
19
|
+
.replace(/\0/g, '')
|
|
20
|
+
.trim();
|
|
21
|
+
if (label(0) !== 'NUM_OREC' || integer(24) !== 11 || label(56) !== 'SECONDS')
|
|
22
|
+
throw new Error('Unsupported NTv2 header or shift units');
|
|
23
|
+
const count = integer(40), stride = options.includeErrorFields === false ? 8 : 16;
|
|
24
|
+
if (count < 1 || count > Math.floor((view.byteLength - 176) / (176 + 4 * stride)))
|
|
25
|
+
throw new Error('Invalid NTv2 subgrid count');
|
|
26
|
+
let offset = 176;
|
|
27
|
+
const subgrids = [];
|
|
28
|
+
for (let n = 0; n < count; n++) {
|
|
29
|
+
if (offset + 176 > view.byteLength)
|
|
30
|
+
throw new Error('Truncated NTv2 subgrid header');
|
|
31
|
+
const lowerLat = real(offset + 72), upperLat = real(offset + 88), lowerLon = real(offset + 104), upperLon = real(offset + 120);
|
|
32
|
+
const latStep = real(offset + 136), lonStep = real(offset + 152), nodes = integer(offset + 168);
|
|
33
|
+
const width = 1 + (upperLon - lowerLon) / lonStep, height = 1 + (upperLat - lowerLat) / latStep;
|
|
34
|
+
if (![width, height].every(v => Number.isFinite(v) && v >= 2 && Math.abs(v - Math.round(v)) < 1e-7) ||
|
|
35
|
+
!(lonStep > 0 && latStep > 0) ||
|
|
36
|
+
nodes !== Math.round(width) * Math.round(height))
|
|
37
|
+
throw new Error('Invalid NTv2 subgrid dimensions');
|
|
38
|
+
const start = offset + 176, end = start + nodes * stride;
|
|
39
|
+
if (end > view.byteLength)
|
|
40
|
+
throw new Error('Truncated NTv2 node records');
|
|
41
|
+
const shifts = new Float64Array(nodes * 2);
|
|
42
|
+
for (let i = 0; i < nodes; i++) {
|
|
43
|
+
shifts[i * 2] = view.getFloat32(start + i * stride + 4, little) * ARC_SECOND;
|
|
44
|
+
shifts[i * 2 + 1] = view.getFloat32(start + i * stride, little) * ARC_SECOND;
|
|
45
|
+
}
|
|
46
|
+
subgrids.push({
|
|
47
|
+
origin: [lowerLon * ARC_SECOND, lowerLat * ARC_SECOND],
|
|
48
|
+
step: [lonStep * ARC_SECOND, latStep * ARC_SECOND],
|
|
49
|
+
size: [Math.round(width), Math.round(height)],
|
|
50
|
+
shifts
|
|
51
|
+
});
|
|
52
|
+
offset = end;
|
|
53
|
+
}
|
|
54
|
+
return createDatumGrid(subgrids);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=ntv2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ntv2.js","sourceRoot":"","sources":["../../../src/experimental/grids/ntv2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { VerticalGrid } from "./types.js";
|
|
2
|
+
type Metadata = Record<string, unknown> | null;
|
|
3
|
+
type DirectoryTag = 'ModelPixelScale' | 'ModelTiepoint' | 'ModelTransformation' | 'NewSubfileType';
|
|
4
|
+
/** Structural subset of geotiff.js v2/v3. Metadata may be synchronous or asynchronous. */
|
|
5
|
+
export type VerticalGridGeoTIFFImage = {
|
|
6
|
+
getWidth(): number;
|
|
7
|
+
getHeight(): number;
|
|
8
|
+
getGeoKeys(): Record<string, unknown> | null;
|
|
9
|
+
getGDALMetadata(sample?: number | null): Metadata | Promise<Metadata>;
|
|
10
|
+
getGDALNoData?(): number | null;
|
|
11
|
+
fileDirectory: Partial<Record<DirectoryTag, unknown>> | {
|
|
12
|
+
getValue(name: DirectoryTag): unknown;
|
|
13
|
+
};
|
|
14
|
+
readRasters(options: {
|
|
15
|
+
samples: number[];
|
|
16
|
+
interleave: false;
|
|
17
|
+
}): Promise<ArrayLike<number | ArrayLike<number>>>;
|
|
18
|
+
};
|
|
19
|
+
export type VerticalGridGeoTIFF = {
|
|
20
|
+
getImageCount(): Promise<number>;
|
|
21
|
+
getImage(index: number): Promise<VerticalGridGeoTIFFImage>;
|
|
22
|
+
};
|
|
23
|
+
/** Plain decoded raster input, structurally compatible with loaders.gl GeoTIFFRasterData. */
|
|
24
|
+
export type VerticalGridGeoTIFFData = {
|
|
25
|
+
/** Images in original file order, with parents before nested children. */
|
|
26
|
+
images: readonly {
|
|
27
|
+
/** Original dimensions in pixels. */
|
|
28
|
+
width: number;
|
|
29
|
+
/** Original dimensions in pixels. */
|
|
30
|
+
height: number;
|
|
31
|
+
/** Raw bands; original band zero must be present. */
|
|
32
|
+
bands: readonly {
|
|
33
|
+
/** Original zero-based sample index, retained when selecting bands. */
|
|
34
|
+
index: number;
|
|
35
|
+
/** Native, unscaled samples in TIFF row order. */
|
|
36
|
+
data: ArrayLike<number>;
|
|
37
|
+
/** Per-band GDAL metadata. */
|
|
38
|
+
metadata: Metadata;
|
|
39
|
+
}[];
|
|
40
|
+
/** Decoded CRS and pixel-registration GeoKeys. */
|
|
41
|
+
geoKeys: Metadata;
|
|
42
|
+
/** Image-level GDAL metadata. */
|
|
43
|
+
metadata: Metadata;
|
|
44
|
+
/** Declared nodata value, before scale/offset. */
|
|
45
|
+
noData: number | null;
|
|
46
|
+
/** Original geometry and image-kind tags. */
|
|
47
|
+
fileDirectory: Partial<Record<DirectoryTag, unknown>>;
|
|
48
|
+
}[];
|
|
49
|
+
};
|
|
50
|
+
/** Prepare metre geoid undulations from geographic, north-up PROJ Geodetic TIFF grids.
|
|
51
|
+
* The first band must declare geoid_undulation; dataset TYPE must be
|
|
52
|
+
* VERTICAL_OFFSET_GEOGRAPHIC_TO_VERTICAL. PixelIsPoint and PixelIsArea are supported.
|
|
53
|
+
* Later nested images take precedence. Overviews, ambiguous overlaps, rotations,
|
|
54
|
+
* non-metre bands and other operation types are rejected rather than inferred.
|
|
55
|
+
*/
|
|
56
|
+
export declare function prepareScalarGeoTIFFGrids(tiff: VerticalGridGeoTIFF | VerticalGridGeoTIFFData): Promise<VerticalGrid[]>;
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=scalar-geotiff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar-geotiff.d.ts","sourceRoot":"","sources":["../../../src/experimental/grids/scalar-geotiff.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,mBAAgB;AAE1C,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;AAC/C,KAAK,YAAY,GAAG,iBAAiB,GAAG,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;AACnG,0FAA0F;AAC1F,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,IAAI,MAAM,CAAC;IACnB,SAAS,IAAI,MAAM,CAAC;IACpB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7C,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtE,aAAa,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,GAAG;QAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAA;KAAC,CAAC;IAChG,WAAW,CAAC,OAAO,EAAE;QACnB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,EAAE,KAAK,CAAC;KACnB,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACpD,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAC5D,CAAC;AAEF,6FAA6F;AAC7F,MAAM,MAAM,uBAAuB,GAAG;IACpC,0EAA0E;IAC1E,MAAM,EAAE,SAAS;QACf,qCAAqC;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,qCAAqC;QACrC,MAAM,EAAE,MAAM,CAAC;QACf,qDAAqD;QACrD,KAAK,EAAE,SAAS;YACd,uEAAuE;YACvE,KAAK,EAAE,MAAM,CAAC;YACd,kDAAkD;YAClD,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YACxB,8BAA8B;YAC9B,QAAQ,EAAE,QAAQ,CAAC;SACpB,EAAE,CAAC;QACJ,kDAAkD;QAClD,OAAO,EAAE,QAAQ,CAAC;QAClB,iCAAiC;QACjC,QAAQ,EAAE,QAAQ,CAAC;QACnB,kDAAkD;QAClD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,6CAA6C;QAC7C,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;KACvD,EAAE,CAAC;CACL,CAAC;AAoCF;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,mBAAmB,GAAG,uBAAuB,GAClD,OAAO,CAAC,YAAY,EAAE,CAAC,CAqIzB"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
4
|
+
// SPDX-FileComment: Original adapter for PROJ's Geodetic TIFF Grid specification, not a proj4js/PROJ fork. Decoding is caller-owned; no TIFF library is imported at runtime.
|
|
5
|
+
import { createVerticalGrid } from "./vertical.js";
|
|
6
|
+
/** Adapts plain numeric rasters without importing or retaining a TIFF decoder. */
|
|
7
|
+
function getRasterImage(data, index) {
|
|
8
|
+
const image = data.images[index];
|
|
9
|
+
const band = image.bands.find(candidate => candidate.index === 0);
|
|
10
|
+
if (!band)
|
|
11
|
+
throw new Error('Vertical GeoTIFF requires original band zero');
|
|
12
|
+
return {
|
|
13
|
+
getWidth: () => image.width,
|
|
14
|
+
getHeight: () => image.height,
|
|
15
|
+
getGeoKeys: () => image.geoKeys,
|
|
16
|
+
getGDALMetadata: sample => (sample === 0 ? band.metadata : image.metadata),
|
|
17
|
+
getGDALNoData: () => image.noData,
|
|
18
|
+
fileDirectory: image.fileDirectory,
|
|
19
|
+
readRasters: async () => [band.data]
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function number(value, fallback) {
|
|
23
|
+
if (value === undefined)
|
|
24
|
+
return fallback;
|
|
25
|
+
if ((typeof value !== 'number' && typeof value !== 'string') ||
|
|
26
|
+
(typeof value === 'string' && !value.trim()) ||
|
|
27
|
+
!Number.isFinite(Number(value)))
|
|
28
|
+
throw new Error('Invalid vertical GeoTIFF scale or offset');
|
|
29
|
+
return Number(value);
|
|
30
|
+
}
|
|
31
|
+
function vector(value, length) {
|
|
32
|
+
if (!value || typeof value !== 'object' || !('length' in value) || value.length !== length)
|
|
33
|
+
throw new Error('Vertical GeoTIFF requires one tiepoint and pixel scale');
|
|
34
|
+
const result = Array.from(value);
|
|
35
|
+
if (!result.every(Number.isFinite))
|
|
36
|
+
throw new Error('Invalid vertical GeoTIFF geometry');
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
/** Prepare metre geoid undulations from geographic, north-up PROJ Geodetic TIFF grids.
|
|
40
|
+
* The first band must declare geoid_undulation; dataset TYPE must be
|
|
41
|
+
* VERTICAL_OFFSET_GEOGRAPHIC_TO_VERTICAL. PixelIsPoint and PixelIsArea are supported.
|
|
42
|
+
* Later nested images take precedence. Overviews, ambiguous overlaps, rotations,
|
|
43
|
+
* non-metre bands and other operation types are rejected rather than inferred.
|
|
44
|
+
*/
|
|
45
|
+
export async function prepareScalarGeoTIFFGrids(tiff) {
|
|
46
|
+
const count = 'images' in tiff ? tiff.images.length : await tiff.getImageCount();
|
|
47
|
+
if (!Number.isSafeInteger(count) || count < 1)
|
|
48
|
+
throw new Error('Vertical GeoTIFF requires at least one image');
|
|
49
|
+
const prepared = [];
|
|
50
|
+
for (let n = 0; n < count; n++) {
|
|
51
|
+
const image = 'images' in tiff ? getRasterImage(tiff, n) : await tiff.getImage(n);
|
|
52
|
+
const directory = image.fileDirectory;
|
|
53
|
+
const tag = (name) => 'getValue' in directory ? directory.getValue(name) : directory[name];
|
|
54
|
+
if (tag('NewSubfileType') !== undefined && tag('NewSubfileType') !== 0)
|
|
55
|
+
throw new Error('Vertical GeoTIFF overviews and masks are unsupported');
|
|
56
|
+
if (tag('ModelTransformation') !== undefined)
|
|
57
|
+
throw new Error('Vertical GeoTIFF requires axis-aligned tiepoint/scale geometry');
|
|
58
|
+
const keys = image.getGeoKeys();
|
|
59
|
+
if (keys?.['GTModelTypeGeoKey'] !== 2 ||
|
|
60
|
+
(keys['GeogAngularUnitsGeoKey'] !== undefined && keys['GeogAngularUnitsGeoKey'] !== 9102))
|
|
61
|
+
throw new Error('Vertical GeoTIFF requires a geographic degree grid');
|
|
62
|
+
if ((keys['GeogPrimeMeridianGeoKey'] !== undefined && keys['GeogPrimeMeridianGeoKey'] !== 8901) ||
|
|
63
|
+
(keys['GeogPrimeMeridianLongGeoKey'] !== undefined &&
|
|
64
|
+
keys['GeogPrimeMeridianLongGeoKey'] !== 0))
|
|
65
|
+
throw new Error('Vertical GeoTIFF requires Greenwich longitudes');
|
|
66
|
+
const rasterType = keys['GTRasterTypeGeoKey'];
|
|
67
|
+
if (rasterType !== 1 && rasterType !== 2)
|
|
68
|
+
throw new Error('Vertical GeoTIFF requires explicit PixelIsPoint or PixelIsArea');
|
|
69
|
+
const metadata = await image.getGDALMetadata();
|
|
70
|
+
const band = await image.getGDALMetadata(0);
|
|
71
|
+
if (metadata?.['TYPE'] !== 'VERTICAL_OFFSET_GEOGRAPHIC_TO_VERTICAL' ||
|
|
72
|
+
band?.['DESCRIPTION'] !== 'geoid_undulation')
|
|
73
|
+
throw new Error('Vertical GeoTIFF requires a geographic-to-vertical geoid_undulation band');
|
|
74
|
+
if (band['UNITTYPE'] !== undefined && band['UNITTYPE'] !== 'metre')
|
|
75
|
+
throw new Error('Vertical GeoTIFF geoid undulations must be in metres');
|
|
76
|
+
if (metadata['interpolation_method'] !== undefined &&
|
|
77
|
+
metadata['interpolation_method'] !== 'bilinear')
|
|
78
|
+
throw new Error('Vertical GeoTIFF supports only bilinear interpolation');
|
|
79
|
+
const scale = number(band['SCALE'], 1), offset = number(band['OFFSET'], 0);
|
|
80
|
+
const [dx, dy] = vector(tag('ModelPixelScale'), 3);
|
|
81
|
+
const [i, j, k, x, y, z] = vector(tag('ModelTiepoint'), 6);
|
|
82
|
+
const width = image.getWidth(), height = image.getHeight();
|
|
83
|
+
if (!(dx > 0 && dy > 0) ||
|
|
84
|
+
k !== 0 ||
|
|
85
|
+
z !== 0 ||
|
|
86
|
+
![width, height].every(v => Number.isSafeInteger(v) && v >= 2))
|
|
87
|
+
throw new Error('Invalid vertical GeoTIFF geometry or dimensions');
|
|
88
|
+
const half = rasterType === 1 ? 0.5 : 0;
|
|
89
|
+
const west = x + (half - i) * dx;
|
|
90
|
+
const north = y - (half - j) * dy;
|
|
91
|
+
const south = north - (height - 1) * dy, east = west + (width - 1) * dx;
|
|
92
|
+
if (![west, south, east, north].every(Number.isFinite) ||
|
|
93
|
+
!(east > west && north > south) ||
|
|
94
|
+
east - west > 360 ||
|
|
95
|
+
south < -90 ||
|
|
96
|
+
north > 90 ||
|
|
97
|
+
!Number.isSafeInteger(width * height))
|
|
98
|
+
throw new Error('Invalid vertical GeoTIFF geographic extent');
|
|
99
|
+
// Require ordered nested or disjoint images, so TIFF ordering cannot silently
|
|
100
|
+
// replace a fine child with a coarse parent or an ambiguous overlapping grid.
|
|
101
|
+
for (const other of prepared) {
|
|
102
|
+
const overlaps = west < other.east && east > other.west && south < other.north && north > other.south;
|
|
103
|
+
if (overlaps &&
|
|
104
|
+
!(west >= other.west &&
|
|
105
|
+
east <= other.east &&
|
|
106
|
+
south >= other.south &&
|
|
107
|
+
north <= other.north &&
|
|
108
|
+
dx <= other.dx &&
|
|
109
|
+
dy <= other.dy))
|
|
110
|
+
throw new Error('Vertical GeoTIFF images must be ordered parent before nested child or disjoint');
|
|
111
|
+
}
|
|
112
|
+
const rasters = await image.readRasters({ samples: [0], interleave: false });
|
|
113
|
+
const values = rasters[0];
|
|
114
|
+
if (!values || typeof values === 'number' || values.length !== width * height)
|
|
115
|
+
throw new Error('Vertical GeoTIFF requires a complete non-interleaved height band');
|
|
116
|
+
const declaredNoData = image.getGDALNoData?.();
|
|
117
|
+
// GDAL_NODATA is text; compare it in the decoded band's numeric precision.
|
|
118
|
+
const nodata = values instanceof Float32Array && typeof declaredNoData === 'number'
|
|
119
|
+
? Math.fround(declaredNoData)
|
|
120
|
+
: declaredNoData;
|
|
121
|
+
const offsets = new Float64Array(width * height);
|
|
122
|
+
for (let row = 0; row < height; row++)
|
|
123
|
+
for (let col = 0; col < width; col++) {
|
|
124
|
+
const raw = values[row * width + col];
|
|
125
|
+
const value = raw === nodata || !Number.isFinite(raw) ? NaN : raw * scale + offset;
|
|
126
|
+
if (Number.isFinite(raw) && raw !== nodata && !Number.isFinite(value))
|
|
127
|
+
throw new Error('Vertical GeoTIFF scale/offset produced a non-finite height');
|
|
128
|
+
offsets[(height - 1 - row) * width + col] = value;
|
|
129
|
+
}
|
|
130
|
+
prepared.push({
|
|
131
|
+
grid: createVerticalGrid({
|
|
132
|
+
origin: [west, south],
|
|
133
|
+
step: [dx, dy],
|
|
134
|
+
size: [width, height],
|
|
135
|
+
offsets
|
|
136
|
+
}),
|
|
137
|
+
west,
|
|
138
|
+
south,
|
|
139
|
+
east,
|
|
140
|
+
north,
|
|
141
|
+
dx,
|
|
142
|
+
dy
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
return prepared.map(image => image.grid);
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=scalar-geotiff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar-geotiff.js","sourceRoot":"","sources":["../../../src/experimental/grids/scalar-geotiff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** Prepared horizontal datum grid. Inputs/outputs are east-positive longitude/latitude radians. */
|
|
2
|
+
export type DatumGrid = {
|
|
3
|
+
readonly subgridCount: number;
|
|
4
|
+
/** Optional mutable hook. On false, x/y must remain unchanged; always preserve z. */
|
|
5
|
+
shiftInPlace?(point: {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
}, inverse: boolean): boolean;
|
|
9
|
+
/** undefined means no usable subgrid covers this coordinate; other failures throw. */
|
|
10
|
+
shift(longitude: number, latitude: number, inverse: boolean): [number, number] | undefined;
|
|
11
|
+
};
|
|
12
|
+
/** Per-instance registration. Readers produce grids before synchronous construction. */
|
|
13
|
+
export type DatumGridCollection = Readonly<Record<string, DatumGrid>>;
|
|
14
|
+
export type DatumGridReference = {
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly optional: boolean;
|
|
17
|
+
readonly grid?: DatumGrid;
|
|
18
|
+
};
|
|
19
|
+
/** Internal west-positive node layout, matching the pinned proj4js grid convention. */
|
|
20
|
+
export type Subgrid = {
|
|
21
|
+
readonly origin: readonly [number, number];
|
|
22
|
+
readonly step: readonly [number, number];
|
|
23
|
+
readonly size: readonly [number, number];
|
|
24
|
+
/** Reader-owned west-positive longitude/latitude shift pairs in radians. */
|
|
25
|
+
readonly shifts: Float64Array;
|
|
26
|
+
};
|
|
27
|
+
/** Geoid undulation N in metres: ellipsoidal height h = gravity-related height H + N.
|
|
28
|
+
* Inputs are east-positive Greenwich longitude and latitude in radians, in the
|
|
29
|
+
* horizontal datum of the CRS carrying +geoidgrids. Undefined means no coverage.
|
|
30
|
+
*/
|
|
31
|
+
export type VerticalGrid = {
|
|
32
|
+
getOffset(longitude: number, latitude: number): number | undefined;
|
|
33
|
+
};
|
|
34
|
+
export type VerticalGridCollection = Readonly<Record<string, VerticalGrid>>;
|
|
35
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/experimental/grids/types.ts"],"names":[],"mappings":"AAGA,mGAAmG;AACnG,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,qFAAqF;IACrF,YAAY,CAAC,CAAC,KAAK,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IACxE,sFAAsF;IACtF,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC5F,CAAC;AACF,wFAAwF;AACxF,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AACF,uFAAuF;AACvF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACpE,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/experimental/grids/types.ts"],"names":[],"mappings":""}
|