@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,1889 @@
|
|
|
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/transform-analysis.js
|
|
20
|
+
var transform_analysis_exports = {};
|
|
21
|
+
__export(transform_analysis_exports, {
|
|
22
|
+
createProjectionTransformAnalysis: () => createProjectionTransformAnalysis
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(transform_analysis_exports);
|
|
25
|
+
|
|
26
|
+
// dist/crs/spatial-reference.js
|
|
27
|
+
function inferCRSRepresentation(definition) {
|
|
28
|
+
if (typeof definition === "object") {
|
|
29
|
+
return "projjson";
|
|
30
|
+
}
|
|
31
|
+
const text = definition.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
|
+
function wrapLongitude(longitude, over = false) {
|
|
280
|
+
if (over || Math.abs(longitude) <= Math.PI)
|
|
281
|
+
return longitude;
|
|
282
|
+
const circle = 2 * Math.PI;
|
|
283
|
+
return ((longitude + Math.PI) % circle + circle) % circle - Math.PI;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
// dist/projection/experimental/crs/datum-catalog.js
|
|
287
|
+
var wgs84 = { towgs84: "0,0,0", ellipse: "WGS84" };
|
|
288
|
+
var nad83 = { towgs84: "0,0,0", ellipse: "GRS80" };
|
|
289
|
+
var builtins = {
|
|
290
|
+
wgs84,
|
|
291
|
+
WGS84: wgs84,
|
|
292
|
+
nad83,
|
|
293
|
+
North_American_Datum_1983: nad83
|
|
294
|
+
};
|
|
295
|
+
var resolved = /* @__PURE__ */ new WeakMap();
|
|
296
|
+
var datumNameKey = (name) => name.toLowerCase().replace(/[\s_-]/g, "");
|
|
297
|
+
function getDatumDefinitions(options) {
|
|
298
|
+
var _a2;
|
|
299
|
+
if (!((_a2 = options.datumCatalogs) == null ? void 0 : _a2.length))
|
|
300
|
+
return builtins;
|
|
301
|
+
const cached = resolved.get(options);
|
|
302
|
+
if ((cached == null ? void 0 : cached.catalogs) === options.datumCatalogs)
|
|
303
|
+
return cached.definitions;
|
|
304
|
+
const definitions = Object.assign(/* @__PURE__ */ Object.create(null), builtins);
|
|
305
|
+
const names = new Map(Object.entries(builtins).map(([name, definition]) => [
|
|
306
|
+
datumNameKey(name),
|
|
307
|
+
{ definition, owner: -1 }
|
|
308
|
+
]));
|
|
309
|
+
options.datumCatalogs.forEach((catalog, owner) => {
|
|
310
|
+
if (!catalog.name || !catalog.datums)
|
|
311
|
+
throw new Error("Invalid datum catalogue plugin");
|
|
312
|
+
for (const [name, definition] of Object.entries(catalog.datums)) {
|
|
313
|
+
const key = datumNameKey(name);
|
|
314
|
+
if (!key || key === "none" || !definition || ["ellipse", "towgs84", "nadgrids"].some((field) => definition[field] !== void 0 && typeof definition[field] !== "string"))
|
|
315
|
+
throw new Error("Invalid datum definition: " + name);
|
|
316
|
+
const previous = names.get(key);
|
|
317
|
+
if (previous && (previous.owner !== owner || previous.definition.ellipse !== definition.ellipse || previous.definition.towgs84 !== definition.towgs84 || previous.definition.nadgrids !== definition.nadgrids))
|
|
318
|
+
throw new Error("Conflicting datum registration: " + name);
|
|
319
|
+
names.set(key, { definition, owner });
|
|
320
|
+
definitions[name] = definition;
|
|
321
|
+
}
|
|
322
|
+
});
|
|
323
|
+
resolved.set(options, { catalogs: options.datumCatalogs, definitions });
|
|
324
|
+
return definitions;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
// dist/projection/experimental/crs/ellipsoid-table.js
|
|
328
|
+
var ellipsoids = {
|
|
329
|
+
MERIT: {
|
|
330
|
+
a: 6378137,
|
|
331
|
+
rf: 298.257,
|
|
332
|
+
ellipseName: "MERIT 1983"
|
|
333
|
+
},
|
|
334
|
+
SGS85: {
|
|
335
|
+
a: 6378136,
|
|
336
|
+
rf: 298.257,
|
|
337
|
+
ellipseName: "Soviet Geodetic System 85"
|
|
338
|
+
},
|
|
339
|
+
GRS80: {
|
|
340
|
+
a: 6378137,
|
|
341
|
+
rf: 298.257222101,
|
|
342
|
+
ellipseName: "GRS 1980(IUGG, 1980)"
|
|
343
|
+
},
|
|
344
|
+
IAU76: {
|
|
345
|
+
a: 6378140,
|
|
346
|
+
rf: 298.257,
|
|
347
|
+
ellipseName: "IAU 1976"
|
|
348
|
+
},
|
|
349
|
+
airy: {
|
|
350
|
+
a: 6377563396e-3,
|
|
351
|
+
b: 635625691e-2,
|
|
352
|
+
ellipseName: "Airy 1830"
|
|
353
|
+
},
|
|
354
|
+
APL4: {
|
|
355
|
+
a: 6378137,
|
|
356
|
+
rf: 298.25,
|
|
357
|
+
ellipseName: "Appl. Physics. 1965"
|
|
358
|
+
},
|
|
359
|
+
NWL9D: {
|
|
360
|
+
a: 6378145,
|
|
361
|
+
rf: 298.25,
|
|
362
|
+
ellipseName: "Naval Weapons Lab., 1965"
|
|
363
|
+
},
|
|
364
|
+
mod_airy: {
|
|
365
|
+
a: 6377340189e-3,
|
|
366
|
+
b: 6356034446e-3,
|
|
367
|
+
ellipseName: "Modified Airy"
|
|
368
|
+
},
|
|
369
|
+
andrae: {
|
|
370
|
+
a: 637710443e-2,
|
|
371
|
+
rf: 300,
|
|
372
|
+
ellipseName: "Andrae 1876 (Den., Iclnd.)"
|
|
373
|
+
},
|
|
374
|
+
aust_SA: {
|
|
375
|
+
a: 6378160,
|
|
376
|
+
rf: 298.25,
|
|
377
|
+
ellipseName: "Australian Natl & S. Amer. 1969"
|
|
378
|
+
},
|
|
379
|
+
GRS67: {
|
|
380
|
+
a: 6378160,
|
|
381
|
+
rf: 298.247167427,
|
|
382
|
+
ellipseName: "GRS 67(IUGG 1967)"
|
|
383
|
+
},
|
|
384
|
+
bessel: {
|
|
385
|
+
a: 6377397155e-3,
|
|
386
|
+
rf: 299.1528128,
|
|
387
|
+
ellipseName: "Bessel 1841"
|
|
388
|
+
},
|
|
389
|
+
bess_nam: {
|
|
390
|
+
a: 6377483865e-3,
|
|
391
|
+
rf: 299.1528128,
|
|
392
|
+
ellipseName: "Bessel 1841 (Namibia)"
|
|
393
|
+
},
|
|
394
|
+
clrk66: {
|
|
395
|
+
a: 63782064e-1,
|
|
396
|
+
b: 63565838e-1,
|
|
397
|
+
ellipseName: "Clarke 1866"
|
|
398
|
+
},
|
|
399
|
+
clrk80: {
|
|
400
|
+
a: 6378249145e-3,
|
|
401
|
+
rf: 293.4663,
|
|
402
|
+
ellipseName: "Clarke 1880 mod."
|
|
403
|
+
},
|
|
404
|
+
clrk80ign: {
|
|
405
|
+
a: 63782492e-1,
|
|
406
|
+
b: 6356515,
|
|
407
|
+
rf: 293.4660213,
|
|
408
|
+
ellipseName: "Clarke 1880 (IGN)"
|
|
409
|
+
},
|
|
410
|
+
clrk58: {
|
|
411
|
+
a: 6378293645208759e-9,
|
|
412
|
+
rf: 294.2606763692654,
|
|
413
|
+
ellipseName: "Clarke 1858"
|
|
414
|
+
},
|
|
415
|
+
CPM: {
|
|
416
|
+
a: 63757387e-1,
|
|
417
|
+
rf: 334.29,
|
|
418
|
+
ellipseName: "Comm. des Poids et Mesures 1799"
|
|
419
|
+
},
|
|
420
|
+
delmbr: {
|
|
421
|
+
a: 6376428,
|
|
422
|
+
rf: 311.5,
|
|
423
|
+
ellipseName: "Delambre 1810 (Belgium)"
|
|
424
|
+
},
|
|
425
|
+
engelis: {
|
|
426
|
+
a: 637813605e-2,
|
|
427
|
+
rf: 298.2566,
|
|
428
|
+
ellipseName: "Engelis 1985"
|
|
429
|
+
},
|
|
430
|
+
evrst30: {
|
|
431
|
+
a: 6377276345e-3,
|
|
432
|
+
rf: 300.8017,
|
|
433
|
+
ellipseName: "Everest 1830"
|
|
434
|
+
},
|
|
435
|
+
evrst48: {
|
|
436
|
+
a: 6377304063e-3,
|
|
437
|
+
rf: 300.8017,
|
|
438
|
+
ellipseName: "Everest 1948"
|
|
439
|
+
},
|
|
440
|
+
evrst56: {
|
|
441
|
+
a: 6377301243e-3,
|
|
442
|
+
rf: 300.8017,
|
|
443
|
+
ellipseName: "Everest 1956"
|
|
444
|
+
},
|
|
445
|
+
evrst69: {
|
|
446
|
+
a: 6377295664e-3,
|
|
447
|
+
rf: 300.8017,
|
|
448
|
+
ellipseName: "Everest 1969"
|
|
449
|
+
},
|
|
450
|
+
evrstSS: {
|
|
451
|
+
a: 6377298556e-3,
|
|
452
|
+
rf: 300.8017,
|
|
453
|
+
ellipseName: "Everest (Sabah & Sarawak)"
|
|
454
|
+
},
|
|
455
|
+
fschr60: {
|
|
456
|
+
a: 6378166,
|
|
457
|
+
rf: 298.3,
|
|
458
|
+
ellipseName: "Fischer (Mercury Datum) 1960"
|
|
459
|
+
},
|
|
460
|
+
fschr60m: {
|
|
461
|
+
a: 6378155,
|
|
462
|
+
rf: 298.3,
|
|
463
|
+
ellipseName: "Fischer 1960"
|
|
464
|
+
},
|
|
465
|
+
fschr68: {
|
|
466
|
+
a: 6378150,
|
|
467
|
+
rf: 298.3,
|
|
468
|
+
ellipseName: "Fischer 1968"
|
|
469
|
+
},
|
|
470
|
+
helmert: {
|
|
471
|
+
a: 6378200,
|
|
472
|
+
rf: 298.3,
|
|
473
|
+
ellipseName: "Helmert 1906"
|
|
474
|
+
},
|
|
475
|
+
hough: {
|
|
476
|
+
a: 6378270,
|
|
477
|
+
rf: 297,
|
|
478
|
+
ellipseName: "Hough"
|
|
479
|
+
},
|
|
480
|
+
intl: {
|
|
481
|
+
a: 6378388,
|
|
482
|
+
rf: 297,
|
|
483
|
+
ellipseName: "International 1909 (Hayford)"
|
|
484
|
+
},
|
|
485
|
+
kaula: {
|
|
486
|
+
a: 6378163,
|
|
487
|
+
rf: 298.24,
|
|
488
|
+
ellipseName: "Kaula 1961"
|
|
489
|
+
},
|
|
490
|
+
lerch: {
|
|
491
|
+
a: 6378139,
|
|
492
|
+
rf: 298.257,
|
|
493
|
+
ellipseName: "Lerch 1979"
|
|
494
|
+
},
|
|
495
|
+
mprts: {
|
|
496
|
+
a: 6397300,
|
|
497
|
+
rf: 191,
|
|
498
|
+
ellipseName: "Maupertius 1738"
|
|
499
|
+
},
|
|
500
|
+
new_intl: {
|
|
501
|
+
a: 63781575e-1,
|
|
502
|
+
b: 63567722e-1,
|
|
503
|
+
ellipseName: "New International 1967"
|
|
504
|
+
},
|
|
505
|
+
plessis: {
|
|
506
|
+
a: 6376523,
|
|
507
|
+
b: 6355863,
|
|
508
|
+
ellipseName: "Plessis 1817 (France)"
|
|
509
|
+
},
|
|
510
|
+
krass: {
|
|
511
|
+
a: 6378245,
|
|
512
|
+
rf: 298.3,
|
|
513
|
+
ellipseName: "Krassovsky, 1942"
|
|
514
|
+
},
|
|
515
|
+
SEasia: {
|
|
516
|
+
a: 6378155,
|
|
517
|
+
b: 63567733205e-4,
|
|
518
|
+
ellipseName: "Southeast Asia"
|
|
519
|
+
},
|
|
520
|
+
walbeck: {
|
|
521
|
+
a: 6376896,
|
|
522
|
+
b: 63558348467e-4,
|
|
523
|
+
ellipseName: "Walbeck"
|
|
524
|
+
},
|
|
525
|
+
WGS60: {
|
|
526
|
+
a: 6378165,
|
|
527
|
+
rf: 298.3,
|
|
528
|
+
ellipseName: "WGS 60"
|
|
529
|
+
},
|
|
530
|
+
WGS66: {
|
|
531
|
+
a: 6378145,
|
|
532
|
+
rf: 298.25,
|
|
533
|
+
ellipseName: "WGS 66"
|
|
534
|
+
},
|
|
535
|
+
WGS72: {
|
|
536
|
+
a: 6378135,
|
|
537
|
+
rf: 298.26,
|
|
538
|
+
ellipseName: "WGS 72"
|
|
539
|
+
},
|
|
540
|
+
WGS84: {
|
|
541
|
+
a: 6378137,
|
|
542
|
+
rf: 298.257223563,
|
|
543
|
+
ellipseName: "WGS 84"
|
|
544
|
+
},
|
|
545
|
+
sphere: {
|
|
546
|
+
a: 6370997,
|
|
547
|
+
b: 6370997,
|
|
548
|
+
ellipseName: "Normal Sphere (r=6370997)"
|
|
549
|
+
}
|
|
550
|
+
};
|
|
551
|
+
var ellipsoid_table_default = ellipsoids;
|
|
552
|
+
|
|
553
|
+
// dist/projection/experimental/crs/primemeridian-table.js
|
|
554
|
+
var primeMeridian = {};
|
|
555
|
+
primeMeridian["greenwich"] = 0;
|
|
556
|
+
primeMeridian["lisbon"] = -9.131906111111;
|
|
557
|
+
primeMeridian["paris"] = 2.337229166667;
|
|
558
|
+
primeMeridian["bogota"] = -74.080916666667;
|
|
559
|
+
primeMeridian["madrid"] = -3.687938888889;
|
|
560
|
+
primeMeridian["rome"] = 12.452333333333;
|
|
561
|
+
primeMeridian["bern"] = 7.439583333333;
|
|
562
|
+
primeMeridian["jakarta"] = 106.807719444444;
|
|
563
|
+
primeMeridian["ferro"] = -17.666666666667;
|
|
564
|
+
primeMeridian["brussels"] = 4.367975;
|
|
565
|
+
primeMeridian["stockholm"] = 18.058277777778;
|
|
566
|
+
primeMeridian["athens"] = 23.7163375;
|
|
567
|
+
primeMeridian["oslo"] = 10.722916666667;
|
|
568
|
+
var primemeridian_table_default = primeMeridian;
|
|
569
|
+
|
|
570
|
+
// dist/crs/units-table.js
|
|
571
|
+
var linearUnits = {
|
|
572
|
+
m: { name: "meters", metersPerUnit: 1 },
|
|
573
|
+
mm: { name: "millimeters", metersPerUnit: 1e-3 },
|
|
574
|
+
cm: { name: "centimeters", metersPerUnit: 0.01 },
|
|
575
|
+
ft: { name: "feet", metersPerUnit: 0.3048 },
|
|
576
|
+
"us-ft": { name: "us-survey-feet", metersPerUnit: 1200 / 3937 },
|
|
577
|
+
fath: { name: "fathoms", metersPerUnit: 1.8288 },
|
|
578
|
+
kmi: { name: "nautical-miles", metersPerUnit: 1852 },
|
|
579
|
+
"us-ch": { name: "us-survey-chains", metersPerUnit: 20.1168402336805 },
|
|
580
|
+
"us-mi": { name: "us-survey-miles", metersPerUnit: 1609.34721869444 },
|
|
581
|
+
km: { name: "kilometers", metersPerUnit: 1e3 },
|
|
582
|
+
"ind-ft": { name: "indian-feet", metersPerUnit: 0.30479841 },
|
|
583
|
+
"ind-yd": { name: "indian-yards", metersPerUnit: 0.91439523 },
|
|
584
|
+
mi: { name: "miles", metersPerUnit: 1609.344 },
|
|
585
|
+
yd: { name: "yards", metersPerUnit: 0.9144 },
|
|
586
|
+
ch: { name: "chains", metersPerUnit: 20.1168 },
|
|
587
|
+
link: { name: "links", metersPerUnit: 0.201168 },
|
|
588
|
+
dm: { name: "decimeters", metersPerUnit: 0.1 },
|
|
589
|
+
in: { name: "inches", metersPerUnit: 0.0254 },
|
|
590
|
+
"ind-ch": { name: "indian-chains", metersPerUnit: 20.11669506 },
|
|
591
|
+
"us-in": { name: "us-survey-inches", metersPerUnit: 0.025400050800101 },
|
|
592
|
+
"us-yd": { name: "us-survey-yards", metersPerUnit: 0.914401828803658 }
|
|
593
|
+
};
|
|
594
|
+
|
|
595
|
+
// dist/projection/experimental/crs/normalize.js
|
|
596
|
+
var ALIASES = {
|
|
597
|
+
WGS84: "+proj=longlat +datum=WGS84",
|
|
598
|
+
"EPSG:4326": "+proj=longlat +datum=WGS84",
|
|
599
|
+
"EPSG:4269": "+proj=longlat +datum=NAD83",
|
|
600
|
+
"EPSG:4978": "+proj=geocent +datum=WGS84",
|
|
601
|
+
"EPSG:4979": "+proj=longlat +datum=WGS84",
|
|
602
|
+
"EPSG:3857": "+proj=merc +a=6378137 +b=6378137 +nadgrids=@null +units=m",
|
|
603
|
+
"EPSG:3785": "EPSG:3857",
|
|
604
|
+
GOOGLE: "EPSG:3857",
|
|
605
|
+
"EPSG:900913": "EPSG:3857",
|
|
606
|
+
"EPSG:102113": "EPSG:3857"
|
|
607
|
+
};
|
|
608
|
+
var CORE_PARAMETERS = [
|
|
609
|
+
"proj",
|
|
610
|
+
"datum",
|
|
611
|
+
"ellps",
|
|
612
|
+
"a",
|
|
613
|
+
"b",
|
|
614
|
+
"rf",
|
|
615
|
+
"f",
|
|
616
|
+
"R",
|
|
617
|
+
"units",
|
|
618
|
+
"to_meter",
|
|
619
|
+
"vunits",
|
|
620
|
+
"vto_meter",
|
|
621
|
+
"no_defs",
|
|
622
|
+
"type",
|
|
623
|
+
"title",
|
|
624
|
+
"towgs84",
|
|
625
|
+
"nadgrids",
|
|
626
|
+
"geoidgrids",
|
|
627
|
+
"axis",
|
|
628
|
+
"pm",
|
|
629
|
+
"over",
|
|
630
|
+
"lon_wrap"
|
|
631
|
+
];
|
|
632
|
+
var CORE_FLAGS = ["no_defs", "over"];
|
|
633
|
+
var own = (object, key) => Object.prototype.hasOwnProperty.call(object, key);
|
|
634
|
+
var keyOf = (value) => value.toLowerCase().replace(/[\s_-]/g, "");
|
|
635
|
+
function lookup(table, name) {
|
|
636
|
+
const key = Object.keys(table).find((key2) => keyOf(key2) === keyOf(name));
|
|
637
|
+
return key === void 0 ? void 0 : table[key];
|
|
638
|
+
}
|
|
639
|
+
function parseAngle(text) {
|
|
640
|
+
if (/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i.test(text)) {
|
|
641
|
+
const value = Number(text);
|
|
642
|
+
if (Number.isFinite(value))
|
|
643
|
+
return value;
|
|
644
|
+
}
|
|
645
|
+
if (/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?r$/i.test(text)) {
|
|
646
|
+
const value = Number(text.slice(0, -1)) / DEGREES_TO_RADIANS;
|
|
647
|
+
if (Number.isFinite(value))
|
|
648
|
+
return value;
|
|
649
|
+
}
|
|
650
|
+
const dms = /^([+-]?)(\d+(?:\.\d*)?)(?:d(?:(\d+(?:\.\d*)?)'(?:(\d+(?:\.\d*)?)")?)?)?([NSEW])?$/i.exec(text);
|
|
651
|
+
if (dms && (/d/i.test(text) || dms[5])) {
|
|
652
|
+
const minutes = Number(dms[3] || 0), seconds = Number(dms[4] || 0);
|
|
653
|
+
if (minutes < 60 && seconds < 60) {
|
|
654
|
+
const sign = dms[1] === "-" ? -1 : 1;
|
|
655
|
+
const direction = /[SW]/i.test(dms[5] || "") ? -1 : 1;
|
|
656
|
+
const value = sign * direction * (Number(dms[2]) + minutes / 60 + seconds / 3600);
|
|
657
|
+
if (Number.isFinite(value))
|
|
658
|
+
return value;
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
throw new Error("Invalid angular parameter: " + text);
|
|
662
|
+
}
|
|
663
|
+
function normalizeCRS(input, options = {}) {
|
|
664
|
+
var _a2;
|
|
665
|
+
const datums = getDatumDefinitions(options);
|
|
666
|
+
const resolved2 = resolveCRSInput(input, options);
|
|
667
|
+
let definition = resolved2.definition;
|
|
668
|
+
const aliases = options.aliases || {};
|
|
669
|
+
const visited = /* @__PURE__ */ new Set();
|
|
670
|
+
while (typeof definition === "string" && (own(aliases, definition) || own(ALIASES, definition))) {
|
|
671
|
+
if (visited.has(definition))
|
|
672
|
+
throw new Error("Circular CRS alias: " + definition);
|
|
673
|
+
visited.add(definition);
|
|
674
|
+
definition = own(aliases, definition) ? aliases[definition] : ALIASES[definition];
|
|
675
|
+
}
|
|
676
|
+
if (typeof definition === "string") {
|
|
677
|
+
const utm = /^EPSG:(326|327)(\d{2})$/.exec(definition);
|
|
678
|
+
if (utm && Number(utm[2]) >= 1 && Number(utm[2]) <= 60) {
|
|
679
|
+
definition = "+proj=utm +datum=WGS84 +zone=" + Number(utm[2]) + (utm[1] === "327" ? " +south" : "");
|
|
680
|
+
}
|
|
681
|
+
if (definition === "EPSG:5041" || definition === "EPSG:5042") {
|
|
682
|
+
definition = "+proj=stere +datum=WGS84 +lat_0=" + (definition === "EPSG:5041" ? 90 : -90) + " +k_0=0.994 +x_0=2000000 +y_0=2000000";
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
let parsed;
|
|
686
|
+
if (inferCRSRepresentation(definition) === "proj-string" && typeof definition === "string") {
|
|
687
|
+
const parameters2 = /* @__PURE__ */ Object.create(null);
|
|
688
|
+
for (const parameter of parsePROJString(definition).parameters) {
|
|
689
|
+
if (own(parameters2, parameter.name))
|
|
690
|
+
throw new Error("Duplicate PROJ parameter: +" + parameter.name);
|
|
691
|
+
parameters2[parameter.name] = parameter.value;
|
|
692
|
+
}
|
|
693
|
+
parsed = { parameters: parameters2 };
|
|
694
|
+
} else {
|
|
695
|
+
const parser = (_a2 = options.parsers) == null ? void 0 : _a2.find((candidate) => candidate.canParse(definition));
|
|
696
|
+
if (!parser) {
|
|
697
|
+
const serialized = ["wkt", "projjson"].includes(inferCRSRepresentation(definition));
|
|
698
|
+
throw new TypeScriptCRSError(serialized ? "missing-parser" : "unknown-syntax", "Unsupported CRS definition; register a WKT or PROJJSON parser for structured definitions");
|
|
699
|
+
}
|
|
700
|
+
parsed = parser.parse(definition, options);
|
|
701
|
+
}
|
|
702
|
+
const parameters = { ...parsed.parameters };
|
|
703
|
+
for (const name2 of [
|
|
704
|
+
"lon_0",
|
|
705
|
+
"lat_0",
|
|
706
|
+
"lat_1",
|
|
707
|
+
"lat_2",
|
|
708
|
+
"lat_ts",
|
|
709
|
+
"lon_wrap",
|
|
710
|
+
"lon_1",
|
|
711
|
+
"lon_2",
|
|
712
|
+
"lonc",
|
|
713
|
+
"alpha",
|
|
714
|
+
"gamma",
|
|
715
|
+
"tilt",
|
|
716
|
+
"azi",
|
|
717
|
+
"o_alpha",
|
|
718
|
+
"o_lon_c",
|
|
719
|
+
"o_lat_c",
|
|
720
|
+
"o_lon_p",
|
|
721
|
+
"o_lat_p",
|
|
722
|
+
"o_lon_1",
|
|
723
|
+
"o_lat_1",
|
|
724
|
+
"o_lon_2",
|
|
725
|
+
"o_lat_2"
|
|
726
|
+
]) {
|
|
727
|
+
if (parameters[name2] !== void 0)
|
|
728
|
+
parameters[name2] = String(parseAngle(parameters[name2]));
|
|
729
|
+
}
|
|
730
|
+
const suppliedName = parameters["proj"];
|
|
731
|
+
const lowerName = suppliedName == null ? void 0 : suppliedName.toLowerCase();
|
|
732
|
+
const name = lowerName === "geocentric" ? "geocent" : ["longlat", "latlong", "latlon", "lonlat", "identity", "geocent"].includes(lowerName) ? lowerName : suppliedName;
|
|
733
|
+
if (!name)
|
|
734
|
+
throw new Error("CRS requires +proj");
|
|
735
|
+
const kind = ["longlat", "latlong", "latlon", "lonlat"].includes(name) ? "geographic" : name === "geocent" ? "geocentric" : name === "identity" ? "identity" : "projected";
|
|
736
|
+
const datumName = parameters["datum"];
|
|
737
|
+
const datum = datumName && datumName !== "none" ? lookup(datums, datumName) : void 0;
|
|
738
|
+
if (datumName && datumName !== "none" && !datum)
|
|
739
|
+
unsupportedStage("Unknown datum: " + datumName + "; register a datumCatalogs plugin");
|
|
740
|
+
const ellipsoid = getEllipsoid(parameters, datum == null ? void 0 : datum.ellipse);
|
|
741
|
+
const grids = parameters["nadgrids"] ?? (datum == null ? void 0 : datum.nadgrids);
|
|
742
|
+
const gridReferences = grids === void 0 ? void 0 : grids.split(",").map((entry) => {
|
|
743
|
+
const optional = entry.startsWith("@");
|
|
744
|
+
const name2 = optional ? entry.slice(1) : entry;
|
|
745
|
+
if (!name2 || /\s/.test(name2))
|
|
746
|
+
throw new Error("Invalid datum grid name");
|
|
747
|
+
return Object.freeze({ name: name2, optional });
|
|
748
|
+
});
|
|
749
|
+
const rawShift = parameters["towgs84"] ?? (datum == null ? void 0 : datum.towgs84);
|
|
750
|
+
let shift;
|
|
751
|
+
if (rawShift !== void 0) {
|
|
752
|
+
shift = rawShift.split(",").map((value) => numberParameter({ value }, "value", NaN));
|
|
753
|
+
if (![3, 7].includes(shift.length) || shift.some((value) => !Number.isFinite(value)) || shift.length === 7 && shift[6] <= -1e6) {
|
|
754
|
+
throw new Error("+towgs84 requires three or seven finite values and positive scale");
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
if (datumName === "none")
|
|
758
|
+
shift = void 0;
|
|
759
|
+
if (gridReferences && datumName !== "none")
|
|
760
|
+
shift = [0, 0, 0];
|
|
761
|
+
const datumEllipsoid = grids === "@null" || grids === "null" ? getEllipsoid({ ellps: "WGS84" }) : ellipsoid;
|
|
762
|
+
const axis = parameters["axis"] || "enu";
|
|
763
|
+
if (axis.length !== 3 || !/[ew]/.test(axis) || !/[ns]/.test(axis) || !/[ud]/.test(axis))
|
|
764
|
+
throw new Error("Invalid axis: " + axis);
|
|
765
|
+
const angularUnit = parsed.angularUnit ?? DEGREES_TO_RADIANS;
|
|
766
|
+
if (kind === "geographic" && (parameters["units"] && parameters["units"] !== "degrees" || own(parameters, "to_meter")))
|
|
767
|
+
throw new Error("Geographic coordinates must use angular units");
|
|
768
|
+
if (kind !== "geographic" && parameters["units"] === "degrees")
|
|
769
|
+
throw new Error("Linear coordinates require linear units");
|
|
770
|
+
const toMeter = unitFactor(parameters, "units", "to_meter");
|
|
771
|
+
const verticalUnit = parsed.verticalUnit ?? unitFactor(parameters, "vunits", "vto_meter");
|
|
772
|
+
if (!(verticalUnit > 0) || !Number.isFinite(verticalUnit))
|
|
773
|
+
throw new Error("Invalid vertical unit");
|
|
774
|
+
if (!(angularUnit > 0) || !Number.isFinite(angularUnit))
|
|
775
|
+
throw new Error("Invalid angular unit");
|
|
776
|
+
const pm = parameters["pm"];
|
|
777
|
+
const primeMeridian2 = pm === void 0 ? 0 : (lookup(primemeridian_table_default, pm) ?? parseAngle(pm)) * DEGREES_TO_RADIANS;
|
|
778
|
+
return applySpatialReference(Object.freeze({
|
|
779
|
+
kind,
|
|
780
|
+
projection: name,
|
|
781
|
+
parameters: Object.freeze(parameters),
|
|
782
|
+
ellipsoid,
|
|
783
|
+
datum: Object.freeze({
|
|
784
|
+
ellipsoid: datumEllipsoid,
|
|
785
|
+
towgs84: shift && Object.freeze(shift),
|
|
786
|
+
grids: datumName === "none" || grids === "@null" || grids === "null" ? void 0 : gridReferences && Object.freeze(gridReferences)
|
|
787
|
+
}),
|
|
788
|
+
areaOfUse: parsed.areaOfUse,
|
|
789
|
+
angularUnit,
|
|
790
|
+
toMeter,
|
|
791
|
+
verticalUnit,
|
|
792
|
+
primeMeridian: primeMeridian2,
|
|
793
|
+
axis,
|
|
794
|
+
longitudeWrap: parameters["lon_wrap"] === void 0 ? void 0 : Number(parameters["lon_wrap"]) * DEGREES_TO_RADIANS,
|
|
795
|
+
lossy: Boolean(parsed.lossy || resolved2.lossy)
|
|
796
|
+
}), resolved2.spatialReference);
|
|
797
|
+
}
|
|
798
|
+
function unitFactor(parameters, unitKey, factorKey) {
|
|
799
|
+
const unit = parameters[unitKey];
|
|
800
|
+
const table = linearUnits;
|
|
801
|
+
if (unitKey === "vunits" && unit === "degrees")
|
|
802
|
+
throw new Error("Height requires linear units");
|
|
803
|
+
if (unit && !["m", "degrees"].includes(unit) && !own(table, unit))
|
|
804
|
+
throw new Error("Unsupported units: " + unit);
|
|
805
|
+
const factor = numberParameter(parameters, factorKey, unit && table[unit] ? table[unit].metersPerUnit : 1);
|
|
806
|
+
if (!(factor > 0))
|
|
807
|
+
throw new Error("+" + factorKey + " must be positive");
|
|
808
|
+
return factor;
|
|
809
|
+
}
|
|
810
|
+
function getEllipsoid(parameters, datumEllipsoid) {
|
|
811
|
+
const name = datumEllipsoid || parameters["ellps"] || "WGS84";
|
|
812
|
+
const definition = lookup(ellipsoid_table_default, name);
|
|
813
|
+
if (!definition)
|
|
814
|
+
throw new Error("Unsupported ellipsoid: " + name);
|
|
815
|
+
const a = numberParameter(parameters, "a", definition.a);
|
|
816
|
+
const f = numberParameter(parameters, "f", NaN);
|
|
817
|
+
const rf = numberParameter(parameters, "rf", Number.isNaN(f) ? definition.rf || 0 : f === 0 ? 0 : 1 / f);
|
|
818
|
+
const b = numberParameter(parameters, "b", rf ? a * (1 - 1 / rf) : own(parameters, "f") || own(parameters, "rf") || own(parameters, "a") ? a : definition.b || a);
|
|
819
|
+
const radius = numberParameter(parameters, "R", 0);
|
|
820
|
+
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))
|
|
821
|
+
throw new Error("Invalid ellipsoid dimensions");
|
|
822
|
+
return Object.freeze({
|
|
823
|
+
semiMajorAxis: radius || a,
|
|
824
|
+
semiMinorAxis: radius || b,
|
|
825
|
+
eccentricitySquared: radius ? 0 : 1 - (b / a) ** 2
|
|
826
|
+
});
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
// dist/projection/experimental/rendering-profile/geographic-bounds.js
|
|
830
|
+
var RADIANS = Math.PI / 180;
|
|
831
|
+
function createAngularRanges(west, south, east, north) {
|
|
832
|
+
return [
|
|
833
|
+
[west, south],
|
|
834
|
+
[east, north]
|
|
835
|
+
];
|
|
836
|
+
}
|
|
837
|
+
function normalizeLongitude(longitude) {
|
|
838
|
+
return longitude >= -180 && longitude < 180 ? longitude : ((longitude + 180) % 360 + 360) % 360 - 180;
|
|
839
|
+
}
|
|
840
|
+
function getLongitudeSpan(bounds) {
|
|
841
|
+
const span = bounds[2] - bounds[0];
|
|
842
|
+
return span < 0 ? span + 360 : span;
|
|
843
|
+
}
|
|
844
|
+
function containsGeographicPoint(bounds, point) {
|
|
845
|
+
const [west, south, east, north] = bounds;
|
|
846
|
+
const longitude = normalizeLongitude(point[0]);
|
|
847
|
+
return point[1] >= south && point[1] <= north && (west <= east ? longitude >= west && longitude <= east || longitude === -180 && east === 180 : longitude >= west || longitude <= east);
|
|
848
|
+
}
|
|
849
|
+
function clampGeographicPoint(bounds, point) {
|
|
850
|
+
let longitude = normalizeLongitude(point[0]);
|
|
851
|
+
const latitude = Math.max(bounds[1], Math.min(bounds[3], point[1]));
|
|
852
|
+
if (!containsGeographicPoint(bounds, [longitude, latitude])) {
|
|
853
|
+
const westDistance = Math.abs(normalizeLongitude(longitude - bounds[0]));
|
|
854
|
+
const eastDistance = Math.abs(normalizeLongitude(longitude - bounds[2]));
|
|
855
|
+
longitude = westDistance <= eastDistance ? bounds[0] : bounds[2];
|
|
856
|
+
}
|
|
857
|
+
return [longitude, latitude];
|
|
858
|
+
}
|
|
859
|
+
function getAngularRanges(bounds, primeMeridian2 = 0, origin = 0) {
|
|
860
|
+
const width = getLongitudeSpan(bounds);
|
|
861
|
+
const west = bounds[0] * RADIANS - primeMeridian2;
|
|
862
|
+
const middle = west + width * RADIANS / 2;
|
|
863
|
+
const shift = Math.round((origin - middle) / (2 * Math.PI)) * 2 * Math.PI;
|
|
864
|
+
return createAngularRanges(width === 360 ? origin - Math.PI : west + shift, bounds[1] * RADIANS, width === 360 ? origin + Math.PI : west + shift + width * RADIANS, bounds[3] * RADIANS);
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
// dist/projection/experimental/rendering-profile/rendering-profile.js
|
|
868
|
+
function resolveRenderingProfile(getRenderingProfile, coverage) {
|
|
869
|
+
if (coverage) {
|
|
870
|
+
try {
|
|
871
|
+
const profile2 = getRenderingProfile(coverage);
|
|
872
|
+
return resolveBounds(profile2);
|
|
873
|
+
} catch {
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
const profile = getRenderingProfile();
|
|
877
|
+
return resolveBounds(profile);
|
|
878
|
+
}
|
|
879
|
+
function resolveBounds(profile) {
|
|
880
|
+
var _a2;
|
|
881
|
+
const bounds = profile.bounds;
|
|
882
|
+
if (bounds.some((corner) => corner.some((value) => !Number.isFinite(value))))
|
|
883
|
+
throw new Error("Projection rendering bounds must be finite");
|
|
884
|
+
return { bounds, normalize: (_a2 = profile.normalize) == null ? void 0 : _a2.bind(profile) };
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
// dist/projection/experimental/rendering-profile/identity-rendering-profile.js
|
|
888
|
+
function getIdentityRenderingProfile() {
|
|
889
|
+
return {
|
|
890
|
+
bounds: [
|
|
891
|
+
[-1, -1, 0],
|
|
892
|
+
[1, 1, 0]
|
|
893
|
+
]
|
|
894
|
+
};
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
// dist/projection/experimental/projection-descriptor.js
|
|
898
|
+
var CACHE_KEY = /* @__PURE__ */ Symbol.for("@math.gl/projection/projection-implementations");
|
|
899
|
+
function cache() {
|
|
900
|
+
const scope = globalThis;
|
|
901
|
+
scope[CACHE_KEY] || (scope[CACHE_KEY] = /* @__PURE__ */ new WeakMap());
|
|
902
|
+
return scope[CACHE_KEY];
|
|
903
|
+
}
|
|
904
|
+
function getLoadedProjection(projection) {
|
|
905
|
+
var _a2;
|
|
906
|
+
return "create" in projection ? projection : (_a2 = cache().get(projection)) == null ? void 0 : _a2.implementation;
|
|
907
|
+
}
|
|
908
|
+
function preloadProjection(projection) {
|
|
909
|
+
if ("create" in projection)
|
|
910
|
+
return Promise.resolve(projection);
|
|
911
|
+
let state = cache().get(projection);
|
|
912
|
+
if (!state) {
|
|
913
|
+
state = { load: () => projection.preload() };
|
|
914
|
+
cache().set(projection, state);
|
|
915
|
+
}
|
|
916
|
+
if (state.implementation)
|
|
917
|
+
return Promise.resolve(state.implementation);
|
|
918
|
+
const entry = state;
|
|
919
|
+
entry.pending || (entry.pending = Promise.resolve().then(entry.load).then((plugin) => {
|
|
920
|
+
const key = (value) => value.toLowerCase().replace(/[\s_-]/g, "");
|
|
921
|
+
const supported = new Set([plugin.name, ...plugin.aliases || []].map(key));
|
|
922
|
+
if (typeof plugin.create !== "function" || ![projection.name, ...projection.aliases || []].every((name) => supported.has(key(name))))
|
|
923
|
+
throw new Error("Loaded projection does not match descriptor: " + projection.name);
|
|
924
|
+
entry.implementation = plugin;
|
|
925
|
+
return plugin;
|
|
926
|
+
}).catch((error) => {
|
|
927
|
+
entry.pending = void 0;
|
|
928
|
+
throw error;
|
|
929
|
+
}));
|
|
930
|
+
return entry.pending;
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
// dist/projection/experimental/projection-scratch.js
|
|
934
|
+
function createPoint() {
|
|
935
|
+
return { x: 0, y: 0, z: 0 };
|
|
936
|
+
}
|
|
937
|
+
var ProjectionScratch = class {
|
|
938
|
+
constructor() {
|
|
939
|
+
this.point = createPoint();
|
|
940
|
+
this.points = [this.point];
|
|
941
|
+
this.active = 0;
|
|
942
|
+
}
|
|
943
|
+
get depth() {
|
|
944
|
+
return this.active;
|
|
945
|
+
}
|
|
946
|
+
acquire() {
|
|
947
|
+
var _a2;
|
|
948
|
+
const index = this.active++;
|
|
949
|
+
(_a2 = this.points)[index] || (_a2[index] = createPoint());
|
|
950
|
+
return this.points[index];
|
|
951
|
+
}
|
|
952
|
+
release(point) {
|
|
953
|
+
if (this.active > 0 && this.points[this.active - 1] === point)
|
|
954
|
+
this.active--;
|
|
955
|
+
}
|
|
956
|
+
};
|
|
957
|
+
|
|
958
|
+
// dist/projection/experimental/mutable-projection.js
|
|
959
|
+
function projectionOperation(implementation, inverse, geocentric = false) {
|
|
960
|
+
const mutable = inverse ? implementation.inverseInPlace : implementation.forwardInPlace;
|
|
961
|
+
if (mutable)
|
|
962
|
+
return mutable.bind(implementation);
|
|
963
|
+
if (geocentric) {
|
|
964
|
+
const operation2 = inverse ? implementation.inverse3D : implementation.forward3D;
|
|
965
|
+
return (point) => {
|
|
966
|
+
const output = operation2.call(implementation, [point.x, point.y, point.z]);
|
|
967
|
+
point.x = output[0];
|
|
968
|
+
point.y = output[1];
|
|
969
|
+
point.z = output[2];
|
|
970
|
+
};
|
|
971
|
+
}
|
|
972
|
+
const operation = inverse ? implementation.inverse : implementation.forward;
|
|
973
|
+
return (point) => {
|
|
974
|
+
const output = operation.call(implementation, point.x, point.y);
|
|
975
|
+
point.x = output[0];
|
|
976
|
+
point.y = output[1];
|
|
977
|
+
};
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
// dist/projection/experimental/scalar-output.js
|
|
981
|
+
var FLOAT32_MAX = 34028234663852886e22;
|
|
982
|
+
function validateScalarOutput(coordinate, output, length) {
|
|
983
|
+
if (!(Array.isArray(coordinate) || coordinate instanceof Float32Array || coordinate instanceof Float64Array))
|
|
984
|
+
throw new Error("Scalar input requires a number array, Float32Array or Float64Array");
|
|
985
|
+
if (!(Array.isArray(output) || output instanceof Float32Array || output instanceof Float64Array) || output.length < length)
|
|
986
|
+
throw new Error("Scalar output requires a preallocated number array, Float32Array or Float64Array with sufficient capacity");
|
|
987
|
+
if (coordinate === output || Array.isArray(coordinate) || Array.isArray(output))
|
|
988
|
+
return;
|
|
989
|
+
const input = coordinate;
|
|
990
|
+
const result = output;
|
|
991
|
+
const shared = typeof SharedArrayBuffer !== "undefined" && input.buffer instanceof SharedArrayBuffer && result.buffer instanceof SharedArrayBuffer;
|
|
992
|
+
if ((input.buffer === result.buffer || shared) && input.byteOffset < result.byteOffset + length * result.BYTES_PER_ELEMENT && result.byteOffset < input.byteOffset + input.byteLength)
|
|
993
|
+
throw new Error("Scalar input/output views overlap; use the same view for in-place projection");
|
|
994
|
+
}
|
|
995
|
+
function writeScalarOutput(coordinate, output, point, length) {
|
|
996
|
+
if (output instanceof Float32Array) {
|
|
997
|
+
if (Math.abs(point.x) > FLOAT32_MAX || Math.abs(point.y) > FLOAT32_MAX || length >= 3 && Math.abs(point.z) > FLOAT32_MAX)
|
|
998
|
+
throw new Error("Projected coordinate exceeds Float32 range");
|
|
999
|
+
for (let i = 3; i < coordinate.length; i++) {
|
|
1000
|
+
const value = coordinate[i];
|
|
1001
|
+
if (Number.isFinite(value) && Math.abs(value) > FLOAT32_MAX)
|
|
1002
|
+
throw new Error("Trailing ordinate exceeds Float32 range");
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
for (let i = 3; i < coordinate.length; i++)
|
|
1006
|
+
output[i] = coordinate[i];
|
|
1007
|
+
output[0] = point.x;
|
|
1008
|
+
output[1] = point.y;
|
|
1009
|
+
if (length >= 3)
|
|
1010
|
+
output[2] = point.z;
|
|
1011
|
+
return output;
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
// dist/projection/experimental/datum.js
|
|
1015
|
+
var import_spheroid = require("@math.gl/core/spheroid");
|
|
1016
|
+
var ARC_SECOND = Math.PI / (180 * 3600);
|
|
1017
|
+
var WGS84 = {
|
|
1018
|
+
ellipsoid: {
|
|
1019
|
+
semiMajorAxis: 6378137,
|
|
1020
|
+
semiMinorAxis: 6356752314245179e-9,
|
|
1021
|
+
eccentricitySquared: 0.0066943799901413165
|
|
1022
|
+
},
|
|
1023
|
+
towgs84: [0, 0, 0]
|
|
1024
|
+
};
|
|
1025
|
+
function geodeticToGeocentricInPlace(point, ellipsoid) {
|
|
1026
|
+
if (Math.abs(point.y) > Math.PI / 2)
|
|
1027
|
+
throw new Error("Latitude outside geocentric domain");
|
|
1028
|
+
if (!(0, import_spheroid.spheroidToCartesian)(point, ellipsoid))
|
|
1029
|
+
throw new Error("Geocentric coordinate must be finite");
|
|
1030
|
+
}
|
|
1031
|
+
function geocentricToGeodeticInPlace(point, ellipsoid) {
|
|
1032
|
+
const x = point.x, y = point.y, z = point.z;
|
|
1033
|
+
const { semiMajorAxis: a, semiMinorAxis: b, eccentricitySquared: es } = ellipsoid;
|
|
1034
|
+
if (x === 0 && y === 0 && z === 0)
|
|
1035
|
+
throw new Error("Geodetic coordinates are undefined at the Earth center");
|
|
1036
|
+
if (es !== 0 && Math.abs(x) < 1e-12 * a && Math.abs(y) < 1e-12 * a && Math.hypot(x, y) < 1e-12 * a) {
|
|
1037
|
+
if (!Number.isFinite(Math.hypot(x, y, z)))
|
|
1038
|
+
throw new Error("Geocentric radius must be finite");
|
|
1039
|
+
point.x = 0;
|
|
1040
|
+
point.y = Math.sign(z) * Math.PI / 2;
|
|
1041
|
+
point.z = Math.abs(z) - b;
|
|
1042
|
+
return;
|
|
1043
|
+
}
|
|
1044
|
+
if (!(0, import_spheroid.cartesianToSpheroid)(point, ellipsoid)) {
|
|
1045
|
+
if (!Number.isFinite(Math.hypot(x, y, z)))
|
|
1046
|
+
throw new Error("Geocentric radius must be finite");
|
|
1047
|
+
throw new Error("Geocentric inverse did not converge");
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
function createHelmert(values, inverse) {
|
|
1051
|
+
const dx = values[0], dy = values[1], dz = values[2];
|
|
1052
|
+
const rx = (values[3] || 0) * ARC_SECOND, ry = (values[4] || 0) * ARC_SECOND, rz = (values[5] || 0) * ARC_SECOND;
|
|
1053
|
+
const scale = 1 + (values[6] || 0) / 1e6;
|
|
1054
|
+
return inverse ? (point) => {
|
|
1055
|
+
const x = (point.x - dx) / scale, y = (point.y - dy) / scale, z = (point.z - dz) / scale;
|
|
1056
|
+
point.x = x + rz * y - ry * z;
|
|
1057
|
+
point.y = -rz * x + y + rx * z;
|
|
1058
|
+
point.z = ry * x - rx * y + z;
|
|
1059
|
+
} : (point) => {
|
|
1060
|
+
const x = point.x, y = point.y, z = point.z;
|
|
1061
|
+
point.x = scale * (x - rz * y + ry * z) + dx;
|
|
1062
|
+
point.y = scale * (rz * x + y - rx * z) + dy;
|
|
1063
|
+
point.z = scale * (-ry * x + rx * y + z) + dz;
|
|
1064
|
+
};
|
|
1065
|
+
}
|
|
1066
|
+
function shifted(datum) {
|
|
1067
|
+
var _a2;
|
|
1068
|
+
return Boolean((_a2 = datum.towgs84) == null ? void 0 : _a2.some((value) => value !== 0));
|
|
1069
|
+
}
|
|
1070
|
+
function createDatumTransform(source, destination) {
|
|
1071
|
+
if (!source.towgs84 || !destination.towgs84)
|
|
1072
|
+
return void 0;
|
|
1073
|
+
if (source.grids || destination.grids) {
|
|
1074
|
+
if (source.grids && destination.grids && source.ellipsoid.semiMajorAxis === destination.ellipsoid.semiMajorAxis && source.ellipsoid.eccentricitySquared === destination.ellipsoid.eccentricitySquared && source.grids.length === destination.grids.length && source.grids.every((entry, i) => entry.name === destination.grids[i].name && entry.optional === destination.grids[i].optional && entry.grid === destination.grids[i].grid))
|
|
1075
|
+
return void 0;
|
|
1076
|
+
const middle = createDatumTransform(source.grids ? WGS84 : source, destination.grids ? WGS84 : destination);
|
|
1077
|
+
return (point) => {
|
|
1078
|
+
if (source.grids)
|
|
1079
|
+
applyDatumGrids(point, source, false);
|
|
1080
|
+
middle == null ? void 0 : middle(point);
|
|
1081
|
+
if (destination.grids)
|
|
1082
|
+
applyDatumGrids(point, destination, true);
|
|
1083
|
+
};
|
|
1084
|
+
}
|
|
1085
|
+
if (shifted(source) || shifted(destination)) {
|
|
1086
|
+
const first = convertDatum(source, WGS84), second = convertDatum(WGS84, destination);
|
|
1087
|
+
return (point) => {
|
|
1088
|
+
first == null ? void 0 : first(point);
|
|
1089
|
+
second == null ? void 0 : second(point);
|
|
1090
|
+
};
|
|
1091
|
+
}
|
|
1092
|
+
return convertDatum(source, destination);
|
|
1093
|
+
}
|
|
1094
|
+
function convertDatum(from, to) {
|
|
1095
|
+
if (!from.towgs84 || !to.towgs84)
|
|
1096
|
+
return void 0;
|
|
1097
|
+
const a = from.ellipsoid, b = to.ellipsoid;
|
|
1098
|
+
let sameParameters = true;
|
|
1099
|
+
for (let i = 0; i < 7; i++)
|
|
1100
|
+
if ((from.towgs84[i] || 0) !== (to.towgs84[i] || 0))
|
|
1101
|
+
sameParameters = false;
|
|
1102
|
+
if (a.semiMajorAxis === b.semiMajorAxis && Math.abs(a.eccentricitySquared - b.eccentricitySquared) <= 5e-11 && sameParameters)
|
|
1103
|
+
return void 0;
|
|
1104
|
+
const sourceShift = shifted(from) ? createHelmert(from.towgs84, false) : void 0, targetShift = shifted(to) ? createHelmert(to.towgs84, true) : void 0;
|
|
1105
|
+
return (point) => {
|
|
1106
|
+
geodeticToGeocentricInPlace(point, a);
|
|
1107
|
+
sourceShift == null ? void 0 : sourceShift(point);
|
|
1108
|
+
targetShift == null ? void 0 : targetShift(point);
|
|
1109
|
+
geocentricToGeodeticInPlace(point, b);
|
|
1110
|
+
};
|
|
1111
|
+
}
|
|
1112
|
+
function applyDatumGrids(point, datum, inverse) {
|
|
1113
|
+
for (const reference of datum.grids) {
|
|
1114
|
+
if (reference.name === "null")
|
|
1115
|
+
return;
|
|
1116
|
+
if (!reference.grid) {
|
|
1117
|
+
if (reference.optional)
|
|
1118
|
+
continue;
|
|
1119
|
+
throw new Error("Required datum grid is not registered: " + reference.name);
|
|
1120
|
+
}
|
|
1121
|
+
let found = false;
|
|
1122
|
+
if (reference.grid.shiftInPlace)
|
|
1123
|
+
found = reference.grid.shiftInPlace(point, inverse);
|
|
1124
|
+
else {
|
|
1125
|
+
const output = reference.grid.shift(point.x, point.y, inverse);
|
|
1126
|
+
if (output) {
|
|
1127
|
+
point.x = output[0];
|
|
1128
|
+
point.y = output[1];
|
|
1129
|
+
found = true;
|
|
1130
|
+
}
|
|
1131
|
+
}
|
|
1132
|
+
if (found) {
|
|
1133
|
+
if (!Number.isFinite(point.x) || !Number.isFinite(point.y) || Math.abs(point.y) > Math.PI / 2)
|
|
1134
|
+
throw new Error("Datum grid produced a coordinate outside the geographic domain");
|
|
1135
|
+
return;
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1138
|
+
throw new Error("No datum grid covers coordinate: " + datum.grids.map((grid) => grid.name).join(","));
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
// dist/projection/experimental/rendering-profile/rectangular-rendering-profile.js
|
|
1142
|
+
function normalizeCoverage(point, coverage, center = 0, over = false) {
|
|
1143
|
+
const span = getLongitudeSpan(coverage);
|
|
1144
|
+
const west = span === 360 ? center - 180 : coverage[0] + Math.round((center - coverage[0] - span / 2) / 360) * 360;
|
|
1145
|
+
const east = west + span;
|
|
1146
|
+
if (over) {
|
|
1147
|
+
point.x = Math.max(west, Math.min(east, point.x));
|
|
1148
|
+
point.y = Math.max(coverage[1], Math.min(coverage[3], point.y));
|
|
1149
|
+
return;
|
|
1150
|
+
}
|
|
1151
|
+
const best = clampGeographicPoint(coverage, [point.x, point.y]);
|
|
1152
|
+
let longitude = best[0];
|
|
1153
|
+
if (best[0] === normalizeLongitude(point.x) && point.x >= west && point.x <= east)
|
|
1154
|
+
longitude = point.x;
|
|
1155
|
+
else if (longitude < west || longitude > east)
|
|
1156
|
+
longitude += Math.round(((west + east) / 2 - longitude) / 360) * 360;
|
|
1157
|
+
const offset = longitude - center;
|
|
1158
|
+
point.x = Math.abs(offset) <= 180 ? longitude : center + normalizeLongitude(offset);
|
|
1159
|
+
point.y = best[1];
|
|
1160
|
+
}
|
|
1161
|
+
function createRectangleRenderingProfile(resolveBounds2, coverage, origin = 0, primeMeridian2 = 0, over = false) {
|
|
1162
|
+
const center = (origin + primeMeridian2) * 180 / Math.PI;
|
|
1163
|
+
return {
|
|
1164
|
+
get bounds() {
|
|
1165
|
+
return resolveBounds2(getAngularRanges(coverage, primeMeridian2, origin));
|
|
1166
|
+
},
|
|
1167
|
+
normalize(point) {
|
|
1168
|
+
normalizeCoverage(point, coverage, center, over);
|
|
1169
|
+
}
|
|
1170
|
+
};
|
|
1171
|
+
}
|
|
1172
|
+
|
|
1173
|
+
// dist/projection/experimental/rendering-profile/rendering-bounds.js
|
|
1174
|
+
function longitudeRange(parameters, origin, over = false) {
|
|
1175
|
+
const low = parameters[0][0] - origin, high = parameters[1][0] - origin;
|
|
1176
|
+
if (over)
|
|
1177
|
+
return [low, high];
|
|
1178
|
+
const span = high - low;
|
|
1179
|
+
if (span >= 2 * Math.PI - 1e-12)
|
|
1180
|
+
return [-Math.PI, Math.PI];
|
|
1181
|
+
let west = wrapLongitude(low);
|
|
1182
|
+
if (span > 0 && Math.abs(west - Math.PI) < 1e-12)
|
|
1183
|
+
west = -Math.PI;
|
|
1184
|
+
const east = west + span;
|
|
1185
|
+
return east > Math.PI + 1e-12 ? [-Math.PI, Math.PI] : [west, Math.min(east, Math.PI)];
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
// dist/projection/experimental/rendering-profile/geographic-rendering-profile.js
|
|
1189
|
+
function createGeographicProfile(parameters, primeMeridian2 = 0) {
|
|
1190
|
+
const center = numberParameter(parameters, "lon_wrap", 0) * DEGREES_TO_RADIANS;
|
|
1191
|
+
return (coverage) => createRectangleRenderingProfile((ranges) => {
|
|
1192
|
+
const longitude = longitudeRange(ranges, center);
|
|
1193
|
+
return [
|
|
1194
|
+
[center + longitude[0], ranges[0][1], 0],
|
|
1195
|
+
[center + longitude[1], ranges[1][1], 0]
|
|
1196
|
+
];
|
|
1197
|
+
}, coverage ?? [-180, -90, 180, 90], center, primeMeridian2);
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1200
|
+
// dist/projection/experimental/vertical-datum.js
|
|
1201
|
+
function compileVerticalGrid(names, grids = {}) {
|
|
1202
|
+
if (names === void 0)
|
|
1203
|
+
return void 0;
|
|
1204
|
+
const entries = [];
|
|
1205
|
+
for (const entry of names.split(",")) {
|
|
1206
|
+
const optional = entry.startsWith("@");
|
|
1207
|
+
const name = optional ? entry.slice(1) : entry;
|
|
1208
|
+
if (!name || /\s/.test(name))
|
|
1209
|
+
throw new Error("Invalid vertical grid name");
|
|
1210
|
+
if (name === "null") {
|
|
1211
|
+
entries.push(null);
|
|
1212
|
+
break;
|
|
1213
|
+
}
|
|
1214
|
+
const grid = Object.prototype.hasOwnProperty.call(grids, name) ? grids[name] : void 0;
|
|
1215
|
+
if (grid) {
|
|
1216
|
+
if (typeof grid.getOffset !== "function")
|
|
1217
|
+
throw new Error("Invalid vertical grid: " + name);
|
|
1218
|
+
entries.push(grid.getOffset.bind(grid));
|
|
1219
|
+
} else if (!optional)
|
|
1220
|
+
unsupportedStage("Required vertical grid is not registered: " + name);
|
|
1221
|
+
}
|
|
1222
|
+
return (longitude, latitude) => {
|
|
1223
|
+
for (const sample of entries) {
|
|
1224
|
+
if (!sample)
|
|
1225
|
+
return 0;
|
|
1226
|
+
const offset = sample(longitude, latitude);
|
|
1227
|
+
if (offset === void 0)
|
|
1228
|
+
continue;
|
|
1229
|
+
if (!Number.isFinite(offset))
|
|
1230
|
+
throw new Error("Vertical grid returned a non-finite offset");
|
|
1231
|
+
return offset;
|
|
1232
|
+
}
|
|
1233
|
+
throw new Error("No vertical grid covers this coordinate");
|
|
1234
|
+
};
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1237
|
+
// dist/projection/experimental/typescript-projection.js
|
|
1238
|
+
var ProjectionTransform = class _ProjectionTransform {
|
|
1239
|
+
/** Resolve required descriptors once, then return an ordinary synchronous instance. */
|
|
1240
|
+
static async create(options = {}) {
|
|
1241
|
+
const projections = await Promise.all(requiredProjections(options).map(preloadProjection));
|
|
1242
|
+
return new _ProjectionTransform({ ...options, projections });
|
|
1243
|
+
}
|
|
1244
|
+
get targetProfile() {
|
|
1245
|
+
return this.getTargetRenderingProfile(this.targetCoverage);
|
|
1246
|
+
}
|
|
1247
|
+
/** Resolve target rendering policy independently from coordinate conversion. @internal */
|
|
1248
|
+
getTargetRenderingProfile(coverage) {
|
|
1249
|
+
return this.targetRenderingProfile && resolveRenderingProfile(this.targetRenderingProfile, coverage);
|
|
1250
|
+
}
|
|
1251
|
+
constructor(options = {}) {
|
|
1252
|
+
var _a2, _b, _c;
|
|
1253
|
+
this.coordinateScratch = new ProjectionScratch();
|
|
1254
|
+
this.targetLongitudeOrigin = 0;
|
|
1255
|
+
const registrations = options.projections || [];
|
|
1256
|
+
const plugins = registry(registrations);
|
|
1257
|
+
if (registrations.some((projection) => !("create" in projection))) {
|
|
1258
|
+
const from = normalizeCRS(options.from ?? "WGS84", options);
|
|
1259
|
+
const to = normalizeCRS(options.to ?? "WGS84", options);
|
|
1260
|
+
this.lossy = from.lossy || to.lossy;
|
|
1261
|
+
this.deferred = { options: { ...options, projections: [...registrations] } };
|
|
1262
|
+
} else {
|
|
1263
|
+
const eager = options;
|
|
1264
|
+
const eagerPlugins = plugins;
|
|
1265
|
+
const from = compileCRS(eager.from ?? "WGS84", eagerPlugins, eager);
|
|
1266
|
+
const to = compileCRS(eager.to ?? "WGS84", eagerPlugins, eager);
|
|
1267
|
+
this.targetRenderingProfile = ((_b = (_a2 = to.implementation) == null ? void 0 : _a2.getRenderingProfile) == null ? void 0 : _b.bind(to.implementation)) ?? (to.kind === "geographic" ? createGeographicProfile(to.parameters, to.primeMeridian) : to.kind === "identity" ? getIdentityRenderingProfile : void 0);
|
|
1268
|
+
this.targetCoverage = to.areaOfUse;
|
|
1269
|
+
this.targetLongitudeOrigin = ((_c = to.implementation) == null ? void 0 : _c.longitudeOrigin) ?? (to.kind === "geographic" ? to.longitudeWrap ?? 0 : 0);
|
|
1270
|
+
this.lossy = from.lossy || to.lossy;
|
|
1271
|
+
if (this.lossy && (from.kind === "geocentric" || to.kind === "geocentric"))
|
|
1272
|
+
unsupportedStage("Horizontal extraction cannot supply ellipsoidal height for geocentric coordinates");
|
|
1273
|
+
if (this.lossy && (from.verticalGrid || to.verticalGrid))
|
|
1274
|
+
unsupportedStage("Horizontal extraction cannot be combined with vertical grids");
|
|
1275
|
+
this.forwardTransform = compileTransform(from, to, Boolean(options.enforceAxis));
|
|
1276
|
+
this.inverseTransform = compileTransform(to, from, Boolean(options.enforceAxis));
|
|
1277
|
+
}
|
|
1278
|
+
this.project = this.project.bind(this);
|
|
1279
|
+
this.unproject = this.unproject.bind(this);
|
|
1280
|
+
this.projectTo = this.projectTo.bind(this);
|
|
1281
|
+
this.unprojectTo = this.unprojectTo.bind(this);
|
|
1282
|
+
this.projectToSync = this.projectToSync.bind(this);
|
|
1283
|
+
this.unprojectToSync = this.unprojectToSync.bind(this);
|
|
1284
|
+
this.projectFlat = this.projectFlat.bind(this);
|
|
1285
|
+
this.unprojectFlat = this.unprojectFlat.bind(this);
|
|
1286
|
+
this.projectSync = this.projectSync.bind(this);
|
|
1287
|
+
this.unprojectSync = this.unprojectSync.bind(this);
|
|
1288
|
+
this.projectFlatSync = this.projectFlatSync.bind(this);
|
|
1289
|
+
this.unprojectFlatSync = this.unprojectFlatSync.bind(this);
|
|
1290
|
+
}
|
|
1291
|
+
load() {
|
|
1292
|
+
const state = this.deferred;
|
|
1293
|
+
if (!state)
|
|
1294
|
+
return Promise.resolve(this);
|
|
1295
|
+
if (state.implementation)
|
|
1296
|
+
return Promise.resolve(state.implementation);
|
|
1297
|
+
state.pending || (state.pending = _ProjectionTransform.create(state.options).then((projection) => {
|
|
1298
|
+
state.implementation = projection;
|
|
1299
|
+
return projection;
|
|
1300
|
+
}).catch((error) => {
|
|
1301
|
+
state.pending = void 0;
|
|
1302
|
+
throw error;
|
|
1303
|
+
}));
|
|
1304
|
+
return state.pending;
|
|
1305
|
+
}
|
|
1306
|
+
loadSync() {
|
|
1307
|
+
const state = this.deferred;
|
|
1308
|
+
if (!state)
|
|
1309
|
+
return this;
|
|
1310
|
+
if (!state.implementation) {
|
|
1311
|
+
const projections = requiredProjections(state.options).map((descriptor) => {
|
|
1312
|
+
const plugin = getLoadedProjection(descriptor);
|
|
1313
|
+
if (!plugin)
|
|
1314
|
+
throw new Error("Projection is not preloaded: " + descriptor.name + ". Call preload() first.");
|
|
1315
|
+
return plugin;
|
|
1316
|
+
});
|
|
1317
|
+
state.implementation = new _ProjectionTransform({ ...state.options, projections });
|
|
1318
|
+
}
|
|
1319
|
+
return state.implementation;
|
|
1320
|
+
}
|
|
1321
|
+
/** Synchronous variants never import algorithms; descriptors must be preloaded. */
|
|
1322
|
+
projectSync(coordinate) {
|
|
1323
|
+
return this.deferred ? this.loadSync().project(coordinate) : transformScalar(coordinate, this.forwardTransform, this.coordinateScratch);
|
|
1324
|
+
}
|
|
1325
|
+
unprojectSync(coordinate) {
|
|
1326
|
+
return this.deferred ? this.loadSync().unproject(coordinate) : transformScalar(coordinate, this.inverseTransform, this.coordinateScratch);
|
|
1327
|
+
}
|
|
1328
|
+
projectFlatSync(coordinates, dimension = 2) {
|
|
1329
|
+
return this.deferred ? this.loadSync().projectFlat(coordinates, dimension) : transformInPlace(coordinates, dimension, this.forwardTransform, this.coordinateScratch);
|
|
1330
|
+
}
|
|
1331
|
+
unprojectFlatSync(coordinates, dimension = 2) {
|
|
1332
|
+
return this.deferred ? this.loadSync().unprojectFlat(coordinates, dimension) : transformInPlace(coordinates, dimension, this.inverseTransform, this.coordinateScratch);
|
|
1333
|
+
}
|
|
1334
|
+
/** Optional warm-up. Coordinate methods also load automatically on first use. */
|
|
1335
|
+
async preload() {
|
|
1336
|
+
await this.load();
|
|
1337
|
+
}
|
|
1338
|
+
/** Eager plugins return arrays; descriptor-backed instances return promises. */
|
|
1339
|
+
project(coordinate) {
|
|
1340
|
+
const result = this.deferred ? this.projectLoaded(coordinate, false) : transformScalar(coordinate, this.forwardTransform, this.coordinateScratch);
|
|
1341
|
+
return result;
|
|
1342
|
+
}
|
|
1343
|
+
unproject(coordinate) {
|
|
1344
|
+
const result = this.deferred ? this.projectLoaded(coordinate, true) : transformScalar(coordinate, this.inverseTransform, this.coordinateScratch);
|
|
1345
|
+
return result;
|
|
1346
|
+
}
|
|
1347
|
+
/** Write one coordinate into caller-owned storage; return that same output. */
|
|
1348
|
+
projectTo(coordinate, output) {
|
|
1349
|
+
return this.deferred ? this.projectToLoaded(coordinate, output, false) : this.projectToSync(coordinate, output);
|
|
1350
|
+
}
|
|
1351
|
+
unprojectTo(coordinate, output) {
|
|
1352
|
+
return this.deferred ? this.projectToLoaded(coordinate, output, true) : this.unprojectToSync(coordinate, output);
|
|
1353
|
+
}
|
|
1354
|
+
projectToSync(coordinate, output) {
|
|
1355
|
+
if (this.deferred)
|
|
1356
|
+
return this.loadSync().projectTo(coordinate, output);
|
|
1357
|
+
validateScalarOutput(coordinate, output, Math.max(coordinate.length, this.forwardTransform.geocentricOutput ? 3 : 2));
|
|
1358
|
+
return transformScalar(coordinate, this.forwardTransform, this.coordinateScratch, output);
|
|
1359
|
+
}
|
|
1360
|
+
unprojectToSync(coordinate, output) {
|
|
1361
|
+
if (this.deferred)
|
|
1362
|
+
return this.loadSync().unprojectTo(coordinate, output);
|
|
1363
|
+
validateScalarOutput(coordinate, output, Math.max(coordinate.length, this.inverseTransform.geocentricOutput ? 3 : 2));
|
|
1364
|
+
return transformScalar(coordinate, this.inverseTransform, this.coordinateScratch, output);
|
|
1365
|
+
}
|
|
1366
|
+
projectToLoaded(coordinate, output, inverse) {
|
|
1367
|
+
validateScalarOutput(coordinate, output, coordinate.length);
|
|
1368
|
+
const input = coordinate.slice();
|
|
1369
|
+
return this.load().then((projection) => inverse ? projection.unprojectTo(input, output) : projection.projectTo(input, output));
|
|
1370
|
+
}
|
|
1371
|
+
projectLoaded(coordinate, inverse) {
|
|
1372
|
+
const input = coordinate.slice();
|
|
1373
|
+
return this.load().then((projection) => inverse ? projection.unproject(input) : projection.project(input));
|
|
1374
|
+
}
|
|
1375
|
+
/** In-place; descriptor callers must await completion before reusing the buffer. */
|
|
1376
|
+
projectFlat(coordinates, dimension = 2) {
|
|
1377
|
+
const result = this.deferred ? this.load().then((projection) => projection.projectFlat(coordinates, dimension)) : transformInPlace(coordinates, dimension, this.forwardTransform, this.coordinateScratch);
|
|
1378
|
+
return result;
|
|
1379
|
+
}
|
|
1380
|
+
unprojectFlat(coordinates, dimension = 2) {
|
|
1381
|
+
const result = this.deferred ? this.load().then((projection) => projection.unprojectFlat(coordinates, dimension)) : transformInPlace(coordinates, dimension, this.inverseTransform, this.coordinateScratch);
|
|
1382
|
+
return result;
|
|
1383
|
+
}
|
|
1384
|
+
};
|
|
1385
|
+
function requiredProjections(options) {
|
|
1386
|
+
const available = registry(options.projections || []);
|
|
1387
|
+
const required = /* @__PURE__ */ new Set();
|
|
1388
|
+
for (const definition of [options.from ?? "WGS84", options.to ?? "WGS84"]) {
|
|
1389
|
+
const crs = normalizeCRS(definition, options);
|
|
1390
|
+
if (["geographic", "identity"].includes(crs.kind))
|
|
1391
|
+
continue;
|
|
1392
|
+
const projection = available.get(pluginKey(crs.projection));
|
|
1393
|
+
if (!projection)
|
|
1394
|
+
throw new TypeScriptCRSError("missing-plugin", "Projection plugin is not registered: " + crs.projection);
|
|
1395
|
+
required.add(projection);
|
|
1396
|
+
}
|
|
1397
|
+
return [...required];
|
|
1398
|
+
}
|
|
1399
|
+
var pluginKey = (name) => name.toLowerCase().replace(/[\s_-]/g, "");
|
|
1400
|
+
function registry(projections) {
|
|
1401
|
+
const plugins = /* @__PURE__ */ new Map();
|
|
1402
|
+
for (const plugin of projections) {
|
|
1403
|
+
for (const name of new Set([plugin.name, ...plugin.aliases || []].map(pluginKey))) {
|
|
1404
|
+
if (!name || ["longlat", "latlong", "latlon", "lonlat", "identity"].includes(name) || plugins.has(name))
|
|
1405
|
+
throw new Error("Duplicate or reserved projection plugin: " + name);
|
|
1406
|
+
plugins.set(name, plugin);
|
|
1407
|
+
}
|
|
1408
|
+
}
|
|
1409
|
+
return plugins;
|
|
1410
|
+
}
|
|
1411
|
+
function compileCRS(definition, plugins, options) {
|
|
1412
|
+
var _a2;
|
|
1413
|
+
const crs = normalizeCRS(definition, options);
|
|
1414
|
+
const plugin = plugins.get(pluginKey(crs.projection));
|
|
1415
|
+
if (!["geographic", "identity"].includes(crs.kind) && !plugin)
|
|
1416
|
+
throw new TypeScriptCRSError("missing-plugin", "Projection plugin is not registered: " + crs.projection);
|
|
1417
|
+
const allowed = /* @__PURE__ */ new Set([...CORE_PARAMETERS, ...(plugin == null ? void 0 : plugin.parameters) || []]);
|
|
1418
|
+
for (const key of Object.keys(crs.parameters)) {
|
|
1419
|
+
if (!allowed.has(key))
|
|
1420
|
+
throw new TypeScriptCRSError("missing-transform-stage", "Unsupported PROJ parameter: +" + key);
|
|
1421
|
+
const flag = CORE_FLAGS.includes(key) || ((_a2 = plugin == null ? void 0 : plugin.flags) == null ? void 0 : _a2.includes(key));
|
|
1422
|
+
if (flag && crs.parameters[key] !== void 0)
|
|
1423
|
+
throw new Error("Expected a flag without a value: +" + key);
|
|
1424
|
+
if (!flag && !crs.parameters[key])
|
|
1425
|
+
throw new Error("PROJ parameter requires a value: +" + key);
|
|
1426
|
+
}
|
|
1427
|
+
if (crs.parameters["type"] && crs.parameters["type"] !== "crs")
|
|
1428
|
+
throw new Error("Only +type=crs is supported");
|
|
1429
|
+
const parameters = pluginKey(crs.projection) === "fasttransversemercator" ? Object.freeze({ ...crs.parameters, approx: void 0 }) : crs.parameters;
|
|
1430
|
+
const implementation = plugin == null ? void 0 : plugin.create({
|
|
1431
|
+
...crs.ellipsoid,
|
|
1432
|
+
parameters,
|
|
1433
|
+
primeMeridian: crs.primeMeridian
|
|
1434
|
+
});
|
|
1435
|
+
if (crs.kind === "geocentric" && (!(implementation == null ? void 0 : implementation.forward3D) || !(implementation == null ? void 0 : implementation.inverse3D)))
|
|
1436
|
+
throw new Error("Geocentric plugin must implement 3D operations");
|
|
1437
|
+
const references = crs.datum.grids;
|
|
1438
|
+
const nullIndex = (references == null ? void 0 : references.findIndex((reference) => reference.name === "null")) ?? -1;
|
|
1439
|
+
const grids = references == null ? void 0 : references.slice(0, nullIndex < 0 ? void 0 : nullIndex + 1).map((reference) => {
|
|
1440
|
+
const grid = Object.prototype.hasOwnProperty.call(options.datumGrids || {}, reference.name) ? options.datumGrids[reference.name] : void 0;
|
|
1441
|
+
if (grid && typeof grid.shift !== "function")
|
|
1442
|
+
throw new Error("Invalid prepared datum grid: " + reference.name);
|
|
1443
|
+
return Object.freeze({ ...reference, grid });
|
|
1444
|
+
});
|
|
1445
|
+
for (const reference of grids || []) {
|
|
1446
|
+
if (reference.name === "null")
|
|
1447
|
+
break;
|
|
1448
|
+
if (!reference.optional && !reference.grid)
|
|
1449
|
+
unsupportedStage("Required datum grid is not registered: " + reference.name);
|
|
1450
|
+
}
|
|
1451
|
+
const datum = grids ? Object.freeze({ ...crs.datum, grids: Object.freeze(grids) }) : crs.datum;
|
|
1452
|
+
const verticalGrid = compileVerticalGrid(crs.parameters["geoidgrids"], options.verticalGrids);
|
|
1453
|
+
if (verticalGrid && (crs.kind === "geocentric" || crs.kind === "identity" || crs.lossy))
|
|
1454
|
+
unsupportedStage("Vertical grids require a non-lossy geographic or projected CRS");
|
|
1455
|
+
return { ...crs, datum, implementation, verticalGrid };
|
|
1456
|
+
}
|
|
1457
|
+
function finite(point) {
|
|
1458
|
+
return Number.isFinite(point.x) && Number.isFinite(point.y) && Number.isFinite(point.z);
|
|
1459
|
+
}
|
|
1460
|
+
function compileAxis(axis, inverse) {
|
|
1461
|
+
if (axis === "enu")
|
|
1462
|
+
return void 0;
|
|
1463
|
+
const indexes = [0, 0, 0], signs = [0, 0, 0];
|
|
1464
|
+
for (let i = 0; i < 3; i++) {
|
|
1465
|
+
const char = axis[i], component = "ew".includes(char) ? 0 : "ns".includes(char) ? 1 : 2;
|
|
1466
|
+
indexes[inverse ? i : component] = inverse ? component : i;
|
|
1467
|
+
signs[inverse ? i : component] = "wsd".includes(char) ? -1 : 1;
|
|
1468
|
+
}
|
|
1469
|
+
return (point) => {
|
|
1470
|
+
const x = point.x, y = point.y, z = point.z;
|
|
1471
|
+
point.x = signs[0] * (indexes[0] === 0 ? x : indexes[0] === 1 ? y : z);
|
|
1472
|
+
point.y = signs[1] * (indexes[1] === 0 ? x : indexes[1] === 1 ? y : z);
|
|
1473
|
+
point.z = signs[2] * (indexes[2] === 0 ? x : indexes[2] === 1 ? y : z);
|
|
1474
|
+
};
|
|
1475
|
+
}
|
|
1476
|
+
function compileTransform(from, to, enforceAxis) {
|
|
1477
|
+
var _a2, _b, _c, _d;
|
|
1478
|
+
const fromAxis = from.storedAxis || (enforceAxis ? from.axis : "enu");
|
|
1479
|
+
const toAxis = to.storedAxis || (enforceAxis ? to.axis : "enu");
|
|
1480
|
+
const inputAxis = compileAxis(fromAxis, false), outputAxis = compileAxis(toAxis, true);
|
|
1481
|
+
const source = from.implementation && projectionOperation(from.implementation, true, from.kind === "geocentric");
|
|
1482
|
+
const target = to.implementation && projectionOperation(to.implementation, false, to.kind === "geocentric");
|
|
1483
|
+
const datum = createDatumTransform(from.datum, to.datum);
|
|
1484
|
+
const horizontalOnly = from.lossy || to.lossy;
|
|
1485
|
+
const fromGeocentric = from.kind === "geocentric";
|
|
1486
|
+
const inputScale = from.kind === "geographic" ? from.angularUnit : from.toMeter;
|
|
1487
|
+
const outputScale = to.kind === "geographic" ? to.angularUnit : to.toMeter;
|
|
1488
|
+
const inputVerticalScale = fromGeocentric ? 1 : from.verticalUnit, outputVerticalScale = to.kind === "geocentric" ? outputScale : to.verticalUnit;
|
|
1489
|
+
const fromPrime = from.primeMeridian, toPrime = to.primeMeridian;
|
|
1490
|
+
const longitudeWrap = to.kind === "geographic" ? to.longitudeWrap : void 0;
|
|
1491
|
+
let flat;
|
|
1492
|
+
if (!datum && !from.verticalGrid && !to.verticalGrid && !horizontalOnly && !inputAxis && !outputAxis && !fromPrime && !toPrime && from.verticalUnit === 1 && to.verticalUnit === 1 && longitudeWrap === void 0) {
|
|
1493
|
+
const context = Object.freeze({ inputScale, outputScale });
|
|
1494
|
+
if (from.kind === "geographic" && to.kind === "projected")
|
|
1495
|
+
flat = (_b = (_a2 = to.implementation) == null ? void 0 : _a2.createForwardFlat) == null ? void 0 : _b.call(_a2, context);
|
|
1496
|
+
if (from.kind === "projected" && to.kind === "geographic")
|
|
1497
|
+
flat = (_d = (_c = from.implementation) == null ? void 0 : _c.createInverseFlat) == null ? void 0 : _d.call(_c, context);
|
|
1498
|
+
}
|
|
1499
|
+
return {
|
|
1500
|
+
flat,
|
|
1501
|
+
requiresInputZ: Boolean(from.verticalGrid || to.verticalGrid) || from.kind === "geocentric" || /[ud]/.test(fromAxis.slice(0, 2)) || /[ud]/.test(toAxis.slice(0, 2)),
|
|
1502
|
+
geocentricOutput: to.kind === "geocentric",
|
|
1503
|
+
run(point) {
|
|
1504
|
+
if (!finite(point))
|
|
1505
|
+
throw new Error("Coordinates must contain finite x, y and optional z values");
|
|
1506
|
+
inputAxis == null ? void 0 : inputAxis(point);
|
|
1507
|
+
const preservedHeight = point.z;
|
|
1508
|
+
if (horizontalOnly)
|
|
1509
|
+
point.z = 0;
|
|
1510
|
+
if (inputScale !== 1) {
|
|
1511
|
+
point.x *= inputScale;
|
|
1512
|
+
point.y *= inputScale;
|
|
1513
|
+
if (fromGeocentric)
|
|
1514
|
+
point.z *= inputScale;
|
|
1515
|
+
}
|
|
1516
|
+
source == null ? void 0 : source(point);
|
|
1517
|
+
if (inputVerticalScale !== 1)
|
|
1518
|
+
point.z *= inputVerticalScale;
|
|
1519
|
+
if (Math.abs(point.y) > Math.PI / 2 || !finite(point))
|
|
1520
|
+
throw new Error("Coordinate is outside the geographic domain");
|
|
1521
|
+
point.x += fromPrime;
|
|
1522
|
+
if (from.verticalGrid)
|
|
1523
|
+
point.z += from.verticalGrid(point.x, point.y);
|
|
1524
|
+
datum == null ? void 0 : datum(point);
|
|
1525
|
+
if (to.verticalGrid)
|
|
1526
|
+
point.z -= to.verticalGrid(point.x, point.y);
|
|
1527
|
+
point.x -= toPrime;
|
|
1528
|
+
if (longitudeWrap !== void 0)
|
|
1529
|
+
point.x = longitudeWrap + wrapLongitude(point.x - longitudeWrap);
|
|
1530
|
+
target == null ? void 0 : target(point);
|
|
1531
|
+
if (outputScale !== 1) {
|
|
1532
|
+
point.x /= outputScale;
|
|
1533
|
+
point.y /= outputScale;
|
|
1534
|
+
}
|
|
1535
|
+
if (outputVerticalScale !== 1)
|
|
1536
|
+
point.z /= outputVerticalScale;
|
|
1537
|
+
if (horizontalOnly)
|
|
1538
|
+
point.z = preservedHeight;
|
|
1539
|
+
outputAxis == null ? void 0 : outputAxis(point);
|
|
1540
|
+
if (!finite(point))
|
|
1541
|
+
throw new Error("Projection produced non-finite coordinates");
|
|
1542
|
+
}
|
|
1543
|
+
};
|
|
1544
|
+
}
|
|
1545
|
+
function transformScalar(coordinate, operation, scratch, output) {
|
|
1546
|
+
if (coordinate.length < 2)
|
|
1547
|
+
throw new Error("Coordinates must contain finite x, y and optional z values");
|
|
1548
|
+
if (coordinate.length < 3 && operation.requiresInputZ)
|
|
1549
|
+
throw new Error("This transform requires three ordinates");
|
|
1550
|
+
const length = Math.max(coordinate.length, operation.geocentricOutput ? 3 : 2);
|
|
1551
|
+
const point = scratch.acquire();
|
|
1552
|
+
try {
|
|
1553
|
+
point.x = coordinate[0];
|
|
1554
|
+
point.y = coordinate[1];
|
|
1555
|
+
point.z = coordinate.length >= 3 ? coordinate[2] : 0;
|
|
1556
|
+
operation.run(point);
|
|
1557
|
+
if (output)
|
|
1558
|
+
return writeScalarOutput(coordinate, output, point, length);
|
|
1559
|
+
const result = coordinate.slice();
|
|
1560
|
+
result[0] = point.x;
|
|
1561
|
+
result[1] = point.y;
|
|
1562
|
+
if (coordinate.length >= 3 || operation.geocentricOutput)
|
|
1563
|
+
result[2] = point.z;
|
|
1564
|
+
return result;
|
|
1565
|
+
} finally {
|
|
1566
|
+
scratch.release(point);
|
|
1567
|
+
}
|
|
1568
|
+
}
|
|
1569
|
+
function transformInPlace(coordinates, dimension, operation, scratch) {
|
|
1570
|
+
if (!(coordinates instanceof Float32Array || coordinates instanceof Float64Array))
|
|
1571
|
+
throw new Error("In-place projection requires a Float32Array or Float64Array");
|
|
1572
|
+
if (!Number.isSafeInteger(dimension) || dimension < 2 || coordinates.length % dimension !== 0)
|
|
1573
|
+
throw new Error("Dimension must be an integer >= 2 and divide the typed array length");
|
|
1574
|
+
if (dimension < 3 && (operation.requiresInputZ || operation.geocentricOutput))
|
|
1575
|
+
throw new Error("This transform requires a dimension of at least 3");
|
|
1576
|
+
if (operation.flat) {
|
|
1577
|
+
operation.flat(coordinates, dimension);
|
|
1578
|
+
return coordinates;
|
|
1579
|
+
}
|
|
1580
|
+
const point = scratch.acquire();
|
|
1581
|
+
try {
|
|
1582
|
+
const float32 = coordinates instanceof Float32Array;
|
|
1583
|
+
for (let offset = 0; offset < coordinates.length; offset += dimension) {
|
|
1584
|
+
point.x = coordinates[offset];
|
|
1585
|
+
point.y = coordinates[offset + 1];
|
|
1586
|
+
point.z = dimension >= 3 ? coordinates[offset + 2] : 0;
|
|
1587
|
+
operation.run(point);
|
|
1588
|
+
if (float32 && (Math.abs(point.x) > 34028234663852886e22 || Math.abs(point.y) > 34028234663852886e22 || dimension >= 3 && Math.abs(point.z) > 34028234663852886e22))
|
|
1589
|
+
throw new Error("Projected coordinate exceeds Float32 range");
|
|
1590
|
+
coordinates[offset] = point.x;
|
|
1591
|
+
coordinates[offset + 1] = point.y;
|
|
1592
|
+
if (dimension >= 3)
|
|
1593
|
+
coordinates[offset + 2] = point.z;
|
|
1594
|
+
}
|
|
1595
|
+
return coordinates;
|
|
1596
|
+
} finally {
|
|
1597
|
+
scratch.release(point);
|
|
1598
|
+
}
|
|
1599
|
+
}
|
|
1600
|
+
|
|
1601
|
+
// dist/projection/numerical-derivative.js
|
|
1602
|
+
var NumericalDerivative = class {
|
|
1603
|
+
constructor(sample) {
|
|
1604
|
+
this.sample = sample;
|
|
1605
|
+
this.result = [0, 0, 0];
|
|
1606
|
+
this.samples = Array.from({ length: 4 }, () => [0, 0, 0]);
|
|
1607
|
+
this.coarse = [0, 0, 0];
|
|
1608
|
+
this.fine = [0, 0, 0];
|
|
1609
|
+
}
|
|
1610
|
+
evaluate(step, referenceScale, tolerance = 1e-6) {
|
|
1611
|
+
if (!this.difference(step, this.coarse) || !this.difference(step / 2, this.fine))
|
|
1612
|
+
return false;
|
|
1613
|
+
const bound = tolerance * Math.max(referenceScale, Math.abs(this.fine[0]), Math.abs(this.fine[1]), Math.abs(this.fine[2]));
|
|
1614
|
+
for (let i = 0; i < 3; i++) {
|
|
1615
|
+
if (Math.abs(this.coarse[i] - this.fine[i]) > bound)
|
|
1616
|
+
return false;
|
|
1617
|
+
this.fine[i] += (this.fine[i] - this.coarse[i]) / 15;
|
|
1618
|
+
if (!Number.isFinite(this.fine[i]))
|
|
1619
|
+
return false;
|
|
1620
|
+
}
|
|
1621
|
+
for (let i = 0; i < 3; i++)
|
|
1622
|
+
this.result[i] = this.fine[i];
|
|
1623
|
+
return true;
|
|
1624
|
+
}
|
|
1625
|
+
difference(step, output) {
|
|
1626
|
+
const [a, b, c, d] = this.samples;
|
|
1627
|
+
if (!this.sample(-2 * step, a) || !this.sample(-step, b) || !this.sample(step, c) || !this.sample(2 * step, d))
|
|
1628
|
+
return false;
|
|
1629
|
+
for (let i = 0; i < 3; i++) {
|
|
1630
|
+
output[i] = (a[i] - d[i] + 8 * (c[i] - b[i])) / (12 * step);
|
|
1631
|
+
if (!Number.isFinite(output[i]))
|
|
1632
|
+
return false;
|
|
1633
|
+
}
|
|
1634
|
+
return true;
|
|
1635
|
+
}
|
|
1636
|
+
};
|
|
1637
|
+
|
|
1638
|
+
// dist/projection/analysis.js
|
|
1639
|
+
var ProjectionAnalysis = class {
|
|
1640
|
+
constructor(options) {
|
|
1641
|
+
this.point = { x: 0, y: 0, z: 0 };
|
|
1642
|
+
this.derivative = [0, 0, 0, 0];
|
|
1643
|
+
this.busy = false;
|
|
1644
|
+
this.longitude = 0;
|
|
1645
|
+
this.latitude = 0;
|
|
1646
|
+
this.axis = 0;
|
|
1647
|
+
this.numerical = new NumericalDerivative((offset, output) => {
|
|
1648
|
+
if (!this.sample(this.longitude + (this.axis === 0 ? offset : 0), this.latitude + (this.axis === 1 ? offset : 0)))
|
|
1649
|
+
return false;
|
|
1650
|
+
output[0] = this.point.x;
|
|
1651
|
+
output[1] = this.point.y;
|
|
1652
|
+
output[2] = 0;
|
|
1653
|
+
return true;
|
|
1654
|
+
});
|
|
1655
|
+
const { semiMajorAxis: a } = options.context;
|
|
1656
|
+
const ground = options.groundEllipsoid ?? options.context;
|
|
1657
|
+
const { west, east, south, north } = options.domain;
|
|
1658
|
+
const step = options.step ?? 1e-4, tolerance = options.derivativeTolerance ?? 1e-6;
|
|
1659
|
+
if (!([options.context, ground].every(({ semiMajorAxis, eccentricitySquared }) => Number.isFinite(semiMajorAxis) && semiMajorAxis > 0 && Number.isFinite(eccentricitySquared) && eccentricitySquared >= 0 && eccentricitySquared < 1) && Number.isFinite(west) && Number.isFinite(east) && west < east && west >= -Math.PI && east <= Math.PI && Number.isFinite(south) && Number.isFinite(north) && south < north && south >= -Math.PI / 2 && north <= Math.PI / 2 && Number.isFinite(step) && step > 0 && step < 0.1 && Number.isFinite(tolerance) && tolerance > 0 && tolerance < 1)) {
|
|
1660
|
+
throw new Error("Invalid projection analysis geometry, domain or derivative options");
|
|
1661
|
+
}
|
|
1662
|
+
this.domain = Object.freeze({ west, east, south, north });
|
|
1663
|
+
this.implementation = options.projection.create(options.context);
|
|
1664
|
+
if (!this.implementation.forwardInPlace || !this.implementation.inverseInPlace) {
|
|
1665
|
+
throw new Error("Projection analysis requires mutable horizontal projection hooks");
|
|
1666
|
+
}
|
|
1667
|
+
this.a = a;
|
|
1668
|
+
this.groundSemiMajorAxis = ground.semiMajorAxis;
|
|
1669
|
+
this.groundEs = ground.eccentricitySquared;
|
|
1670
|
+
this.step = step;
|
|
1671
|
+
this.tolerance = tolerance;
|
|
1672
|
+
}
|
|
1673
|
+
contains(longitude, latitude) {
|
|
1674
|
+
const { west, east, south, north } = this.domain;
|
|
1675
|
+
return Number.isFinite(longitude) && Number.isFinite(latitude) && longitude >= west && longitude <= east && latitude >= south && latitude <= north;
|
|
1676
|
+
}
|
|
1677
|
+
projectTo(longitude, latitude, result) {
|
|
1678
|
+
if (this.busy || !this.contains(longitude, latitude))
|
|
1679
|
+
return false;
|
|
1680
|
+
this.busy = true;
|
|
1681
|
+
let x, y;
|
|
1682
|
+
try {
|
|
1683
|
+
if (!this.sample(longitude, latitude))
|
|
1684
|
+
return false;
|
|
1685
|
+
x = this.point.x;
|
|
1686
|
+
y = this.point.y;
|
|
1687
|
+
} finally {
|
|
1688
|
+
this.busy = false;
|
|
1689
|
+
}
|
|
1690
|
+
result.x = x;
|
|
1691
|
+
result.y = y;
|
|
1692
|
+
return true;
|
|
1693
|
+
}
|
|
1694
|
+
unprojectTo(x, y, result) {
|
|
1695
|
+
if (this.busy || !Number.isFinite(x) || !Number.isFinite(y))
|
|
1696
|
+
return false;
|
|
1697
|
+
this.busy = true;
|
|
1698
|
+
let longitude, latitude;
|
|
1699
|
+
try {
|
|
1700
|
+
this.point.x = x;
|
|
1701
|
+
this.point.y = y;
|
|
1702
|
+
this.point.z = 0;
|
|
1703
|
+
try {
|
|
1704
|
+
this.implementation.inverseInPlace(this.point);
|
|
1705
|
+
} catch {
|
|
1706
|
+
return false;
|
|
1707
|
+
}
|
|
1708
|
+
longitude = this.point.x;
|
|
1709
|
+
latitude = this.point.y;
|
|
1710
|
+
if (!this.contains(longitude, latitude))
|
|
1711
|
+
return false;
|
|
1712
|
+
} finally {
|
|
1713
|
+
this.busy = false;
|
|
1714
|
+
}
|
|
1715
|
+
result.x = longitude;
|
|
1716
|
+
result.y = latitude;
|
|
1717
|
+
return true;
|
|
1718
|
+
}
|
|
1719
|
+
jacobian(longitude, latitude, result) {
|
|
1720
|
+
if (!this.calculate(longitude, latitude))
|
|
1721
|
+
return false;
|
|
1722
|
+
const [xx, xy, yx, yy] = this.derivative;
|
|
1723
|
+
result.dxDLongitude = xx;
|
|
1724
|
+
result.dxDLatitude = xy;
|
|
1725
|
+
result.dyDLongitude = yx;
|
|
1726
|
+
result.dyDLatitude = yy;
|
|
1727
|
+
return true;
|
|
1728
|
+
}
|
|
1729
|
+
factors(longitude, latitude, result) {
|
|
1730
|
+
if (!this.calculate(longitude, latitude))
|
|
1731
|
+
return false;
|
|
1732
|
+
const [xx, xy, yx, yy] = this.derivative;
|
|
1733
|
+
const a = this.groundSemiMajorAxis;
|
|
1734
|
+
const es = this.groundEs;
|
|
1735
|
+
const d = 1 - es * Math.sin(latitude) ** 2;
|
|
1736
|
+
const parallelRadius = a * Math.cos(latitude) / Math.sqrt(d);
|
|
1737
|
+
const meridionalRadius = a * (1 - es) / (d * Math.sqrt(d));
|
|
1738
|
+
const ex = xx / parallelRadius, ey = yx / parallelRadius;
|
|
1739
|
+
const nx = xy / meridionalRadius, ny = yy / meridionalRadius;
|
|
1740
|
+
const k = Math.hypot(ex, ey), h = Math.hypot(nx, ny), area = ex * ny - ey * nx;
|
|
1741
|
+
const sum = Math.hypot(ex + ny, ey - nx), difference = Math.hypot(ex - ny, ey + nx);
|
|
1742
|
+
const maximum = (sum + difference) / 2;
|
|
1743
|
+
const minimum = maximum > 0 ? Math.min(maximum, Math.abs(area) / maximum) : 0;
|
|
1744
|
+
if (!(Number.isFinite(maximum) && minimum > maximum * 1e-12 && Number.isFinite(h) && Number.isFinite(k)))
|
|
1745
|
+
return false;
|
|
1746
|
+
const angle = Math.atan2(Math.abs(area), Math.abs(ex * nx + ey * ny));
|
|
1747
|
+
const convergence = -Math.atan2(xy, yy);
|
|
1748
|
+
const distortion = 2 * Math.asin(Math.min(1, (maximum - minimum) / (maximum + minimum)));
|
|
1749
|
+
result.dxDLongitude = xx;
|
|
1750
|
+
result.dxDLatitude = xy;
|
|
1751
|
+
result.dyDLongitude = yx;
|
|
1752
|
+
result.dyDLatitude = yy;
|
|
1753
|
+
result.meridionalScale = h;
|
|
1754
|
+
result.parallelScale = k;
|
|
1755
|
+
result.arealScale = area;
|
|
1756
|
+
result.meridianConvergence = convergence;
|
|
1757
|
+
result.meridianParallelAngle = angle;
|
|
1758
|
+
result.angularDistortion = distortion;
|
|
1759
|
+
result.maximumScale = maximum;
|
|
1760
|
+
result.minimumScale = minimum;
|
|
1761
|
+
return true;
|
|
1762
|
+
}
|
|
1763
|
+
sample(longitude, latitude) {
|
|
1764
|
+
if (!this.contains(longitude, latitude))
|
|
1765
|
+
return false;
|
|
1766
|
+
this.point.x = longitude;
|
|
1767
|
+
this.point.y = latitude;
|
|
1768
|
+
this.point.z = 0;
|
|
1769
|
+
try {
|
|
1770
|
+
this.implementation.forwardInPlace(this.point);
|
|
1771
|
+
} catch {
|
|
1772
|
+
return false;
|
|
1773
|
+
}
|
|
1774
|
+
return Number.isFinite(this.point.x) && Number.isFinite(this.point.y);
|
|
1775
|
+
}
|
|
1776
|
+
calculate(longitude, latitude) {
|
|
1777
|
+
if (this.busy)
|
|
1778
|
+
return false;
|
|
1779
|
+
this.busy = true;
|
|
1780
|
+
try {
|
|
1781
|
+
this.longitude = longitude;
|
|
1782
|
+
this.latitude = latitude;
|
|
1783
|
+
for (let axis = 0; axis < 2; axis++) {
|
|
1784
|
+
this.axis = axis;
|
|
1785
|
+
if (!this.numerical.evaluate(this.step, this.a, this.tolerance))
|
|
1786
|
+
return false;
|
|
1787
|
+
this.derivative[axis] = this.numerical.result[0];
|
|
1788
|
+
this.derivative[axis + 2] = this.numerical.result[1];
|
|
1789
|
+
}
|
|
1790
|
+
return true;
|
|
1791
|
+
} finally {
|
|
1792
|
+
this.busy = false;
|
|
1793
|
+
}
|
|
1794
|
+
}
|
|
1795
|
+
};
|
|
1796
|
+
|
|
1797
|
+
// dist/projection/transform-analysis.js
|
|
1798
|
+
async function createProjectionTransformAnalysis(options) {
|
|
1799
|
+
const from = options.from ?? "WGS84";
|
|
1800
|
+
const source = normalizeCRS(from, options);
|
|
1801
|
+
const geographicFrom = options.geographicFrom ?? (source.kind === "geographic" ? from : void 0);
|
|
1802
|
+
if (!geographicFrom)
|
|
1803
|
+
throw new Error("Projected source analysis requires geographicFrom");
|
|
1804
|
+
const geographic = normalizeCRS(geographicFrom, options);
|
|
1805
|
+
const target = normalizeCRS(options.to ?? "WGS84", options);
|
|
1806
|
+
const height = options.height ?? 0;
|
|
1807
|
+
if (geographic.kind !== "geographic" || target.kind !== "projected" || !Number.isFinite(height)) {
|
|
1808
|
+
throw new Error("Transform analysis requires a geographic anchor, planar target and finite height");
|
|
1809
|
+
}
|
|
1810
|
+
const anchorTransform = await ProjectionTransform.create({
|
|
1811
|
+
...options,
|
|
1812
|
+
from: geographicFrom,
|
|
1813
|
+
to: from,
|
|
1814
|
+
enforceAxis: true
|
|
1815
|
+
});
|
|
1816
|
+
const transform = await ProjectionTransform.create({ ...options, enforceAxis: true });
|
|
1817
|
+
if (anchorTransform.lossy || transform.lossy) {
|
|
1818
|
+
throw new Error("Transform analysis requires lossless CRS pipelines");
|
|
1819
|
+
}
|
|
1820
|
+
const input = [0, 0, 0];
|
|
1821
|
+
const anchored = [0, 0, 0];
|
|
1822
|
+
const output = [0, 0, 0];
|
|
1823
|
+
const projection = {
|
|
1824
|
+
name: "prepared-crs-analysis",
|
|
1825
|
+
parameters: [],
|
|
1826
|
+
create: () => ({
|
|
1827
|
+
forward: () => {
|
|
1828
|
+
throw new Error("Use the mutable analysis hook");
|
|
1829
|
+
},
|
|
1830
|
+
inverse: () => {
|
|
1831
|
+
throw new Error("Transform analysis does not invert horizontal slices");
|
|
1832
|
+
},
|
|
1833
|
+
inverseInPlace: () => {
|
|
1834
|
+
throw new Error("Transform analysis does not invert horizontal slices");
|
|
1835
|
+
},
|
|
1836
|
+
forwardInPlace(point) {
|
|
1837
|
+
writeGeographicInput(point.x, point.y, height, geographic, input);
|
|
1838
|
+
anchorTransform.projectToSync(input, anchored);
|
|
1839
|
+
transform.projectToSync(anchored, output);
|
|
1840
|
+
readProjectedOutput(output, target, point);
|
|
1841
|
+
}
|
|
1842
|
+
})
|
|
1843
|
+
};
|
|
1844
|
+
const analysis = new ProjectionAnalysis({
|
|
1845
|
+
projection,
|
|
1846
|
+
// The adapter already produces physical meters through prepared transforms. Its
|
|
1847
|
+
// context supplies only the ground metric and numerical derivative scale.
|
|
1848
|
+
context: { ...options.groundEllipsoid ?? geographic.ellipsoid, parameters: {} },
|
|
1849
|
+
domain: options.domain,
|
|
1850
|
+
step: options.step,
|
|
1851
|
+
derivativeTolerance: options.derivativeTolerance
|
|
1852
|
+
});
|
|
1853
|
+
return {
|
|
1854
|
+
domain: analysis.domain,
|
|
1855
|
+
contains: analysis.contains.bind(analysis),
|
|
1856
|
+
jacobian: analysis.jacobian.bind(analysis),
|
|
1857
|
+
factors: analysis.factors.bind(analysis)
|
|
1858
|
+
};
|
|
1859
|
+
}
|
|
1860
|
+
function writeGeographicInput(longitude, latitude, height, crs, point) {
|
|
1861
|
+
const axis = crs.storedAxis ?? crs.axis;
|
|
1862
|
+
for (let i = 0; i < 3; i++) {
|
|
1863
|
+
const direction = axis[i];
|
|
1864
|
+
const value = direction === "e" || direction === "w" ? longitude / crs.angularUnit : direction === "n" || direction === "s" ? latitude / crs.angularUnit : height / crs.verticalUnit;
|
|
1865
|
+
const signed = direction === "w" || direction === "s" || direction === "d" ? -value : value;
|
|
1866
|
+
point[i] = signed;
|
|
1867
|
+
}
|
|
1868
|
+
}
|
|
1869
|
+
function readProjectedOutput(input, crs, result) {
|
|
1870
|
+
const axis = crs.storedAxis ?? crs.axis;
|
|
1871
|
+
for (let i = 0; i < 3; i++) {
|
|
1872
|
+
const value = input[i] * crs.toMeter;
|
|
1873
|
+
switch (axis[i]) {
|
|
1874
|
+
case "e":
|
|
1875
|
+
result.x = value;
|
|
1876
|
+
break;
|
|
1877
|
+
case "w":
|
|
1878
|
+
result.x = -value;
|
|
1879
|
+
break;
|
|
1880
|
+
case "n":
|
|
1881
|
+
result.y = value;
|
|
1882
|
+
break;
|
|
1883
|
+
case "s":
|
|
1884
|
+
result.y = -value;
|
|
1885
|
+
break;
|
|
1886
|
+
}
|
|
1887
|
+
}
|
|
1888
|
+
}
|
|
1889
|
+
//# sourceMappingURL=transform-analysis.cjs.map
|