@math.gl/geospatial 5.0.0-alpha.17 → 5.0.0-alpha.19
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/README.md +12 -0
- package/crs/README.md +84 -0
- package/crs/schemas/README.md +9 -0
- package/crs/schemas/projjson.schema.json +1174 -0
- package/dist/crs/crs-metadata.cjs +67 -0
- package/dist/crs/crs-metadata.cjs.map +6 -0
- package/dist/crs/crs-metadata.d.ts +43 -0
- package/dist/crs/crs-metadata.d.ts.map +1 -0
- package/dist/crs/crs-metadata.js +26 -0
- package/dist/crs/crs-metadata.js.map +1 -0
- package/dist/crs/crs.d.ts +22 -0
- package/dist/crs/crs.d.ts.map +1 -0
- package/dist/crs/crs.js +5 -0
- package/dist/crs/crs.js.map +1 -0
- package/dist/crs/index.cjs +916 -0
- package/dist/crs/index.cjs.map +6 -0
- package/dist/crs/index.d.ts +12 -0
- package/dist/crs/index.d.ts.map +1 -0
- package/dist/crs/index.js +10 -0
- package/dist/crs/index.js.map +1 -0
- package/dist/crs/proj-string.cjs +219 -0
- package/dist/crs/proj-string.cjs.map +6 -0
- package/dist/crs/proj-string.d.ts +32 -0
- package/dist/crs/proj-string.d.ts.map +1 -0
- package/dist/crs/proj-string.js +204 -0
- package/dist/crs/proj-string.js.map +1 -0
- package/dist/crs/projjson-schema-constants.d.ts +5 -0
- package/dist/crs/projjson-schema-constants.d.ts.map +1 -0
- package/dist/crs/projjson-schema-constants.js +8 -0
- package/dist/crs/projjson-schema-constants.js.map +1 -0
- package/dist/crs/projjson-types.d.ts +557 -0
- package/dist/crs/projjson-types.d.ts.map +1 -0
- package/dist/crs/projjson-types.js +5 -0
- package/dist/crs/projjson-types.js.map +1 -0
- package/dist/crs/spatial-reference.cjs +80 -0
- package/dist/crs/spatial-reference.cjs.map +6 -0
- package/dist/crs/spatial-reference.d.ts +104 -0
- package/dist/crs/spatial-reference.d.ts.map +1 -0
- package/dist/crs/spatial-reference.js +86 -0
- package/dist/crs/spatial-reference.js.map +1 -0
- package/dist/crs/units-table.d.ts +4 -0
- package/dist/crs/units-table.d.ts.map +1 -0
- package/dist/crs/units-table.js +29 -0
- package/dist/crs/units-table.js.map +1 -0
- package/dist/crs/wkt-crs.cjs +610 -0
- package/dist/crs/wkt-crs.cjs.map +6 -0
- package/dist/crs/wkt-crs.d.ts +86 -0
- package/dist/crs/wkt-crs.d.ts.map +1 -0
- package/dist/crs/wkt-crs.js +613 -0
- package/dist/crs/wkt-crs.js.map +1 -0
- package/dist/ellipsoid-helpers/ellipsoid-transform.d.ts +1 -1
- package/dist/ellipsoid-helpers/ellipsoid-transform.d.ts.map +1 -1
- package/dist/ellipsoid-tangent-plane.d.ts +1 -1
- package/dist/ellipsoid-tangent-plane.d.ts.map +1 -1
- package/dist/ellipsoid-tangent-plane.js +1 -1
- package/dist/ellipsoid-tangent-plane.js.map +1 -1
- package/dist/ellipsoid.d.ts +1 -1
- package/dist/ellipsoid.d.ts.map +1 -1
- package/dist/entries/ellipsoid.cjs +572 -0
- package/dist/entries/ellipsoid.cjs.map +6 -0
- package/dist/entries/ellipsoid.d.ts +5 -0
- package/dist/entries/ellipsoid.d.ts.map +1 -0
- package/dist/entries/ellipsoid.js +7 -0
- package/dist/entries/ellipsoid.js.map +1 -0
- package/dist/expressions.cjs +528 -0
- package/dist/expressions.cjs.map +6 -0
- package/dist/expressions.d.ts +4 -0
- package/dist/expressions.d.ts.map +1 -0
- package/dist/expressions.js +23 -0
- package/dist/expressions.js.map +1 -0
- package/dist/geoarrow/builder-entry.cjs +699 -0
- package/dist/geoarrow/builder-entry.cjs.map +6 -0
- package/dist/geoarrow/builder-entry.d.ts +4 -0
- package/dist/geoarrow/builder-entry.d.ts.map +1 -0
- package/dist/geoarrow/builder-entry.js +5 -0
- package/dist/geoarrow/builder-entry.js.map +1 -0
- package/dist/geoarrow/builder.d.ts +106 -0
- package/dist/geoarrow/builder.d.ts.map +1 -0
- package/dist/geoarrow/builder.js +668 -0
- package/dist/geoarrow/builder.js.map +1 -0
- package/dist/geoarrow/codecs.d.ts +24 -0
- package/dist/geoarrow/codecs.d.ts.map +1 -0
- package/dist/geoarrow/codecs.js +921 -0
- package/dist/geoarrow/codecs.js.map +1 -0
- package/dist/geoarrow/index.cjs +4089 -0
- package/dist/geoarrow/index.cjs.map +6 -0
- package/dist/geoarrow/index.d.ts +15 -0
- package/dist/geoarrow/index.d.ts.map +1 -0
- package/dist/geoarrow/index.js +11 -0
- package/dist/geoarrow/index.js.map +1 -0
- package/dist/geoarrow/kernels.d.ts +56 -0
- package/dist/geoarrow/kernels.d.ts.map +1 -0
- package/dist/geoarrow/kernels.js +982 -0
- package/dist/geoarrow/kernels.js.map +1 -0
- package/dist/geoarrow/layout.d.ts +64 -0
- package/dist/geoarrow/layout.d.ts.map +1 -0
- package/dist/geoarrow/layout.js +722 -0
- package/dist/geoarrow/layout.js.map +1 -0
- package/dist/geoarrow/tessellate.d.ts +31 -0
- package/dist/geoarrow/tessellate.d.ts.map +1 -0
- package/dist/geoarrow/tessellate.js +102 -0
- package/dist/geoarrow/tessellate.js.map +1 -0
- package/dist/geoarrow/tessellation-entry.cjs +431 -0
- package/dist/geoarrow/tessellation-entry.cjs.map +6 -0
- package/dist/geoarrow/tessellation-entry.d.ts +4 -0
- package/dist/geoarrow/tessellation-entry.d.ts.map +1 -0
- package/dist/geoarrow/tessellation-entry.js +5 -0
- package/dist/geoarrow/tessellation-entry.js.map +1 -0
- package/dist/geoarrow/types.d.ts +147 -0
- package/dist/geoarrow/types.d.ts.map +1 -0
- package/dist/geoarrow/types.js +41 -0
- package/dist/geoarrow/types.js.map +1 -0
- package/dist/geoarrow/views.d.ts +45 -0
- package/dist/geoarrow/views.d.ts.map +1 -0
- package/dist/geoarrow/views.js +114 -0
- package/dist/geoarrow/views.js.map +1 -0
- package/dist/geoarrow/wkb-entry.cjs +2467 -0
- package/dist/geoarrow/wkb-entry.cjs.map +6 -0
- package/dist/geoarrow/wkb-entry.d.ts +4 -0
- package/dist/geoarrow/wkb-entry.d.ts.map +1 -0
- package/dist/geoarrow/wkb-entry.js +6 -0
- package/dist/geoarrow/wkb-entry.js.map +1 -0
- package/dist/geoarrow/worker.cjs +77 -0
- package/dist/geoarrow/worker.cjs.map +6 -0
- package/dist/geoarrow/worker.d.ts +11 -0
- package/dist/geoarrow/worker.d.ts.map +1 -0
- package/dist/geoarrow/worker.js +10 -0
- package/dist/geoarrow/worker.js.map +1 -0
- package/dist/globe.cjs +1002 -0
- package/dist/globe.cjs.map +6 -0
- package/dist/globe.d.ts +10 -0
- package/dist/globe.d.ts.map +1 -0
- package/dist/globe.js +9 -0
- package/dist/globe.js.map +1 -0
- package/dist/index.cjs +154 -261
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +3 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -9
- package/dist/index.js.map +1 -1
- package/dist/make-obb-from-region.d.ts +1 -1
- package/dist/make-obb-from-region.d.ts.map +1 -1
- package/dist/make-obb-from-region.js +1 -1
- package/dist/make-obb-from-region.js.map +1 -1
- package/dist/projection/analysis.cjs +239 -0
- package/dist/projection/analysis.cjs.map +6 -0
- package/dist/projection/analysis.d.ts +72 -0
- package/dist/projection/analysis.d.ts.map +1 -0
- package/dist/projection/analysis.js +221 -0
- package/dist/projection/analysis.js.map +1 -0
- package/dist/projection/bulk.cjs +203 -0
- package/dist/projection/bulk.cjs.map +6 -0
- package/dist/projection/bulk.d.ts +51 -0
- package/dist/projection/bulk.d.ts.map +1 -0
- package/dist/projection/bulk.js +215 -0
- package/dist/projection/bulk.js.map +1 -0
- package/dist/projection/datums.cjs +1383 -0
- package/dist/projection/datums.cjs.map +6 -0
- package/dist/projection/datums.d.ts +5 -0
- package/dist/projection/datums.d.ts.map +1 -0
- package/dist/projection/datums.js +10 -0
- package/dist/projection/datums.js.map +1 -0
- package/dist/projection/deformation.cjs +134 -0
- package/dist/projection/deformation.cjs.map +6 -0
- package/dist/projection/deformation.d.ts +3 -0
- package/dist/projection/deformation.d.ts.map +1 -0
- package/dist/projection/deformation.js +5 -0
- package/dist/projection/deformation.js.map +1 -0
- package/dist/projection/experimental/catalogue-kernel.d.ts +9 -0
- package/dist/projection/experimental/catalogue-kernel.d.ts.map +1 -0
- package/dist/projection/experimental/catalogue-kernel.js +44 -0
- package/dist/projection/experimental/catalogue-kernel.js.map +1 -0
- package/dist/projection/experimental/common/adjust_lat.d.ts +2 -0
- package/dist/projection/experimental/common/adjust_lat.d.ts.map +1 -0
- package/dist/projection/experimental/common/adjust_lat.js +10 -0
- package/dist/projection/experimental/common/adjust_lat.js.map +1 -0
- package/dist/projection/experimental/common/adjust_lon.d.ts +2 -0
- package/dist/projection/experimental/common/adjust_lon.d.ts.map +1 -0
- package/dist/projection/experimental/common/adjust_lon.js +13 -0
- package/dist/projection/experimental/common/adjust_lon.js.map +1 -0
- package/dist/projection/experimental/common/asinhy.d.ts +2 -0
- package/dist/projection/experimental/common/asinhy.d.ts.map +1 -0
- package/dist/projection/experimental/common/asinhy.js +12 -0
- package/dist/projection/experimental/common/asinhy.js.map +1 -0
- package/dist/projection/experimental/common/asinz.d.ts +2 -0
- package/dist/projection/experimental/common/asinz.d.ts.map +1 -0
- package/dist/projection/experimental/common/asinz.js +11 -0
- package/dist/projection/experimental/common/asinz.js.map +1 -0
- package/dist/projection/experimental/common/authlat.d.ts +2 -0
- package/dist/projection/experimental/common/authlat.d.ts.map +1 -0
- package/dist/projection/experimental/common/authlat.js +9 -0
- package/dist/projection/experimental/common/authlat.js.map +1 -0
- package/dist/projection/experimental/common/authset.d.ts +2 -0
- package/dist/projection/experimental/common/authset.d.ts.map +1 -0
- package/dist/projection/experimental/common/authset.js +24 -0
- package/dist/projection/experimental/common/authset.js.map +1 -0
- package/dist/projection/experimental/common/clens.d.ts +2 -0
- package/dist/projection/experimental/common/clens.d.ts.map +1 -0
- package/dist/projection/experimental/common/clens.js +18 -0
- package/dist/projection/experimental/common/clens.js.map +1 -0
- package/dist/projection/experimental/common/clens_cmplx.d.ts +5 -0
- package/dist/projection/experimental/common/clens_cmplx.d.ts.map +1 -0
- package/dist/projection/experimental/common/clens_cmplx.js +34 -0
- package/dist/projection/experimental/common/clens_cmplx.js.map +1 -0
- package/dist/projection/experimental/common/constants.d.ts +9 -0
- package/dist/projection/experimental/common/constants.d.ts.map +1 -0
- package/dist/projection/experimental/common/constants.js +14 -0
- package/dist/projection/experimental/common/constants.js.map +1 -0
- package/dist/projection/experimental/common/cosh.d.ts +2 -0
- package/dist/projection/experimental/common/cosh.d.ts.map +1 -0
- package/dist/projection/experimental/common/cosh.js +10 -0
- package/dist/projection/experimental/common/cosh.js.map +1 -0
- package/dist/projection/experimental/common/e0fn.d.ts +2 -0
- package/dist/projection/experimental/common/e0fn.d.ts.map +1 -0
- package/dist/projection/experimental/common/e0fn.js +8 -0
- package/dist/projection/experimental/common/e0fn.js.map +1 -0
- package/dist/projection/experimental/common/e1fn.d.ts +2 -0
- package/dist/projection/experimental/common/e1fn.d.ts.map +1 -0
- package/dist/projection/experimental/common/e1fn.js +8 -0
- package/dist/projection/experimental/common/e1fn.js.map +1 -0
- package/dist/projection/experimental/common/e2fn.d.ts +2 -0
- package/dist/projection/experimental/common/e2fn.d.ts.map +1 -0
- package/dist/projection/experimental/common/e2fn.js +8 -0
- package/dist/projection/experimental/common/e2fn.js.map +1 -0
- package/dist/projection/experimental/common/e3fn.d.ts +2 -0
- package/dist/projection/experimental/common/e3fn.d.ts.map +1 -0
- package/dist/projection/experimental/common/e3fn.js +8 -0
- package/dist/projection/experimental/common/e3fn.js.map +1 -0
- package/dist/projection/experimental/common/fL.d.ts +2 -0
- package/dist/projection/experimental/common/fL.d.ts.map +1 -0
- package/dist/projection/experimental/common/fL.js +9 -0
- package/dist/projection/experimental/common/fL.js.map +1 -0
- package/dist/projection/experimental/common/gN.d.ts +2 -0
- package/dist/projection/experimental/common/gN.d.ts.map +1 -0
- package/dist/projection/experimental/common/gN.js +9 -0
- package/dist/projection/experimental/common/gN.js.map +1 -0
- package/dist/projection/experimental/common/gatg.d.ts +2 -0
- package/dist/projection/experimental/common/gatg.d.ts.map +1 -0
- package/dist/projection/experimental/common/gatg.js +18 -0
- package/dist/projection/experimental/common/gatg.js.map +1 -0
- package/dist/projection/experimental/common/hypot.d.ts +2 -0
- package/dist/projection/experimental/common/hypot.d.ts.map +1 -0
- package/dist/projection/experimental/common/hypot.js +12 -0
- package/dist/projection/experimental/common/hypot.js.map +1 -0
- package/dist/projection/experimental/common/imlfn.d.ts +2 -0
- package/dist/projection/experimental/common/imlfn.d.ts.map +1 -0
- package/dist/projection/experimental/common/imlfn.js +21 -0
- package/dist/projection/experimental/common/imlfn.js.map +1 -0
- package/dist/projection/experimental/common/invlatiso.d.ts +2 -0
- package/dist/projection/experimental/common/invlatiso.d.ts.map +1 -0
- package/dist/projection/experimental/common/invlatiso.js +20 -0
- package/dist/projection/experimental/common/invlatiso.js.map +1 -0
- package/dist/projection/experimental/common/iqsfnz.d.ts +2 -0
- package/dist/projection/experimental/common/iqsfnz.d.ts.map +1 -0
- package/dist/projection/experimental/common/iqsfnz.js +44 -0
- package/dist/projection/experimental/common/iqsfnz.js.map +1 -0
- package/dist/projection/experimental/common/latiso.d.ts +2 -0
- package/dist/projection/experimental/common/latiso.d.ts.map +1 -0
- package/dist/projection/experimental/common/latiso.js +19 -0
- package/dist/projection/experimental/common/latiso.js.map +1 -0
- package/dist/projection/experimental/common/log1py.d.ts +2 -0
- package/dist/projection/experimental/common/log1py.d.ts.map +1 -0
- package/dist/projection/experimental/common/log1py.js +10 -0
- package/dist/projection/experimental/common/log1py.js.map +1 -0
- package/dist/projection/experimental/common/meridian-distance.d.ts +5 -0
- package/dist/projection/experimental/common/meridian-distance.d.ts.map +1 -0
- package/dist/projection/experimental/common/meridian-distance.js +47 -0
- package/dist/projection/experimental/common/meridian-distance.js.map +1 -0
- package/dist/projection/experimental/common/mlfn.d.ts +2 -0
- package/dist/projection/experimental/common/mlfn.d.ts.map +1 -0
- package/dist/projection/experimental/common/mlfn.js +8 -0
- package/dist/projection/experimental/common/mlfn.js.map +1 -0
- package/dist/projection/experimental/common/msfnz.d.ts +2 -0
- package/dist/projection/experimental/common/msfnz.d.ts.map +1 -0
- package/dist/projection/experimental/common/msfnz.js +9 -0
- package/dist/projection/experimental/common/msfnz.js.map +1 -0
- package/dist/projection/experimental/common/phi2z.d.ts +2 -0
- package/dist/projection/experimental/common/phi2z.d.ts.map +1 -0
- package/dist/projection/experimental/common/phi2z.js +21 -0
- package/dist/projection/experimental/common/phi2z.js.map +1 -0
- package/dist/projection/experimental/common/pj_enfn.d.ts +2 -0
- package/dist/projection/experimental/common/pj_enfn.d.ts.map +1 -0
- package/dist/projection/experimental/common/pj_enfn.js +28 -0
- package/dist/projection/experimental/common/pj_enfn.js.map +1 -0
- package/dist/projection/experimental/common/pj_inv_mlfn.d.ts +2 -0
- package/dist/projection/experimental/common/pj_inv_mlfn.d.ts.map +1 -0
- package/dist/projection/experimental/common/pj_inv_mlfn.js +26 -0
- package/dist/projection/experimental/common/pj_inv_mlfn.js.map +1 -0
- package/dist/projection/experimental/common/pj_mlfn.d.ts +2 -0
- package/dist/projection/experimental/common/pj_mlfn.d.ts.map +1 -0
- package/dist/projection/experimental/common/pj_mlfn.js +10 -0
- package/dist/projection/experimental/common/pj_mlfn.js.map +1 -0
- package/dist/projection/experimental/common/qsfnz.d.ts +2 -0
- package/dist/projection/experimental/common/qsfnz.d.ts.map +1 -0
- package/dist/projection/experimental/common/qsfnz.js +16 -0
- package/dist/projection/experimental/common/qsfnz.js.map +1 -0
- package/dist/projection/experimental/common/sign.d.ts +2 -0
- package/dist/projection/experimental/common/sign.d.ts.map +1 -0
- package/dist/projection/experimental/common/sign.js +8 -0
- package/dist/projection/experimental/common/sign.js.map +1 -0
- package/dist/projection/experimental/common/sinh.d.ts +2 -0
- package/dist/projection/experimental/common/sinh.d.ts.map +1 -0
- package/dist/projection/experimental/common/sinh.js +10 -0
- package/dist/projection/experimental/common/sinh.js.map +1 -0
- package/dist/projection/experimental/common/srat.d.ts +2 -0
- package/dist/projection/experimental/common/srat.d.ts.map +1 -0
- package/dist/projection/experimental/common/srat.js +8 -0
- package/dist/projection/experimental/common/srat.js.map +1 -0
- package/dist/projection/experimental/common/tsfnz.d.ts +2 -0
- package/dist/projection/experimental/common/tsfnz.d.ts.map +1 -0
- package/dist/projection/experimental/common/tsfnz.js +12 -0
- package/dist/projection/experimental/common/tsfnz.js.map +1 -0
- package/dist/projection/experimental/common/vincenty.d.ts +29 -0
- package/dist/projection/experimental/common/vincenty.d.ts.map +1 -0
- package/dist/projection/experimental/common/vincenty.js +134 -0
- package/dist/projection/experimental/common/vincenty.js.map +1 -0
- package/dist/projection/experimental/core.cjs +1940 -0
- package/dist/projection/experimental/core.cjs.map +6 -0
- package/dist/projection/experimental/core.d.ts +16 -0
- package/dist/projection/experimental/core.d.ts.map +1 -0
- package/dist/projection/experimental/core.js +10 -0
- package/dist/projection/experimental/core.js.map +1 -0
- package/dist/projection/experimental/crs/datum-catalog.d.ts +5 -0
- package/dist/projection/experimental/crs/datum-catalog.d.ts.map +1 -0
- package/dist/projection/experimental/crs/datum-catalog.js +47 -0
- package/dist/projection/experimental/crs/datum-catalog.js.map +1 -0
- package/dist/projection/experimental/crs/datum-table.d.ts +8 -0
- package/dist/projection/experimental/crs/datum-table.d.ts.map +1 -0
- package/dist/projection/experimental/crs/datum-table.js +1355 -0
- package/dist/projection/experimental/crs/datum-table.js.map +1 -0
- package/dist/projection/experimental/crs/ellipsoid-table.d.ts +8 -0
- package/dist/projection/experimental/crs/ellipsoid-table.d.ts.map +1 -0
- package/dist/projection/experimental/crs/ellipsoid-table.js +229 -0
- package/dist/projection/experimental/crs/ellipsoid-table.js.map +1 -0
- package/dist/projection/experimental/crs/normalize.d.ts +8 -0
- package/dist/projection/experimental/crs/normalize.d.ts.map +1 -0
- package/dist/projection/experimental/crs/normalize.js +279 -0
- package/dist/projection/experimental/crs/normalize.js.map +1 -0
- package/dist/projection/experimental/crs/primemeridian-table.d.ts +3 -0
- package/dist/projection/experimental/crs/primemeridian-table.d.ts.map +1 -0
- package/dist/projection/experimental/crs/primemeridian-table.js +20 -0
- package/dist/projection/experimental/crs/primemeridian-table.js.map +1 -0
- package/dist/projection/experimental/crs/projjson.cjs +564 -0
- package/dist/projection/experimental/crs/projjson.cjs.map +6 -0
- package/dist/projection/experimental/crs/projjson.d.ts +4 -0
- package/dist/projection/experimental/crs/projjson.d.ts.map +1 -0
- package/dist/projection/experimental/crs/projjson.js +12 -0
- package/dist/projection/experimental/crs/projjson.js.map +1 -0
- package/dist/projection/experimental/crs/spatial-reference.d.ts +11 -0
- package/dist/projection/experimental/crs/spatial-reference.d.ts.map +1 -0
- package/dist/projection/experimental/crs/spatial-reference.js +91 -0
- package/dist/projection/experimental/crs/spatial-reference.js.map +1 -0
- package/dist/projection/experimental/crs/structured.d.ts +8 -0
- package/dist/projection/experimental/crs/structured.d.ts.map +1 -0
- package/dist/projection/experimental/crs/structured.js +534 -0
- package/dist/projection/experimental/crs/structured.js.map +1 -0
- package/dist/projection/experimental/crs/types.d.ts +73 -0
- package/dist/projection/experimental/crs/types.d.ts.map +1 -0
- package/dist/projection/experimental/crs/types.js +21 -0
- package/dist/projection/experimental/crs/types.js.map +1 -0
- package/dist/projection/experimental/crs/wkt.cjs +1229 -0
- package/dist/projection/experimental/crs/wkt.cjs.map +6 -0
- package/dist/projection/experimental/crs/wkt.d.ts +3 -0
- package/dist/projection/experimental/crs/wkt.d.ts.map +1 -0
- package/dist/projection/experimental/crs/wkt.js +190 -0
- package/dist/projection/experimental/crs/wkt.js.map +1 -0
- package/dist/projection/experimental/crs-descriptor.d.ts +10 -0
- package/dist/projection/experimental/crs-descriptor.d.ts.map +1 -0
- package/dist/projection/experimental/crs-descriptor.js +171 -0
- package/dist/projection/experimental/crs-descriptor.js.map +1 -0
- package/dist/projection/experimental/crs-rendering-scale.d.ts +5 -0
- package/dist/projection/experimental/crs-rendering-scale.d.ts.map +1 -0
- package/dist/projection/experimental/crs-rendering-scale.js +97 -0
- package/dist/projection/experimental/crs-rendering-scale.js.map +1 -0
- package/dist/projection/experimental/datum.d.ts +17 -0
- package/dist/projection/experimental/datum.d.ts.map +1 -0
- package/dist/projection/experimental/datum.js +160 -0
- package/dist/projection/experimental/datum.js.map +1 -0
- package/dist/projection/experimental/deformation-inverse.d.ts +5 -0
- package/dist/projection/experimental/deformation-inverse.d.ts.map +1 -0
- package/dist/projection/experimental/deformation-inverse.js +89 -0
- package/dist/projection/experimental/deformation-inverse.js.map +1 -0
- package/dist/projection/experimental/deformation.d.ts +23 -0
- package/dist/projection/experimental/deformation.d.ts.map +1 -0
- package/dist/projection/experimental/deformation.js +13 -0
- package/dist/projection/experimental/deformation.js.map +1 -0
- package/dist/projection/experimental/entries/projections/aea.cjs +642 -0
- package/dist/projection/experimental/entries/projections/aea.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/aea.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/aea.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/aea.js +5 -0
- package/dist/projection/experimental/entries/projections/aea.js.map +1 -0
- package/dist/projection/experimental/entries/projections/aeqd.cjs +718 -0
- package/dist/projection/experimental/entries/projections/aeqd.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/aeqd.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/aeqd.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/aeqd.js +5 -0
- package/dist/projection/experimental/entries/projections/aeqd.js.map +1 -0
- package/dist/projection/experimental/entries/projections/bonne.cjs +621 -0
- package/dist/projection/experimental/entries/projections/bonne.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/bonne.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/bonne.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/bonne.js +5 -0
- package/dist/projection/experimental/entries/projections/bonne.js.map +1 -0
- package/dist/projection/experimental/entries/projections/cass.cjs +610 -0
- package/dist/projection/experimental/entries/projections/cass.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/cass.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/cass.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/cass.js +5 -0
- package/dist/projection/experimental/entries/projections/cass.js.map +1 -0
- package/dist/projection/experimental/entries/projections/cea.cjs +536 -0
- package/dist/projection/experimental/entries/projections/cea.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/cea.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/cea.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/cea.js +5 -0
- package/dist/projection/experimental/entries/projections/cea.js.map +1 -0
- package/dist/projection/experimental/entries/projections/eck6.cjs +559 -0
- package/dist/projection/experimental/entries/projections/eck6.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/eck6.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/eck6.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/eck6.js +5 -0
- package/dist/projection/experimental/entries/projections/eck6.js.map +1 -0
- package/dist/projection/experimental/entries/projections/eqc.cjs +256 -0
- package/dist/projection/experimental/entries/projections/eqc.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/eqc.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/eqc.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/eqc.js +5 -0
- package/dist/projection/experimental/entries/projections/eqc.js.map +1 -0
- package/dist/projection/experimental/entries/projections/eqdc.cjs +650 -0
- package/dist/projection/experimental/entries/projections/eqdc.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/eqdc.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/eqdc.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/eqdc.js +5 -0
- package/dist/projection/experimental/entries/projections/eqdc.js.map +1 -0
- package/dist/projection/experimental/entries/projections/eqearth.cjs +451 -0
- package/dist/projection/experimental/entries/projections/eqearth.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/eqearth.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/eqearth.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/eqearth.js +5 -0
- package/dist/projection/experimental/entries/projections/eqearth.js.map +1 -0
- package/dist/projection/experimental/entries/projections/equi.cjs +475 -0
- package/dist/projection/experimental/entries/projections/equi.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/equi.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/equi.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/equi.js +5 -0
- package/dist/projection/experimental/entries/projections/equi.js.map +1 -0
- package/dist/projection/experimental/entries/projections/etmerc.cjs +887 -0
- package/dist/projection/experimental/entries/projections/etmerc.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/etmerc.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/etmerc.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/etmerc.js +5 -0
- package/dist/projection/experimental/entries/projections/etmerc.js.map +1 -0
- package/dist/projection/experimental/entries/projections/geocent.cjs +215 -0
- package/dist/projection/experimental/entries/projections/geocent.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/geocent.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/geocent.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/geocent.js +5 -0
- package/dist/projection/experimental/entries/projections/geocent.js.map +1 -0
- package/dist/projection/experimental/entries/projections/geos.cjs +703 -0
- package/dist/projection/experimental/entries/projections/geos.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/geos.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/geos.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/geos.js +5 -0
- package/dist/projection/experimental/entries/projections/geos.js.map +1 -0
- package/dist/projection/experimental/entries/projections/gnom.cjs +571 -0
- package/dist/projection/experimental/entries/projections/gnom.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/gnom.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/gnom.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/gnom.js +5 -0
- package/dist/projection/experimental/entries/projections/gnom.js.map +1 -0
- package/dist/projection/experimental/entries/projections/gstmerc.cjs +526 -0
- package/dist/projection/experimental/entries/projections/gstmerc.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/gstmerc.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/gstmerc.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/gstmerc.js +5 -0
- package/dist/projection/experimental/entries/projections/gstmerc.js.map +1 -0
- package/dist/projection/experimental/entries/projections/krovak.cjs +683 -0
- package/dist/projection/experimental/entries/projections/krovak.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/krovak.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/krovak.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/krovak.js +5 -0
- package/dist/projection/experimental/entries/projections/krovak.js.map +1 -0
- package/dist/projection/experimental/entries/projections/laea.cjs +761 -0
- package/dist/projection/experimental/entries/projections/laea.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/laea.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/laea.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/laea.js +5 -0
- package/dist/projection/experimental/entries/projections/laea.js.map +1 -0
- package/dist/projection/experimental/entries/projections/lcc.cjs +642 -0
- package/dist/projection/experimental/entries/projections/lcc.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/lcc.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/lcc.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/lcc.js +5 -0
- package/dist/projection/experimental/entries/projections/lcc.js.map +1 -0
- package/dist/projection/experimental/entries/projections/merc.cjs +354 -0
- package/dist/projection/experimental/entries/projections/merc.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/merc.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/merc.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/merc.js +5 -0
- package/dist/projection/experimental/entries/projections/merc.js.map +1 -0
- package/dist/projection/experimental/entries/projections/mill.cjs +470 -0
- package/dist/projection/experimental/entries/projections/mill.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/mill.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/mill.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/mill.js +5 -0
- package/dist/projection/experimental/entries/projections/mill.js.map +1 -0
- package/dist/projection/experimental/entries/projections/moll.cjs +510 -0
- package/dist/projection/experimental/entries/projections/moll.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/moll.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/moll.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/moll.js +5 -0
- package/dist/projection/experimental/entries/projections/moll.js.map +1 -0
- package/dist/projection/experimental/entries/projections/nzmg.cjs +623 -0
- package/dist/projection/experimental/entries/projections/nzmg.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/nzmg.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/nzmg.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/nzmg.js +5 -0
- package/dist/projection/experimental/entries/projections/nzmg.js.map +1 -0
- package/dist/projection/experimental/entries/projections/ob_tran.cjs +540 -0
- package/dist/projection/experimental/entries/projections/ob_tran.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/ob_tran.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/ob_tran.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/ob_tran.js +5 -0
- package/dist/projection/experimental/entries/projections/ob_tran.js.map +1 -0
- package/dist/projection/experimental/entries/projections/omerc.cjs +852 -0
- package/dist/projection/experimental/entries/projections/omerc.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/omerc.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/omerc.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/omerc.js +5 -0
- package/dist/projection/experimental/entries/projections/omerc.js.map +1 -0
- package/dist/projection/experimental/entries/projections/ortho.cjs +573 -0
- package/dist/projection/experimental/entries/projections/ortho.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/ortho.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/ortho.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/ortho.js +5 -0
- package/dist/projection/experimental/entries/projections/ortho.js.map +1 -0
- package/dist/projection/experimental/entries/projections/poly.cjs +588 -0
- package/dist/projection/experimental/entries/projections/poly.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/poly.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/poly.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/poly.js +5 -0
- package/dist/projection/experimental/entries/projections/poly.js.map +1 -0
- package/dist/projection/experimental/entries/projections/qsc.cjs +714 -0
- package/dist/projection/experimental/entries/projections/qsc.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/qsc.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/qsc.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/qsc.js +5 -0
- package/dist/projection/experimental/entries/projections/qsc.js.map +1 -0
- package/dist/projection/experimental/entries/projections/robin.cjs +584 -0
- package/dist/projection/experimental/entries/projections/robin.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/robin.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/robin.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/robin.js +5 -0
- package/dist/projection/experimental/entries/projections/robin.js.map +1 -0
- package/dist/projection/experimental/entries/projections/sinu.cjs +583 -0
- package/dist/projection/experimental/entries/projections/sinu.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/sinu.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/sinu.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/sinu.js +5 -0
- package/dist/projection/experimental/entries/projections/sinu.js.map +1 -0
- package/dist/projection/experimental/entries/projections/somerc.cjs +582 -0
- package/dist/projection/experimental/entries/projections/somerc.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/somerc.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/somerc.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/somerc.js +5 -0
- package/dist/projection/experimental/entries/projections/somerc.js.map +1 -0
- package/dist/projection/experimental/entries/projections/stere.cjs +684 -0
- package/dist/projection/experimental/entries/projections/stere.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/stere.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/stere.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/stere.js +5 -0
- package/dist/projection/experimental/entries/projections/stere.js.map +1 -0
- package/dist/projection/experimental/entries/projections/sterea.cjs +623 -0
- package/dist/projection/experimental/entries/projections/sterea.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/sterea.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/sterea.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/sterea.js +5 -0
- package/dist/projection/experimental/entries/projections/sterea.js.map +1 -0
- package/dist/projection/experimental/entries/projections/tmerc.cjs +887 -0
- package/dist/projection/experimental/entries/projections/tmerc.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/tmerc.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/tmerc.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/tmerc.js +5 -0
- package/dist/projection/experimental/entries/projections/tmerc.js.map +1 -0
- package/dist/projection/experimental/entries/projections/tpers.cjs +645 -0
- package/dist/projection/experimental/entries/projections/tpers.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/tpers.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/tpers.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/tpers.js +5 -0
- package/dist/projection/experimental/entries/projections/tpers.js.map +1 -0
- package/dist/projection/experimental/entries/projections/utm.cjs +915 -0
- package/dist/projection/experimental/entries/projections/utm.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/utm.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/utm.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/utm.js +5 -0
- package/dist/projection/experimental/entries/projections/utm.js.map +1 -0
- package/dist/projection/experimental/entries/projections/vandg.cjs +560 -0
- package/dist/projection/experimental/entries/projections/vandg.cjs.map +6 -0
- package/dist/projection/experimental/entries/projections/vandg.d.ts +2 -0
- package/dist/projection/experimental/entries/projections/vandg.d.ts.map +1 -0
- package/dist/projection/experimental/entries/projections/vandg.js +5 -0
- package/dist/projection/experimental/entries/projections/vandg.js.map +1 -0
- package/dist/projection/experimental/exact-helmert.d.ts +9 -0
- package/dist/projection/experimental/exact-helmert.d.ts.map +1 -0
- package/dist/projection/experimental/exact-helmert.js +32 -0
- package/dist/projection/experimental/exact-helmert.js.map +1 -0
- package/dist/projection/experimental/flat-projection.d.ts +15 -0
- package/dist/projection/experimental/flat-projection.d.ts.map +1 -0
- package/dist/projection/experimental/flat-projection.js +70 -0
- package/dist/projection/experimental/flat-projection.js.map +1 -0
- package/dist/projection/experimental/grids/geotiff.cjs +180 -0
- package/dist/projection/experimental/grids/geotiff.cjs.map +6 -0
- package/dist/projection/experimental/grids/geotiff.d.ts +23 -0
- package/dist/projection/experimental/grids/geotiff.d.ts.map +1 -0
- package/dist/projection/experimental/grids/geotiff.js +59 -0
- package/dist/projection/experimental/grids/geotiff.js.map +1 -0
- package/dist/projection/experimental/grids/grid.d.ts +4 -0
- package/dist/projection/experimental/grids/grid.d.ts.map +1 -0
- package/dist/projection/experimental/grids/grid.js +111 -0
- package/dist/projection/experimental/grids/grid.js.map +1 -0
- package/dist/projection/experimental/grids/gtx.cjs +91 -0
- package/dist/projection/experimental/grids/gtx.cjs.map +6 -0
- package/dist/projection/experimental/grids/gtx.d.ts +7 -0
- package/dist/projection/experimental/grids/gtx.d.ts.map +1 -0
- package/dist/projection/experimental/grids/gtx.js +30 -0
- package/dist/projection/experimental/grids/gtx.js.map +1 -0
- package/dist/projection/experimental/grids/ntv2.cjs +181 -0
- package/dist/projection/experimental/grids/ntv2.cjs.map +6 -0
- package/dist/projection/experimental/grids/ntv2.d.ts +8 -0
- package/dist/projection/experimental/grids/ntv2.d.ts.map +1 -0
- package/dist/projection/experimental/grids/ntv2.js +56 -0
- package/dist/projection/experimental/grids/ntv2.js.map +1 -0
- package/dist/projection/experimental/grids/scalar-geotiff.d.ts +58 -0
- package/dist/projection/experimental/grids/scalar-geotiff.d.ts.map +1 -0
- package/dist/projection/experimental/grids/scalar-geotiff.js +147 -0
- package/dist/projection/experimental/grids/scalar-geotiff.js.map +1 -0
- package/dist/projection/experimental/grids/types.d.ts +35 -0
- package/dist/projection/experimental/grids/types.d.ts.map +1 -0
- package/dist/projection/experimental/grids/types.js +2 -0
- package/dist/projection/experimental/grids/types.js.map +1 -0
- package/dist/projection/experimental/grids/velocity-geotiff.cjs +247 -0
- package/dist/projection/experimental/grids/velocity-geotiff.cjs.map +6 -0
- package/dist/projection/experimental/grids/velocity-geotiff.d.ts +11 -0
- package/dist/projection/experimental/grids/velocity-geotiff.d.ts.map +1 -0
- package/dist/projection/experimental/grids/velocity-geotiff.js +61 -0
- package/dist/projection/experimental/grids/velocity-geotiff.js.map +1 -0
- package/dist/projection/experimental/grids/velocity.d.ts +21 -0
- package/dist/projection/experimental/grids/velocity.d.ts.map +1 -0
- package/dist/projection/experimental/grids/velocity.js +29 -0
- package/dist/projection/experimental/grids/velocity.js.map +1 -0
- package/dist/projection/experimental/grids/vertical-geotiff.cjs +195 -0
- package/dist/projection/experimental/grids/vertical-geotiff.cjs.map +6 -0
- package/dist/projection/experimental/grids/vertical-geotiff.d.ts +6 -0
- package/dist/projection/experimental/grids/vertical-geotiff.d.ts.map +1 -0
- package/dist/projection/experimental/grids/vertical-geotiff.js +20 -0
- package/dist/projection/experimental/grids/vertical-geotiff.js.map +1 -0
- package/dist/projection/experimental/grids/vertical.cjs +80 -0
- package/dist/projection/experimental/grids/vertical.cjs.map +6 -0
- package/dist/projection/experimental/grids/vertical.d.ts +22 -0
- package/dist/projection/experimental/grids/vertical.d.ts.map +1 -0
- package/dist/projection/experimental/grids/vertical.js +73 -0
- package/dist/projection/experimental/grids/vertical.js.map +1 -0
- package/dist/projection/experimental/helmert-flat.d.ts +4 -0
- package/dist/projection/experimental/helmert-flat.d.ts.map +1 -0
- package/dist/projection/experimental/helmert-flat.js +53 -0
- package/dist/projection/experimental/helmert-flat.js.map +1 -0
- package/dist/projection/experimental/index.cjs +10047 -0
- package/dist/projection/experimental/index.cjs.map +6 -0
- package/dist/projection/experimental/index.d.ts +49 -0
- package/dist/projection/experimental/index.d.ts.map +1 -0
- package/dist/projection/experimental/index.js +48 -0
- package/dist/projection/experimental/index.js.map +1 -0
- package/dist/projection/experimental/kernel.d.ts +37 -0
- package/dist/projection/experimental/kernel.d.ts.map +1 -0
- package/dist/projection/experimental/kernel.js +81 -0
- package/dist/projection/experimental/kernel.js.map +1 -0
- package/dist/projection/experimental/kernels/aea.d.ts +25 -0
- package/dist/projection/experimental/kernels/aea.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/aea.js +136 -0
- package/dist/projection/experimental/kernels/aea.js.map +1 -0
- package/dist/projection/experimental/kernels/aeqd.d.ts +10 -0
- package/dist/projection/experimental/kernels/aeqd.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/aeqd.js +168 -0
- package/dist/projection/experimental/kernels/aeqd.js.map +1 -0
- package/dist/projection/experimental/kernels/bonne.d.ts +12 -0
- package/dist/projection/experimental/kernels/bonne.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/bonne.js +128 -0
- package/dist/projection/experimental/kernels/bonne.js.map +1 -0
- package/dist/projection/experimental/kernels/cass.d.ts +10 -0
- package/dist/projection/experimental/kernels/cass.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/cass.js +122 -0
- package/dist/projection/experimental/kernels/cass.js.map +1 -0
- package/dist/projection/experimental/kernels/cea.d.ts +6 -0
- package/dist/projection/experimental/kernels/cea.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/cea.js +63 -0
- package/dist/projection/experimental/kernels/cea.js.map +1 -0
- package/dist/projection/experimental/kernels/eck6.d.ts +13 -0
- package/dist/projection/experimental/kernels/eck6.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/eck6.js +23 -0
- package/dist/projection/experimental/kernels/eck6.js.map +1 -0
- package/dist/projection/experimental/kernels/eqdc.d.ts +19 -0
- package/dist/projection/experimental/kernels/eqdc.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/eqdc.js +117 -0
- package/dist/projection/experimental/kernels/eqdc.js.map +1 -0
- package/dist/projection/experimental/kernels/eqearth.d.ts +10 -0
- package/dist/projection/experimental/kernels/eqearth.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/eqearth.js +103 -0
- package/dist/projection/experimental/kernels/eqearth.js.map +1 -0
- package/dist/projection/experimental/kernels/equi.d.ts +9 -0
- package/dist/projection/experimental/kernels/equi.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/equi.js +41 -0
- package/dist/projection/experimental/kernels/equi.js.map +1 -0
- package/dist/projection/experimental/kernels/etmerc.d.ts +13 -0
- package/dist/projection/experimental/kernels/etmerc.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/etmerc.js +145 -0
- package/dist/projection/experimental/kernels/etmerc.js.map +1 -0
- package/dist/projection/experimental/kernels/gauss.d.ts +12 -0
- package/dist/projection/experimental/kernels/gauss.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/gauss.js +64 -0
- package/dist/projection/experimental/kernels/gauss.js.map +1 -0
- package/dist/projection/experimental/kernels/geos.d.ts +17 -0
- package/dist/projection/experimental/kernels/geos.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/geos.js +153 -0
- package/dist/projection/experimental/kernels/geos.js.map +1 -0
- package/dist/projection/experimental/kernels/gnom.d.ts +12 -0
- package/dist/projection/experimental/kernels/gnom.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/gnom.js +95 -0
- package/dist/projection/experimental/kernels/gnom.js.map +1 -0
- package/dist/projection/experimental/kernels/gstmerc.d.ts +13 -0
- package/dist/projection/experimental/kernels/gstmerc.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/gstmerc.js +57 -0
- package/dist/projection/experimental/kernels/gstmerc.js.map +1 -0
- package/dist/projection/experimental/kernels/krovak.d.ts +23 -0
- package/dist/projection/experimental/kernels/krovak.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/krovak.js +128 -0
- package/dist/projection/experimental/kernels/krovak.js.map +1 -0
- package/dist/projection/experimental/kernels/laea.d.ts +23 -0
- package/dist/projection/experimental/kernels/laea.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/laea.js +278 -0
- package/dist/projection/experimental/kernels/laea.js.map +1 -0
- package/dist/projection/experimental/kernels/lcc.d.ts +10 -0
- package/dist/projection/experimental/kernels/lcc.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/lcc.js +131 -0
- package/dist/projection/experimental/kernels/lcc.js.map +1 -0
- package/dist/projection/experimental/kernels/mill.d.ts +6 -0
- package/dist/projection/experimental/kernels/mill.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/mill.js +49 -0
- package/dist/projection/experimental/kernels/mill.js.map +1 -0
- package/dist/projection/experimental/kernels/moll.d.ts +6 -0
- package/dist/projection/experimental/kernels/moll.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/moll.js +89 -0
- package/dist/projection/experimental/kernels/moll.js.map +1 -0
- package/dist/projection/experimental/kernels/nzmg.d.ts +28 -0
- package/dist/projection/experimental/kernels/nzmg.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/nzmg.js +209 -0
- package/dist/projection/experimental/kernels/nzmg.js.map +1 -0
- package/dist/projection/experimental/kernels/omerc.d.ts +30 -0
- package/dist/projection/experimental/kernels/omerc.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/omerc.js +260 -0
- package/dist/projection/experimental/kernels/omerc.js.map +1 -0
- package/dist/projection/experimental/kernels/ortho.d.ts +9 -0
- package/dist/projection/experimental/kernels/ortho.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/ortho.js +91 -0
- package/dist/projection/experimental/kernels/ortho.js.map +1 -0
- package/dist/projection/experimental/kernels/poly.d.ts +13 -0
- package/dist/projection/experimental/kernels/poly.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/poly.js +141 -0
- package/dist/projection/experimental/kernels/poly.js.map +1 -0
- package/dist/projection/experimental/kernels/qsc.d.ts +10 -0
- package/dist/projection/experimental/kernels/qsc.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/qsc.js +379 -0
- package/dist/projection/experimental/kernels/qsc.js.map +1 -0
- package/dist/projection/experimental/kernels/robin.d.ts +6 -0
- package/dist/projection/experimental/kernels/robin.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/robin.js +166 -0
- package/dist/projection/experimental/kernels/robin.js.map +1 -0
- package/dist/projection/experimental/kernels/sinu.d.ts +12 -0
- package/dist/projection/experimental/kernels/sinu.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/sinu.js +104 -0
- package/dist/projection/experimental/kernels/sinu.js.map +1 -0
- package/dist/projection/experimental/kernels/somerc.d.ts +13 -0
- package/dist/projection/experimental/kernels/somerc.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/somerc.js +81 -0
- package/dist/projection/experimental/kernels/somerc.js.map +1 -0
- package/dist/projection/experimental/kernels/stere.d.ts +15 -0
- package/dist/projection/experimental/kernels/stere.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/stere.js +195 -0
- package/dist/projection/experimental/kernels/stere.js.map +1 -0
- package/dist/projection/experimental/kernels/sterea.d.ts +11 -0
- package/dist/projection/experimental/kernels/sterea.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/sterea.js +65 -0
- package/dist/projection/experimental/kernels/sterea.js.map +1 -0
- package/dist/projection/experimental/kernels/tmerc.d.ts +9 -0
- package/dist/projection/experimental/kernels/tmerc.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/tmerc.js +201 -0
- package/dist/projection/experimental/kernels/tmerc.js.map +1 -0
- package/dist/projection/experimental/kernels/tpers.d.ts +22 -0
- package/dist/projection/experimental/kernels/tpers.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/tpers.js +156 -0
- package/dist/projection/experimental/kernels/tpers.js.map +1 -0
- package/dist/projection/experimental/kernels/vandg.d.ts +8 -0
- package/dist/projection/experimental/kernels/vandg.d.ts.map +1 -0
- package/dist/projection/experimental/kernels/vandg.js +133 -0
- package/dist/projection/experimental/kernels/vandg.js.map +1 -0
- package/dist/projection/experimental/kinematic-helmert-flat.d.ts +4 -0
- package/dist/projection/experimental/kinematic-helmert-flat.d.ts.map +1 -0
- package/dist/projection/experimental/kinematic-helmert-flat.js +60 -0
- package/dist/projection/experimental/kinematic-helmert-flat.js.map +1 -0
- package/dist/projection/experimental/kinematic-helmert.d.ts +11 -0
- package/dist/projection/experimental/kinematic-helmert.d.ts.map +1 -0
- package/dist/projection/experimental/kinematic-helmert.js +103 -0
- package/dist/projection/experimental/kinematic-helmert.js.map +1 -0
- package/dist/projection/experimental/lazy-projection.d.ts +17 -0
- package/dist/projection/experimental/lazy-projection.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projection.js +156 -0
- package/dist/projection/experimental/lazy-projection.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/aea.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/aea.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/aea.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/aea.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/aea.js +7 -0
- package/dist/projection/experimental/lazy-projections/aea.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/aeqd.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/aeqd.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/aeqd.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/aeqd.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/aeqd.js +8 -0
- package/dist/projection/experimental/lazy-projections/aeqd.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/bonne.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/bonne.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/bonne.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/bonne.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/bonne.js +7 -0
- package/dist/projection/experimental/lazy-projections/bonne.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/cass.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/cass.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/cass.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/cass.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/cass.js +7 -0
- package/dist/projection/experimental/lazy-projections/cass.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/cea.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/cea.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/cea.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/cea.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/cea.js +8 -0
- package/dist/projection/experimental/lazy-projections/cea.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/eck6.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/eck6.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/eck6.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/eck6.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/eck6.js +7 -0
- package/dist/projection/experimental/lazy-projections/eck6.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/eqc.cjs +82 -0
- package/dist/projection/experimental/lazy-projections/eqc.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/eqc.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/eqc.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/eqc.js +11 -0
- package/dist/projection/experimental/lazy-projections/eqc.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/eqdc.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/eqdc.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/eqdc.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/eqdc.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/eqdc.js +8 -0
- package/dist/projection/experimental/lazy-projections/eqdc.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/eqearth.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/eqearth.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/eqearth.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/eqearth.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/eqearth.js +7 -0
- package/dist/projection/experimental/lazy-projections/eqearth.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/equi.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/equi.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/equi.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/equi.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/equi.js +7 -0
- package/dist/projection/experimental/lazy-projections/equi.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/etmerc.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/etmerc.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/etmerc.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/etmerc.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/etmerc.js +8 -0
- package/dist/projection/experimental/lazy-projections/etmerc.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/geocent.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/geocent.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/geocent.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/geocent.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/geocent.js +7 -0
- package/dist/projection/experimental/lazy-projections/geocent.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/geos.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/geos.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/geos.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/geos.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/geos.js +7 -0
- package/dist/projection/experimental/lazy-projections/geos.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/gnom.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/gnom.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/gnom.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/gnom.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/gnom.js +7 -0
- package/dist/projection/experimental/lazy-projections/gnom.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/gstmerc.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/gstmerc.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/gstmerc.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/gstmerc.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/gstmerc.js +9 -0
- package/dist/projection/experimental/lazy-projections/gstmerc.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/index.cjs +2243 -0
- package/dist/projection/experimental/lazy-projections/index.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/index.d.ts +38 -0
- package/dist/projection/experimental/lazy-projections/index.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/index.js +41 -0
- package/dist/projection/experimental/lazy-projections/index.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/krovak.cjs +87 -0
- package/dist/projection/experimental/lazy-projections/krovak.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/krovak.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/krovak.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/krovak.js +15 -0
- package/dist/projection/experimental/lazy-projections/krovak.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/laea.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/laea.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/laea.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/laea.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/laea.js +8 -0
- package/dist/projection/experimental/lazy-projections/laea.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/lcc.cjs +89 -0
- package/dist/projection/experimental/lazy-projections/lcc.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/lcc.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/lcc.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/lcc.js +18 -0
- package/dist/projection/experimental/lazy-projections/lcc.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/merc.cjs +88 -0
- package/dist/projection/experimental/lazy-projections/merc.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/merc.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/merc.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/merc.js +16 -0
- package/dist/projection/experimental/lazy-projections/merc.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/mill.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/mill.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/mill.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/mill.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/mill.js +8 -0
- package/dist/projection/experimental/lazy-projections/mill.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/moll.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/moll.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/moll.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/moll.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/moll.js +7 -0
- package/dist/projection/experimental/lazy-projections/moll.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/nzmg.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/nzmg.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/nzmg.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/nzmg.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/nzmg.js +8 -0
- package/dist/projection/experimental/lazy-projections/nzmg.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/ob_tran.cjs +90 -0
- package/dist/projection/experimental/lazy-projections/ob_tran.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/ob_tran.d.ts +5 -0
- package/dist/projection/experimental/lazy-projections/ob_tran.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/ob_tran.js +18 -0
- package/dist/projection/experimental/lazy-projections/ob_tran.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/omerc.cjs +91 -0
- package/dist/projection/experimental/lazy-projections/omerc.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/omerc.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/omerc.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/omerc.js +19 -0
- package/dist/projection/experimental/lazy-projections/omerc.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/ortho.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/ortho.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/ortho.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/ortho.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/ortho.js +7 -0
- package/dist/projection/experimental/lazy-projections/ortho.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/poly.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/poly.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/poly.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/poly.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/poly.js +7 -0
- package/dist/projection/experimental/lazy-projections/poly.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/qsc.cjs +82 -0
- package/dist/projection/experimental/lazy-projections/qsc.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/qsc.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/qsc.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/qsc.js +12 -0
- package/dist/projection/experimental/lazy-projections/qsc.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/robin.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/robin.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/robin.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/robin.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/robin.js +7 -0
- package/dist/projection/experimental/lazy-projections/robin.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/sinu.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/sinu.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/sinu.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/sinu.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/sinu.js +7 -0
- package/dist/projection/experimental/lazy-projections/sinu.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/somerc.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/somerc.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/somerc.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/somerc.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/somerc.js +8 -0
- package/dist/projection/experimental/lazy-projections/somerc.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/stere.cjs +87 -0
- package/dist/projection/experimental/lazy-projections/stere.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/stere.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/stere.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/stere.js +15 -0
- package/dist/projection/experimental/lazy-projections/stere.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/sterea.cjs +87 -0
- package/dist/projection/experimental/lazy-projections/sterea.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/sterea.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/sterea.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/sterea.js +16 -0
- package/dist/projection/experimental/lazy-projections/sterea.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/tmerc.cjs +89 -0
- package/dist/projection/experimental/lazy-projections/tmerc.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/tmerc.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/tmerc.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/tmerc.js +18 -0
- package/dist/projection/experimental/lazy-projections/tmerc.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/tpers.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/tpers.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/tpers.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/tpers.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/tpers.js +8 -0
- package/dist/projection/experimental/lazy-projections/tpers.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/utm.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/utm.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/utm.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/utm.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/utm.js +8 -0
- package/dist/projection/experimental/lazy-projections/utm.js.map +1 -0
- package/dist/projection/experimental/lazy-projections/vandg.cjs +79 -0
- package/dist/projection/experimental/lazy-projections/vandg.cjs.map +6 -0
- package/dist/projection/experimental/lazy-projections/vandg.d.ts +3 -0
- package/dist/projection/experimental/lazy-projections/vandg.d.ts.map +1 -0
- package/dist/projection/experimental/lazy-projections/vandg.js +7 -0
- package/dist/projection/experimental/lazy-projections/vandg.js.map +1 -0
- package/dist/projection/experimental/mutable-projection.d.ts +6 -0
- package/dist/projection/experimental/mutable-projection.d.ts.map +1 -0
- package/dist/projection/experimental/mutable-projection.js +53 -0
- package/dist/projection/experimental/mutable-projection.js.map +1 -0
- package/dist/projection/experimental/numeric-flat.d.ts +8 -0
- package/dist/projection/experimental/numeric-flat.d.ts.map +1 -0
- package/dist/projection/experimental/numeric-flat.js +54 -0
- package/dist/projection/experimental/numeric-flat.js.map +1 -0
- package/dist/projection/experimental/parameters.d.ts +8 -0
- package/dist/projection/experimental/parameters.d.ts.map +1 -0
- package/dist/projection/experimental/parameters.js +31 -0
- package/dist/projection/experimental/parameters.js.map +1 -0
- package/dist/projection/experimental/projection-descriptor.d.ts +13 -0
- package/dist/projection/experimental/projection-descriptor.d.ts.map +1 -0
- package/dist/projection/experimental/projection-descriptor.js +52 -0
- package/dist/projection/experimental/projection-descriptor.js.map +1 -0
- package/dist/projection/experimental/projection-engine.d.ts +27 -0
- package/dist/projection/experimental/projection-engine.d.ts.map +1 -0
- package/dist/projection/experimental/projection-engine.js +50 -0
- package/dist/projection/experimental/projection-engine.js.map +1 -0
- package/dist/projection/experimental/projection-pipeline.d.ts +142 -0
- package/dist/projection/experimental/projection-pipeline.d.ts.map +1 -0
- package/dist/projection/experimental/projection-pipeline.js +740 -0
- package/dist/projection/experimental/projection-pipeline.js.map +1 -0
- package/dist/projection/experimental/projection-scratch.d.ts +11 -0
- package/dist/projection/experimental/projection-scratch.d.ts.map +1 -0
- package/dist/projection/experimental/projection-scratch.js +25 -0
- package/dist/projection/experimental/projection-scratch.js.map +1 -0
- package/dist/projection/experimental/projections/aea.d.ts +3 -0
- package/dist/projection/experimental/projections/aea.d.ts.map +1 -0
- package/dist/projection/experimental/projections/aea.js +24 -0
- package/dist/projection/experimental/projections/aea.js.map +1 -0
- package/dist/projection/experimental/projections/aeqd.d.ts +3 -0
- package/dist/projection/experimental/projections/aeqd.d.ts.map +1 -0
- package/dist/projection/experimental/projections/aeqd.js +19 -0
- package/dist/projection/experimental/projections/aeqd.js.map +1 -0
- package/dist/projection/experimental/projections/bonne.d.ts +3 -0
- package/dist/projection/experimental/projections/bonne.d.ts.map +1 -0
- package/dist/projection/experimental/projections/bonne.js +25 -0
- package/dist/projection/experimental/projections/bonne.js.map +1 -0
- package/dist/projection/experimental/projections/cass.d.ts +3 -0
- package/dist/projection/experimental/projections/cass.d.ts.map +1 -0
- package/dist/projection/experimental/projections/cass.js +22 -0
- package/dist/projection/experimental/projections/cass.js.map +1 -0
- package/dist/projection/experimental/projections/cea.d.ts +3 -0
- package/dist/projection/experimental/projections/cea.d.ts.map +1 -0
- package/dist/projection/experimental/projections/cea.js +24 -0
- package/dist/projection/experimental/projections/cea.js.map +1 -0
- package/dist/projection/experimental/projections/eck6.d.ts +3 -0
- package/dist/projection/experimental/projections/eck6.d.ts.map +1 -0
- package/dist/projection/experimental/projections/eck6.js +22 -0
- package/dist/projection/experimental/projections/eck6.js.map +1 -0
- package/dist/projection/experimental/projections/eqdc.d.ts +3 -0
- package/dist/projection/experimental/projections/eqdc.d.ts.map +1 -0
- package/dist/projection/experimental/projections/eqdc.js +23 -0
- package/dist/projection/experimental/projections/eqdc.js.map +1 -0
- package/dist/projection/experimental/projections/eqearth.d.ts +3 -0
- package/dist/projection/experimental/projections/eqearth.d.ts.map +1 -0
- package/dist/projection/experimental/projections/eqearth.js +47 -0
- package/dist/projection/experimental/projections/eqearth.js.map +1 -0
- package/dist/projection/experimental/projections/equi.d.ts +3 -0
- package/dist/projection/experimental/projections/equi.d.ts.map +1 -0
- package/dist/projection/experimental/projections/equi.js +24 -0
- package/dist/projection/experimental/projections/equi.js.map +1 -0
- package/dist/projection/experimental/projections/equidistant-cylindrical.d.ts +4 -0
- package/dist/projection/experimental/projections/equidistant-cylindrical.d.ts.map +1 -0
- package/dist/projection/experimental/projections/equidistant-cylindrical.js +47 -0
- package/dist/projection/experimental/projections/equidistant-cylindrical.js.map +1 -0
- package/dist/projection/experimental/projections/geocentric.d.ts +3 -0
- package/dist/projection/experimental/projections/geocentric.d.ts.map +1 -0
- package/dist/projection/experimental/projections/geocentric.js +34 -0
- package/dist/projection/experimental/projections/geocentric.js.map +1 -0
- package/dist/projection/experimental/projections/geos.d.ts +3 -0
- package/dist/projection/experimental/projections/geos.d.ts.map +1 -0
- package/dist/projection/experimental/projections/geos.js +30 -0
- package/dist/projection/experimental/projections/geos.js.map +1 -0
- package/dist/projection/experimental/projections/gnom.d.ts +3 -0
- package/dist/projection/experimental/projections/gnom.d.ts.map +1 -0
- package/dist/projection/experimental/projections/gnom.js +20 -0
- package/dist/projection/experimental/projections/gnom.js.map +1 -0
- package/dist/projection/experimental/projections/gstmerc.d.ts +3 -0
- package/dist/projection/experimental/projections/gstmerc.d.ts.map +1 -0
- package/dist/projection/experimental/projections/gstmerc.js +23 -0
- package/dist/projection/experimental/projections/gstmerc.js.map +1 -0
- package/dist/projection/experimental/projections/krovak.d.ts +3 -0
- package/dist/projection/experimental/projections/krovak.d.ts.map +1 -0
- package/dist/projection/experimental/projections/krovak.js +41 -0
- package/dist/projection/experimental/projections/krovak.js.map +1 -0
- package/dist/projection/experimental/projections/laea.d.ts +3 -0
- package/dist/projection/experimental/projections/laea.d.ts.map +1 -0
- package/dist/projection/experimental/projections/laea.js +22 -0
- package/dist/projection/experimental/projections/laea.js.map +1 -0
- package/dist/projection/experimental/projections/lcc.d.ts +3 -0
- package/dist/projection/experimental/projections/lcc.d.ts.map +1 -0
- package/dist/projection/experimental/projections/lcc.js +39 -0
- package/dist/projection/experimental/projections/lcc.js.map +1 -0
- package/dist/projection/experimental/projections/mercator.d.ts +4 -0
- package/dist/projection/experimental/projections/mercator.d.ts.map +1 -0
- package/dist/projection/experimental/projections/mercator.js +106 -0
- package/dist/projection/experimental/projections/mercator.js.map +1 -0
- package/dist/projection/experimental/projections/mill.d.ts +3 -0
- package/dist/projection/experimental/projections/mill.d.ts.map +1 -0
- package/dist/projection/experimental/projections/mill.js +22 -0
- package/dist/projection/experimental/projections/mill.js.map +1 -0
- package/dist/projection/experimental/projections/moll.d.ts +3 -0
- package/dist/projection/experimental/projections/moll.d.ts.map +1 -0
- package/dist/projection/experimental/projections/moll.js +22 -0
- package/dist/projection/experimental/projections/moll.js.map +1 -0
- package/dist/projection/experimental/projections/nzmg.d.ts +3 -0
- package/dist/projection/experimental/projections/nzmg.d.ts.map +1 -0
- package/dist/projection/experimental/projections/nzmg.js +29 -0
- package/dist/projection/experimental/projections/nzmg.js.map +1 -0
- package/dist/projection/experimental/projections/ob-tran.d.ts +4 -0
- package/dist/projection/experimental/projections/ob-tran.d.ts.map +1 -0
- package/dist/projection/experimental/projections/ob-tran.js +194 -0
- package/dist/projection/experimental/projections/ob-tran.js.map +1 -0
- package/dist/projection/experimental/projections/omerc.d.ts +3 -0
- package/dist/projection/experimental/projections/omerc.d.ts.map +1 -0
- package/dist/projection/experimental/projections/omerc.js +69 -0
- package/dist/projection/experimental/projections/omerc.js.map +1 -0
- package/dist/projection/experimental/projections/ortho.d.ts +3 -0
- package/dist/projection/experimental/projections/ortho.d.ts.map +1 -0
- package/dist/projection/experimental/projections/ortho.js +20 -0
- package/dist/projection/experimental/projections/ortho.js.map +1 -0
- package/dist/projection/experimental/projections/poly.d.ts +3 -0
- package/dist/projection/experimental/projections/poly.d.ts.map +1 -0
- package/dist/projection/experimental/projections/poly.js +22 -0
- package/dist/projection/experimental/projections/poly.js.map +1 -0
- package/dist/projection/experimental/projections/qsc.d.ts +3 -0
- package/dist/projection/experimental/projections/qsc.d.ts.map +1 -0
- package/dist/projection/experimental/projections/qsc.js +64 -0
- package/dist/projection/experimental/projections/qsc.js.map +1 -0
- package/dist/projection/experimental/projections/robin.d.ts +3 -0
- package/dist/projection/experimental/projections/robin.d.ts.map +1 -0
- package/dist/projection/experimental/projections/robin.js +22 -0
- package/dist/projection/experimental/projections/robin.js.map +1 -0
- package/dist/projection/experimental/projections/sinu.d.ts +3 -0
- package/dist/projection/experimental/projections/sinu.d.ts.map +1 -0
- package/dist/projection/experimental/projections/sinu.js +22 -0
- package/dist/projection/experimental/projections/sinu.js.map +1 -0
- package/dist/projection/experimental/projections/somerc.d.ts +3 -0
- package/dist/projection/experimental/projections/somerc.d.ts.map +1 -0
- package/dist/projection/experimental/projections/somerc.js +22 -0
- package/dist/projection/experimental/projections/somerc.js.map +1 -0
- package/dist/projection/experimental/projections/stere.d.ts +3 -0
- package/dist/projection/experimental/projections/stere.d.ts.map +1 -0
- package/dist/projection/experimental/projections/stere.js +32 -0
- package/dist/projection/experimental/projections/stere.js.map +1 -0
- package/dist/projection/experimental/projections/sterea.d.ts +3 -0
- package/dist/projection/experimental/projections/sterea.d.ts.map +1 -0
- package/dist/projection/experimental/projections/sterea.js +32 -0
- package/dist/projection/experimental/projections/sterea.js.map +1 -0
- package/dist/projection/experimental/projections/tpers.d.ts +3 -0
- package/dist/projection/experimental/projections/tpers.d.ts.map +1 -0
- package/dist/projection/experimental/projections/tpers.js +31 -0
- package/dist/projection/experimental/projections/tpers.js.map +1 -0
- package/dist/projection/experimental/projections/transverse-mercator.d.ts +6 -0
- package/dist/projection/experimental/projections/transverse-mercator.d.ts.map +1 -0
- package/dist/projection/experimental/projections/transverse-mercator.js +48 -0
- package/dist/projection/experimental/projections/transverse-mercator.js.map +1 -0
- package/dist/projection/experimental/projections/utm.d.ts +3 -0
- package/dist/projection/experimental/projections/utm.d.ts.map +1 -0
- package/dist/projection/experimental/projections/utm.js +37 -0
- package/dist/projection/experimental/projections/utm.js.map +1 -0
- package/dist/projection/experimental/projections/vandg.d.ts +3 -0
- package/dist/projection/experimental/projections/vandg.d.ts.map +1 -0
- package/dist/projection/experimental/projections/vandg.js +22 -0
- package/dist/projection/experimental/projections/vandg.js.map +1 -0
- package/dist/projection/experimental/rendering-profile/angular-rendering-profile.d.ts +9 -0
- package/dist/projection/experimental/rendering-profile/angular-rendering-profile.d.ts.map +1 -0
- package/dist/projection/experimental/rendering-profile/angular-rendering-profile.js +79 -0
- package/dist/projection/experimental/rendering-profile/angular-rendering-profile.js.map +1 -0
- package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.d.ts +16 -0
- package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.d.ts.map +1 -0
- package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.js +91 -0
- package/dist/projection/experimental/rendering-profile/azimuthal-rendering-bounds.js.map +1 -0
- package/dist/projection/experimental/rendering-profile/geographic-bounds.d.ts +29 -0
- package/dist/projection/experimental/rendering-profile/geographic-bounds.d.ts.map +1 -0
- package/dist/projection/experimental/rendering-profile/geographic-bounds.js +127 -0
- package/dist/projection/experimental/rendering-profile/geographic-bounds.js.map +1 -0
- package/dist/projection/experimental/rendering-profile/geographic-rendering-profile.d.ts +4 -0
- package/dist/projection/experimental/rendering-profile/geographic-rendering-profile.d.ts.map +1 -0
- package/dist/projection/experimental/rendering-profile/geographic-rendering-profile.js +18 -0
- package/dist/projection/experimental/rendering-profile/geographic-rendering-profile.js.map +1 -0
- package/dist/projection/experimental/rendering-profile/geostationary-rendering-profile.d.ts +7 -0
- package/dist/projection/experimental/rendering-profile/geostationary-rendering-profile.d.ts.map +1 -0
- package/dist/projection/experimental/rendering-profile/geostationary-rendering-profile.js +86 -0
- package/dist/projection/experimental/rendering-profile/geostationary-rendering-profile.js.map +1 -0
- package/dist/projection/experimental/rendering-profile/identity-rendering-profile.d.ts +4 -0
- package/dist/projection/experimental/rendering-profile/identity-rendering-profile.d.ts.map +1 -0
- package/dist/projection/experimental/rendering-profile/identity-rendering-profile.js +13 -0
- package/dist/projection/experimental/rendering-profile/identity-rendering-profile.js.map +1 -0
- package/dist/projection/experimental/rendering-profile/rectangular-rendering-profile.d.ts +13 -0
- package/dist/projection/experimental/rendering-profile/rectangular-rendering-profile.d.ts.map +1 -0
- package/dist/projection/experimental/rendering-profile/rectangular-rendering-profile.js +76 -0
- package/dist/projection/experimental/rendering-profile/rectangular-rendering-profile.js.map +1 -0
- package/dist/projection/experimental/rendering-profile/regional-rendering-bounds.d.ts +29 -0
- package/dist/projection/experimental/rendering-profile/regional-rendering-bounds.d.ts.map +1 -0
- package/dist/projection/experimental/rendering-profile/regional-rendering-bounds.js +143 -0
- package/dist/projection/experimental/rendering-profile/regional-rendering-bounds.js.map +1 -0
- package/dist/projection/experimental/rendering-profile/rendering-bounds.d.ts +28 -0
- package/dist/projection/experimental/rendering-profile/rendering-bounds.d.ts.map +1 -0
- package/dist/projection/experimental/rendering-profile/rendering-bounds.js +111 -0
- package/dist/projection/experimental/rendering-profile/rendering-bounds.js.map +1 -0
- package/dist/projection/experimental/rendering-profile/rendering-profile.d.ts +11 -0
- package/dist/projection/experimental/rendering-profile/rendering-profile.d.ts.map +1 -0
- package/dist/projection/experimental/rendering-profile/rendering-profile.js +81 -0
- package/dist/projection/experimental/rendering-profile/rendering-profile.js.map +1 -0
- package/dist/projection/experimental/rendering-profile/spherical-rendering-domain.d.ts +24 -0
- package/dist/projection/experimental/rendering-profile/spherical-rendering-domain.d.ts.map +1 -0
- package/dist/projection/experimental/rendering-profile/spherical-rendering-domain.js +129 -0
- package/dist/projection/experimental/rendering-profile/spherical-rendering-domain.js.map +1 -0
- package/dist/projection/experimental/scalar-output.d.ts +8 -0
- package/dist/projection/experimental/scalar-output.d.ts.map +1 -0
- package/dist/projection/experimental/scalar-output.js +46 -0
- package/dist/projection/experimental/scalar-output.js.map +1 -0
- package/dist/projection/experimental/spatial-deformation.d.ts +6 -0
- package/dist/projection/experimental/spatial-deformation.d.ts.map +1 -0
- package/dist/projection/experimental/spatial-deformation.js +85 -0
- package/dist/projection/experimental/spatial-deformation.js.map +1 -0
- package/dist/projection/experimental/types.d.ts +156 -0
- package/dist/projection/experimental/types.d.ts.map +1 -0
- package/dist/projection/experimental/types.js +5 -0
- package/dist/projection/experimental/types.js.map +1 -0
- package/dist/projection/experimental/typescript-projection.d.ts +76 -0
- package/dist/projection/experimental/typescript-projection.d.ts.map +1 -0
- package/dist/projection/experimental/typescript-projection.js +459 -0
- package/dist/projection/experimental/typescript-projection.js.map +1 -0
- package/dist/projection/experimental/vertical-datum.d.ts +4 -0
- package/dist/projection/experimental/vertical-datum.d.ts.map +1 -0
- package/dist/projection/experimental/vertical-datum.js +43 -0
- package/dist/projection/experimental/vertical-datum.js.map +1 -0
- package/dist/projection/grids/velocity.cjs +92 -0
- package/dist/projection/grids/velocity.cjs.map +6 -0
- package/dist/projection/grids/velocity.d.ts +3 -0
- package/dist/projection/grids/velocity.d.ts.map +1 -0
- package/dist/projection/grids/velocity.js +5 -0
- package/dist/projection/grids/velocity.js.map +1 -0
- package/dist/projection/index.cjs +11504 -0
- package/dist/projection/index.cjs.map +6 -0
- package/dist/projection/index.d.ts +3 -0
- package/dist/projection/index.d.ts.map +1 -0
- package/dist/projection/index.js +6 -0
- package/dist/projection/index.js.map +1 -0
- package/dist/projection/lib/projection.d.ts +8 -0
- package/dist/projection/lib/projection.d.ts.map +1 -0
- package/dist/projection/lib/projection.js +115 -0
- package/dist/projection/lib/projection.js.map +1 -0
- package/dist/projection/numerical-derivative.d.ts +15 -0
- package/dist/projection/numerical-derivative.d.ts.map +1 -0
- package/dist/projection/numerical-derivative.js +47 -0
- package/dist/projection/numerical-derivative.js.map +1 -0
- package/dist/projection/operations.cjs +322 -0
- package/dist/projection/operations.cjs.map +6 -0
- package/dist/projection/operations.d.ts +89 -0
- package/dist/projection/operations.d.ts.map +1 -0
- package/dist/projection/operations.js +344 -0
- package/dist/projection/operations.js.map +1 -0
- package/dist/projection/pipeline.cjs +1961 -0
- package/dist/projection/pipeline.cjs.map +6 -0
- package/dist/projection/pipeline.d.ts +2 -0
- package/dist/projection/pipeline.d.ts.map +1 -0
- package/dist/projection/pipeline.js +5 -0
- package/dist/projection/pipeline.js.map +1 -0
- package/dist/projection/temporal.cjs +290 -0
- package/dist/projection/temporal.cjs.map +6 -0
- package/dist/projection/temporal.d.ts +31 -0
- package/dist/projection/temporal.d.ts.map +1 -0
- package/dist/projection/temporal.js +91 -0
- package/dist/projection/temporal.js.map +1 -0
- package/dist/projection/transform-analysis.cjs +1889 -0
- package/dist/projection/transform-analysis.cjs.map +6 -0
- package/dist/projection/transform-analysis.d.ts +43 -0
- package/dist/projection/transform-analysis.d.ts.map +1 -0
- package/dist/projection/transform-analysis.js +110 -0
- package/dist/projection/transform-analysis.js.map +1 -0
- package/dist/projection/types.cjs +18 -0
- package/dist/projection/types.cjs.map +6 -0
- package/dist/projection/types.d.ts +47 -0
- package/dist/projection/types.d.ts.map +1 -0
- package/dist/projection/types.js +5 -0
- package/dist/projection/types.js.map +1 -0
- package/dist/projection/web-mercator.cjs +171 -0
- package/dist/projection/web-mercator.cjs.map +6 -0
- package/dist/projection/web-mercator.d.ts +7 -0
- package/dist/projection/web-mercator.d.ts.map +1 -0
- package/dist/projection/web-mercator.js +113 -0
- package/dist/projection/web-mercator.js.map +1 -0
- package/dist/subdivide-globe-mesh.d.ts +20 -0
- package/dist/subdivide-globe-mesh.d.ts.map +1 -0
- package/dist/subdivide-globe-mesh.js +54 -0
- package/dist/subdivide-globe-mesh.js.map +1 -0
- package/dist/tile-matrix.cjs +94 -20
- package/dist/tile-matrix.cjs.map +1 -1
- package/dist/tile-matrix.d.ts +30 -8
- package/dist/tile-matrix.d.ts.map +1 -1
- package/dist/tile-matrix.js +125 -25
- package/dist/tile-matrix.js.map +1 -1
- package/dist/tiles.cjs +303 -0
- package/dist/tiles.cjs.map +6 -0
- package/dist/tiles.d.ts +5 -0
- package/dist/tiles.d.ts.map +1 -0
- package/dist/tiles.js +6 -0
- package/dist/tiles.js.map +1 -0
- package/dist/web-mercator.cjs +20 -0
- package/dist/web-mercator.cjs.map +6 -0
- package/dist/web-mercator.d.ts +2 -0
- package/dist/web-mercator.d.ts.map +1 -0
- package/dist/web-mercator.js +5 -0
- package/dist/web-mercator.js.map +1 -0
- package/dist/wkb/index.cjs +1050 -0
- package/dist/wkb/index.cjs.map +6 -0
- package/dist/wkb/index.d.ts +11 -0
- package/dist/wkb/index.d.ts.map +1 -0
- package/dist/wkb/index.js +9 -0
- package/dist/wkb/index.js.map +1 -0
- package/dist/wkb/types.d.ts +30 -0
- package/dist/wkb/types.d.ts.map +1 -0
- package/dist/wkb/types.js +34 -0
- package/dist/wkb/types.js.map +1 -0
- package/dist/wkb/wkb-builder.d.ts +91 -0
- package/dist/wkb/wkb-builder.d.ts.map +1 -0
- package/dist/wkb/wkb-builder.js +276 -0
- package/dist/wkb/wkb-builder.js.map +1 -0
- package/dist/wkb/wkb-reader.d.ts +74 -0
- package/dist/wkb/wkb-reader.d.ts.map +1 -0
- package/dist/wkb/wkb-reader.js +251 -0
- package/dist/wkb/wkb-reader.js.map +1 -0
- package/dist/wkb/wkb.d.ts +21 -0
- package/dist/wkb/wkb.d.ts.map +1 -0
- package/dist/wkb/wkb.js +204 -0
- package/dist/wkb/wkb.js.map +1 -0
- package/dist/wkb/wkt.d.ts +19 -0
- package/dist/wkb/wkt.d.ts.map +1 -0
- package/dist/wkb/wkt.js +321 -0
- package/dist/wkb/wkt.js.map +1 -0
- package/package.json +1053 -6
- package/projection/APACHE-2.0-LICENSE.txt +55 -0
- package/projection/PROJ-LICENSE.txt +37 -0
- package/projection/PROJ4-LICENSE.md +29 -0
- package/projection/THIRD-PARTY-NOTICES.md +163 -0
- package/src/crs/crs-metadata.ts +63 -0
- package/src/crs/crs.ts +36 -0
- package/src/crs/index.ts +65 -0
- package/src/crs/proj-string.ts +239 -0
- package/src/crs/projjson-schema-constants.ts +9 -0
- package/src/crs/projjson-types.ts +665 -0
- package/src/crs/spatial-reference.ts +221 -0
- package/src/crs/units-table.ts +51 -0
- package/src/crs/wkt-crs.ts +790 -0
- package/src/ellipsoid-helpers/ellipsoid-transform.ts +1 -1
- package/src/ellipsoid-tangent-plane.ts +1 -1
- package/src/ellipsoid.ts +1 -1
- package/src/entries/ellipsoid.ts +8 -0
- package/src/expressions.ts +34 -0
- package/src/geoarrow/builder-entry.ts +18 -0
- package/src/geoarrow/builder.ts +860 -0
- package/src/geoarrow/codecs.ts +1274 -0
- package/src/geoarrow/index.ts +100 -0
- package/src/geoarrow/kernels.ts +1290 -0
- package/src/geoarrow/layout.ts +899 -0
- package/src/geoarrow/tessellate.ts +133 -0
- package/src/geoarrow/tessellation-entry.ts +7 -0
- package/src/geoarrow/types.ts +219 -0
- package/src/geoarrow/views.ts +150 -0
- package/src/geoarrow/wkb-entry.ts +13 -0
- package/src/geoarrow/worker.ts +20 -0
- package/src/globe.ts +14 -0
- package/src/index.ts +3 -30
- package/src/make-obb-from-region.ts +1 -1
- package/src/projection/analysis.ts +284 -0
- package/src/projection/bulk.ts +343 -0
- package/src/projection/datums.ts +13 -0
- package/src/projection/deformation.ts +5 -0
- package/src/projection/experimental/catalogue-kernel.ts +65 -0
- package/src/projection/experimental/common/adjust_lat.ts +11 -0
- package/src/projection/experimental/common/adjust_lon.ts +14 -0
- package/src/projection/experimental/common/asinhy.ts +14 -0
- package/src/projection/experimental/common/asinz.ts +11 -0
- package/src/projection/experimental/common/authlat.ts +9 -0
- package/src/projection/experimental/common/authset.ts +25 -0
- package/src/projection/experimental/common/clens.ts +20 -0
- package/src/projection/experimental/common/clens_cmplx.ts +43 -0
- package/src/projection/experimental/common/constants.ts +15 -0
- package/src/projection/experimental/common/cosh.ts +10 -0
- package/src/projection/experimental/common/e0fn.ts +8 -0
- package/src/projection/experimental/common/e1fn.ts +8 -0
- package/src/projection/experimental/common/e2fn.ts +8 -0
- package/src/projection/experimental/common/e3fn.ts +8 -0
- package/src/projection/experimental/common/fL.ts +10 -0
- package/src/projection/experimental/common/gN.ts +9 -0
- package/src/projection/experimental/common/gatg.ts +20 -0
- package/src/projection/experimental/common/hypot.ts +13 -0
- package/src/projection/experimental/common/imlfn.ts +23 -0
- package/src/projection/experimental/common/invlatiso.ts +20 -0
- package/src/projection/experimental/common/iqsfnz.ts +45 -0
- package/src/projection/experimental/common/latiso.ts +21 -0
- package/src/projection/experimental/common/log1py.ts +11 -0
- package/src/projection/experimental/common/meridian-distance.ts +45 -0
- package/src/projection/experimental/common/mlfn.ts +8 -0
- package/src/projection/experimental/common/msfnz.ts +9 -0
- package/src/projection/experimental/common/phi2z.ts +22 -0
- package/src/projection/experimental/common/pj_enfn.ts +29 -0
- package/src/projection/experimental/common/pj_inv_mlfn.ts +28 -0
- package/src/projection/experimental/common/pj_mlfn.ts +10 -0
- package/src/projection/experimental/common/qsfnz.ts +17 -0
- package/src/projection/experimental/common/sign.ts +8 -0
- package/src/projection/experimental/common/sinh.ts +10 -0
- package/src/projection/experimental/common/srat.ts +8 -0
- package/src/projection/experimental/common/tsfnz.ts +13 -0
- package/src/projection/experimental/common/vincenty.ts +180 -0
- package/src/projection/experimental/core.ts +77 -0
- package/src/projection/experimental/crs/datum-catalog.ts +65 -0
- package/src/projection/experimental/crs/datum-table.ts +1360 -0
- package/src/projection/experimental/crs/ellipsoid-table.ts +230 -0
- package/src/projection/experimental/crs/normalize.ts +306 -0
- package/src/projection/experimental/crs/primemeridian-table.ts +22 -0
- package/src/projection/experimental/crs/projjson.ts +12 -0
- package/src/projection/experimental/crs/spatial-reference.ts +115 -0
- package/src/projection/experimental/crs/structured.ts +580 -0
- package/src/projection/experimental/crs/types.ts +97 -0
- package/src/projection/experimental/crs/wkt.ts +201 -0
- package/src/projection/experimental/crs-descriptor.ts +250 -0
- package/src/projection/experimental/crs-rendering-scale.ts +115 -0
- package/src/projection/experimental/datum.ts +185 -0
- package/src/projection/experimental/deformation-inverse.ts +125 -0
- package/src/projection/experimental/deformation.ts +30 -0
- package/src/projection/experimental/entries/projections/aea.ts +5 -0
- package/src/projection/experimental/entries/projections/aeqd.ts +5 -0
- package/src/projection/experimental/entries/projections/bonne.ts +5 -0
- package/src/projection/experimental/entries/projections/cass.ts +5 -0
- package/src/projection/experimental/entries/projections/cea.ts +5 -0
- package/src/projection/experimental/entries/projections/eck6.ts +5 -0
- package/src/projection/experimental/entries/projections/eqc.ts +5 -0
- package/src/projection/experimental/entries/projections/eqdc.ts +5 -0
- package/src/projection/experimental/entries/projections/eqearth.ts +5 -0
- package/src/projection/experimental/entries/projections/equi.ts +5 -0
- package/src/projection/experimental/entries/projections/etmerc.ts +5 -0
- package/src/projection/experimental/entries/projections/geocent.ts +5 -0
- package/src/projection/experimental/entries/projections/geos.ts +5 -0
- package/src/projection/experimental/entries/projections/gnom.ts +5 -0
- package/src/projection/experimental/entries/projections/gstmerc.ts +5 -0
- package/src/projection/experimental/entries/projections/krovak.ts +5 -0
- package/src/projection/experimental/entries/projections/laea.ts +5 -0
- package/src/projection/experimental/entries/projections/lcc.ts +5 -0
- package/src/projection/experimental/entries/projections/merc.ts +5 -0
- package/src/projection/experimental/entries/projections/mill.ts +5 -0
- package/src/projection/experimental/entries/projections/moll.ts +5 -0
- package/src/projection/experimental/entries/projections/nzmg.ts +5 -0
- package/src/projection/experimental/entries/projections/ob_tran.ts +5 -0
- package/src/projection/experimental/entries/projections/omerc.ts +5 -0
- package/src/projection/experimental/entries/projections/ortho.ts +5 -0
- package/src/projection/experimental/entries/projections/poly.ts +5 -0
- package/src/projection/experimental/entries/projections/qsc.ts +5 -0
- package/src/projection/experimental/entries/projections/robin.ts +5 -0
- package/src/projection/experimental/entries/projections/sinu.ts +5 -0
- package/src/projection/experimental/entries/projections/somerc.ts +5 -0
- package/src/projection/experimental/entries/projections/stere.ts +5 -0
- package/src/projection/experimental/entries/projections/sterea.ts +5 -0
- package/src/projection/experimental/entries/projections/tmerc.ts +5 -0
- package/src/projection/experimental/entries/projections/tpers.ts +5 -0
- package/src/projection/experimental/entries/projections/utm.ts +5 -0
- package/src/projection/experimental/entries/projections/vandg.ts +5 -0
- package/src/projection/experimental/exact-helmert.ts +58 -0
- package/src/projection/experimental/flat-projection.ts +80 -0
- package/src/projection/experimental/grids/geotiff.ts +88 -0
- package/src/projection/experimental/grids/grid.ts +141 -0
- package/src/projection/experimental/grids/gtx.ts +31 -0
- package/src/projection/experimental/grids/ntv2.ts +71 -0
- package/src/projection/experimental/grids/scalar-geotiff.ts +231 -0
- package/src/projection/experimental/grids/types.ts +35 -0
- package/src/projection/experimental/grids/velocity-geotiff.ts +82 -0
- package/src/projection/experimental/grids/velocity.ts +58 -0
- package/src/projection/experimental/grids/vertical-geotiff.ts +28 -0
- package/src/projection/experimental/grids/vertical.ts +99 -0
- package/src/projection/experimental/helmert-flat.ts +76 -0
- package/src/projection/experimental/index.ts +59 -0
- package/src/projection/experimental/kernel.ts +142 -0
- package/src/projection/experimental/kernels/aea.ts +170 -0
- package/src/projection/experimental/kernels/aeqd.ts +171 -0
- package/src/projection/experimental/kernels/bonne.ts +141 -0
- package/src/projection/experimental/kernels/cass.ts +140 -0
- package/src/projection/experimental/kernels/cea.ts +71 -0
- package/src/projection/experimental/kernels/eck6.ts +36 -0
- package/src/projection/experimental/kernels/eqdc.ts +137 -0
- package/src/projection/experimental/kernels/eqearth.ts +136 -0
- package/src/projection/experimental/kernels/equi.ts +53 -0
- package/src/projection/experimental/kernels/etmerc.ts +190 -0
- package/src/projection/experimental/kernels/gauss.ts +79 -0
- package/src/projection/experimental/kernels/geos.ts +183 -0
- package/src/projection/experimental/kernels/gnom.ts +113 -0
- package/src/projection/experimental/kernels/gstmerc.ts +74 -0
- package/src/projection/experimental/kernels/krovak.ts +166 -0
- package/src/projection/experimental/kernels/laea.ts +297 -0
- package/src/projection/experimental/kernels/lcc.ts +147 -0
- package/src/projection/experimental/kernels/mill.ts +60 -0
- package/src/projection/experimental/kernels/moll.ts +105 -0
- package/src/projection/experimental/kernels/nzmg.ts +249 -0
- package/src/projection/experimental/kernels/omerc.ts +343 -0
- package/src/projection/experimental/kernels/ortho.ts +106 -0
- package/src/projection/experimental/kernels/poly.ts +156 -0
- package/src/projection/experimental/kernels/qsc.ts +369 -0
- package/src/projection/experimental/kernels/robin.ts +189 -0
- package/src/projection/experimental/kernels/sinu.ts +116 -0
- package/src/projection/experimental/kernels/somerc.ts +112 -0
- package/src/projection/experimental/kernels/stere.ts +221 -0
- package/src/projection/experimental/kernels/sterea.ts +80 -0
- package/src/projection/experimental/kernels/tmerc.ts +227 -0
- package/src/projection/experimental/kernels/tpers.ts +187 -0
- package/src/projection/experimental/kernels/vandg.ts +147 -0
- package/src/projection/experimental/kinematic-helmert-flat.ts +85 -0
- package/src/projection/experimental/kinematic-helmert.ts +132 -0
- package/src/projection/experimental/lazy-projection.ts +179 -0
- package/src/projection/experimental/lazy-projections/aea.ts +10 -0
- package/src/projection/experimental/lazy-projections/aeqd.ts +12 -0
- package/src/projection/experimental/lazy-projections/bonne.ts +10 -0
- package/src/projection/experimental/lazy-projections/cass.ts +10 -0
- package/src/projection/experimental/lazy-projections/cea.ts +12 -0
- package/src/projection/experimental/lazy-projections/eck6.ts +10 -0
- package/src/projection/experimental/lazy-projections/eqc.ts +15 -0
- package/src/projection/experimental/lazy-projections/eqdc.ts +11 -0
- package/src/projection/experimental/lazy-projections/eqearth.ts +10 -0
- package/src/projection/experimental/lazy-projections/equi.ts +10 -0
- package/src/projection/experimental/lazy-projections/etmerc.ts +12 -0
- package/src/projection/experimental/lazy-projections/geocent.ts +10 -0
- package/src/projection/experimental/lazy-projections/geos.ts +10 -0
- package/src/projection/experimental/lazy-projections/gnom.ts +10 -0
- package/src/projection/experimental/lazy-projections/gstmerc.ts +13 -0
- package/src/projection/experimental/lazy-projections/index.ts +41 -0
- package/src/projection/experimental/lazy-projections/krovak.ts +18 -0
- package/src/projection/experimental/lazy-projections/laea.ts +12 -0
- package/src/projection/experimental/lazy-projections/lcc.ts +22 -0
- package/src/projection/experimental/lazy-projections/merc.ts +19 -0
- package/src/projection/experimental/lazy-projections/mill.ts +11 -0
- package/src/projection/experimental/lazy-projections/moll.ts +10 -0
- package/src/projection/experimental/lazy-projections/nzmg.ts +11 -0
- package/src/projection/experimental/lazy-projections/ob_tran.ts +25 -0
- package/src/projection/experimental/lazy-projections/omerc.ts +22 -0
- package/src/projection/experimental/lazy-projections/ortho.ts +10 -0
- package/src/projection/experimental/lazy-projections/poly.ts +10 -0
- package/src/projection/experimental/lazy-projections/qsc.ts +16 -0
- package/src/projection/experimental/lazy-projections/robin.ts +10 -0
- package/src/projection/experimental/lazy-projections/sinu.ts +10 -0
- package/src/projection/experimental/lazy-projections/somerc.ts +12 -0
- package/src/projection/experimental/lazy-projections/stere.ts +18 -0
- package/src/projection/experimental/lazy-projections/sterea.ts +20 -0
- package/src/projection/experimental/lazy-projections/tmerc.ts +22 -0
- package/src/projection/experimental/lazy-projections/tpers.ts +11 -0
- package/src/projection/experimental/lazy-projections/utm.ts +12 -0
- package/src/projection/experimental/lazy-projections/vandg.ts +10 -0
- package/src/projection/experimental/mutable-projection.ts +63 -0
- package/src/projection/experimental/numeric-flat.ts +73 -0
- package/src/projection/experimental/parameters.ts +36 -0
- package/src/projection/experimental/projection-descriptor.ts +79 -0
- package/src/projection/experimental/projection-engine.ts +81 -0
- package/src/projection/experimental/projection-pipeline.ts +1047 -0
- package/src/projection/experimental/projection-scratch.ts +26 -0
- package/src/projection/experimental/projections/aea.ts +41 -0
- package/src/projection/experimental/projections/aeqd.ts +27 -0
- package/src/projection/experimental/projections/bonne.ts +38 -0
- package/src/projection/experimental/projections/cass.ts +39 -0
- package/src/projection/experimental/projections/cea.ts +31 -0
- package/src/projection/experimental/projections/eck6.ts +30 -0
- package/src/projection/experimental/projections/eqdc.ts +40 -0
- package/src/projection/experimental/projections/eqearth.ts +72 -0
- package/src/projection/experimental/projections/equi.ts +31 -0
- package/src/projection/experimental/projections/equidistant-cylindrical.ts +79 -0
- package/src/projection/experimental/projections/geocentric.ts +42 -0
- package/src/projection/experimental/projections/geos.ts +46 -0
- package/src/projection/experimental/projections/gnom.ts +34 -0
- package/src/projection/experimental/projections/gstmerc.ts +43 -0
- package/src/projection/experimental/projections/krovak.ts +61 -0
- package/src/projection/experimental/projections/laea.ts +39 -0
- package/src/projection/experimental/projections/lcc.ts +67 -0
- package/src/projection/experimental/projections/mercator.ts +150 -0
- package/src/projection/experimental/projections/mill.ts +30 -0
- package/src/projection/experimental/projections/moll.ts +30 -0
- package/src/projection/experimental/projections/nzmg.ts +47 -0
- package/src/projection/experimental/projections/ob-tran.ts +279 -0
- package/src/projection/experimental/projections/omerc.ts +86 -0
- package/src/projection/experimental/projections/ortho.ts +34 -0
- package/src/projection/experimental/projections/poly.ts +40 -0
- package/src/projection/experimental/projections/qsc.ts +84 -0
- package/src/projection/experimental/projections/robin.ts +30 -0
- package/src/projection/experimental/projections/sinu.ts +30 -0
- package/src/projection/experimental/projections/somerc.ts +39 -0
- package/src/projection/experimental/projections/stere.ts +59 -0
- package/src/projection/experimental/projections/sterea.ts +61 -0
- package/src/projection/experimental/projections/tpers.ts +59 -0
- package/src/projection/experimental/projections/transverse-mercator.ts +89 -0
- package/src/projection/experimental/projections/utm.ts +50 -0
- package/src/projection/experimental/projections/vandg.ts +30 -0
- package/src/projection/experimental/rendering-profile/angular-rendering-profile.ts +117 -0
- package/src/projection/experimental/rendering-profile/azimuthal-rendering-bounds.ts +181 -0
- package/src/projection/experimental/rendering-profile/geographic-bounds.ts +190 -0
- package/src/projection/experimental/rendering-profile/geographic-rendering-profile.ts +29 -0
- package/src/projection/experimental/rendering-profile/geostationary-rendering-profile.ts +128 -0
- package/src/projection/experimental/rendering-profile/identity-rendering-profile.ts +15 -0
- package/src/projection/experimental/rendering-profile/rectangular-rendering-profile.ts +133 -0
- package/src/projection/experimental/rendering-profile/regional-rendering-bounds.ts +252 -0
- package/src/projection/experimental/rendering-profile/rendering-bounds.ts +163 -0
- package/src/projection/experimental/rendering-profile/rendering-profile.ts +96 -0
- package/src/projection/experimental/rendering-profile/spherical-rendering-domain.ts +175 -0
- package/src/projection/experimental/scalar-output.ts +74 -0
- package/src/projection/experimental/spatial-deformation.ts +115 -0
- package/src/projection/experimental/types.ts +181 -0
- package/src/projection/experimental/typescript-projection.ts +581 -0
- package/src/projection/experimental/vertical-datum.ts +39 -0
- package/src/projection/grids/velocity.ts +5 -0
- package/src/projection/index.ts +6 -0
- package/src/projection/lib/projection.ts +161 -0
- package/src/projection/numerical-derivative.ts +50 -0
- package/src/projection/operations.ts +479 -0
- package/src/projection/pipeline.ts +4 -0
- package/src/projection/temporal.ts +133 -0
- package/src/projection/transform-analysis.ts +169 -0
- package/src/projection/types.ts +79 -0
- package/src/projection/web-mercator.ts +148 -0
- package/src/subdivide-globe-mesh.ts +75 -0
- package/src/tile-matrix.ts +205 -34
- package/src/tiles.ts +28 -0
- package/src/web-mercator.ts +5 -0
- package/src/wkb/index.ts +38 -0
- package/src/wkb/types.ts +54 -0
- package/src/wkb/wkb-builder.ts +386 -0
- package/src/wkb/wkb-reader.ts +401 -0
- package/src/wkb/wkb.ts +255 -0
- package/src/wkb/wkt.ts +375 -0
|
@@ -0,0 +1,1961 @@
|
|
|
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/projection/pipeline.js
|
|
20
|
+
var pipeline_exports = {};
|
|
21
|
+
__export(pipeline_exports, {
|
|
22
|
+
ProjectionPipeline: () => ProjectionPipeline
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(pipeline_exports);
|
|
25
|
+
|
|
26
|
+
// dist/crs/spatial-reference.js
|
|
27
|
+
function inferCRSRepresentation(definition2) {
|
|
28
|
+
if (typeof definition2 === "object") {
|
|
29
|
+
return "projjson";
|
|
30
|
+
}
|
|
31
|
+
const text = definition2.trim();
|
|
32
|
+
if (/^[A-Z][A-Z0-9_]*\s*[\[(]/i.test(text)) {
|
|
33
|
+
return "wkt";
|
|
34
|
+
}
|
|
35
|
+
if (/(?:^|\s)\+?proj=/i.test(text)) {
|
|
36
|
+
return "proj-string";
|
|
37
|
+
}
|
|
38
|
+
if (/^[A-Z][A-Z0-9._-]*(?::[A-Z0-9._-]+)+$/i.test(text) || /^urn:ogc:def:crs:/i.test(text) || /^https?:\/\//i.test(text) || /^[A-Z][A-Z0-9._-]*$/i.test(text)) {
|
|
39
|
+
return "identifier";
|
|
40
|
+
}
|
|
41
|
+
return "opaque";
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// dist/crs/proj-string.js
|
|
45
|
+
var PROJStringSyntaxError = class extends SyntaxError {
|
|
46
|
+
/** Create a PROJ string syntax error at a source location. */
|
|
47
|
+
constructor(message, source, offset) {
|
|
48
|
+
const location = getSourceLocation(source, offset);
|
|
49
|
+
super(`${message} at ${location.line}:${location.column}`);
|
|
50
|
+
this.name = "PROJStringSyntaxError";
|
|
51
|
+
this.offset = offset;
|
|
52
|
+
this.line = location.line;
|
|
53
|
+
this.column = location.column;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
function parsePROJString(text) {
|
|
57
|
+
const tokens = tokenizePROJString(text);
|
|
58
|
+
if (tokens.length === 0) {
|
|
59
|
+
throw new PROJStringSyntaxError("PROJ string is empty", text, 0);
|
|
60
|
+
}
|
|
61
|
+
const parameters = tokens.map((token) => parseParameter(token.raw, token.offset, text));
|
|
62
|
+
return { type: "proj-string", parameters };
|
|
63
|
+
}
|
|
64
|
+
var DMS_VALUE = /^[+-]?\d+(?:\.\d*)?d(?:\d+(?:\.\d*)?'(?:\d+(?:\.\d*)?")?)?[NSEW]?$/i;
|
|
65
|
+
function parseParameter(rawToken, offset, source) {
|
|
66
|
+
const token = rawToken.startsWith("+") ? rawToken.slice(1) : rawToken;
|
|
67
|
+
if (!token) {
|
|
68
|
+
throw new PROJStringSyntaxError("Expected a parameter after '+'", source, offset);
|
|
69
|
+
}
|
|
70
|
+
const equalsIndex = token.indexOf("=");
|
|
71
|
+
const name = equalsIndex < 0 ? token : token.slice(0, equalsIndex);
|
|
72
|
+
if (!name || /[\s+=]/.test(name)) {
|
|
73
|
+
throw new PROJStringSyntaxError(`Invalid PROJ parameter name '${name}'`, source, offset);
|
|
74
|
+
}
|
|
75
|
+
if (equalsIndex < 0) {
|
|
76
|
+
return { type: "parameter", name };
|
|
77
|
+
}
|
|
78
|
+
const rawValue = token.slice(equalsIndex + 1);
|
|
79
|
+
const value = decodeParameterValue(rawValue, source, offset + equalsIndex + 1);
|
|
80
|
+
return { type: "parameter", name, value, rawValue };
|
|
81
|
+
}
|
|
82
|
+
function tokenizePROJString(source) {
|
|
83
|
+
const tokens = [];
|
|
84
|
+
let offset = 0;
|
|
85
|
+
while (offset < source.length) {
|
|
86
|
+
while (offset < source.length && /\s/.test(source[offset])) {
|
|
87
|
+
offset++;
|
|
88
|
+
}
|
|
89
|
+
if (offset >= source.length) {
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
const start = offset;
|
|
93
|
+
let quote = null;
|
|
94
|
+
let escaped = false;
|
|
95
|
+
while (offset < source.length) {
|
|
96
|
+
const character = source[offset];
|
|
97
|
+
if (escaped) {
|
|
98
|
+
escaped = false;
|
|
99
|
+
offset++;
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
if (character === "\\" && quote) {
|
|
103
|
+
escaped = true;
|
|
104
|
+
offset++;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (quote) {
|
|
108
|
+
if (character === quote) {
|
|
109
|
+
quote = null;
|
|
110
|
+
}
|
|
111
|
+
offset++;
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
if ((character === '"' || character === "'") && source[offset - 1] === "=") {
|
|
115
|
+
quote = character;
|
|
116
|
+
offset++;
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
if (/\s/.test(character)) {
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
offset++;
|
|
123
|
+
}
|
|
124
|
+
if (quote) {
|
|
125
|
+
throw new PROJStringSyntaxError("Unterminated quoted PROJ value", source, start);
|
|
126
|
+
}
|
|
127
|
+
tokens.push({ raw: source.slice(start, offset), offset: start });
|
|
128
|
+
}
|
|
129
|
+
return tokens;
|
|
130
|
+
}
|
|
131
|
+
function decodeParameterValue(rawValue, source, offset) {
|
|
132
|
+
if (!rawValue) {
|
|
133
|
+
return "";
|
|
134
|
+
}
|
|
135
|
+
const first = rawValue[0];
|
|
136
|
+
if (first !== '"' && first !== "'") {
|
|
137
|
+
if ((rawValue.includes('"') || rawValue.includes("'")) && !DMS_VALUE.test(rawValue)) {
|
|
138
|
+
throw new PROJStringSyntaxError("Quote must begin a PROJ parameter value", source, offset);
|
|
139
|
+
}
|
|
140
|
+
return rawValue;
|
|
141
|
+
}
|
|
142
|
+
if (rawValue[rawValue.length - 1] !== first) {
|
|
143
|
+
throw new PROJStringSyntaxError("Unterminated quoted PROJ value", source, offset);
|
|
144
|
+
}
|
|
145
|
+
let value = "";
|
|
146
|
+
for (let index = 1; index < rawValue.length - 1; index++) {
|
|
147
|
+
const character = rawValue[index];
|
|
148
|
+
if (character === "\\" && index + 1 < rawValue.length - 1) {
|
|
149
|
+
value += rawValue[++index];
|
|
150
|
+
} else {
|
|
151
|
+
value += character;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return value;
|
|
155
|
+
}
|
|
156
|
+
function getSourceLocation(source, offset) {
|
|
157
|
+
let line = 1;
|
|
158
|
+
let column = 1;
|
|
159
|
+
for (let index = 0; index < offset && index < source.length; index++) {
|
|
160
|
+
if (source[index] === "\n") {
|
|
161
|
+
line++;
|
|
162
|
+
column = 1;
|
|
163
|
+
} else {
|
|
164
|
+
column++;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return { line, column };
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// dist/projection/experimental/crs/types.js
|
|
171
|
+
var _a;
|
|
172
|
+
var CRS_ERROR = /* @__PURE__ */ Symbol.for("@math.gl/projection/TypeScriptCRSError");
|
|
173
|
+
var TypeScriptCRSError = class _TypeScriptCRSError extends Error {
|
|
174
|
+
static [(_a = CRS_ERROR, Symbol.hasInstance)](value) {
|
|
175
|
+
if (this !== _TypeScriptCRSError)
|
|
176
|
+
return Function.prototype[Symbol.hasInstance].call(this, value);
|
|
177
|
+
return value instanceof Error && value[CRS_ERROR] === true;
|
|
178
|
+
}
|
|
179
|
+
constructor(reason, message) {
|
|
180
|
+
super(message);
|
|
181
|
+
this.reason = reason;
|
|
182
|
+
this[_a] = true;
|
|
183
|
+
this.name = "TypeScriptCRSError";
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
function unsupportedStage(message) {
|
|
187
|
+
throw new TypeScriptCRSError("missing-transform-stage", message);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// dist/projection/experimental/crs/spatial-reference.js
|
|
191
|
+
function resolveCRSInput(input, options) {
|
|
192
|
+
if (typeof input === "string" || "type" in input)
|
|
193
|
+
return { definition: input, lossy: false };
|
|
194
|
+
const metadata = input;
|
|
195
|
+
const spatialReference = "crs" in metadata ? metadata : void 0;
|
|
196
|
+
const reference = "crs" in metadata ? metadata.crs : metadata;
|
|
197
|
+
if (reference.state !== "explicit" && reference.state !== "default")
|
|
198
|
+
throw new TypeScriptCRSError("unknown-syntax", "Cannot transform an " + reference.state + " CRS reference");
|
|
199
|
+
let lossy = false;
|
|
200
|
+
if ((spatialReference == null ? void 0 : spatialReference.coordinateEpoch) !== void 0)
|
|
201
|
+
unsupportedStage("Coordinate epochs require a time-dependent transformation");
|
|
202
|
+
if ((spatialReference == null ? void 0 : spatialReference.vertical) && spatialReference.vertical.state !== "absent") {
|
|
203
|
+
if (options.mode !== "horizontal")
|
|
204
|
+
unsupportedStage("A separately declared vertical CRS requires explicit horizontal extraction");
|
|
205
|
+
lossy = true;
|
|
206
|
+
}
|
|
207
|
+
return { definition: reference.definition, spatialReference, lossy };
|
|
208
|
+
}
|
|
209
|
+
function applySpatialReference(crs, reference) {
|
|
210
|
+
var _a2;
|
|
211
|
+
if (!reference)
|
|
212
|
+
return crs;
|
|
213
|
+
if (reference.coordinateFrame !== "unknown" && reference.coordinateFrame !== crs.kind)
|
|
214
|
+
throw new Error("SpatialReference coordinate frame disagrees with its CRS");
|
|
215
|
+
const order = reference.coordinateOrder;
|
|
216
|
+
const names = crs.kind === "geocentric" ? { x: "e", y: "n", z: "u" } : {
|
|
217
|
+
longitude: "e",
|
|
218
|
+
lon: "e",
|
|
219
|
+
latitude: "n",
|
|
220
|
+
lat: "n",
|
|
221
|
+
easting: "e",
|
|
222
|
+
northing: "n",
|
|
223
|
+
height: "u",
|
|
224
|
+
altitude: "u",
|
|
225
|
+
x: "e",
|
|
226
|
+
y: "n",
|
|
227
|
+
z: "u"
|
|
228
|
+
};
|
|
229
|
+
let storedAxis;
|
|
230
|
+
if (order.length) {
|
|
231
|
+
storedAxis = order.slice(0, 3).map((name) => names[name.toLowerCase()] || "?").join("");
|
|
232
|
+
if (storedAxis.length === 2)
|
|
233
|
+
storedAxis += "u";
|
|
234
|
+
if (storedAxis.length !== 3 || !storedAxis.includes("e") || !storedAxis.includes("n") || !storedAxis.includes("u"))
|
|
235
|
+
unsupportedStage("Unsupported SpatialReference coordinate order");
|
|
236
|
+
if (order.length > 4 || order.length > 3 && !["m", "measure"].includes(order[3]))
|
|
237
|
+
unsupportedStage("Unsupported fourth coordinate component");
|
|
238
|
+
}
|
|
239
|
+
if ((_a2 = reference.units) == null ? void 0 : _a2.length) {
|
|
240
|
+
const units = {
|
|
241
|
+
m: 1,
|
|
242
|
+
meter: 1,
|
|
243
|
+
metre: 1,
|
|
244
|
+
meters: 1,
|
|
245
|
+
metres: 1,
|
|
246
|
+
km: 1e3,
|
|
247
|
+
ft: 0.3048,
|
|
248
|
+
"us-ft": 1200 / 3937,
|
|
249
|
+
degree: Math.PI / 180,
|
|
250
|
+
degrees: Math.PI / 180,
|
|
251
|
+
radian: 1,
|
|
252
|
+
radians: 1,
|
|
253
|
+
grad: Math.PI / 200
|
|
254
|
+
};
|
|
255
|
+
for (let i = 0; i < Math.min(reference.units.length, 3); i++) {
|
|
256
|
+
const vertical = (storedAxis || "enu")[i] === "u";
|
|
257
|
+
const expected = crs.kind === "geocentric" ? crs.toMeter : vertical ? crs.verticalUnit : crs.kind === "geographic" ? crs.angularUnit : crs.toMeter;
|
|
258
|
+
if (Math.abs((units[reference.units[i]] ?? NaN) - expected) > 1e-12 || units[reference.units[i]] === void 0)
|
|
259
|
+
unsupportedStage("SpatialReference units disagree with its CRS");
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return Object.freeze({ ...crs, storedAxis });
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
// dist/projection/experimental/parameters.js
|
|
266
|
+
var DEGREES_TO_RADIANS = Math.PI / 180;
|
|
267
|
+
function numberParameter(parameters, name, fallback) {
|
|
268
|
+
if (!Object.prototype.hasOwnProperty.call(parameters, name))
|
|
269
|
+
return fallback;
|
|
270
|
+
const value = parameters[name];
|
|
271
|
+
if (typeof value !== "string" || !/^[+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?$/i.test(value)) {
|
|
272
|
+
throw new Error(`Invalid numeric PROJ parameter: +${name}`);
|
|
273
|
+
}
|
|
274
|
+
const number = Number(value);
|
|
275
|
+
if (!Number.isFinite(number))
|
|
276
|
+
throw new Error(`Invalid numeric PROJ parameter: +${name}`);
|
|
277
|
+
return number;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// dist/projection/experimental/crs/datum-catalog.js
|
|
281
|
+
var wgs84 = { towgs84: "0,0,0", ellipse: "WGS84" };
|
|
282
|
+
var nad83 = { towgs84: "0,0,0", ellipse: "GRS80" };
|
|
283
|
+
var builtins = {
|
|
284
|
+
wgs84,
|
|
285
|
+
WGS84: wgs84,
|
|
286
|
+
nad83,
|
|
287
|
+
North_American_Datum_1983: nad83
|
|
288
|
+
};
|
|
289
|
+
var resolved = /* @__PURE__ */ new WeakMap();
|
|
290
|
+
var datumNameKey = (name) => name.toLowerCase().replace(/[\s_-]/g, "");
|
|
291
|
+
function getDatumDefinitions(options) {
|
|
292
|
+
var _a2;
|
|
293
|
+
if (!((_a2 = options.datumCatalogs) == null ? void 0 : _a2.length))
|
|
294
|
+
return builtins;
|
|
295
|
+
const cached = resolved.get(options);
|
|
296
|
+
if ((cached == null ? void 0 : cached.catalogs) === options.datumCatalogs)
|
|
297
|
+
return cached.definitions;
|
|
298
|
+
const definitions = Object.assign(/* @__PURE__ */ Object.create(null), builtins);
|
|
299
|
+
const names = new Map(Object.entries(builtins).map(([name, definition2]) => [
|
|
300
|
+
datumNameKey(name),
|
|
301
|
+
{ definition: definition2, owner: -1 }
|
|
302
|
+
]));
|
|
303
|
+
options.datumCatalogs.forEach((catalog, owner) => {
|
|
304
|
+
if (!catalog.name || !catalog.datums)
|
|
305
|
+
throw new Error("Invalid datum catalogue plugin");
|
|
306
|
+
for (const [name, definition2] of Object.entries(catalog.datums)) {
|
|
307
|
+
const key = datumNameKey(name);
|
|
308
|
+
if (!key || key === "none" || !definition2 || ["ellipse", "towgs84", "nadgrids"].some((field) => definition2[field] !== void 0 && typeof definition2[field] !== "string"))
|
|
309
|
+
throw new Error("Invalid datum definition: " + name);
|
|
310
|
+
const previous = names.get(key);
|
|
311
|
+
if (previous && (previous.owner !== owner || previous.definition.ellipse !== definition2.ellipse || previous.definition.towgs84 !== definition2.towgs84 || previous.definition.nadgrids !== definition2.nadgrids))
|
|
312
|
+
throw new Error("Conflicting datum registration: " + name);
|
|
313
|
+
names.set(key, { definition: definition2, owner });
|
|
314
|
+
definitions[name] = definition2;
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
resolved.set(options, { catalogs: options.datumCatalogs, definitions });
|
|
318
|
+
return definitions;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// dist/projection/experimental/crs/ellipsoid-table.js
|
|
322
|
+
var ellipsoids = {
|
|
323
|
+
MERIT: {
|
|
324
|
+
a: 6378137,
|
|
325
|
+
rf: 298.257,
|
|
326
|
+
ellipseName: "MERIT 1983"
|
|
327
|
+
},
|
|
328
|
+
SGS85: {
|
|
329
|
+
a: 6378136,
|
|
330
|
+
rf: 298.257,
|
|
331
|
+
ellipseName: "Soviet Geodetic System 85"
|
|
332
|
+
},
|
|
333
|
+
GRS80: {
|
|
334
|
+
a: 6378137,
|
|
335
|
+
rf: 298.257222101,
|
|
336
|
+
ellipseName: "GRS 1980(IUGG, 1980)"
|
|
337
|
+
},
|
|
338
|
+
IAU76: {
|
|
339
|
+
a: 6378140,
|
|
340
|
+
rf: 298.257,
|
|
341
|
+
ellipseName: "IAU 1976"
|
|
342
|
+
},
|
|
343
|
+
airy: {
|
|
344
|
+
a: 6377563396e-3,
|
|
345
|
+
b: 635625691e-2,
|
|
346
|
+
ellipseName: "Airy 1830"
|
|
347
|
+
},
|
|
348
|
+
APL4: {
|
|
349
|
+
a: 6378137,
|
|
350
|
+
rf: 298.25,
|
|
351
|
+
ellipseName: "Appl. Physics. 1965"
|
|
352
|
+
},
|
|
353
|
+
NWL9D: {
|
|
354
|
+
a: 6378145,
|
|
355
|
+
rf: 298.25,
|
|
356
|
+
ellipseName: "Naval Weapons Lab., 1965"
|
|
357
|
+
},
|
|
358
|
+
mod_airy: {
|
|
359
|
+
a: 6377340189e-3,
|
|
360
|
+
b: 6356034446e-3,
|
|
361
|
+
ellipseName: "Modified Airy"
|
|
362
|
+
},
|
|
363
|
+
andrae: {
|
|
364
|
+
a: 637710443e-2,
|
|
365
|
+
rf: 300,
|
|
366
|
+
ellipseName: "Andrae 1876 (Den., Iclnd.)"
|
|
367
|
+
},
|
|
368
|
+
aust_SA: {
|
|
369
|
+
a: 6378160,
|
|
370
|
+
rf: 298.25,
|
|
371
|
+
ellipseName: "Australian Natl & S. Amer. 1969"
|
|
372
|
+
},
|
|
373
|
+
GRS67: {
|
|
374
|
+
a: 6378160,
|
|
375
|
+
rf: 298.247167427,
|
|
376
|
+
ellipseName: "GRS 67(IUGG 1967)"
|
|
377
|
+
},
|
|
378
|
+
bessel: {
|
|
379
|
+
a: 6377397155e-3,
|
|
380
|
+
rf: 299.1528128,
|
|
381
|
+
ellipseName: "Bessel 1841"
|
|
382
|
+
},
|
|
383
|
+
bess_nam: {
|
|
384
|
+
a: 6377483865e-3,
|
|
385
|
+
rf: 299.1528128,
|
|
386
|
+
ellipseName: "Bessel 1841 (Namibia)"
|
|
387
|
+
},
|
|
388
|
+
clrk66: {
|
|
389
|
+
a: 63782064e-1,
|
|
390
|
+
b: 63565838e-1,
|
|
391
|
+
ellipseName: "Clarke 1866"
|
|
392
|
+
},
|
|
393
|
+
clrk80: {
|
|
394
|
+
a: 6378249145e-3,
|
|
395
|
+
rf: 293.4663,
|
|
396
|
+
ellipseName: "Clarke 1880 mod."
|
|
397
|
+
},
|
|
398
|
+
clrk80ign: {
|
|
399
|
+
a: 63782492e-1,
|
|
400
|
+
b: 6356515,
|
|
401
|
+
rf: 293.4660213,
|
|
402
|
+
ellipseName: "Clarke 1880 (IGN)"
|
|
403
|
+
},
|
|
404
|
+
clrk58: {
|
|
405
|
+
a: 6378293645208759e-9,
|
|
406
|
+
rf: 294.2606763692654,
|
|
407
|
+
ellipseName: "Clarke 1858"
|
|
408
|
+
},
|
|
409
|
+
CPM: {
|
|
410
|
+
a: 63757387e-1,
|
|
411
|
+
rf: 334.29,
|
|
412
|
+
ellipseName: "Comm. des Poids et Mesures 1799"
|
|
413
|
+
},
|
|
414
|
+
delmbr: {
|
|
415
|
+
a: 6376428,
|
|
416
|
+
rf: 311.5,
|
|
417
|
+
ellipseName: "Delambre 1810 (Belgium)"
|
|
418
|
+
},
|
|
419
|
+
engelis: {
|
|
420
|
+
a: 637813605e-2,
|
|
421
|
+
rf: 298.2566,
|
|
422
|
+
ellipseName: "Engelis 1985"
|
|
423
|
+
},
|
|
424
|
+
evrst30: {
|
|
425
|
+
a: 6377276345e-3,
|
|
426
|
+
rf: 300.8017,
|
|
427
|
+
ellipseName: "Everest 1830"
|
|
428
|
+
},
|
|
429
|
+
evrst48: {
|
|
430
|
+
a: 6377304063e-3,
|
|
431
|
+
rf: 300.8017,
|
|
432
|
+
ellipseName: "Everest 1948"
|
|
433
|
+
},
|
|
434
|
+
evrst56: {
|
|
435
|
+
a: 6377301243e-3,
|
|
436
|
+
rf: 300.8017,
|
|
437
|
+
ellipseName: "Everest 1956"
|
|
438
|
+
},
|
|
439
|
+
evrst69: {
|
|
440
|
+
a: 6377295664e-3,
|
|
441
|
+
rf: 300.8017,
|
|
442
|
+
ellipseName: "Everest 1969"
|
|
443
|
+
},
|
|
444
|
+
evrstSS: {
|
|
445
|
+
a: 6377298556e-3,
|
|
446
|
+
rf: 300.8017,
|
|
447
|
+
ellipseName: "Everest (Sabah & Sarawak)"
|
|
448
|
+
},
|
|
449
|
+
fschr60: {
|
|
450
|
+
a: 6378166,
|
|
451
|
+
rf: 298.3,
|
|
452
|
+
ellipseName: "Fischer (Mercury Datum) 1960"
|
|
453
|
+
},
|
|
454
|
+
fschr60m: {
|
|
455
|
+
a: 6378155,
|
|
456
|
+
rf: 298.3,
|
|
457
|
+
ellipseName: "Fischer 1960"
|
|
458
|
+
},
|
|
459
|
+
fschr68: {
|
|
460
|
+
a: 6378150,
|
|
461
|
+
rf: 298.3,
|
|
462
|
+
ellipseName: "Fischer 1968"
|
|
463
|
+
},
|
|
464
|
+
helmert: {
|
|
465
|
+
a: 6378200,
|
|
466
|
+
rf: 298.3,
|
|
467
|
+
ellipseName: "Helmert 1906"
|
|
468
|
+
},
|
|
469
|
+
hough: {
|
|
470
|
+
a: 6378270,
|
|
471
|
+
rf: 297,
|
|
472
|
+
ellipseName: "Hough"
|
|
473
|
+
},
|
|
474
|
+
intl: {
|
|
475
|
+
a: 6378388,
|
|
476
|
+
rf: 297,
|
|
477
|
+
ellipseName: "International 1909 (Hayford)"
|
|
478
|
+
},
|
|
479
|
+
kaula: {
|
|
480
|
+
a: 6378163,
|
|
481
|
+
rf: 298.24,
|
|
482
|
+
ellipseName: "Kaula 1961"
|
|
483
|
+
},
|
|
484
|
+
lerch: {
|
|
485
|
+
a: 6378139,
|
|
486
|
+
rf: 298.257,
|
|
487
|
+
ellipseName: "Lerch 1979"
|
|
488
|
+
},
|
|
489
|
+
mprts: {
|
|
490
|
+
a: 6397300,
|
|
491
|
+
rf: 191,
|
|
492
|
+
ellipseName: "Maupertius 1738"
|
|
493
|
+
},
|
|
494
|
+
new_intl: {
|
|
495
|
+
a: 63781575e-1,
|
|
496
|
+
b: 63567722e-1,
|
|
497
|
+
ellipseName: "New International 1967"
|
|
498
|
+
},
|
|
499
|
+
plessis: {
|
|
500
|
+
a: 6376523,
|
|
501
|
+
b: 6355863,
|
|
502
|
+
ellipseName: "Plessis 1817 (France)"
|
|
503
|
+
},
|
|
504
|
+
krass: {
|
|
505
|
+
a: 6378245,
|
|
506
|
+
rf: 298.3,
|
|
507
|
+
ellipseName: "Krassovsky, 1942"
|
|
508
|
+
},
|
|
509
|
+
SEasia: {
|
|
510
|
+
a: 6378155,
|
|
511
|
+
b: 63567733205e-4,
|
|
512
|
+
ellipseName: "Southeast Asia"
|
|
513
|
+
},
|
|
514
|
+
walbeck: {
|
|
515
|
+
a: 6376896,
|
|
516
|
+
b: 63558348467e-4,
|
|
517
|
+
ellipseName: "Walbeck"
|
|
518
|
+
},
|
|
519
|
+
WGS60: {
|
|
520
|
+
a: 6378165,
|
|
521
|
+
rf: 298.3,
|
|
522
|
+
ellipseName: "WGS 60"
|
|
523
|
+
},
|
|
524
|
+
WGS66: {
|
|
525
|
+
a: 6378145,
|
|
526
|
+
rf: 298.25,
|
|
527
|
+
ellipseName: "WGS 66"
|
|
528
|
+
},
|
|
529
|
+
WGS72: {
|
|
530
|
+
a: 6378135,
|
|
531
|
+
rf: 298.26,
|
|
532
|
+
ellipseName: "WGS 72"
|
|
533
|
+
},
|
|
534
|
+
WGS84: {
|
|
535
|
+
a: 6378137,
|
|
536
|
+
rf: 298.257223563,
|
|
537
|
+
ellipseName: "WGS 84"
|
|
538
|
+
},
|
|
539
|
+
sphere: {
|
|
540
|
+
a: 6370997,
|
|
541
|
+
b: 6370997,
|
|
542
|
+
ellipseName: "Normal Sphere (r=6370997)"
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
var ellipsoid_table_default = ellipsoids;
|
|
546
|
+
|
|
547
|
+
// dist/projection/experimental/crs/primemeridian-table.js
|
|
548
|
+
var primeMeridian = {};
|
|
549
|
+
primeMeridian["greenwich"] = 0;
|
|
550
|
+
primeMeridian["lisbon"] = -9.131906111111;
|
|
551
|
+
primeMeridian["paris"] = 2.337229166667;
|
|
552
|
+
primeMeridian["bogota"] = -74.080916666667;
|
|
553
|
+
primeMeridian["madrid"] = -3.687938888889;
|
|
554
|
+
primeMeridian["rome"] = 12.452333333333;
|
|
555
|
+
primeMeridian["bern"] = 7.439583333333;
|
|
556
|
+
primeMeridian["jakarta"] = 106.807719444444;
|
|
557
|
+
primeMeridian["ferro"] = -17.666666666667;
|
|
558
|
+
primeMeridian["brussels"] = 4.367975;
|
|
559
|
+
primeMeridian["stockholm"] = 18.058277777778;
|
|
560
|
+
primeMeridian["athens"] = 23.7163375;
|
|
561
|
+
primeMeridian["oslo"] = 10.722916666667;
|
|
562
|
+
var primemeridian_table_default = primeMeridian;
|
|
563
|
+
|
|
564
|
+
// dist/crs/units-table.js
|
|
565
|
+
var linearUnits = {
|
|
566
|
+
m: { name: "meters", metersPerUnit: 1 },
|
|
567
|
+
mm: { name: "millimeters", metersPerUnit: 1e-3 },
|
|
568
|
+
cm: { name: "centimeters", metersPerUnit: 0.01 },
|
|
569
|
+
ft: { name: "feet", metersPerUnit: 0.3048 },
|
|
570
|
+
"us-ft": { name: "us-survey-feet", metersPerUnit: 1200 / 3937 },
|
|
571
|
+
fath: { name: "fathoms", metersPerUnit: 1.8288 },
|
|
572
|
+
kmi: { name: "nautical-miles", metersPerUnit: 1852 },
|
|
573
|
+
"us-ch": { name: "us-survey-chains", metersPerUnit: 20.1168402336805 },
|
|
574
|
+
"us-mi": { name: "us-survey-miles", metersPerUnit: 1609.34721869444 },
|
|
575
|
+
km: { name: "kilometers", metersPerUnit: 1e3 },
|
|
576
|
+
"ind-ft": { name: "indian-feet", metersPerUnit: 0.30479841 },
|
|
577
|
+
"ind-yd": { name: "indian-yards", metersPerUnit: 0.91439523 },
|
|
578
|
+
mi: { name: "miles", metersPerUnit: 1609.344 },
|
|
579
|
+
yd: { name: "yards", metersPerUnit: 0.9144 },
|
|
580
|
+
ch: { name: "chains", metersPerUnit: 20.1168 },
|
|
581
|
+
link: { name: "links", metersPerUnit: 0.201168 },
|
|
582
|
+
dm: { name: "decimeters", metersPerUnit: 0.1 },
|
|
583
|
+
in: { name: "inches", metersPerUnit: 0.0254 },
|
|
584
|
+
"ind-ch": { name: "indian-chains", metersPerUnit: 20.11669506 },
|
|
585
|
+
"us-in": { name: "us-survey-inches", metersPerUnit: 0.025400050800101 },
|
|
586
|
+
"us-yd": { name: "us-survey-yards", metersPerUnit: 0.914401828803658 }
|
|
587
|
+
};
|
|
588
|
+
|
|
589
|
+
// dist/projection/experimental/crs/normalize.js
|
|
590
|
+
var ALIASES = {
|
|
591
|
+
WGS84: "+proj=longlat +datum=WGS84",
|
|
592
|
+
"EPSG:4326": "+proj=longlat +datum=WGS84",
|
|
593
|
+
"EPSG:4269": "+proj=longlat +datum=NAD83",
|
|
594
|
+
"EPSG:4978": "+proj=geocent +datum=WGS84",
|
|
595
|
+
"EPSG:4979": "+proj=longlat +datum=WGS84",
|
|
596
|
+
"EPSG:3857": "+proj=merc +a=6378137 +b=6378137 +nadgrids=@null +units=m",
|
|
597
|
+
"EPSG:3785": "EPSG:3857",
|
|
598
|
+
GOOGLE: "EPSG:3857",
|
|
599
|
+
"EPSG:900913": "EPSG:3857",
|
|
600
|
+
"EPSG:102113": "EPSG:3857"
|
|
601
|
+
};
|
|
602
|
+
var CORE_PARAMETERS = [
|
|
603
|
+
"proj",
|
|
604
|
+
"datum",
|
|
605
|
+
"ellps",
|
|
606
|
+
"a",
|
|
607
|
+
"b",
|
|
608
|
+
"rf",
|
|
609
|
+
"f",
|
|
610
|
+
"R",
|
|
611
|
+
"units",
|
|
612
|
+
"to_meter",
|
|
613
|
+
"vunits",
|
|
614
|
+
"vto_meter",
|
|
615
|
+
"no_defs",
|
|
616
|
+
"type",
|
|
617
|
+
"title",
|
|
618
|
+
"towgs84",
|
|
619
|
+
"nadgrids",
|
|
620
|
+
"geoidgrids",
|
|
621
|
+
"axis",
|
|
622
|
+
"pm",
|
|
623
|
+
"over",
|
|
624
|
+
"lon_wrap"
|
|
625
|
+
];
|
|
626
|
+
var own = (object, key) => Object.prototype.hasOwnProperty.call(object, key);
|
|
627
|
+
var keyOf = (value) => value.toLowerCase().replace(/[\s_-]/g, "");
|
|
628
|
+
function lookup(table, name) {
|
|
629
|
+
const key = Object.keys(table).find((key2) => keyOf(key2) === keyOf(name));
|
|
630
|
+
return key === void 0 ? void 0 : table[key];
|
|
631
|
+
}
|
|
632
|
+
function parseAngle(text) {
|
|
633
|
+
if (/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i.test(text)) {
|
|
634
|
+
const value = Number(text);
|
|
635
|
+
if (Number.isFinite(value))
|
|
636
|
+
return value;
|
|
637
|
+
}
|
|
638
|
+
if (/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?r$/i.test(text)) {
|
|
639
|
+
const value = Number(text.slice(0, -1)) / DEGREES_TO_RADIANS;
|
|
640
|
+
if (Number.isFinite(value))
|
|
641
|
+
return value;
|
|
642
|
+
}
|
|
643
|
+
const dms = /^([+-]?)(\d+(?:\.\d*)?)(?:d(?:(\d+(?:\.\d*)?)'(?:(\d+(?:\.\d*)?)")?)?)?([NSEW])?$/i.exec(text);
|
|
644
|
+
if (dms && (/d/i.test(text) || dms[5])) {
|
|
645
|
+
const minutes = Number(dms[3] || 0), seconds = Number(dms[4] || 0);
|
|
646
|
+
if (minutes < 60 && seconds < 60) {
|
|
647
|
+
const sign = dms[1] === "-" ? -1 : 1;
|
|
648
|
+
const direction = /[SW]/i.test(dms[5] || "") ? -1 : 1;
|
|
649
|
+
const value = sign * direction * (Number(dms[2]) + minutes / 60 + seconds / 3600);
|
|
650
|
+
if (Number.isFinite(value))
|
|
651
|
+
return value;
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
throw new Error("Invalid angular parameter: " + text);
|
|
655
|
+
}
|
|
656
|
+
function normalizeCRS(input, options = {}) {
|
|
657
|
+
var _a2;
|
|
658
|
+
const datums = getDatumDefinitions(options);
|
|
659
|
+
const resolved2 = resolveCRSInput(input, options);
|
|
660
|
+
let definition2 = resolved2.definition;
|
|
661
|
+
const aliases = options.aliases || {};
|
|
662
|
+
const visited = /* @__PURE__ */ new Set();
|
|
663
|
+
while (typeof definition2 === "string" && (own(aliases, definition2) || own(ALIASES, definition2))) {
|
|
664
|
+
if (visited.has(definition2))
|
|
665
|
+
throw new Error("Circular CRS alias: " + definition2);
|
|
666
|
+
visited.add(definition2);
|
|
667
|
+
definition2 = own(aliases, definition2) ? aliases[definition2] : ALIASES[definition2];
|
|
668
|
+
}
|
|
669
|
+
if (typeof definition2 === "string") {
|
|
670
|
+
const utm = /^EPSG:(326|327)(\d{2})$/.exec(definition2);
|
|
671
|
+
if (utm && Number(utm[2]) >= 1 && Number(utm[2]) <= 60) {
|
|
672
|
+
definition2 = "+proj=utm +datum=WGS84 +zone=" + Number(utm[2]) + (utm[1] === "327" ? " +south" : "");
|
|
673
|
+
}
|
|
674
|
+
if (definition2 === "EPSG:5041" || definition2 === "EPSG:5042") {
|
|
675
|
+
definition2 = "+proj=stere +datum=WGS84 +lat_0=" + (definition2 === "EPSG:5041" ? 90 : -90) + " +k_0=0.994 +x_0=2000000 +y_0=2000000";
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
let parsed;
|
|
679
|
+
if (inferCRSRepresentation(definition2) === "proj-string" && typeof definition2 === "string") {
|
|
680
|
+
const parameters2 = /* @__PURE__ */ Object.create(null);
|
|
681
|
+
for (const parameter of parsePROJString(definition2).parameters) {
|
|
682
|
+
if (own(parameters2, parameter.name))
|
|
683
|
+
throw new Error("Duplicate PROJ parameter: +" + parameter.name);
|
|
684
|
+
parameters2[parameter.name] = parameter.value;
|
|
685
|
+
}
|
|
686
|
+
parsed = { parameters: parameters2 };
|
|
687
|
+
} else {
|
|
688
|
+
const parser = (_a2 = options.parsers) == null ? void 0 : _a2.find((candidate) => candidate.canParse(definition2));
|
|
689
|
+
if (!parser) {
|
|
690
|
+
const serialized = ["wkt", "projjson"].includes(inferCRSRepresentation(definition2));
|
|
691
|
+
throw new TypeScriptCRSError(serialized ? "missing-parser" : "unknown-syntax", "Unsupported CRS definition; register a WKT or PROJJSON parser for structured definitions");
|
|
692
|
+
}
|
|
693
|
+
parsed = parser.parse(definition2, options);
|
|
694
|
+
}
|
|
695
|
+
const parameters = { ...parsed.parameters };
|
|
696
|
+
for (const name2 of [
|
|
697
|
+
"lon_0",
|
|
698
|
+
"lat_0",
|
|
699
|
+
"lat_1",
|
|
700
|
+
"lat_2",
|
|
701
|
+
"lat_ts",
|
|
702
|
+
"lon_wrap",
|
|
703
|
+
"lon_1",
|
|
704
|
+
"lon_2",
|
|
705
|
+
"lonc",
|
|
706
|
+
"alpha",
|
|
707
|
+
"gamma",
|
|
708
|
+
"tilt",
|
|
709
|
+
"azi",
|
|
710
|
+
"o_alpha",
|
|
711
|
+
"o_lon_c",
|
|
712
|
+
"o_lat_c",
|
|
713
|
+
"o_lon_p",
|
|
714
|
+
"o_lat_p",
|
|
715
|
+
"o_lon_1",
|
|
716
|
+
"o_lat_1",
|
|
717
|
+
"o_lon_2",
|
|
718
|
+
"o_lat_2"
|
|
719
|
+
]) {
|
|
720
|
+
if (parameters[name2] !== void 0)
|
|
721
|
+
parameters[name2] = String(parseAngle(parameters[name2]));
|
|
722
|
+
}
|
|
723
|
+
const suppliedName = parameters["proj"];
|
|
724
|
+
const lowerName = suppliedName == null ? void 0 : suppliedName.toLowerCase();
|
|
725
|
+
const name = lowerName === "geocentric" ? "geocent" : ["longlat", "latlong", "latlon", "lonlat", "identity", "geocent"].includes(lowerName) ? lowerName : suppliedName;
|
|
726
|
+
if (!name)
|
|
727
|
+
throw new Error("CRS requires +proj");
|
|
728
|
+
const kind = ["longlat", "latlong", "latlon", "lonlat"].includes(name) ? "geographic" : name === "geocent" ? "geocentric" : name === "identity" ? "identity" : "projected";
|
|
729
|
+
const datumName = parameters["datum"];
|
|
730
|
+
const datum = datumName && datumName !== "none" ? lookup(datums, datumName) : void 0;
|
|
731
|
+
if (datumName && datumName !== "none" && !datum)
|
|
732
|
+
unsupportedStage("Unknown datum: " + datumName + "; register a datumCatalogs plugin");
|
|
733
|
+
const ellipsoid = getEllipsoid(parameters, datum == null ? void 0 : datum.ellipse);
|
|
734
|
+
const grids = parameters["nadgrids"] ?? (datum == null ? void 0 : datum.nadgrids);
|
|
735
|
+
const gridReferences = grids === void 0 ? void 0 : grids.split(",").map((entry) => {
|
|
736
|
+
const optional = entry.startsWith("@");
|
|
737
|
+
const name2 = optional ? entry.slice(1) : entry;
|
|
738
|
+
if (!name2 || /\s/.test(name2))
|
|
739
|
+
throw new Error("Invalid datum grid name");
|
|
740
|
+
return Object.freeze({ name: name2, optional });
|
|
741
|
+
});
|
|
742
|
+
const rawShift = parameters["towgs84"] ?? (datum == null ? void 0 : datum.towgs84);
|
|
743
|
+
let shift;
|
|
744
|
+
if (rawShift !== void 0) {
|
|
745
|
+
shift = rawShift.split(",").map((value) => numberParameter({ value }, "value", NaN));
|
|
746
|
+
if (![3, 7].includes(shift.length) || shift.some((value) => !Number.isFinite(value)) || shift.length === 7 && shift[6] <= -1e6) {
|
|
747
|
+
throw new Error("+towgs84 requires three or seven finite values and positive scale");
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
if (datumName === "none")
|
|
751
|
+
shift = void 0;
|
|
752
|
+
if (gridReferences && datumName !== "none")
|
|
753
|
+
shift = [0, 0, 0];
|
|
754
|
+
const datumEllipsoid = grids === "@null" || grids === "null" ? getEllipsoid({ ellps: "WGS84" }) : ellipsoid;
|
|
755
|
+
const axis = parameters["axis"] || "enu";
|
|
756
|
+
if (axis.length !== 3 || !/[ew]/.test(axis) || !/[ns]/.test(axis) || !/[ud]/.test(axis))
|
|
757
|
+
throw new Error("Invalid axis: " + axis);
|
|
758
|
+
const angularUnit = parsed.angularUnit ?? DEGREES_TO_RADIANS;
|
|
759
|
+
if (kind === "geographic" && (parameters["units"] && parameters["units"] !== "degrees" || own(parameters, "to_meter")))
|
|
760
|
+
throw new Error("Geographic coordinates must use angular units");
|
|
761
|
+
if (kind !== "geographic" && parameters["units"] === "degrees")
|
|
762
|
+
throw new Error("Linear coordinates require linear units");
|
|
763
|
+
const toMeter = unitFactor(parameters, "units", "to_meter");
|
|
764
|
+
const verticalUnit = parsed.verticalUnit ?? unitFactor(parameters, "vunits", "vto_meter");
|
|
765
|
+
if (!(verticalUnit > 0) || !Number.isFinite(verticalUnit))
|
|
766
|
+
throw new Error("Invalid vertical unit");
|
|
767
|
+
if (!(angularUnit > 0) || !Number.isFinite(angularUnit))
|
|
768
|
+
throw new Error("Invalid angular unit");
|
|
769
|
+
const pm = parameters["pm"];
|
|
770
|
+
const primeMeridian2 = pm === void 0 ? 0 : (lookup(primemeridian_table_default, pm) ?? parseAngle(pm)) * DEGREES_TO_RADIANS;
|
|
771
|
+
return applySpatialReference(Object.freeze({
|
|
772
|
+
kind,
|
|
773
|
+
projection: name,
|
|
774
|
+
parameters: Object.freeze(parameters),
|
|
775
|
+
ellipsoid,
|
|
776
|
+
datum: Object.freeze({
|
|
777
|
+
ellipsoid: datumEllipsoid,
|
|
778
|
+
towgs84: shift && Object.freeze(shift),
|
|
779
|
+
grids: datumName === "none" || grids === "@null" || grids === "null" ? void 0 : gridReferences && Object.freeze(gridReferences)
|
|
780
|
+
}),
|
|
781
|
+
areaOfUse: parsed.areaOfUse,
|
|
782
|
+
angularUnit,
|
|
783
|
+
toMeter,
|
|
784
|
+
verticalUnit,
|
|
785
|
+
primeMeridian: primeMeridian2,
|
|
786
|
+
axis,
|
|
787
|
+
longitudeWrap: parameters["lon_wrap"] === void 0 ? void 0 : Number(parameters["lon_wrap"]) * DEGREES_TO_RADIANS,
|
|
788
|
+
lossy: Boolean(parsed.lossy || resolved2.lossy)
|
|
789
|
+
}), resolved2.spatialReference);
|
|
790
|
+
}
|
|
791
|
+
function unitFactor(parameters, unitKey, factorKey) {
|
|
792
|
+
const unit = parameters[unitKey];
|
|
793
|
+
const table = linearUnits;
|
|
794
|
+
if (unitKey === "vunits" && unit === "degrees")
|
|
795
|
+
throw new Error("Height requires linear units");
|
|
796
|
+
if (unit && !["m", "degrees"].includes(unit) && !own(table, unit))
|
|
797
|
+
throw new Error("Unsupported units: " + unit);
|
|
798
|
+
const factor = numberParameter(parameters, factorKey, unit && table[unit] ? table[unit].metersPerUnit : 1);
|
|
799
|
+
if (!(factor > 0))
|
|
800
|
+
throw new Error("+" + factorKey + " must be positive");
|
|
801
|
+
return factor;
|
|
802
|
+
}
|
|
803
|
+
function getEllipsoid(parameters, datumEllipsoid) {
|
|
804
|
+
const name = datumEllipsoid || parameters["ellps"] || "WGS84";
|
|
805
|
+
const definition2 = lookup(ellipsoid_table_default, name);
|
|
806
|
+
if (!definition2)
|
|
807
|
+
throw new Error("Unsupported ellipsoid: " + name);
|
|
808
|
+
const a = numberParameter(parameters, "a", definition2.a);
|
|
809
|
+
const f = numberParameter(parameters, "f", NaN);
|
|
810
|
+
const rf = numberParameter(parameters, "rf", Number.isNaN(f) ? definition2.rf || 0 : f === 0 ? 0 : 1 / f);
|
|
811
|
+
const b = numberParameter(parameters, "b", rf ? a * (1 - 1 / rf) : own(parameters, "f") || own(parameters, "rf") || own(parameters, "a") ? a : definition2.b || a);
|
|
812
|
+
const radius = numberParameter(parameters, "R", 0);
|
|
813
|
+
if (a <= 0 || b <= 0 || b > a || rf < 0 || rf > 0 && rf <= 1 || own(parameters, "R") && radius <= 0 || !Number.isNaN(f) && (f < 0 || f >= 1))
|
|
814
|
+
throw new Error("Invalid ellipsoid dimensions");
|
|
815
|
+
return Object.freeze({
|
|
816
|
+
semiMajorAxis: radius || a,
|
|
817
|
+
semiMinorAxis: radius || b,
|
|
818
|
+
eccentricitySquared: radius ? 0 : 1 - (b / a) ** 2
|
|
819
|
+
});
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
// dist/projection/experimental/datum.js
|
|
823
|
+
var import_spheroid = require("@math.gl/core/spheroid");
|
|
824
|
+
var ARC_SECOND = Math.PI / (180 * 3600);
|
|
825
|
+
function geodeticToGeocentricInPlace(point, ellipsoid) {
|
|
826
|
+
if (Math.abs(point.y) > Math.PI / 2)
|
|
827
|
+
throw new Error("Latitude outside geocentric domain");
|
|
828
|
+
if (!(0, import_spheroid.spheroidToCartesian)(point, ellipsoid))
|
|
829
|
+
throw new Error("Geocentric coordinate must be finite");
|
|
830
|
+
}
|
|
831
|
+
function geocentricToGeodeticInPlace(point, ellipsoid) {
|
|
832
|
+
const x = point.x, y = point.y, z = point.z;
|
|
833
|
+
const { semiMajorAxis: a, semiMinorAxis: b, eccentricitySquared: es } = ellipsoid;
|
|
834
|
+
if (x === 0 && y === 0 && z === 0)
|
|
835
|
+
throw new Error("Geodetic coordinates are undefined at the Earth center");
|
|
836
|
+
if (es !== 0 && Math.abs(x) < 1e-12 * a && Math.abs(y) < 1e-12 * a && Math.hypot(x, y) < 1e-12 * a) {
|
|
837
|
+
if (!Number.isFinite(Math.hypot(x, y, z)))
|
|
838
|
+
throw new Error("Geocentric radius must be finite");
|
|
839
|
+
point.x = 0;
|
|
840
|
+
point.y = Math.sign(z) * Math.PI / 2;
|
|
841
|
+
point.z = Math.abs(z) - b;
|
|
842
|
+
return;
|
|
843
|
+
}
|
|
844
|
+
if (!(0, import_spheroid.cartesianToSpheroid)(point, ellipsoid)) {
|
|
845
|
+
if (!Number.isFinite(Math.hypot(x, y, z)))
|
|
846
|
+
throw new Error("Geocentric radius must be finite");
|
|
847
|
+
throw new Error("Geocentric inverse did not converge");
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
function createHelmert(values, inverse) {
|
|
851
|
+
const dx = values[0], dy = values[1], dz = values[2];
|
|
852
|
+
const rx = (values[3] || 0) * ARC_SECOND, ry = (values[4] || 0) * ARC_SECOND, rz = (values[5] || 0) * ARC_SECOND;
|
|
853
|
+
const scale = 1 + (values[6] || 0) / 1e6;
|
|
854
|
+
return inverse ? (point) => {
|
|
855
|
+
const x = (point.x - dx) / scale, y = (point.y - dy) / scale, z = (point.z - dz) / scale;
|
|
856
|
+
point.x = x + rz * y - ry * z;
|
|
857
|
+
point.y = -rz * x + y + rx * z;
|
|
858
|
+
point.z = ry * x - rx * y + z;
|
|
859
|
+
} : (point) => {
|
|
860
|
+
const x = point.x, y = point.y, z = point.z;
|
|
861
|
+
point.x = scale * (x - rz * y + ry * z) + dx;
|
|
862
|
+
point.y = scale * (rz * x + y - rx * z) + dy;
|
|
863
|
+
point.z = scale * (-ry * x + rx * y + z) + dz;
|
|
864
|
+
};
|
|
865
|
+
}
|
|
866
|
+
function applyDatumGrids(point, datum, inverse) {
|
|
867
|
+
for (const reference of datum.grids) {
|
|
868
|
+
if (reference.name === "null")
|
|
869
|
+
return;
|
|
870
|
+
if (!reference.grid) {
|
|
871
|
+
if (reference.optional)
|
|
872
|
+
continue;
|
|
873
|
+
throw new Error("Required datum grid is not registered: " + reference.name);
|
|
874
|
+
}
|
|
875
|
+
let found = false;
|
|
876
|
+
if (reference.grid.shiftInPlace)
|
|
877
|
+
found = reference.grid.shiftInPlace(point, inverse);
|
|
878
|
+
else {
|
|
879
|
+
const output = reference.grid.shift(point.x, point.y, inverse);
|
|
880
|
+
if (output) {
|
|
881
|
+
point.x = output[0];
|
|
882
|
+
point.y = output[1];
|
|
883
|
+
found = true;
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
if (found) {
|
|
887
|
+
if (!Number.isFinite(point.x) || !Number.isFinite(point.y) || Math.abs(point.y) > Math.PI / 2)
|
|
888
|
+
throw new Error("Datum grid produced a coordinate outside the geographic domain");
|
|
889
|
+
return;
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
throw new Error("No datum grid covers coordinate: " + datum.grids.map((grid) => grid.name).join(","));
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
// dist/projection/experimental/projection-scratch.js
|
|
896
|
+
function createPoint() {
|
|
897
|
+
return { x: 0, y: 0, z: 0 };
|
|
898
|
+
}
|
|
899
|
+
var ProjectionScratch = class {
|
|
900
|
+
constructor() {
|
|
901
|
+
this.point = createPoint();
|
|
902
|
+
this.points = [this.point];
|
|
903
|
+
this.active = 0;
|
|
904
|
+
}
|
|
905
|
+
get depth() {
|
|
906
|
+
return this.active;
|
|
907
|
+
}
|
|
908
|
+
acquire() {
|
|
909
|
+
var _a2;
|
|
910
|
+
const index = this.active++;
|
|
911
|
+
(_a2 = this.points)[index] || (_a2[index] = createPoint());
|
|
912
|
+
return this.points[index];
|
|
913
|
+
}
|
|
914
|
+
release(point) {
|
|
915
|
+
if (this.active > 0 && this.points[this.active - 1] === point)
|
|
916
|
+
this.active--;
|
|
917
|
+
}
|
|
918
|
+
};
|
|
919
|
+
|
|
920
|
+
// dist/projection/experimental/mutable-projection.js
|
|
921
|
+
function projectionOperation(implementation, inverse, geocentric = false) {
|
|
922
|
+
const mutable = inverse ? implementation.inverseInPlace : implementation.forwardInPlace;
|
|
923
|
+
if (mutable)
|
|
924
|
+
return mutable.bind(implementation);
|
|
925
|
+
if (geocentric) {
|
|
926
|
+
const operation2 = inverse ? implementation.inverse3D : implementation.forward3D;
|
|
927
|
+
return (point) => {
|
|
928
|
+
const output = operation2.call(implementation, [point.x, point.y, point.z]);
|
|
929
|
+
point.x = output[0];
|
|
930
|
+
point.y = output[1];
|
|
931
|
+
point.z = output[2];
|
|
932
|
+
};
|
|
933
|
+
}
|
|
934
|
+
const operation = inverse ? implementation.inverse : implementation.forward;
|
|
935
|
+
return (point) => {
|
|
936
|
+
const output = operation.call(implementation, point.x, point.y);
|
|
937
|
+
point.x = output[0];
|
|
938
|
+
point.y = output[1];
|
|
939
|
+
};
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
// dist/projection/experimental/numeric-flat.js
|
|
943
|
+
function createNumericFlat(steps) {
|
|
944
|
+
const program = new Float64Array(steps.length * 7);
|
|
945
|
+
for (let i = 0; i < steps.length; i++) {
|
|
946
|
+
const step = steps[i], offset = i * 7;
|
|
947
|
+
program.set(step, offset);
|
|
948
|
+
if (step[0] === 2) {
|
|
949
|
+
for (let axis = 1; axis <= 3; axis++) {
|
|
950
|
+
program[offset + axis] = Math.abs(step[axis]);
|
|
951
|
+
program[offset + axis + 3] = Math.sign(step[axis]);
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
}
|
|
955
|
+
return (coordinates, dimension, epochs) => {
|
|
956
|
+
const float32 = coordinates instanceof Float32Array;
|
|
957
|
+
const epochBuffer = typeof epochs === "number" ? void 0 : epochs;
|
|
958
|
+
for (let offset = 0, record = 0; offset < coordinates.length; offset += dimension, record++) {
|
|
959
|
+
let x = coordinates[offset], y = coordinates[offset + 1], z = dimension >= 3 ? coordinates[offset + 2] : 0;
|
|
960
|
+
if (epochBuffer && !Number.isFinite(epochBuffer[record]))
|
|
961
|
+
throw new Error("Coordinate epoch must be a finite decimal year");
|
|
962
|
+
if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(z))
|
|
963
|
+
throw new Error("Pipeline coordinate must be finite");
|
|
964
|
+
for (let step = 0; step < program.length; step += 7) {
|
|
965
|
+
const kind = program[step], a = program[step + 1], b = program[step + 2], c = program[step + 3];
|
|
966
|
+
if (kind === 0) {
|
|
967
|
+
x *= a;
|
|
968
|
+
y *= b;
|
|
969
|
+
z *= c;
|
|
970
|
+
} else if (kind === 1) {
|
|
971
|
+
x /= a;
|
|
972
|
+
y /= b;
|
|
973
|
+
z /= c;
|
|
974
|
+
} else {
|
|
975
|
+
const oldX = x, oldY = y, oldZ = z;
|
|
976
|
+
x = program[step + 4] * (a === 1 ? oldX : a === 2 ? oldY : oldZ);
|
|
977
|
+
y = program[step + 5] * (b === 1 ? oldX : b === 2 ? oldY : oldZ);
|
|
978
|
+
z = program[step + 6] * (c === 1 ? oldX : c === 2 ? oldY : oldZ);
|
|
979
|
+
}
|
|
980
|
+
if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(z))
|
|
981
|
+
throw new Error("Pipeline coordinate must be finite");
|
|
982
|
+
}
|
|
983
|
+
if (float32 && Math.max(Math.abs(x), Math.abs(y), Math.abs(z)) > 34028234663852886e22)
|
|
984
|
+
throw new Error("Pipeline output exceeds Float32 range");
|
|
985
|
+
coordinates[offset] = x;
|
|
986
|
+
coordinates[offset + 1] = y;
|
|
987
|
+
if (dimension >= 3)
|
|
988
|
+
coordinates[offset + 2] = z;
|
|
989
|
+
}
|
|
990
|
+
};
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
// dist/projection/experimental/scalar-output.js
|
|
994
|
+
var FLOAT32_MAX = 34028234663852886e22;
|
|
995
|
+
function validateScalarOutput(coordinate, output, length) {
|
|
996
|
+
if (!(Array.isArray(coordinate) || coordinate instanceof Float32Array || coordinate instanceof Float64Array))
|
|
997
|
+
throw new Error("Scalar input requires a number array, Float32Array or Float64Array");
|
|
998
|
+
if (!(Array.isArray(output) || output instanceof Float32Array || output instanceof Float64Array) || output.length < length)
|
|
999
|
+
throw new Error("Scalar output requires a preallocated number array, Float32Array or Float64Array with sufficient capacity");
|
|
1000
|
+
if (coordinate === output || Array.isArray(coordinate) || Array.isArray(output))
|
|
1001
|
+
return;
|
|
1002
|
+
const input = coordinate;
|
|
1003
|
+
const result = output;
|
|
1004
|
+
const shared = typeof SharedArrayBuffer !== "undefined" && input.buffer instanceof SharedArrayBuffer && result.buffer instanceof SharedArrayBuffer;
|
|
1005
|
+
if ((input.buffer === result.buffer || shared) && input.byteOffset < result.byteOffset + length * result.BYTES_PER_ELEMENT && result.byteOffset < input.byteOffset + input.byteLength)
|
|
1006
|
+
throw new Error("Scalar input/output views overlap; use the same view for in-place projection");
|
|
1007
|
+
}
|
|
1008
|
+
function writeScalarOutput(coordinate, output, point, length) {
|
|
1009
|
+
if (output instanceof Float32Array) {
|
|
1010
|
+
if (Math.abs(point.x) > FLOAT32_MAX || Math.abs(point.y) > FLOAT32_MAX || length >= 3 && Math.abs(point.z) > FLOAT32_MAX)
|
|
1011
|
+
throw new Error("Projected coordinate exceeds Float32 range");
|
|
1012
|
+
for (let i = 3; i < coordinate.length; i++) {
|
|
1013
|
+
const value = coordinate[i];
|
|
1014
|
+
if (Number.isFinite(value) && Math.abs(value) > FLOAT32_MAX)
|
|
1015
|
+
throw new Error("Trailing ordinate exceeds Float32 range");
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
for (let i = 3; i < coordinate.length; i++)
|
|
1019
|
+
output[i] = coordinate[i];
|
|
1020
|
+
output[0] = point.x;
|
|
1021
|
+
output[1] = point.y;
|
|
1022
|
+
if (length >= 3)
|
|
1023
|
+
output[2] = point.z;
|
|
1024
|
+
return output;
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
// dist/projection/experimental/helmert-flat.js
|
|
1028
|
+
function createHelmertFlat(coefficients, inverse, exact) {
|
|
1029
|
+
const dx = coefficients[9], dy = coefficients[10], dz = coefficients[11], scale = coefficients[12];
|
|
1030
|
+
const a = coefficients[0], b = coefficients[1], c = coefficients[2], d = coefficients[3], e = coefficients[4], f = coefficients[5], g = coefficients[6], h = coefficients[7], j = coefficients[8];
|
|
1031
|
+
return (coordinates, dimension, epochs) => {
|
|
1032
|
+
const float32 = coordinates instanceof Float32Array;
|
|
1033
|
+
const epochBuffer = typeof epochs === "number" ? void 0 : epochs;
|
|
1034
|
+
for (let offset = 0, record = 0; offset < coordinates.length; offset += dimension, record++) {
|
|
1035
|
+
let x = coordinates[offset], y = coordinates[offset + 1], z = coordinates[offset + 2];
|
|
1036
|
+
if (epochBuffer && !Number.isFinite(epochBuffer[record]))
|
|
1037
|
+
throw new Error("Coordinate epoch must be a finite decimal year");
|
|
1038
|
+
if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(z))
|
|
1039
|
+
throw new Error("Pipeline coordinate must be finite");
|
|
1040
|
+
if (inverse) {
|
|
1041
|
+
x = (x - dx) / scale;
|
|
1042
|
+
y = (y - dy) / scale;
|
|
1043
|
+
z = (z - dz) / scale;
|
|
1044
|
+
}
|
|
1045
|
+
let outX, outY, outZ;
|
|
1046
|
+
if (exact) {
|
|
1047
|
+
if (inverse) {
|
|
1048
|
+
outX = a * x + d * y + g * z;
|
|
1049
|
+
outY = b * x + e * y + h * z;
|
|
1050
|
+
outZ = c * x + f * y + j * z;
|
|
1051
|
+
} else {
|
|
1052
|
+
outX = scale * (a * x + b * y + c * z) + dx;
|
|
1053
|
+
outY = scale * (d * x + e * y + f * z) + dy;
|
|
1054
|
+
outZ = scale * (g * x + h * y + j * z) + dz;
|
|
1055
|
+
}
|
|
1056
|
+
} else if (inverse) {
|
|
1057
|
+
outX = x + c * y - b * z;
|
|
1058
|
+
outY = -c * x + y + a * z;
|
|
1059
|
+
outZ = b * x - a * y + z;
|
|
1060
|
+
} else {
|
|
1061
|
+
outX = scale * (x - c * y + b * z) + dx;
|
|
1062
|
+
outY = scale * (c * x + y - a * z) + dy;
|
|
1063
|
+
outZ = scale * (-b * x + a * y + z) + dz;
|
|
1064
|
+
}
|
|
1065
|
+
if (!Number.isFinite(outX) || !Number.isFinite(outY) || !Number.isFinite(outZ))
|
|
1066
|
+
throw new Error("Pipeline coordinate must be finite");
|
|
1067
|
+
if (float32 && Math.max(Math.abs(outX), Math.abs(outY), Math.abs(outZ)) > 34028234663852886e22)
|
|
1068
|
+
throw new Error("Pipeline output exceeds Float32 range");
|
|
1069
|
+
coordinates[offset] = outX;
|
|
1070
|
+
coordinates[offset + 1] = outY;
|
|
1071
|
+
coordinates[offset + 2] = outZ;
|
|
1072
|
+
}
|
|
1073
|
+
};
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
// dist/projection/experimental/exact-helmert.js
|
|
1077
|
+
function createExactHelmert(translation, rotation, scalePPM, coordinateFrame) {
|
|
1078
|
+
const radians = Math.PI / (180 * 3600);
|
|
1079
|
+
const [rx, ry, rz] = rotation.map((angle) => angle * radians);
|
|
1080
|
+
const cx = Math.cos(rx), sx = Math.sin(rx), cy = Math.cos(ry), sy = Math.sin(ry), cz = Math.cos(rz), sz = Math.sin(rz);
|
|
1081
|
+
let r01 = cx * sz + sx * sy * cz, r02 = sx * sz - cx * sy * cz, r10 = -cy * sz, r12 = sx * cz + cx * sy * sz, r20 = sy, r21 = -sx * cy;
|
|
1082
|
+
const r00 = cy * cz, r11 = cx * cz - sx * sy * sz, r22 = cx * cy;
|
|
1083
|
+
if (!coordinateFrame) {
|
|
1084
|
+
[r01, r10] = [r10, r01];
|
|
1085
|
+
[r02, r20] = [r20, r02];
|
|
1086
|
+
[r12, r21] = [r21, r12];
|
|
1087
|
+
}
|
|
1088
|
+
const scale = 1 + scalePPM / 1e6;
|
|
1089
|
+
const [dx, dy, dz] = translation;
|
|
1090
|
+
return {
|
|
1091
|
+
coefficients: [r00, r01, r02, r10, r11, r12, r20, r21, r22, dx, dy, dz, scale],
|
|
1092
|
+
forward(point) {
|
|
1093
|
+
const { x, y, z } = point;
|
|
1094
|
+
point.x = scale * (r00 * x + r01 * y + r02 * z) + dx;
|
|
1095
|
+
point.y = scale * (r10 * x + r11 * y + r12 * z) + dy;
|
|
1096
|
+
point.z = scale * (r20 * x + r21 * y + r22 * z) + dz;
|
|
1097
|
+
},
|
|
1098
|
+
inverse(point) {
|
|
1099
|
+
const x = (point.x - dx) / scale, y = (point.y - dy) / scale, z = (point.z - dz) / scale;
|
|
1100
|
+
point.x = r00 * x + r10 * y + r20 * z;
|
|
1101
|
+
point.y = r01 * x + r11 * y + r21 * z;
|
|
1102
|
+
point.z = r02 * x + r12 * y + r22 * z;
|
|
1103
|
+
}
|
|
1104
|
+
};
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
// dist/projection/experimental/kinematic-helmert-flat.js
|
|
1108
|
+
function createKinematicHelmertFlat(coefficients, prepare, inverse) {
|
|
1109
|
+
return (coordinates, dimension, epochs) => {
|
|
1110
|
+
const float32 = coordinates instanceof Float32Array;
|
|
1111
|
+
const epochBuffer = typeof epochs === "number" ? void 0 : epochs;
|
|
1112
|
+
const batchEpoch = typeof epochs === "number" ? epochs : void 0;
|
|
1113
|
+
let a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0;
|
|
1114
|
+
let dx = 0, dy = 0, dz = 0, scale = 1;
|
|
1115
|
+
for (let offset = 0, record = 0; offset < coordinates.length; offset += dimension, record++) {
|
|
1116
|
+
let x = coordinates[offset], y = coordinates[offset + 1], z = coordinates[offset + 2];
|
|
1117
|
+
const epoch = epochBuffer ? epochBuffer[record] : batchEpoch;
|
|
1118
|
+
if (epochBuffer && !Number.isFinite(epoch))
|
|
1119
|
+
throw new Error("Coordinate epoch must be a finite decimal year");
|
|
1120
|
+
if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(z))
|
|
1121
|
+
throw new Error("Pipeline coordinate must be finite");
|
|
1122
|
+
if (epochBuffer || offset === 0) {
|
|
1123
|
+
prepare(epoch);
|
|
1124
|
+
a = coefficients[0];
|
|
1125
|
+
b = coefficients[1];
|
|
1126
|
+
c = coefficients[2];
|
|
1127
|
+
d = coefficients[3];
|
|
1128
|
+
e = coefficients[4];
|
|
1129
|
+
f = coefficients[5];
|
|
1130
|
+
g = coefficients[6];
|
|
1131
|
+
h = coefficients[7];
|
|
1132
|
+
j = coefficients[8];
|
|
1133
|
+
dx = coefficients[9];
|
|
1134
|
+
dy = coefficients[10];
|
|
1135
|
+
dz = coefficients[11];
|
|
1136
|
+
scale = coefficients[12];
|
|
1137
|
+
}
|
|
1138
|
+
let outX, outY, outZ;
|
|
1139
|
+
if (inverse) {
|
|
1140
|
+
x = (x - dx) / scale;
|
|
1141
|
+
y = (y - dy) / scale;
|
|
1142
|
+
z = (z - dz) / scale;
|
|
1143
|
+
outX = a * x + d * y + g * z;
|
|
1144
|
+
outY = b * x + e * y + h * z;
|
|
1145
|
+
outZ = c * x + f * y + j * z;
|
|
1146
|
+
} else {
|
|
1147
|
+
outX = scale * (a * x + b * y + c * z) + dx;
|
|
1148
|
+
outY = scale * (d * x + e * y + f * z) + dy;
|
|
1149
|
+
outZ = scale * (g * x + h * y + j * z) + dz;
|
|
1150
|
+
}
|
|
1151
|
+
if (!Number.isFinite(outX) || !Number.isFinite(outY) || !Number.isFinite(outZ))
|
|
1152
|
+
throw new Error("Pipeline coordinate must be finite");
|
|
1153
|
+
if (float32 && Math.max(Math.abs(outX), Math.abs(outY), Math.abs(outZ)) > 34028234663852886e22)
|
|
1154
|
+
throw new Error("Pipeline output exceeds Float32 range");
|
|
1155
|
+
coordinates[offset] = outX;
|
|
1156
|
+
coordinates[offset + 1] = outY;
|
|
1157
|
+
coordinates[offset + 2] = outZ;
|
|
1158
|
+
}
|
|
1159
|
+
};
|
|
1160
|
+
}
|
|
1161
|
+
|
|
1162
|
+
// dist/projection/experimental/kinematic-helmert.js
|
|
1163
|
+
function createKinematicHelmert(translation, rotation, scalePPM, rates, referenceEpoch, coordinateFrame, exact) {
|
|
1164
|
+
const base = [...translation, ...rotation, scalePPM];
|
|
1165
|
+
const velocity = [
|
|
1166
|
+
...rates.translation || [0, 0, 0],
|
|
1167
|
+
...rates.rotation || [0, 0, 0],
|
|
1168
|
+
rates.scalePPM || 0
|
|
1169
|
+
];
|
|
1170
|
+
const arcsecond = Math.PI / (180 * 3600);
|
|
1171
|
+
const coefficients = new Float64Array(14);
|
|
1172
|
+
coefficients[0] = coefficients[4] = coefficients[8] = coefficients[12] = 1;
|
|
1173
|
+
coefficients[13] = NaN;
|
|
1174
|
+
function prepare(epoch) {
|
|
1175
|
+
if (typeof epoch !== "number" || !Number.isFinite(epoch))
|
|
1176
|
+
throw new Error("Kinematic Helmert requires a finite coordinate epoch");
|
|
1177
|
+
if (epoch === coefficients[13])
|
|
1178
|
+
return;
|
|
1179
|
+
const elapsed = epoch - referenceEpoch;
|
|
1180
|
+
const x = base[0] + velocity[0] * elapsed, y = base[1] + velocity[1] * elapsed, z = base[2] + velocity[2] * elapsed, rx = (base[3] + velocity[3] * elapsed) * arcsecond, ry = (base[4] + velocity[4] * elapsed) * arcsecond, rz = (base[5] + velocity[5] * elapsed) * arcsecond, nextScale = 1 + (base[6] + velocity[6] * elapsed) / 1e6;
|
|
1181
|
+
if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(z) || !Number.isFinite(rx) || !Number.isFinite(ry) || !Number.isFinite(rz) || !Number.isFinite(nextScale) || nextScale <= 0)
|
|
1182
|
+
throw new Error("Invalid epoch-adjusted Helmert parameters or scale");
|
|
1183
|
+
if (exact) {
|
|
1184
|
+
const cx = Math.cos(rx), sx = Math.sin(rx), cy = Math.cos(ry), sy = Math.sin(ry), cz = Math.cos(rz), sz = Math.sin(rz);
|
|
1185
|
+
coefficients[0] = cy * cz;
|
|
1186
|
+
coefficients[1] = cx * sz + sx * sy * cz;
|
|
1187
|
+
coefficients[2] = sx * sz - cx * sy * cz;
|
|
1188
|
+
coefficients[3] = -cy * sz;
|
|
1189
|
+
coefficients[4] = cx * cz - sx * sy * sz;
|
|
1190
|
+
coefficients[5] = sx * cz + cx * sy * sz;
|
|
1191
|
+
coefficients[6] = sy;
|
|
1192
|
+
coefficients[7] = -sx * cy;
|
|
1193
|
+
coefficients[8] = cx * cy;
|
|
1194
|
+
if (!coordinateFrame) {
|
|
1195
|
+
let saved = coefficients[1];
|
|
1196
|
+
coefficients[1] = coefficients[3];
|
|
1197
|
+
coefficients[3] = saved;
|
|
1198
|
+
saved = coefficients[2];
|
|
1199
|
+
coefficients[2] = coefficients[6];
|
|
1200
|
+
coefficients[6] = saved;
|
|
1201
|
+
saved = coefficients[5];
|
|
1202
|
+
coefficients[5] = coefficients[7];
|
|
1203
|
+
coefficients[7] = saved;
|
|
1204
|
+
}
|
|
1205
|
+
} else {
|
|
1206
|
+
const sign = coordinateFrame ? -1 : 1;
|
|
1207
|
+
coefficients[1] = -sign * rz;
|
|
1208
|
+
coefficients[2] = sign * ry;
|
|
1209
|
+
coefficients[3] = sign * rz;
|
|
1210
|
+
coefficients[5] = -sign * rx;
|
|
1211
|
+
coefficients[6] = -sign * ry;
|
|
1212
|
+
coefficients[7] = sign * rx;
|
|
1213
|
+
}
|
|
1214
|
+
coefficients[9] = x;
|
|
1215
|
+
coefficients[10] = y;
|
|
1216
|
+
coefficients[11] = z;
|
|
1217
|
+
coefficients[12] = nextScale;
|
|
1218
|
+
coefficients[13] = epoch;
|
|
1219
|
+
}
|
|
1220
|
+
return {
|
|
1221
|
+
forwardFlat: createKinematicHelmertFlat(coefficients, prepare, false),
|
|
1222
|
+
inverseFlat: createKinematicHelmertFlat(coefficients, prepare, true),
|
|
1223
|
+
forward(point, epoch) {
|
|
1224
|
+
prepare(epoch);
|
|
1225
|
+
const { x, y, z } = point;
|
|
1226
|
+
point.x = coefficients[12] * (coefficients[0] * x + coefficients[1] * y + coefficients[2] * z) + coefficients[9];
|
|
1227
|
+
point.y = coefficients[12] * (coefficients[3] * x + coefficients[4] * y + coefficients[5] * z) + coefficients[10];
|
|
1228
|
+
point.z = coefficients[12] * (coefficients[6] * x + coefficients[7] * y + coefficients[8] * z) + coefficients[11];
|
|
1229
|
+
},
|
|
1230
|
+
inverse(point, epoch) {
|
|
1231
|
+
prepare(epoch);
|
|
1232
|
+
const x = (point.x - coefficients[9]) / coefficients[12], y = (point.y - coefficients[10]) / coefficients[12], z = (point.z - coefficients[11]) / coefficients[12];
|
|
1233
|
+
point.x = coefficients[0] * x + coefficients[3] * y + coefficients[6] * z;
|
|
1234
|
+
point.y = coefficients[1] * x + coefficients[4] * y + coefficients[7] * z;
|
|
1235
|
+
point.z = coefficients[2] * x + coefficients[5] * y + coefficients[8] * z;
|
|
1236
|
+
}
|
|
1237
|
+
};
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1240
|
+
// dist/projection/experimental/projection-descriptor.js
|
|
1241
|
+
var CACHE_KEY = /* @__PURE__ */ Symbol.for("@math.gl/projection/projection-implementations");
|
|
1242
|
+
function cache() {
|
|
1243
|
+
const scope = globalThis;
|
|
1244
|
+
scope[CACHE_KEY] || (scope[CACHE_KEY] = /* @__PURE__ */ new WeakMap());
|
|
1245
|
+
return scope[CACHE_KEY];
|
|
1246
|
+
}
|
|
1247
|
+
function getLoadedProjection(projection) {
|
|
1248
|
+
var _a2;
|
|
1249
|
+
return "create" in projection ? projection : (_a2 = cache().get(projection)) == null ? void 0 : _a2.implementation;
|
|
1250
|
+
}
|
|
1251
|
+
function preloadProjection(projection) {
|
|
1252
|
+
if ("create" in projection)
|
|
1253
|
+
return Promise.resolve(projection);
|
|
1254
|
+
let state = cache().get(projection);
|
|
1255
|
+
if (!state) {
|
|
1256
|
+
state = { load: () => projection.preload() };
|
|
1257
|
+
cache().set(projection, state);
|
|
1258
|
+
}
|
|
1259
|
+
if (state.implementation)
|
|
1260
|
+
return Promise.resolve(state.implementation);
|
|
1261
|
+
const entry = state;
|
|
1262
|
+
entry.pending || (entry.pending = Promise.resolve().then(entry.load).then((plugin) => {
|
|
1263
|
+
const key = (value) => value.toLowerCase().replace(/[\s_-]/g, "");
|
|
1264
|
+
const supported = new Set([plugin.name, ...plugin.aliases || []].map(key));
|
|
1265
|
+
if (typeof plugin.create !== "function" || ![projection.name, ...projection.aliases || []].every((name) => supported.has(key(name))))
|
|
1266
|
+
throw new Error("Loaded projection does not match descriptor: " + projection.name);
|
|
1267
|
+
entry.implementation = plugin;
|
|
1268
|
+
return plugin;
|
|
1269
|
+
}).catch((error) => {
|
|
1270
|
+
entry.pending = void 0;
|
|
1271
|
+
throw error;
|
|
1272
|
+
}));
|
|
1273
|
+
return entry.pending;
|
|
1274
|
+
}
|
|
1275
|
+
|
|
1276
|
+
// dist/projection/experimental/vertical-datum.js
|
|
1277
|
+
function compileVerticalGrid(names, grids = {}) {
|
|
1278
|
+
if (names === void 0)
|
|
1279
|
+
return void 0;
|
|
1280
|
+
const entries = [];
|
|
1281
|
+
for (const entry of names.split(",")) {
|
|
1282
|
+
const optional = entry.startsWith("@");
|
|
1283
|
+
const name = optional ? entry.slice(1) : entry;
|
|
1284
|
+
if (!name || /\s/.test(name))
|
|
1285
|
+
throw new Error("Invalid vertical grid name");
|
|
1286
|
+
if (name === "null") {
|
|
1287
|
+
entries.push(null);
|
|
1288
|
+
break;
|
|
1289
|
+
}
|
|
1290
|
+
const grid = Object.prototype.hasOwnProperty.call(grids, name) ? grids[name] : void 0;
|
|
1291
|
+
if (grid) {
|
|
1292
|
+
if (typeof grid.getOffset !== "function")
|
|
1293
|
+
throw new Error("Invalid vertical grid: " + name);
|
|
1294
|
+
entries.push(grid.getOffset.bind(grid));
|
|
1295
|
+
} else if (!optional)
|
|
1296
|
+
unsupportedStage("Required vertical grid is not registered: " + name);
|
|
1297
|
+
}
|
|
1298
|
+
return (longitude, latitude) => {
|
|
1299
|
+
for (const sample of entries) {
|
|
1300
|
+
if (!sample)
|
|
1301
|
+
return 0;
|
|
1302
|
+
const offset = sample(longitude, latitude);
|
|
1303
|
+
if (offset === void 0)
|
|
1304
|
+
continue;
|
|
1305
|
+
if (!Number.isFinite(offset))
|
|
1306
|
+
throw new Error("Vertical grid returned a non-finite offset");
|
|
1307
|
+
return offset;
|
|
1308
|
+
}
|
|
1309
|
+
throw new Error("No vertical grid covers this coordinate");
|
|
1310
|
+
};
|
|
1311
|
+
}
|
|
1312
|
+
|
|
1313
|
+
// dist/projection/experimental/projection-pipeline.js
|
|
1314
|
+
var EMPTY_STACK = new Float64Array(0);
|
|
1315
|
+
var ordinaryByteLength = Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get;
|
|
1316
|
+
function sharedBuffer(buffer) {
|
|
1317
|
+
try {
|
|
1318
|
+
ordinaryByteLength.call(buffer);
|
|
1319
|
+
return false;
|
|
1320
|
+
} catch {
|
|
1321
|
+
return true;
|
|
1322
|
+
}
|
|
1323
|
+
}
|
|
1324
|
+
function compileFlat(pairs) {
|
|
1325
|
+
if (pairs.length === 1 && pairs[0].forwardFlat)
|
|
1326
|
+
return pairs[0].forwardFlat;
|
|
1327
|
+
return pairs.every((pair) => pair.forwardNumeric) && pairs.some((pair) => pair.forwardNumeric[0] !== 2) ? createNumericFlat(pairs.map((pair) => pair.forwardNumeric)) : void 0;
|
|
1328
|
+
}
|
|
1329
|
+
var factors = {
|
|
1330
|
+
deg: Math.PI / 180,
|
|
1331
|
+
rad: 1,
|
|
1332
|
+
m: 1,
|
|
1333
|
+
ft: 0.3048,
|
|
1334
|
+
"us-ft": 1200 / 3937
|
|
1335
|
+
};
|
|
1336
|
+
var geometryKeys = ["ellps", "a", "b", "rf", "f", "R"];
|
|
1337
|
+
var angular = (unit) => unit === "deg" || unit === "rad";
|
|
1338
|
+
var own2 = (value, name) => Object.prototype.hasOwnProperty.call(value, name);
|
|
1339
|
+
function keys(value, allowed) {
|
|
1340
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
1341
|
+
throw new Error("Expected operation object");
|
|
1342
|
+
for (const name of Object.keys(value))
|
|
1343
|
+
if (!allowed.includes(name))
|
|
1344
|
+
unsupportedStage("Unsupported pipeline parameter: " + name);
|
|
1345
|
+
}
|
|
1346
|
+
function definition(name, parameters = {}) {
|
|
1347
|
+
if (!/^[a-z][a-z0-9_]*$/i.test(name))
|
|
1348
|
+
throw new Error("Invalid projection name");
|
|
1349
|
+
return "+proj=" + name + Object.entries(parameters).map(([key, value]) => {
|
|
1350
|
+
if (!/^[a-z][a-z0-9_]*$/i.test(key) || value !== void 0 && (typeof value !== "string" || !value || /[\s=]/.test(value) || /\+/.test(value.slice(1).replace(/[eE]\+/g, ""))))
|
|
1351
|
+
throw new Error("Invalid pipeline projection parameter: " + key);
|
|
1352
|
+
return " +" + key + (value === void 0 ? "" : "=" + value);
|
|
1353
|
+
}).join("");
|
|
1354
|
+
}
|
|
1355
|
+
function finite(point) {
|
|
1356
|
+
if (!Number.isFinite(point.x) || !Number.isFinite(point.y) || !Number.isFinite(point.z))
|
|
1357
|
+
throw new Error("Pipeline coordinate must be finite");
|
|
1358
|
+
}
|
|
1359
|
+
function triple(values) {
|
|
1360
|
+
if (!Array.isArray(values) || values.length !== 3 || !values.every(Number.isFinite))
|
|
1361
|
+
throw new Error("Expected three finite Helmert parameters");
|
|
1362
|
+
}
|
|
1363
|
+
var ProjectionPipeline = class {
|
|
1364
|
+
constructor(options) {
|
|
1365
|
+
this.forwardFactories = [];
|
|
1366
|
+
this.inverseFactories = [];
|
|
1367
|
+
this.stackSize = 0;
|
|
1368
|
+
this.coordinateScratch = new ProjectionScratch();
|
|
1369
|
+
this.coordinateStacks = [];
|
|
1370
|
+
this.required = [];
|
|
1371
|
+
this.requiresZ = false;
|
|
1372
|
+
this.requiresEpoch = false;
|
|
1373
|
+
keys(options, ["input", "steps", "projections", "datumGrids", "verticalGrids"]);
|
|
1374
|
+
keys(options.input, ["space", "units"]);
|
|
1375
|
+
const { space, units } = options.input;
|
|
1376
|
+
if (!["geographic", "projected", "geocentric"].includes(space) || !Array.isArray(units) || units.length !== 3 || units.some((unit) => !own2(factors, unit)) || angular(units[2]) || (space === "geographic" ? !angular(units[0]) || !angular(units[1]) : angular(units[0]) || angular(units[1])))
|
|
1377
|
+
throw new Error("Invalid pipeline input space/units");
|
|
1378
|
+
if (!Array.isArray(options.steps) || options.steps.length === 0)
|
|
1379
|
+
throw new Error("Pipeline requires at least one step");
|
|
1380
|
+
this.requiresZ = space === "geocentric";
|
|
1381
|
+
this.input = Object.freeze({
|
|
1382
|
+
space,
|
|
1383
|
+
units: Object.freeze([...units])
|
|
1384
|
+
});
|
|
1385
|
+
const state = { space, units: [...units], stacks: [[], [], []] };
|
|
1386
|
+
const projections = [...options.projections || []];
|
|
1387
|
+
this.deferred = projections.some((projection) => !("create" in projection));
|
|
1388
|
+
const caches = options.steps.map(() => ({}));
|
|
1389
|
+
for (const [index, step] of options.steps.entries()) {
|
|
1390
|
+
for (const name of ["inverse", "omitForward", "omitInverse"])
|
|
1391
|
+
if ((step == null ? void 0 : step[name]) !== void 0 && typeof step[name] !== "boolean")
|
|
1392
|
+
throw new Error("Invalid pipeline " + name + " flag");
|
|
1393
|
+
if ((step == null ? void 0 : step.omitForward) && step.omitInverse)
|
|
1394
|
+
throw new Error("A pipeline step cannot omit both directions");
|
|
1395
|
+
if (!(step == null ? void 0 : step.omitForward))
|
|
1396
|
+
this.forwardFactories.push(this.prepare(step, state, { ...options, projections }, caches[index]));
|
|
1397
|
+
}
|
|
1398
|
+
this.balanced(state);
|
|
1399
|
+
this.output = Object.freeze({
|
|
1400
|
+
space: state.space,
|
|
1401
|
+
units: Object.freeze([...state.units])
|
|
1402
|
+
});
|
|
1403
|
+
const reverse = { space: state.space, units: [...state.units], stacks: [[], [], []] };
|
|
1404
|
+
for (let index = options.steps.length - 1; index >= 0; index--) {
|
|
1405
|
+
const step = options.steps[index];
|
|
1406
|
+
if (!step.omitInverse)
|
|
1407
|
+
this.inverseFactories.push(this.prepare({ ...step, inverse: !step.inverse }, reverse, { ...options, projections }, caches[index]));
|
|
1408
|
+
}
|
|
1409
|
+
this.balanced(reverse);
|
|
1410
|
+
if (reverse.space !== space || reverse.units.some((unit, index) => unit !== units[index]))
|
|
1411
|
+
throw new Error("Inverse pipeline output does not match declared input space/units");
|
|
1412
|
+
if (this.required.every((projection) => getLoadedProjection(projection)))
|
|
1413
|
+
this.compile();
|
|
1414
|
+
this.project = this.project.bind(this);
|
|
1415
|
+
this.unproject = this.unproject.bind(this);
|
|
1416
|
+
this.projectSync = this.projectSync.bind(this);
|
|
1417
|
+
this.unprojectSync = this.unprojectSync.bind(this);
|
|
1418
|
+
this.projectTo = this.projectTo.bind(this);
|
|
1419
|
+
this.unprojectTo = this.unprojectTo.bind(this);
|
|
1420
|
+
this.projectToSync = this.projectToSync.bind(this);
|
|
1421
|
+
this.unprojectToSync = this.unprojectToSync.bind(this);
|
|
1422
|
+
this.projectFlat = this.projectFlat.bind(this);
|
|
1423
|
+
this.unprojectFlat = this.unprojectFlat.bind(this);
|
|
1424
|
+
this.projectFlatSync = this.projectFlatSync.bind(this);
|
|
1425
|
+
this.unprojectFlatSync = this.unprojectFlatSync.bind(this);
|
|
1426
|
+
}
|
|
1427
|
+
/** Load only implementations named by pipeline steps; failures can be retried. */
|
|
1428
|
+
preload() {
|
|
1429
|
+
if (this.compiled)
|
|
1430
|
+
return Promise.resolve(this);
|
|
1431
|
+
this.pending || (this.pending = Promise.all(this.required.map(preloadProjection)).then(() => {
|
|
1432
|
+
this.compile();
|
|
1433
|
+
return this;
|
|
1434
|
+
}).catch((error) => {
|
|
1435
|
+
this.pending = void 0;
|
|
1436
|
+
throw error;
|
|
1437
|
+
}));
|
|
1438
|
+
return this.pending;
|
|
1439
|
+
}
|
|
1440
|
+
project(coordinate, epoch) {
|
|
1441
|
+
return this.deferred ? this.preload().then(() => this.projectSync(coordinate, epoch)) : this.projectSync(coordinate, epoch);
|
|
1442
|
+
}
|
|
1443
|
+
unproject(coordinate, epoch) {
|
|
1444
|
+
return this.deferred ? this.preload().then(() => this.unprojectSync(coordinate, epoch)) : this.unprojectSync(coordinate, epoch);
|
|
1445
|
+
}
|
|
1446
|
+
/** Reuse a scalar output; the epoch remains separate from all coordinate ordinates. */
|
|
1447
|
+
projectTo(coordinate, output, epoch) {
|
|
1448
|
+
return this.deferred ? this.scalarToLoaded(coordinate, output, false, epoch) : this.projectToSync(coordinate, output, epoch);
|
|
1449
|
+
}
|
|
1450
|
+
unprojectTo(coordinate, output, epoch) {
|
|
1451
|
+
return this.deferred ? this.scalarToLoaded(coordinate, output, true, epoch) : this.unprojectToSync(coordinate, output, epoch);
|
|
1452
|
+
}
|
|
1453
|
+
projectToSync(coordinate, output, epoch) {
|
|
1454
|
+
validateScalarOutput(coordinate, output, coordinate.length);
|
|
1455
|
+
return this.scalar(coordinate, false, epoch, output);
|
|
1456
|
+
}
|
|
1457
|
+
unprojectToSync(coordinate, output, epoch) {
|
|
1458
|
+
validateScalarOutput(coordinate, output, coordinate.length);
|
|
1459
|
+
return this.scalar(coordinate, true, epoch, output);
|
|
1460
|
+
}
|
|
1461
|
+
scalarToLoaded(coordinate, output, inverse, epoch) {
|
|
1462
|
+
validateScalarOutput(coordinate, output, coordinate.length);
|
|
1463
|
+
const input = coordinate.slice();
|
|
1464
|
+
return this.preload().then(() => inverse ? this.unprojectToSync(input, output, epoch) : this.projectToSync(input, output, epoch));
|
|
1465
|
+
}
|
|
1466
|
+
projectFlat(coordinates, dimension = 2, epochs) {
|
|
1467
|
+
return this.deferred ? this.preload().then(() => this.projectFlatSync(coordinates, dimension, epochs)) : this.projectFlatSync(coordinates, dimension, epochs);
|
|
1468
|
+
}
|
|
1469
|
+
unprojectFlat(coordinates, dimension = 2, epochs) {
|
|
1470
|
+
return this.deferred ? this.preload().then(() => this.unprojectFlatSync(coordinates, dimension, epochs)) : this.unprojectFlatSync(coordinates, dimension, epochs);
|
|
1471
|
+
}
|
|
1472
|
+
projectSync(coordinate, epoch) {
|
|
1473
|
+
return this.scalar(coordinate, false, epoch);
|
|
1474
|
+
}
|
|
1475
|
+
unprojectSync(coordinate, epoch) {
|
|
1476
|
+
return this.scalar(coordinate, true, epoch);
|
|
1477
|
+
}
|
|
1478
|
+
projectFlatSync(coordinates, dimension = 2, epochs) {
|
|
1479
|
+
return this.flat(coordinates, dimension, false, epochs);
|
|
1480
|
+
}
|
|
1481
|
+
unprojectFlatSync(coordinates, dimension = 2, epochs) {
|
|
1482
|
+
return this.flat(coordinates, dimension, true, epochs);
|
|
1483
|
+
}
|
|
1484
|
+
compile() {
|
|
1485
|
+
if (this.compiled)
|
|
1486
|
+
return;
|
|
1487
|
+
for (const registration of this.required)
|
|
1488
|
+
if (!getLoadedProjection(registration))
|
|
1489
|
+
unsupportedStage("Pipeline projection requires preload(): " + registration.name);
|
|
1490
|
+
const forward = this.forwardFactories.map((factory) => factory()), inverse = this.inverseFactories.map((factory) => factory());
|
|
1491
|
+
this.compiled = {
|
|
1492
|
+
forward: forward.map((pair) => pair.forward),
|
|
1493
|
+
inverse: inverse.map((pair) => pair.forward),
|
|
1494
|
+
forwardFlat: compileFlat(forward),
|
|
1495
|
+
inverseFlat: compileFlat(inverse)
|
|
1496
|
+
};
|
|
1497
|
+
}
|
|
1498
|
+
operations(inverse) {
|
|
1499
|
+
this.compile();
|
|
1500
|
+
return inverse ? this.compiled.inverse : this.compiled.forward;
|
|
1501
|
+
}
|
|
1502
|
+
scalar(coordinate, inverse, epoch, output) {
|
|
1503
|
+
var _a2;
|
|
1504
|
+
this.coordinateEpoch(epoch);
|
|
1505
|
+
if (coordinate.length < (this.requiresZ ? 3 : 2))
|
|
1506
|
+
throw new Error("Pipeline requires " + (this.requiresZ ? "XYZ" : "XY") + " coordinates");
|
|
1507
|
+
const operations = this.operations(inverse);
|
|
1508
|
+
const point = this.coordinateScratch.acquire();
|
|
1509
|
+
try {
|
|
1510
|
+
point.x = coordinate[0];
|
|
1511
|
+
point.y = coordinate[1];
|
|
1512
|
+
point.z = coordinate.length >= 3 ? coordinate[2] : 0;
|
|
1513
|
+
let stack = EMPTY_STACK;
|
|
1514
|
+
if (this.stackSize) {
|
|
1515
|
+
const depth = this.coordinateScratch.depth - 1;
|
|
1516
|
+
stack = (_a2 = this.coordinateStacks)[depth] || (_a2[depth] = new Float64Array(this.stackSize));
|
|
1517
|
+
}
|
|
1518
|
+
this.run(point, operations, stack, epoch);
|
|
1519
|
+
if (output)
|
|
1520
|
+
return writeScalarOutput(coordinate, output, point, coordinate.length);
|
|
1521
|
+
const result = [...coordinate];
|
|
1522
|
+
result[0] = point.x;
|
|
1523
|
+
result[1] = point.y;
|
|
1524
|
+
if (coordinate.length >= 3)
|
|
1525
|
+
result[2] = point.z;
|
|
1526
|
+
return result;
|
|
1527
|
+
} finally {
|
|
1528
|
+
this.coordinateScratch.release(point);
|
|
1529
|
+
}
|
|
1530
|
+
}
|
|
1531
|
+
flat(coordinates, dimension, inverse, epochs) {
|
|
1532
|
+
var _a2;
|
|
1533
|
+
if (!(coordinates instanceof Float32Array || coordinates instanceof Float64Array) || !Number.isSafeInteger(dimension) || dimension < (this.requiresZ ? 3 : 2) || coordinates.length % dimension)
|
|
1534
|
+
throw new Error("Pipeline requires Float32Array/Float64Array and a valid XY/XYZ stride");
|
|
1535
|
+
if (epochs === void 0)
|
|
1536
|
+
this.coordinateEpoch(void 0);
|
|
1537
|
+
else if (typeof epochs === "number")
|
|
1538
|
+
this.coordinateEpoch(epochs);
|
|
1539
|
+
else {
|
|
1540
|
+
if (!(epochs instanceof Float32Array || epochs instanceof Float64Array) || epochs.length !== coordinates.length / dimension)
|
|
1541
|
+
throw new Error("Epoch buffer requires one Float32/Float64 value per coordinate record");
|
|
1542
|
+
if (epochs.byteOffset < coordinates.byteOffset + coordinates.byteLength && coordinates.byteOffset < epochs.byteOffset + epochs.byteLength && (epochs.buffer === coordinates.buffer || sharedBuffer(epochs.buffer) && sharedBuffer(coordinates.buffer)))
|
|
1543
|
+
throw new Error("Epoch and coordinate buffers must not overlap or alias shared storage");
|
|
1544
|
+
}
|
|
1545
|
+
const operations = this.operations(inverse);
|
|
1546
|
+
const specialized = inverse ? this.compiled.inverseFlat : this.compiled.forwardFlat;
|
|
1547
|
+
if (specialized) {
|
|
1548
|
+
specialized(coordinates, dimension, epochs);
|
|
1549
|
+
return coordinates;
|
|
1550
|
+
}
|
|
1551
|
+
const point = this.coordinateScratch.acquire();
|
|
1552
|
+
try {
|
|
1553
|
+
const float32 = coordinates instanceof Float32Array;
|
|
1554
|
+
let stack = EMPTY_STACK;
|
|
1555
|
+
if (this.stackSize) {
|
|
1556
|
+
const depth = this.coordinateScratch.depth - 1;
|
|
1557
|
+
stack = (_a2 = this.coordinateStacks)[depth] || (_a2[depth] = new Float64Array(this.stackSize));
|
|
1558
|
+
}
|
|
1559
|
+
const epochBuffer = typeof epochs === "number" ? void 0 : epochs;
|
|
1560
|
+
let epoch = typeof epochs === "number" ? epochs : void 0;
|
|
1561
|
+
for (let i = 0; i < coordinates.length; i += dimension) {
|
|
1562
|
+
point.x = coordinates[i];
|
|
1563
|
+
point.y = coordinates[i + 1];
|
|
1564
|
+
point.z = dimension >= 3 ? coordinates[i + 2] : 0;
|
|
1565
|
+
if (epochBuffer) {
|
|
1566
|
+
epoch = epochBuffer[i / dimension];
|
|
1567
|
+
this.coordinateEpoch(epoch);
|
|
1568
|
+
}
|
|
1569
|
+
this.run(point, operations, stack, epoch);
|
|
1570
|
+
if (float32 && Math.max(Math.abs(point.x), Math.abs(point.y), Math.abs(point.z)) > 34028234663852886e22)
|
|
1571
|
+
throw new Error("Pipeline output exceeds Float32 range");
|
|
1572
|
+
coordinates[i] = point.x;
|
|
1573
|
+
coordinates[i + 1] = point.y;
|
|
1574
|
+
if (dimension >= 3)
|
|
1575
|
+
coordinates[i + 2] = point.z;
|
|
1576
|
+
}
|
|
1577
|
+
return coordinates;
|
|
1578
|
+
} finally {
|
|
1579
|
+
this.coordinateScratch.release(point);
|
|
1580
|
+
}
|
|
1581
|
+
}
|
|
1582
|
+
coordinateEpoch(epoch) {
|
|
1583
|
+
if (epoch === void 0) {
|
|
1584
|
+
if (this.requiresEpoch)
|
|
1585
|
+
throw new Error("Pipeline requires an explicit coordinate epoch");
|
|
1586
|
+
} else if (typeof epoch !== "number" || !Number.isFinite(epoch))
|
|
1587
|
+
throw new Error("Coordinate epoch must be a finite decimal year");
|
|
1588
|
+
}
|
|
1589
|
+
run(point, operations, stack, epoch) {
|
|
1590
|
+
finite(point);
|
|
1591
|
+
for (const operation of operations) {
|
|
1592
|
+
operation(point, stack, epoch);
|
|
1593
|
+
finite(point);
|
|
1594
|
+
}
|
|
1595
|
+
}
|
|
1596
|
+
balanced(state) {
|
|
1597
|
+
if (state.stacks.some((stack) => stack.length))
|
|
1598
|
+
throw new Error("Pipeline stack has unbalanced push/pop operations");
|
|
1599
|
+
}
|
|
1600
|
+
prepare(step, state, options, cache2) {
|
|
1601
|
+
var _a2, _b, _c;
|
|
1602
|
+
const allowed = {
|
|
1603
|
+
unitconvert: ["xy", "z"],
|
|
1604
|
+
axisswap: ["order"],
|
|
1605
|
+
projection: ["name", "parameters", "output"],
|
|
1606
|
+
cart: ["ellipsoid"],
|
|
1607
|
+
helmert: [
|
|
1608
|
+
"translation",
|
|
1609
|
+
"rotation",
|
|
1610
|
+
"scalePPM",
|
|
1611
|
+
"convention",
|
|
1612
|
+
"exact",
|
|
1613
|
+
"referenceEpoch",
|
|
1614
|
+
"rates"
|
|
1615
|
+
],
|
|
1616
|
+
deformation: ["model", "sourceEpoch", "targetEpoch"],
|
|
1617
|
+
push: ["components"],
|
|
1618
|
+
pop: ["components"],
|
|
1619
|
+
hgridshift: ["grids"],
|
|
1620
|
+
vgridshift: ["grids", "multiplier"]
|
|
1621
|
+
};
|
|
1622
|
+
if (!step || !own2(allowed, step.type))
|
|
1623
|
+
unsupportedStage("Unsupported pipeline operation: " + (step == null ? void 0 : step.type));
|
|
1624
|
+
keys(step, ["type", "inverse", "omitForward", "omitInverse", ...allowed[step.type]]);
|
|
1625
|
+
if (step.inverse !== void 0 && typeof step.inverse !== "boolean")
|
|
1626
|
+
throw new Error("Invalid pipeline inverse flag");
|
|
1627
|
+
const inverse = Boolean(step.inverse);
|
|
1628
|
+
const orient = (pair2) => inverse ? {
|
|
1629
|
+
forward: pair2.inverse,
|
|
1630
|
+
inverse: pair2.forward,
|
|
1631
|
+
forwardNumeric: pair2.inverseNumeric,
|
|
1632
|
+
inverseNumeric: pair2.forwardNumeric,
|
|
1633
|
+
forwardFlat: pair2.inverseFlat,
|
|
1634
|
+
inverseFlat: pair2.forwardFlat
|
|
1635
|
+
} : pair2;
|
|
1636
|
+
const pair = (forward, backward, forwardNumeric, inverseNumeric, forwardFlat, inverseFlat) => () => {
|
|
1637
|
+
cache2.pair || (cache2.pair = {
|
|
1638
|
+
forward,
|
|
1639
|
+
inverse: backward,
|
|
1640
|
+
forwardNumeric,
|
|
1641
|
+
inverseNumeric,
|
|
1642
|
+
forwardFlat,
|
|
1643
|
+
inverseFlat
|
|
1644
|
+
});
|
|
1645
|
+
return orient(cache2.pair);
|
|
1646
|
+
};
|
|
1647
|
+
const requireState = (space, expected) => {
|
|
1648
|
+
if (state.space !== space || expected.some((unit, index) => state.units[index] !== unit))
|
|
1649
|
+
throw new Error("Pipeline step " + step.type + " requires " + space + " " + expected.join("/"));
|
|
1650
|
+
};
|
|
1651
|
+
switch (step.type) {
|
|
1652
|
+
case "unitconvert": {
|
|
1653
|
+
if (!step.xy && !step.z)
|
|
1654
|
+
throw new Error("Empty unit conversion");
|
|
1655
|
+
const scale = [1, 1, 1];
|
|
1656
|
+
for (const [conversion, indices] of [
|
|
1657
|
+
[step.xy, [0, 1]],
|
|
1658
|
+
[step.z, [2]]
|
|
1659
|
+
]) {
|
|
1660
|
+
if (!conversion)
|
|
1661
|
+
continue;
|
|
1662
|
+
keys(conversion, ["from", "to"]);
|
|
1663
|
+
const { from, to } = conversion;
|
|
1664
|
+
if (!own2(factors, from) || !own2(factors, to) || angular(from) !== angular(to))
|
|
1665
|
+
throw new Error("Incompatible pipeline units");
|
|
1666
|
+
for (const index of indices) {
|
|
1667
|
+
if (state.units[index] !== (inverse ? to : from))
|
|
1668
|
+
throw new Error("Pipeline unit mismatch");
|
|
1669
|
+
state.units[index] = inverse ? from : to;
|
|
1670
|
+
scale[index] = factors[from] / factors[to];
|
|
1671
|
+
}
|
|
1672
|
+
}
|
|
1673
|
+
this.requiresZ || (this.requiresZ = Boolean(step.z));
|
|
1674
|
+
const [xScale, yScale, zScale] = scale;
|
|
1675
|
+
return pair((p) => {
|
|
1676
|
+
p.x *= xScale;
|
|
1677
|
+
p.y *= yScale;
|
|
1678
|
+
p.z *= zScale;
|
|
1679
|
+
}, (p) => {
|
|
1680
|
+
p.x /= xScale;
|
|
1681
|
+
p.y /= yScale;
|
|
1682
|
+
p.z /= zScale;
|
|
1683
|
+
}, [0, xScale, yScale, zScale], [1, xScale, yScale, zScale]);
|
|
1684
|
+
}
|
|
1685
|
+
case "axisswap": {
|
|
1686
|
+
const order = [...step.order];
|
|
1687
|
+
if (![2, 3].includes(order.length) || order.some((index) => !Number.isInteger(index) || Math.abs(index) < 1 || Math.abs(index) > order.length) || new Set(order.map(Math.abs)).size !== order.length)
|
|
1688
|
+
throw new Error("Axis order must be a signed permutation");
|
|
1689
|
+
if (order.length === 2)
|
|
1690
|
+
order.push(3);
|
|
1691
|
+
this.requiresZ || (this.requiresZ = step.order.length === 3);
|
|
1692
|
+
const reverse = [0, 0, 0];
|
|
1693
|
+
order.forEach((index, target) => {
|
|
1694
|
+
reverse[Math.abs(index) - 1] = Math.sign(index) * (target + 1);
|
|
1695
|
+
});
|
|
1696
|
+
const selected = inverse ? reverse : order;
|
|
1697
|
+
state.units = selected.map((index) => state.units[Math.abs(index) - 1]);
|
|
1698
|
+
const operation = (indices) => {
|
|
1699
|
+
const [a, b, c] = indices.map(Math.abs);
|
|
1700
|
+
const [sx, sy, sz] = indices.map(Math.sign);
|
|
1701
|
+
return (p) => {
|
|
1702
|
+
const { x, y, z } = p;
|
|
1703
|
+
p.x = sx * (a === 1 ? x : a === 2 ? y : z);
|
|
1704
|
+
p.y = sy * (b === 1 ? x : b === 2 ? y : z);
|
|
1705
|
+
p.z = sz * (c === 1 ? x : c === 2 ? y : z);
|
|
1706
|
+
};
|
|
1707
|
+
};
|
|
1708
|
+
return pair(operation(order), operation(reverse), [2, order[0], order[1], order[2]], [2, reverse[0], reverse[1], reverse[2]]);
|
|
1709
|
+
}
|
|
1710
|
+
case "projection": {
|
|
1711
|
+
const output = step.output === void 0 ? { space: "projected", unit: "m" } : { ...step.output };
|
|
1712
|
+
keys(output, ["space", "unit"]);
|
|
1713
|
+
if (output.space === "geographic" ? !["rad", "deg"].includes(output.unit) : output.space !== "projected" || output.unit !== "m")
|
|
1714
|
+
throw new Error("Invalid projection output space/unit contract");
|
|
1715
|
+
requireState(inverse ? output.space : "geographic", inverse ? [output.unit, output.unit] : ["rad", "rad"]);
|
|
1716
|
+
state.space = inverse ? "geographic" : output.space;
|
|
1717
|
+
state.units[0] = state.units[1] = inverse ? "rad" : output.unit;
|
|
1718
|
+
const key = (name) => name.toLowerCase().replace(/[\s_-]/g, "");
|
|
1719
|
+
if (typeof step.name !== "string")
|
|
1720
|
+
throw new Error("Invalid projection name");
|
|
1721
|
+
const registration = (_a2 = options.projections) == null ? void 0 : _a2.find((p) => [p.name, ...p.aliases || []].some((name) => key(name) === key(step.name)));
|
|
1722
|
+
if (!registration)
|
|
1723
|
+
unsupportedStage("Pipeline projection is not registered: " + step.name);
|
|
1724
|
+
if (!this.required.includes(registration))
|
|
1725
|
+
this.required.push(registration);
|
|
1726
|
+
const parameters = { ...step.parameters };
|
|
1727
|
+
for (const name of Object.keys(parameters))
|
|
1728
|
+
if (CORE_PARAMETERS.includes(name) && !geometryKeys.includes(name) && name !== "over")
|
|
1729
|
+
unsupportedStage("Unsupported pipeline parameter: " + name);
|
|
1730
|
+
const oblique = key(registration.name) === "obtran";
|
|
1731
|
+
const geographicChild = ["longlat", "latlong", "latlon", "lonlat", "identity"].includes(key(parameters["o_proj"] || ""));
|
|
1732
|
+
if (oblique && (!step.output || !parameters["o_proj"]))
|
|
1733
|
+
unsupportedStage("Oblique helper pipelines require an explicit output-unit contract and o_proj");
|
|
1734
|
+
if ((oblique && geographicChild) !== (output.space === "geographic"))
|
|
1735
|
+
throw new Error("Projection output contract does not match its algorithm");
|
|
1736
|
+
const scale = geographicChild && output.unit === "rad" ? Math.PI / 180 : 1;
|
|
1737
|
+
const normalized = normalizeCRS(definition(registration.name, parameters));
|
|
1738
|
+
if (normalized.kind !== "projected")
|
|
1739
|
+
unsupportedStage("Use a cart step for geocentric conversion");
|
|
1740
|
+
return () => {
|
|
1741
|
+
var _a3;
|
|
1742
|
+
if (cache2.pair)
|
|
1743
|
+
return orient(cache2.pair);
|
|
1744
|
+
const plugin = getLoadedProjection(registration);
|
|
1745
|
+
if (!plugin)
|
|
1746
|
+
unsupportedStage("Pipeline projection requires preload(): " + registration.name);
|
|
1747
|
+
if (key(plugin.name) === "obtran" !== oblique)
|
|
1748
|
+
unsupportedStage("Pipeline projection requires a matching projected-metre output contract: " + plugin.name);
|
|
1749
|
+
if ([
|
|
1750
|
+
"geocent",
|
|
1751
|
+
"geocentric",
|
|
1752
|
+
"identity",
|
|
1753
|
+
"longlat",
|
|
1754
|
+
"latlong",
|
|
1755
|
+
"latlon",
|
|
1756
|
+
"lonlat"
|
|
1757
|
+
].includes(key(plugin.name)))
|
|
1758
|
+
unsupportedStage("Pipeline projection requires a projected-metre output contract: " + plugin.name);
|
|
1759
|
+
keys(parameters, [...geometryKeys, "over", ...plugin.parameters]);
|
|
1760
|
+
for (const [name, value] of Object.entries(parameters)) {
|
|
1761
|
+
const flag = name === "over" || ((_a3 = plugin.flags) == null ? void 0 : _a3.includes(name));
|
|
1762
|
+
if (flag && value !== void 0)
|
|
1763
|
+
throw new Error("Expected a flag without a value: " + name);
|
|
1764
|
+
if (!flag && value === void 0)
|
|
1765
|
+
throw new Error("Pipeline parameter requires a value: " + name);
|
|
1766
|
+
}
|
|
1767
|
+
const implementation = plugin.create({
|
|
1768
|
+
parameters: { ...normalized.parameters, proj: plugin.name },
|
|
1769
|
+
semiMajorAxis: normalized.ellipsoid.semiMajorAxis,
|
|
1770
|
+
semiMinorAxis: normalized.ellipsoid.semiMinorAxis,
|
|
1771
|
+
eccentricitySquared: normalized.ellipsoid.eccentricitySquared
|
|
1772
|
+
});
|
|
1773
|
+
const forward = projectionOperation(implementation, false), backward = projectionOperation(implementation, true);
|
|
1774
|
+
cache2.pair = oblique ? {
|
|
1775
|
+
forward: (p) => {
|
|
1776
|
+
if (Math.abs(p.y) > Math.PI / 2)
|
|
1777
|
+
throw new Error("Invalid geographic latitude");
|
|
1778
|
+
forward(p);
|
|
1779
|
+
p.x *= scale;
|
|
1780
|
+
p.y *= scale;
|
|
1781
|
+
},
|
|
1782
|
+
inverse: (p) => {
|
|
1783
|
+
if (geographicChild && Math.abs(p.y) > (output.unit === "deg" ? 90 : Math.PI / 2))
|
|
1784
|
+
throw new Error("Invalid rotated geographic latitude");
|
|
1785
|
+
p.x /= scale;
|
|
1786
|
+
p.y /= scale;
|
|
1787
|
+
backward(p);
|
|
1788
|
+
}
|
|
1789
|
+
} : { forward, inverse: backward };
|
|
1790
|
+
return orient(cache2.pair);
|
|
1791
|
+
};
|
|
1792
|
+
}
|
|
1793
|
+
case "cart": {
|
|
1794
|
+
requireState(inverse ? "geocentric" : "geographic", inverse ? ["m", "m", "m"] : ["rad", "rad", "m"]);
|
|
1795
|
+
state.space = inverse ? "geographic" : "geocentric";
|
|
1796
|
+
state.units = inverse ? ["rad", "rad", "m"] : ["m", "m", "m"];
|
|
1797
|
+
this.requiresZ = true;
|
|
1798
|
+
keys(step.ellipsoid || {}, geometryKeys);
|
|
1799
|
+
const ellipsoid = normalizeCRS(definition("longlat", step.ellipsoid)).ellipsoid;
|
|
1800
|
+
return pair((p) => geodeticToGeocentricInPlace(p, ellipsoid), (p) => geocentricToGeodeticInPlace(p, ellipsoid));
|
|
1801
|
+
}
|
|
1802
|
+
case "helmert": {
|
|
1803
|
+
requireState("geocentric", ["m", "m", "m"]);
|
|
1804
|
+
this.requiresZ = true;
|
|
1805
|
+
triple(step.translation);
|
|
1806
|
+
if (step.rotation)
|
|
1807
|
+
triple(step.rotation);
|
|
1808
|
+
if ((step.rotation || ((_b = step.rates) == null ? void 0 : _b.rotation)) && !step.convention)
|
|
1809
|
+
throw new Error("Helmert rotation requires a convention");
|
|
1810
|
+
if (step.convention !== void 0 && !["position_vector", "coordinate_frame"].includes(step.convention))
|
|
1811
|
+
throw new Error("Invalid Helmert convention");
|
|
1812
|
+
const scale = step.scalePPM ?? 0;
|
|
1813
|
+
if (!Number.isFinite(scale) || scale <= -1e6)
|
|
1814
|
+
throw new Error("Helmert requires positive finite scale");
|
|
1815
|
+
if (step.exact !== void 0 && typeof step.exact !== "boolean")
|
|
1816
|
+
throw new Error("Invalid exact Helmert flag");
|
|
1817
|
+
if (step.rates !== void 0) {
|
|
1818
|
+
keys(step.rates, ["translation", "rotation", "scalePPM"]);
|
|
1819
|
+
if (step.rates.translation === void 0 && step.rates.rotation === void 0 && step.rates.scalePPM === void 0)
|
|
1820
|
+
throw new Error("Helmert rates require at least one parameter");
|
|
1821
|
+
if (step.rates.translation !== void 0)
|
|
1822
|
+
triple(step.rates.translation);
|
|
1823
|
+
if (step.rates.rotation !== void 0)
|
|
1824
|
+
triple(step.rates.rotation);
|
|
1825
|
+
if (step.rates.scalePPM !== void 0 && !Number.isFinite(step.rates.scalePPM))
|
|
1826
|
+
throw new Error("Helmert scale rate must be finite");
|
|
1827
|
+
if (typeof step.referenceEpoch !== "number" || !Number.isFinite(step.referenceEpoch))
|
|
1828
|
+
throw new Error("Helmert rates require a finite referenceEpoch");
|
|
1829
|
+
this.requiresEpoch = true;
|
|
1830
|
+
const operation = createKinematicHelmert(step.translation, step.rotation || [0, 0, 0], scale, step.rates, step.referenceEpoch, step.convention === "coordinate_frame", Boolean(step.exact));
|
|
1831
|
+
return pair((p, _stack, epoch) => operation.forward(p, epoch), (p, _stack, epoch) => operation.inverse(p, epoch), void 0, void 0, operation.forwardFlat, operation.inverseFlat);
|
|
1832
|
+
}
|
|
1833
|
+
if (step.referenceEpoch !== void 0)
|
|
1834
|
+
throw new Error("Helmert referenceEpoch requires rates");
|
|
1835
|
+
if (step.exact) {
|
|
1836
|
+
const exact = createExactHelmert(step.translation, step.rotation || [0, 0, 0], scale, step.convention === "coordinate_frame");
|
|
1837
|
+
return pair(exact.forward, exact.inverse, void 0, void 0, createHelmertFlat(exact.coefficients, false, true), createHelmertFlat(exact.coefficients, true, true));
|
|
1838
|
+
}
|
|
1839
|
+
const sign = step.convention === "coordinate_frame" ? -1 : 1;
|
|
1840
|
+
const values = [
|
|
1841
|
+
...step.translation,
|
|
1842
|
+
...(step.rotation || [0, 0, 0]).map((value) => sign * value),
|
|
1843
|
+
scale
|
|
1844
|
+
];
|
|
1845
|
+
const radians = Math.PI / (180 * 3600);
|
|
1846
|
+
const coefficients = [
|
|
1847
|
+
(values[3] || 0) * radians,
|
|
1848
|
+
(values[4] || 0) * radians,
|
|
1849
|
+
(values[5] || 0) * radians,
|
|
1850
|
+
0,
|
|
1851
|
+
0,
|
|
1852
|
+
0,
|
|
1853
|
+
0,
|
|
1854
|
+
0,
|
|
1855
|
+
0,
|
|
1856
|
+
values[0],
|
|
1857
|
+
values[1],
|
|
1858
|
+
values[2],
|
|
1859
|
+
1 + (values[6] || 0) / 1e6
|
|
1860
|
+
];
|
|
1861
|
+
return pair(createHelmert(values, false), createHelmert(values, true), void 0, void 0, createHelmertFlat(coefficients, false, false), createHelmertFlat(coefficients, true, false));
|
|
1862
|
+
}
|
|
1863
|
+
case "deformation": {
|
|
1864
|
+
requireState("geocentric", ["m", "m", "m"]);
|
|
1865
|
+
this.requiresZ = true;
|
|
1866
|
+
const source = step.sourceEpoch, target = step.targetEpoch;
|
|
1867
|
+
if (source !== "coordinate" && (typeof source !== "number" || !Number.isFinite(source)) || typeof target !== "number" || !Number.isFinite(target))
|
|
1868
|
+
throw new Error("Explicit finite deformation source/target epochs required");
|
|
1869
|
+
if (!step.model || typeof step.model.forward !== "function" || typeof step.model.inverse !== "function")
|
|
1870
|
+
throw new Error("Prepared deformation model required");
|
|
1871
|
+
this.requiresEpoch || (this.requiresEpoch = source === "coordinate");
|
|
1872
|
+
const forward = step.model.forward.bind(step.model), backward = step.model.inverse.bind(step.model);
|
|
1873
|
+
return pair((p, _stack, epoch) => forward(p, source === "coordinate" ? epoch : source, target), (p, _stack, epoch) => backward(p, source === "coordinate" ? epoch : source, target));
|
|
1874
|
+
}
|
|
1875
|
+
case "push":
|
|
1876
|
+
case "pop": {
|
|
1877
|
+
if (!Array.isArray(step.components) || !step.components.length || step.components.some((component) => !Number.isInteger(component) || component < 1 || component > 3) || new Set(step.components).size !== step.components.length)
|
|
1878
|
+
throw new Error("Stack components must be distinct ordinates 1, 2 or 3");
|
|
1879
|
+
const components = [...step.components];
|
|
1880
|
+
this.requiresZ || (this.requiresZ = components.includes(3));
|
|
1881
|
+
const pushing = step.type === "push" !== inverse;
|
|
1882
|
+
const entries = components.map((component) => {
|
|
1883
|
+
const index = component - 1;
|
|
1884
|
+
if (pushing) {
|
|
1885
|
+
const entry2 = { unit: state.units[index], space: state.space, slot: this.stackSize++ };
|
|
1886
|
+
state.stacks[index].push(entry2);
|
|
1887
|
+
return entry2;
|
|
1888
|
+
}
|
|
1889
|
+
const entry = state.stacks[index].pop();
|
|
1890
|
+
if (!entry)
|
|
1891
|
+
throw new Error("Pipeline stack underflow for ordinate " + component);
|
|
1892
|
+
return entry;
|
|
1893
|
+
});
|
|
1894
|
+
if (!pushing) {
|
|
1895
|
+
const horizontal = components.map((component, index) => ({ component, entry: entries[index] })).filter(({ component }) => component < 3);
|
|
1896
|
+
const space = ((_c = horizontal[0]) == null ? void 0 : _c.entry.space) || state.space;
|
|
1897
|
+
if (horizontal.some(({ entry }) => entry.space !== space) || horizontal.length === 1 && space !== state.space)
|
|
1898
|
+
throw new Error("Stack restore would mix horizontal coordinate spaces");
|
|
1899
|
+
state.space = space;
|
|
1900
|
+
components.forEach((component, index) => {
|
|
1901
|
+
state.units[component - 1] = entries[index].unit;
|
|
1902
|
+
});
|
|
1903
|
+
}
|
|
1904
|
+
const save = (p, stack) => {
|
|
1905
|
+
for (let index = 0; index < components.length; index++)
|
|
1906
|
+
stack[entries[index].slot] = components[index] === 1 ? p.x : components[index] === 2 ? p.y : p.z;
|
|
1907
|
+
};
|
|
1908
|
+
const restore = (p, stack) => {
|
|
1909
|
+
for (let index = 0; index < components.length; index++) {
|
|
1910
|
+
const value = stack[entries[index].slot];
|
|
1911
|
+
if (components[index] === 1)
|
|
1912
|
+
p.x = value;
|
|
1913
|
+
else if (components[index] === 2)
|
|
1914
|
+
p.y = value;
|
|
1915
|
+
else
|
|
1916
|
+
p.z = value;
|
|
1917
|
+
}
|
|
1918
|
+
};
|
|
1919
|
+
return () => pushing ? { forward: save, inverse: restore } : { forward: restore, inverse: save };
|
|
1920
|
+
}
|
|
1921
|
+
case "hgridshift": {
|
|
1922
|
+
requireState("geographic", ["rad", "rad"]);
|
|
1923
|
+
if (typeof step.grids !== "string")
|
|
1924
|
+
throw new Error("Horizontal grid names required");
|
|
1925
|
+
const crs = normalizeCRS(definition("longlat", { nadgrids: step.grids }));
|
|
1926
|
+
if (!crs.datum.grids)
|
|
1927
|
+
return pair(() => {
|
|
1928
|
+
}, () => {
|
|
1929
|
+
});
|
|
1930
|
+
const grids = crs.datum.grids.map((reference) => {
|
|
1931
|
+
const grid = own2(options.datumGrids || {}, reference.name) ? options.datumGrids[reference.name] : void 0;
|
|
1932
|
+
if (reference.name !== "null" && !grid && !reference.optional)
|
|
1933
|
+
unsupportedStage("Required datum grid is not registered: " + reference.name);
|
|
1934
|
+
if (grid && typeof grid.shift !== "function")
|
|
1935
|
+
throw new Error("Invalid datum grid: " + reference.name);
|
|
1936
|
+
return { ...reference, grid };
|
|
1937
|
+
});
|
|
1938
|
+
const datum = { ...crs.datum, grids };
|
|
1939
|
+
return pair((p) => applyDatumGrids(p, datum, false), (p) => applyDatumGrids(p, datum, true));
|
|
1940
|
+
}
|
|
1941
|
+
case "vgridshift": {
|
|
1942
|
+
requireState("geographic", ["rad", "rad", "m"]);
|
|
1943
|
+
this.requiresZ = true;
|
|
1944
|
+
if (typeof step.grids !== "string")
|
|
1945
|
+
throw new Error("Vertical grid names required");
|
|
1946
|
+
const offset = compileVerticalGrid(step.grids, options.verticalGrids);
|
|
1947
|
+
const multiplier = step.multiplier ?? -1;
|
|
1948
|
+
if (!Number.isFinite(multiplier))
|
|
1949
|
+
throw new Error("Vertical grid multiplier must be finite");
|
|
1950
|
+
return pair((p) => {
|
|
1951
|
+
p.z += multiplier * offset(p.x, p.y);
|
|
1952
|
+
}, (p) => {
|
|
1953
|
+
p.z -= multiplier * offset(p.x, p.y);
|
|
1954
|
+
});
|
|
1955
|
+
}
|
|
1956
|
+
default:
|
|
1957
|
+
throw new Error("Unsupported pipeline step");
|
|
1958
|
+
}
|
|
1959
|
+
}
|
|
1960
|
+
};
|
|
1961
|
+
//# sourceMappingURL=pipeline.cjs.map
|