@loaders.gl/tiles 5.0.0-alpha.11 → 5.0.0-alpha.13
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/LICENSE +1 -1
- package/README.md +18 -72
- package/dist/dist.dev.js +5874 -23815
- package/dist/dist.min.js +3 -3
- package/dist/image-set.d.ts +1 -1
- package/dist/image-set.d.ts.map +1 -1
- package/dist/index.cjs +2803 -10209
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +4 -43
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -26
- package/dist/index.js.map +1 -1
- package/dist/mlt/bundled.d.ts +3 -0
- package/dist/mlt/bundled.d.ts.map +1 -0
- package/dist/mlt/bundled.js +5 -0
- package/dist/mlt/bundled.js.map +1 -0
- package/dist/mlt/index.cjs +3701 -0
- package/dist/mlt/index.cjs.map +6 -0
- package/dist/mlt/index.d.ts +10 -0
- package/dist/mlt/index.d.ts.map +1 -0
- package/dist/mlt/index.js +12 -0
- package/dist/mlt/index.js.map +1 -0
- package/dist/mlt/lib/encode-mlt-geometry.d.ts +6 -0
- package/dist/mlt/lib/encode-mlt-geometry.d.ts.map +1 -0
- package/dist/mlt/lib/encode-mlt-geometry.js +150 -0
- package/dist/mlt/lib/encode-mlt-geometry.js.map +1 -0
- package/dist/mlt/lib/encode-mlt-streams.d.ts +13 -0
- package/dist/mlt/lib/encode-mlt-streams.d.ts.map +1 -0
- package/dist/mlt/lib/encode-mlt-streams.js +57 -0
- package/dist/mlt/lib/encode-mlt-streams.js.map +1 -0
- package/dist/mlt/lib/encode-mlt.d.ts +6 -0
- package/dist/mlt/lib/encode-mlt.d.ts.map +1 -0
- package/dist/mlt/lib/encode-mlt.js +174 -0
- package/dist/mlt/lib/encode-mlt.js.map +1 -0
- package/dist/mlt/lib/parse-mlt.d.ts +11 -0
- package/dist/mlt/lib/parse-mlt.d.ts.map +1 -0
- package/dist/mlt/lib/parse-mlt.js +675 -0
- package/dist/mlt/lib/parse-mlt.js.map +1 -0
- package/dist/mlt/mlt-format.d.ts +14 -0
- package/dist/mlt/mlt-format.d.ts.map +1 -0
- package/dist/mlt/mlt-format.js +17 -0
- package/dist/mlt/mlt-format.js.map +1 -0
- package/dist/mlt/mlt-loader-with-parser.d.ts +91 -0
- package/dist/mlt/mlt-loader-with-parser.d.ts.map +1 -0
- package/dist/mlt/mlt-loader-with-parser.js +29 -0
- package/dist/mlt/mlt-loader-with-parser.js.map +1 -0
- package/dist/mlt/mlt-loader.d.ts +115 -0
- package/dist/mlt/mlt-loader.d.ts.map +1 -0
- package/dist/mlt/mlt-loader.js +38 -0
- package/dist/mlt/mlt-loader.js.map +1 -0
- package/dist/mlt/mlt-source-loader.d.ts +82 -0
- package/dist/mlt/mlt-source-loader.d.ts.map +1 -0
- package/dist/mlt/mlt-source-loader.js +179 -0
- package/dist/mlt/mlt-source-loader.js.map +1 -0
- package/dist/mlt/mlt-writer.d.ts +45 -0
- package/dist/mlt/mlt-writer.d.ts.map +1 -0
- package/dist/mlt/mlt-writer.js +21 -0
- package/dist/mlt/mlt-writer.js.map +1 -0
- package/dist/mlt/unbundled.d.ts +3 -0
- package/dist/mlt/unbundled.d.ts.map +1 -0
- package/dist/mlt/unbundled.js +5 -0
- package/dist/mlt/unbundled.js.map +1 -0
- package/dist/mvt/arrow-table-tile-source-loader-types.d.ts +36 -0
- package/dist/mvt/arrow-table-tile-source-loader-types.d.ts.map +1 -0
- package/dist/mvt/arrow-table-tile-source-loader-types.js +36 -0
- package/dist/mvt/arrow-table-tile-source-loader-types.js.map +1 -0
- package/dist/mvt/arrow-table-tile-source-loader.cjs +6343 -0
- package/dist/mvt/arrow-table-tile-source-loader.cjs.map +6 -0
- package/dist/mvt/arrow-table-tile-source-loader.d.ts +69 -0
- package/dist/mvt/arrow-table-tile-source-loader.d.ts.map +1 -0
- package/dist/mvt/arrow-table-tile-source-loader.js +216 -0
- package/dist/mvt/arrow-table-tile-source-loader.js.map +1 -0
- package/dist/mvt/arrow-table-tile-source-types.d.ts +21 -0
- package/dist/mvt/arrow-table-tile-source-types.d.ts.map +1 -0
- package/dist/mvt/arrow-table-tile-source-types.js +6 -0
- package/dist/mvt/arrow-table-tile-source-types.js.map +1 -0
- package/dist/mvt/bundled.d.ts +6 -0
- package/dist/mvt/bundled.d.ts.map +1 -0
- package/dist/mvt/bundled.js +7 -0
- package/dist/mvt/bundled.js.map +1 -0
- package/dist/mvt/dist.dev.js +46689 -0
- package/dist/mvt/dist.min.js +94 -0
- package/dist/mvt/index.cjs +10095 -0
- package/dist/mvt/index.cjs.map +6 -0
- package/dist/mvt/index.d.ts +28 -0
- package/dist/mvt/index.d.ts.map +1 -0
- package/dist/mvt/index.js +27 -0
- package/dist/mvt/index.js.map +1 -0
- package/dist/mvt/lib/encode-mvt-arrow.d.ts +6 -0
- package/dist/mvt/lib/encode-mvt-arrow.d.ts.map +1 -0
- package/dist/mvt/lib/encode-mvt-arrow.js +225 -0
- package/dist/mvt/lib/encode-mvt-arrow.js.map +1 -0
- package/dist/mvt/lib/encode-mvt.d.ts +30 -0
- package/dist/mvt/lib/encode-mvt.d.ts.map +1 -0
- package/dist/mvt/lib/encode-mvt.js +20 -0
- package/dist/mvt/lib/encode-mvt.js.map +1 -0
- package/dist/mvt/lib/get-schemas-from-tilejson.d.ts +4 -0
- package/dist/mvt/lib/get-schemas-from-tilejson.d.ts.map +1 -0
- package/dist/mvt/lib/get-schemas-from-tilejson.js +56 -0
- package/dist/mvt/lib/get-schemas-from-tilejson.js.map +1 -0
- package/dist/mvt/lib/is-longitude-latitude-crs.d.ts +3 -0
- package/dist/mvt/lib/is-longitude-latitude-crs.d.ts.map +1 -0
- package/dist/mvt/lib/is-longitude-latitude-crs.js +13 -0
- package/dist/mvt/lib/is-longitude-latitude-crs.js.map +1 -0
- package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.d.ts +25 -0
- package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.d.ts.map +1 -0
- package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.js +73 -0
- package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.js.map +1 -0
- package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.d.ts +52 -0
- package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.d.ts.map +1 -0
- package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.js +165 -0
- package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.js.map +1 -0
- package/dist/mvt/lib/mvt-pbf/mvt-constants.d.ts +116 -0
- package/dist/mvt/lib/mvt-pbf/mvt-constants.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-pbf/mvt-constants.js +127 -0
- package/dist/mvt/lib/mvt-pbf/mvt-constants.js.map +1 -0
- package/dist/mvt/lib/mvt-pbf/mvt-types.d.ts +17 -0
- package/dist/mvt/lib/mvt-pbf/mvt-types.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-pbf/mvt-types.js +5 -0
- package/dist/mvt/lib/mvt-pbf/mvt-types.js.map +1 -0
- package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.d.ts +77 -0
- package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.js +235 -0
- package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.js.map +1 -0
- package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.d.ts +25 -0
- package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.js +263 -0
- package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.js.map +1 -0
- package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.d.ts +4 -0
- package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.js +134 -0
- package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.js.map +1 -0
- package/dist/mvt/lib/mvt-worker-transport.d.ts +15 -0
- package/dist/mvt/lib/mvt-worker-transport.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-worker-transport.js +54 -0
- package/dist/mvt/lib/mvt-worker-transport.js.map +1 -0
- package/dist/mvt/lib/parse-mvt-geojson.d.ts +6 -0
- package/dist/mvt/lib/parse-mvt-geojson.d.ts.map +1 -0
- package/dist/mvt/lib/parse-mvt-geojson.js +48 -0
- package/dist/mvt/lib/parse-mvt-geojson.js.map +1 -0
- package/dist/mvt/lib/parse-mvt.d.ts +14 -0
- package/dist/mvt/lib/parse-mvt.d.ts.map +1 -0
- package/dist/mvt/lib/parse-mvt.js +105 -0
- package/dist/mvt/lib/parse-mvt.js.map +1 -0
- package/dist/mvt/lib/parse-tilejson.d.ts +74 -0
- package/dist/mvt/lib/parse-tilejson.d.ts.map +1 -0
- package/dist/mvt/lib/parse-tilejson.js +267 -0
- package/dist/mvt/lib/parse-tilejson.js.map +1 -0
- package/dist/mvt/lib/resolve-table-tile-parameters.d.ts +4 -0
- package/dist/mvt/lib/resolve-table-tile-parameters.d.ts.map +1 -0
- package/dist/mvt/lib/resolve-table-tile-parameters.js +16 -0
- package/dist/mvt/lib/resolve-table-tile-parameters.js.map +1 -0
- package/dist/mvt/lib/types.d.ts +88 -0
- package/dist/mvt/lib/types.d.ts.map +1 -0
- package/dist/mvt/lib/types.js.map +1 -0
- package/dist/mvt/lib/utils/geometry-utils.d.ts +83 -0
- package/dist/mvt/lib/utils/geometry-utils.d.ts.map +1 -0
- package/dist/mvt/lib/utils/geometry-utils.js +211 -0
- package/dist/mvt/lib/utils/geometry-utils.js.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile-feature.d.ts +72 -0
- package/dist/mvt/lib/vector-tile/vector-tile-feature.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile-feature.js +350 -0
- package/dist/mvt/lib/vector-tile/vector-tile-feature.js.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile-layer.d.ts +29 -0
- package/dist/mvt/lib/vector-tile/vector-tile-layer.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile-layer.js +108 -0
- package/dist/mvt/lib/vector-tile/vector-tile-layer.js.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile.d.ts +9 -0
- package/dist/mvt/lib/vector-tile/vector-tile.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile.js +28 -0
- package/dist/mvt/lib/vector-tile/vector-tile.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/arrow-tile.d.ts +6 -0
- package/dist/mvt/lib/vector-tiler/arrow-tile.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/arrow-tile.js +84 -0
- package/dist/mvt/lib/vector-tiler/arrow-tile.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/clip-features.d.ts +16 -0
- package/dist/mvt/lib/vector-tiler/features/clip-features.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/clip-features.js +211 -0
- package/dist/mvt/lib/vector-tiler/features/clip-features.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/convert-feature.d.ts +18 -0
- package/dist/mvt/lib/vector-tiler/features/convert-feature.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/convert-feature.js +161 -0
- package/dist/mvt/lib/vector-tiler/features/convert-feature.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/proto-feature.d.ts +30 -0
- package/dist/mvt/lib/vector-tiler/features/proto-feature.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/proto-feature.js +53 -0
- package/dist/mvt/lib/vector-tiler/features/proto-feature.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/simplify-path.d.ts +10 -0
- package/dist/mvt/lib/vector-tiler/features/simplify-path.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/simplify-path.js +67 -0
- package/dist/mvt/lib/vector-tiler/features/simplify-path.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/wrap-features.d.ts +17 -0
- package/dist/mvt/lib/vector-tiler/features/wrap-features.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/wrap-features.js +95 -0
- package/dist/mvt/lib/vector-tiler/features/wrap-features.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/proto-tile.d.ts +40 -0
- package/dist/mvt/lib/vector-tiler/proto-tile.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/proto-tile.js +139 -0
- package/dist/mvt/lib/vector-tiler/proto-tile.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/tile-to-geojson.d.ts +12 -0
- package/dist/mvt/lib/vector-tiler/tile-to-geojson.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/tile-to-geojson.js +81 -0
- package/dist/mvt/lib/vector-tiler/tile-to-geojson.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/transform-tile.d.ts +7 -0
- package/dist/mvt/lib/vector-tiler/transform-tile.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/transform-tile.js +42 -0
- package/dist/mvt/lib/vector-tiler/transform-tile.js.map +1 -0
- package/dist/mvt/map-style-format.d.ts +13 -0
- package/dist/mvt/map-style-format.d.ts.map +1 -0
- package/dist/mvt/map-style-format.js +16 -0
- package/dist/mvt/map-style-format.js.map +1 -0
- package/dist/mvt/map-style-loader-with-parser.d.ts +26 -0
- package/dist/mvt/map-style-loader-with-parser.d.ts.map +1 -0
- package/dist/mvt/map-style-loader-with-parser.js +38 -0
- package/dist/mvt/map-style-loader-with-parser.js.map +1 -0
- package/dist/mvt/map-style-loader.d.ts +44 -0
- package/dist/mvt/map-style-loader.d.ts.map +1 -0
- package/dist/mvt/map-style-loader.js +25 -0
- package/dist/mvt/map-style-loader.js.map +1 -0
- package/dist/mvt/map-style-schema.d.ts +58 -0
- package/dist/mvt/map-style-schema.d.ts.map +1 -0
- package/dist/mvt/map-style-schema.js +47 -0
- package/dist/mvt/map-style-schema.js.map +1 -0
- package/dist/mvt/map-style.d.ts +110 -0
- package/dist/mvt/map-style.d.ts.map +1 -0
- package/dist/mvt/map-style.js +90 -0
- package/dist/mvt/map-style.js.map +1 -0
- package/dist/mvt/mvt-format.d.ts +14 -0
- package/dist/mvt/mvt-format.d.ts.map +1 -0
- package/dist/mvt/mvt-format.js +23 -0
- package/dist/mvt/mvt-format.js.map +1 -0
- package/dist/mvt/mvt-geojson-loader-types.d.ts +82 -0
- package/dist/mvt/mvt-geojson-loader-types.d.ts.map +1 -0
- package/dist/mvt/mvt-geojson-loader-types.js +34 -0
- package/dist/mvt/mvt-geojson-loader-types.js.map +1 -0
- package/dist/mvt/mvt-geojson-loader.cjs +1366 -0
- package/dist/mvt/mvt-geojson-loader.cjs.map +6 -0
- package/dist/mvt/mvt-geojson-loader.d.ts +32 -0
- package/dist/mvt/mvt-geojson-loader.d.ts.map +1 -0
- package/dist/mvt/mvt-geojson-loader.js +13 -0
- package/dist/mvt/mvt-geojson-loader.js.map +1 -0
- package/dist/mvt/mvt-loader-with-parser.d.ts +105 -0
- package/dist/mvt/mvt-loader-with-parser.d.ts.map +1 -0
- package/dist/mvt/mvt-loader-with-parser.js +21 -0
- package/dist/mvt/mvt-loader-with-parser.js.map +1 -0
- package/dist/mvt/mvt-loader.d.ts +129 -0
- package/dist/mvt/mvt-loader.d.ts.map +1 -0
- package/dist/mvt/mvt-loader.js +40 -0
- package/dist/mvt/mvt-loader.js.map +1 -0
- package/dist/mvt/mvt-source-loader.d.ts +102 -0
- package/dist/mvt/mvt-source-loader.d.ts.map +1 -0
- package/dist/mvt/mvt-source-loader.js +275 -0
- package/dist/mvt/mvt-source-loader.js.map +1 -0
- package/dist/mvt/mvt-writer.d.ts +28 -0
- package/dist/mvt/mvt-writer.d.ts.map +1 -0
- package/dist/mvt/mvt-writer.js +32 -0
- package/dist/mvt/mvt-writer.js.map +1 -0
- package/dist/mvt/table-tile-source-loader.d.ts +169 -0
- package/dist/mvt/table-tile-source-loader.d.ts.map +1 -0
- package/dist/mvt/table-tile-source-loader.js +478 -0
- package/dist/mvt/table-tile-source-loader.js.map +1 -0
- package/dist/mvt/tilejson-format.d.ts +13 -0
- package/dist/mvt/tilejson-format.d.ts.map +1 -0
- package/dist/mvt/tilejson-format.js +16 -0
- package/dist/mvt/tilejson-format.js.map +1 -0
- package/dist/mvt/tilejson-loader-with-parser.d.ts +13 -0
- package/dist/mvt/tilejson-loader-with-parser.d.ts.map +1 -0
- package/dist/mvt/tilejson-loader-with-parser.js +25 -0
- package/dist/mvt/tilejson-loader-with-parser.js.map +1 -0
- package/dist/mvt/tilejson-loader.d.ts +56 -0
- package/dist/mvt/tilejson-loader.d.ts.map +1 -0
- package/dist/mvt/tilejson-loader.js +28 -0
- package/dist/mvt/tilejson-loader.js.map +1 -0
- package/dist/mvt/tilejson-zod-schema.cjs +79 -0
- package/dist/mvt/tilejson-zod-schema.cjs.map +6 -0
- package/dist/mvt/tilejson-zod-schema.d.ts +218 -0
- package/dist/mvt/tilejson-zod-schema.d.ts.map +1 -0
- package/dist/mvt/tilejson-zod-schema.js +68 -0
- package/dist/mvt/tilejson-zod-schema.js.map +1 -0
- package/dist/mvt/tilejson.schema.json +197 -0
- package/dist/mvt/unbundled.d.ts +8 -0
- package/dist/mvt/unbundled.d.ts.map +1 -0
- package/dist/mvt/unbundled.js +8 -0
- package/dist/mvt/unbundled.js.map +1 -0
- package/dist/mvt/workers/mvt-worker-node.d.ts +2 -0
- package/dist/mvt/workers/mvt-worker-node.d.ts.map +1 -0
- package/dist/mvt/workers/mvt-worker-node.js +8 -0
- package/dist/mvt/workers/mvt-worker-node.js.map +1 -0
- package/dist/mvt/workers/mvt-worker.d.ts +2 -0
- package/dist/mvt/workers/mvt-worker.d.ts.map +1 -0
- package/dist/mvt/workers/mvt-worker.js +7 -0
- package/dist/mvt/workers/mvt-worker.js.map +1 -0
- package/dist/mvt-worker-node.js +72460 -0
- package/dist/mvt-worker-node.js.map +7 -0
- package/dist/mvt-worker.js +21239 -0
- package/dist/pmtiles/bundled.d.ts +3 -0
- package/dist/pmtiles/bundled.d.ts.map +1 -0
- package/dist/pmtiles/bundled.js +5 -0
- package/dist/pmtiles/bundled.js.map +1 -0
- package/dist/pmtiles/dist.dev.js +50530 -0
- package/dist/pmtiles/dist.min.js +94 -0
- package/dist/pmtiles/geoarrow.cjs +6718 -0
- package/dist/pmtiles/geoarrow.cjs.map +6 -0
- package/dist/pmtiles/geoarrow.d.ts +30 -0
- package/dist/pmtiles/geoarrow.d.ts.map +1 -0
- package/dist/pmtiles/geoarrow.js +143 -0
- package/dist/pmtiles/geoarrow.js.map +1 -0
- package/dist/pmtiles/index.cjs +8011 -0
- package/dist/pmtiles/index.cjs.map +6 -0
- package/dist/pmtiles/index.d.ts +14 -0
- package/dist/pmtiles/index.d.ts.map +1 -0
- package/dist/pmtiles/index.js +10 -0
- package/dist/pmtiles/index.js.map +1 -0
- package/dist/pmtiles/lib/blob-source.d.ts +14 -0
- package/dist/pmtiles/lib/blob-source.d.ts.map +1 -0
- package/dist/pmtiles/lib/blob-source.js +32 -0
- package/dist/pmtiles/lib/blob-source.js.map +1 -0
- package/dist/pmtiles/lib/encode-pmtiles.d.ts +8 -0
- package/dist/pmtiles/lib/encode-pmtiles.d.ts.map +1 -0
- package/dist/pmtiles/lib/encode-pmtiles.js +268 -0
- package/dist/pmtiles/lib/encode-pmtiles.js.map +1 -0
- package/dist/pmtiles/lib/parse-pmtiles.d.ts +52 -0
- package/dist/pmtiles/lib/parse-pmtiles.d.ts.map +1 -0
- package/dist/pmtiles/lib/parse-pmtiles.js +95 -0
- package/dist/pmtiles/lib/parse-pmtiles.js.map +1 -0
- package/dist/pmtiles/lib/range-request-source.d.ts +24 -0
- package/dist/pmtiles/lib/range-request-source.d.ts.map +1 -0
- package/dist/pmtiles/lib/range-request-source.js +45 -0
- package/dist/pmtiles/lib/range-request-source.js.map +1 -0
- package/dist/pmtiles/lib/version.d.ts +2 -0
- package/dist/pmtiles/lib/version.d.ts.map +1 -0
- package/dist/pmtiles/lib/version.js +8 -0
- package/dist/pmtiles/lib/version.js.map +1 -0
- package/dist/pmtiles/pmtiles-format.d.ts +14 -0
- package/dist/pmtiles/pmtiles-format.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-format.js +17 -0
- package/dist/pmtiles/pmtiles-format.js.map +1 -0
- package/dist/pmtiles/pmtiles-loader-with-parser.d.ts +30 -0
- package/dist/pmtiles/pmtiles-loader-with-parser.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-loader-with-parser.js +41 -0
- package/dist/pmtiles/pmtiles-loader-with-parser.js.map +1 -0
- package/dist/pmtiles/pmtiles-loader.d.ts +41 -0
- package/dist/pmtiles/pmtiles-loader.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-loader.js +20 -0
- package/dist/pmtiles/pmtiles-loader.js.map +1 -0
- package/dist/pmtiles/pmtiles-source-loader.d.ts +85 -0
- package/dist/pmtiles/pmtiles-source-loader.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-source-loader.js +239 -0
- package/dist/pmtiles/pmtiles-source-loader.js.map +1 -0
- package/dist/pmtiles/pmtiles-writer-types.d.ts +39 -0
- package/dist/pmtiles/pmtiles-writer-types.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-writer-types.js +5 -0
- package/dist/pmtiles/pmtiles-writer-types.js.map +1 -0
- package/dist/pmtiles/pmtiles-writer.d.ts +22 -0
- package/dist/pmtiles/pmtiles-writer.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-writer.js +15 -0
- package/dist/pmtiles/pmtiles-writer.js.map +1 -0
- package/dist/pmtiles/raster.cjs +1183 -0
- package/dist/pmtiles/raster.cjs.map +6 -0
- package/dist/pmtiles/raster.d.ts +30 -0
- package/dist/pmtiles/raster.d.ts.map +1 -0
- package/dist/pmtiles/raster.js +212 -0
- package/dist/pmtiles/raster.js.map +1 -0
- package/dist/pmtiles/source-info.d.ts +25 -0
- package/dist/pmtiles/source-info.d.ts.map +1 -0
- package/dist/{types.js → pmtiles/source-info.js} +1 -1
- package/dist/pmtiles/source-info.js.map +1 -0
- package/dist/pmtiles/unbundled.d.ts +3 -0
- package/dist/pmtiles/unbundled.d.ts.map +1 -0
- package/dist/pmtiles/unbundled.js +5 -0
- package/dist/pmtiles/unbundled.js.map +1 -0
- package/dist/raster-set.d.ts +1 -1
- package/dist/raster-set.d.ts.map +1 -1
- package/dist/raster-set.js +1 -1
- package/dist/raster-set.js.map +1 -1
- package/dist/tile-matrix.cjs +81 -0
- package/dist/tile-matrix.cjs.map +6 -0
- package/dist/tile-matrix.d.ts +52 -0
- package/dist/tile-matrix.d.ts.map +1 -0
- package/dist/tile-matrix.js +75 -0
- package/dist/tile-matrix.js.map +1 -0
- package/dist/tileset-2d/tile-2d-header.d.ts +2 -2
- package/dist/tileset-2d/tile-2d-header.d.ts.map +1 -1
- package/dist/tileset-2d/tile-2d-header.js +11 -11
- package/dist/tileset-2d/tile-2d-header.js.map +1 -1
- package/dist/tileset-2d/tileset-2d.d.ts +19 -10
- package/dist/tileset-2d/tileset-2d.d.ts.map +1 -1
- package/dist/tileset-2d/tileset-2d.js +69 -15
- package/dist/tileset-2d/tileset-2d.js.map +1 -1
- package/dist/tileset-2d.d.ts +2 -1
- package/dist/tileset-2d.d.ts.map +1 -1
- package/dist/tileset-2d.js +1 -1
- package/dist/tileset-2d.js.map +1 -1
- package/package.json +104 -16
- package/src/image-set.ts +1 -1
- package/src/index.ts +9 -123
- package/src/mlt/bundled.ts +9 -0
- package/src/mlt/index.ts +18 -0
- package/src/mlt/lib/encode-mlt-geometry.ts +162 -0
- package/src/mlt/lib/encode-mlt-streams.ts +66 -0
- package/src/mlt/lib/encode-mlt.ts +215 -0
- package/src/mlt/lib/parse-mlt.ts +906 -0
- package/src/mlt/libs/mlt-decoder.cjs +4552 -0
- package/src/mlt/mlt-format.ts +19 -0
- package/src/mlt/mlt-loader-with-parser.ts +57 -0
- package/src/mlt/mlt-loader.ts +64 -0
- package/src/mlt/mlt-source-loader.ts +266 -0
- package/src/mlt/mlt-writer.ts +47 -0
- package/src/mlt/unbundled.ts +6 -0
- package/src/mvt/arrow-table-tile-source-loader-types.ts +55 -0
- package/src/mvt/arrow-table-tile-source-loader.ts +307 -0
- package/src/mvt/arrow-table-tile-source-types.ts +32 -0
- package/src/mvt/bundled.ts +14 -0
- package/src/mvt/index.ts +67 -0
- package/src/mvt/lib/encode-mvt-arrow.ts +273 -0
- package/src/mvt/lib/encode-mvt.ts +46 -0
- package/src/mvt/lib/get-schemas-from-tilejson.ts +64 -0
- package/src/mvt/lib/is-longitude-latitude-crs.ts +15 -0
- package/src/mvt/lib/mapbox-vt-pbf/geojson-to-vt.ts.disabled +76 -0
- package/src/mvt/lib/mapbox-vt-pbf/geojson-wrapper.ts +89 -0
- package/src/mvt/lib/mapbox-vt-pbf/to-vector-tile.ts +230 -0
- package/src/mvt/lib/mvt-pbf/mvt-constants.ts +135 -0
- package/src/mvt/lib/mvt-pbf/mvt-types.ts +22 -0
- package/src/mvt/lib/mvt-pbf/parse-geometry-from-pbf.ts +285 -0
- package/src/mvt/lib/mvt-pbf/parse-mvt-from-pbf.ts +310 -0
- package/src/mvt/lib/mvt-pbf/write-mvt-to-pbf.ts +162 -0
- package/src/mvt/lib/mvt-worker-transport.ts +74 -0
- package/src/mvt/lib/parse-mvt-geojson.ts +65 -0
- package/src/mvt/lib/parse-mvt.ts +145 -0
- package/src/mvt/lib/parse-tilejson.ts +397 -0
- package/src/mvt/lib/resolve-table-tile-parameters.ts +23 -0
- package/src/mvt/lib/types.ts +90 -0
- package/src/mvt/lib/utils/geometry-utils.ts +238 -0
- package/src/mvt/lib/vector-tile/LICENSE.txt +31 -0
- package/src/mvt/lib/vector-tile/vector-tile-feature.ts +430 -0
- package/src/mvt/lib/vector-tile/vector-tile-layer.ts +130 -0
- package/src/mvt/lib/vector-tile/vector-tile.ts +32 -0
- package/src/mvt/lib/vector-tiler/LICENSE +19 -0
- package/src/mvt/lib/vector-tiler/arrow-tile.ts +93 -0
- package/src/mvt/lib/vector-tiler/features/clip-features.ts +250 -0
- package/src/mvt/lib/vector-tiler/features/convert-feature.ts +213 -0
- package/src/mvt/lib/vector-tiler/features/proto-feature.ts +104 -0
- package/src/mvt/lib/vector-tiler/features/simplify-path.ts +84 -0
- package/src/mvt/lib/vector-tiler/features/wrap-features.ts +125 -0
- package/src/mvt/lib/vector-tiler/proto-tile.ts +217 -0
- package/src/mvt/lib/vector-tiler/tile-to-geojson.ts +104 -0
- package/src/mvt/lib/vector-tiler/transform-tile.ts +57 -0
- package/src/mvt/map-style-format.ts +18 -0
- package/src/mvt/map-style-loader-with-parser.ts +62 -0
- package/src/mvt/map-style-loader.ts +31 -0
- package/src/mvt/map-style-schema.ts +53 -0
- package/src/mvt/map-style.ts +218 -0
- package/src/mvt/mvt-format.ts +25 -0
- package/src/mvt/mvt-geojson-loader-types.ts +60 -0
- package/src/mvt/mvt-geojson-loader.ts +20 -0
- package/src/mvt/mvt-loader-with-parser.ts +53 -0
- package/src/mvt/mvt-loader.ts +73 -0
- package/src/mvt/mvt-source-loader.ts +410 -0
- package/src/mvt/mvt-writer.ts +35 -0
- package/src/mvt/table-tile-source-loader.ts +672 -0
- package/src/mvt/tilejson-format.ts +18 -0
- package/src/mvt/tilejson-loader-with-parser.ts +38 -0
- package/src/mvt/tilejson-loader.ts +42 -0
- package/src/mvt/tilejson-zod-schema.ts +199 -0
- package/src/mvt/unbundled.ts +13 -0
- package/src/mvt/workers/mvt-worker-node.ts +9 -0
- package/src/mvt/workers/mvt-worker.ts +8 -0
- package/src/pmtiles/bundled.ts +6 -0
- package/src/pmtiles/geoarrow.ts +188 -0
- package/src/pmtiles/index.ts +27 -0
- package/src/pmtiles/lib/blob-source.ts +41 -0
- package/src/pmtiles/lib/encode-pmtiles.ts +322 -0
- package/src/pmtiles/lib/parse-pmtiles.ts +180 -0
- package/src/pmtiles/lib/range-request-source.ts +60 -0
- package/src/pmtiles/lib/version.ts +8 -0
- package/src/pmtiles/pmtiles-format.ts +19 -0
- package/src/pmtiles/pmtiles-loader-with-parser.ts +60 -0
- package/src/pmtiles/pmtiles-loader.ts +30 -0
- package/src/pmtiles/pmtiles-source-loader.ts +346 -0
- package/src/pmtiles/pmtiles-writer-types.ts +45 -0
- package/src/pmtiles/pmtiles-writer.ts +26 -0
- package/src/pmtiles/raster.ts +289 -0
- package/src/pmtiles/source-info.ts +25 -0
- package/src/pmtiles/unbundled.ts +6 -0
- package/src/raster-set.ts +2 -2
- package/src/tile-matrix.ts +138 -0
- package/src/tileset-2d/tile-2d-header.ts +14 -13
- package/src/tileset-2d/tileset-2d.ts +81 -19
- package/src/tileset-2d.ts +25 -1
- package/dist/constants.d.ts +0 -38
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -39
- package/dist/constants.js.map +0 -1
- package/dist/point-cloud/point-cloud-tile.d.ts +0 -47
- package/dist/point-cloud/point-cloud-tile.d.ts.map +0 -1
- package/dist/point-cloud/point-cloud-tile.js +0 -70
- package/dist/point-cloud/point-cloud-tile.js.map +0 -1
- package/dist/point-cloud/point-cloud-tileset.d.ts +0 -135
- package/dist/point-cloud/point-cloud-tileset.d.ts.map +0 -1
- package/dist/point-cloud/point-cloud-tileset.js +0 -549
- package/dist/point-cloud/point-cloud-tileset.js.map +0 -1
- package/dist/point-cloud/types.d.ts +0 -81
- package/dist/point-cloud/types.d.ts.map +0 -1
- package/dist/point-cloud/types.js.map +0 -1
- package/dist/spatial/format-spatial-reference.d.ts +0 -68
- package/dist/spatial/format-spatial-reference.d.ts.map +0 -1
- package/dist/spatial/format-spatial-reference.js +0 -291
- package/dist/spatial/format-spatial-reference.js.map +0 -1
- package/dist/spatial/get-spatial-coordinate-frame.d.ts +0 -20
- package/dist/spatial/get-spatial-coordinate-frame.d.ts.map +0 -1
- package/dist/spatial/get-spatial-coordinate-frame.js +0 -139
- package/dist/spatial/get-spatial-coordinate-frame.js.map +0 -1
- package/dist/spatial/i3s-elevation.d.ts +0 -20
- package/dist/spatial/i3s-elevation.d.ts.map +0 -1
- package/dist/spatial/i3s-elevation.js +0 -90
- package/dist/spatial/i3s-elevation.js.map +0 -1
- package/dist/spatial/i3s-spatial-transformer.d.ts +0 -205
- package/dist/spatial/i3s-spatial-transformer.d.ts.map +0 -1
- package/dist/spatial/i3s-spatial-transformer.js +0 -731
- package/dist/spatial/i3s-spatial-transformer.js.map +0 -1
- package/dist/spatial/normalize-crs-identifier.d.ts +0 -15
- package/dist/spatial/normalize-crs-identifier.d.ts.map +0 -1
- package/dist/spatial/normalize-crs-identifier.js +0 -22
- package/dist/spatial/normalize-crs-identifier.js.map +0 -1
- package/dist/spatial/spatial-coordinate-transformer.d.ts +0 -52
- package/dist/spatial/spatial-coordinate-transformer.d.ts.map +0 -1
- package/dist/spatial/spatial-coordinate-transformer.js +0 -295
- package/dist/spatial/spatial-coordinate-transformer.js.map +0 -1
- package/dist/spatial/spatial-resource-registry.d.ts +0 -47
- package/dist/spatial/spatial-resource-registry.d.ts.map +0 -1
- package/dist/spatial/spatial-resource-registry.js +0 -76
- package/dist/spatial/spatial-resource-registry.js.map +0 -1
- package/dist/spatial/spatial-types.d.ts +0 -190
- package/dist/spatial/spatial-types.d.ts.map +0 -1
- package/dist/spatial/spatial-types.js +0 -192
- package/dist/spatial/spatial-types.js.map +0 -1
- package/dist/spatial/tiles-3d-spatial-transformer.d.ts +0 -32
- package/dist/spatial/tiles-3d-spatial-transformer.d.ts.map +0 -1
- package/dist/spatial/tiles-3d-spatial-transformer.js +0 -163
- package/dist/spatial/tiles-3d-spatial-transformer.js.map +0 -1
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +0 -60
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +0 -1
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js +0 -130
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js.map +0 -1
- package/dist/tileset-3d/common/tile-3d-contracts.d.ts +0 -63
- package/dist/tileset-3d/common/tile-3d-contracts.d.ts.map +0 -1
- package/dist/tileset-3d/common/tile-3d-contracts.js +0 -51
- package/dist/tileset-3d/common/tile-3d-contracts.js.map +0 -1
- package/dist/tileset-3d/common/tile-3d.d.ts +0 -410
- package/dist/tileset-3d/common/tile-3d.d.ts.map +0 -1
- package/dist/tileset-3d/common/tile-3d.js +0 -1056
- package/dist/tileset-3d/common/tile-3d.js.map +0 -1
- package/dist/tileset-3d/common/tileset-3d.d.ts +0 -367
- package/dist/tileset-3d/common/tileset-3d.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-3d.js +0 -879
- package/dist/tileset-3d/common/tileset-3d.js.map +0 -1
- package/dist/tileset-3d/common/tileset-cache.d.ts +0 -29
- package/dist/tileset-3d/common/tileset-cache.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-cache.js +0 -82
- package/dist/tileset-3d/common/tileset-cache.js.map +0 -1
- package/dist/tileset-3d/common/tileset-content-traversal.d.ts +0 -37
- package/dist/tileset-3d/common/tileset-content-traversal.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-content-traversal.js +0 -80
- package/dist/tileset-3d/common/tileset-content-traversal.js.map +0 -1
- package/dist/tileset-3d/common/tileset-observability.d.ts +0 -60
- package/dist/tileset-3d/common/tileset-observability.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-observability.js +0 -39
- package/dist/tileset-3d/common/tileset-observability.js.map +0 -1
- package/dist/tileset-3d/common/tileset-source.d.ts +0 -228
- package/dist/tileset-3d/common/tileset-source.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-source.js +0 -17
- package/dist/tileset-3d/common/tileset-source.js.map +0 -1
- package/dist/tileset-3d/common/tileset-traverser.d.ts +0 -88
- package/dist/tileset-3d/common/tileset-traverser.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-traverser.js +0 -341
- package/dist/tileset-3d/common/tileset-traverser.js.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +0 -182
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +0 -681
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +0 -221
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +0 -770
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +0 -111
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +0 -339
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts +0 -27
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js +0 -45
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts +0 -116
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-source.js +0 -450
- package/dist/tileset-3d/format-i3s/i3s-source.js.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts +0 -34
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.js +0 -81
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.js.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts +0 -25
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js +0 -84
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +0 -1
- package/dist/tileset-3d/helpers/3d-tiles-options.d.ts +0 -5
- package/dist/tileset-3d/helpers/3d-tiles-options.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/3d-tiles-options.js +0 -9
- package/dist/tileset-3d/helpers/3d-tiles-options.js.map +0 -1
- package/dist/tileset-3d/helpers/bounding-volume.d.ts +0 -23
- package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/bounding-volume.js +0 -236
- package/dist/tileset-3d/helpers/bounding-volume.js.map +0 -1
- package/dist/tileset-3d/helpers/frame-state.d.ts +0 -93
- package/dist/tileset-3d/helpers/frame-state.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/frame-state.js +0 -211
- package/dist/tileset-3d/helpers/frame-state.js.map +0 -1
- package/dist/tileset-3d/helpers/i3s-lod.d.ts +0 -20
- package/dist/tileset-3d/helpers/i3s-lod.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/i3s-lod.js +0 -95
- package/dist/tileset-3d/helpers/i3s-lod.js.map +0 -1
- package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts +0 -17
- package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/s2-bounding-volume.js +0 -20
- package/dist/tileset-3d/helpers/s2-bounding-volume.js.map +0 -1
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts +0 -72
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/tiles-3d-lod.js +0 -257
- package/dist/tileset-3d/helpers/tiles-3d-lod.js.map +0 -1
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts +0 -134
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.js +0 -179
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.js.map +0 -1
- package/dist/tileset-3d/helpers/transform-utils.d.ts +0 -3
- package/dist/tileset-3d/helpers/transform-utils.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/transform-utils.js +0 -86
- package/dist/tileset-3d/helpers/transform-utils.js.map +0 -1
- package/dist/tileset-3d/helpers/zoom.d.ts +0 -46
- package/dist/tileset-3d/helpers/zoom.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/zoom.js +0 -86
- package/dist/tileset-3d/helpers/zoom.js.map +0 -1
- package/dist/types.d.ts +0 -48
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils/doubly-linked-list-node.d.ts +0 -11
- package/dist/utils/doubly-linked-list-node.d.ts.map +0 -1
- package/dist/utils/doubly-linked-list-node.js +0 -20
- package/dist/utils/doubly-linked-list-node.js.map +0 -1
- package/dist/utils/doubly-linked-list.d.ts +0 -30
- package/dist/utils/doubly-linked-list.d.ts.map +0 -1
- package/dist/utils/doubly-linked-list.js +0 -93
- package/dist/utils/doubly-linked-list.js.map +0 -1
- package/dist/utils/managed-array.d.ts +0 -85
- package/dist/utils/managed-array.d.ts.map +0 -1
- package/dist/utils/managed-array.js +0 -152
- package/dist/utils/managed-array.js.map +0 -1
- package/src/constants.ts +0 -59
- package/src/point-cloud/point-cloud-tile.ts +0 -80
- package/src/point-cloud/point-cloud-tileset.ts +0 -767
- package/src/point-cloud/types.ts +0 -99
- package/src/spatial/format-spatial-reference.ts +0 -385
- package/src/spatial/get-spatial-coordinate-frame.ts +0 -169
- package/src/spatial/i3s-elevation.ts +0 -96
- package/src/spatial/i3s-spatial-transformer.ts +0 -1021
- package/src/spatial/normalize-crs-identifier.ts +0 -26
- package/src/spatial/spatial-coordinate-transformer.ts +0 -377
- package/src/spatial/spatial-resource-registry.ts +0 -90
- package/src/spatial/spatial-types.ts +0 -422
- package/src/spatial/tiles-3d-spatial-transformer.ts +0 -194
- package/src/tileset-3d/common/indexed-archive-tileset-source.ts +0 -205
- package/src/tileset-3d/common/tile-3d-contracts.ts +0 -115
- package/src/tileset-3d/common/tile-3d.ts +0 -1310
- package/src/tileset-3d/common/tileset-3d.ts +0 -1208
- package/src/tileset-3d/common/tileset-cache.ts +0 -111
- package/src/tileset-3d/common/tileset-content-traversal.ts +0 -114
- package/src/tileset-3d/common/tileset-observability.ts +0 -100
- package/src/tileset-3d/common/tileset-source.ts +0 -284
- package/src/tileset-3d/common/tileset-traverser.ts +0 -416
- package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +0 -1059
- package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +0 -1025
- package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +0 -391
- package/src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts +0 -48
- package/src/tileset-3d/format-i3s/i3s-source.ts +0 -557
- package/src/tileset-3d/format-i3s/i3s-tile-manager.ts +0 -105
- package/src/tileset-3d/format-i3s/i3s-tileset-traverser.ts +0 -102
- package/src/tileset-3d/helpers/3d-tiles-options.ts +0 -11
- package/src/tileset-3d/helpers/bounding-volume.ts +0 -281
- package/src/tileset-3d/helpers/frame-state.ts +0 -322
- package/src/tileset-3d/helpers/i3s-lod.ts +0 -109
- package/src/tileset-3d/helpers/s2-bounding-volume.ts +0 -35
- package/src/tileset-3d/helpers/tiles-3d-lod.ts +0 -370
- package/src/tileset-3d/helpers/tiles-3d-request-priority.ts +0 -301
- package/src/tileset-3d/helpers/transform-utils.ts +0 -109
- package/src/tileset-3d/helpers/zoom.ts +0 -120
- package/src/types.ts +0 -54
- package/src/utils/doubly-linked-list-node.ts +0 -22
- package/src/utils/doubly-linked-list.ts +0 -105
- package/src/utils/managed-array.ts +0 -174
- /package/dist/{point-cloud → mvt/lib}/types.js +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/core/loader-utils';
|
|
6
|
+
import type {TileJSON} from './lib/parse-tilejson';
|
|
7
|
+
import {parseTileJSON} from './lib/parse-tilejson';
|
|
8
|
+
import {TileJSONLoader as TileJSONLoaderMetadata} from './tilejson-loader';
|
|
9
|
+
|
|
10
|
+
const {preload: _TileJSONLoaderPreload, ...TileJSONLoaderMetadataWithoutPreload} =
|
|
11
|
+
TileJSONLoaderMetadata;
|
|
12
|
+
|
|
13
|
+
export type TileJSONLoaderOptions = LoaderOptions & {
|
|
14
|
+
/** Options for the TileJSONLoaderWithParser */
|
|
15
|
+
tilejson?: {
|
|
16
|
+
/** Max number of unique values */
|
|
17
|
+
maxValues?: number;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Loader for TileJSON metadata
|
|
23
|
+
*/
|
|
24
|
+
export const TileJSONLoaderWithParser = {
|
|
25
|
+
...TileJSONLoaderMetadataWithoutPreload,
|
|
26
|
+
worker: false,
|
|
27
|
+
parse: async (arrayBuffer: ArrayBuffer, options?: TileJSONLoaderOptions) => {
|
|
28
|
+
const jsonString = new TextDecoder().decode(arrayBuffer);
|
|
29
|
+
const json = JSON.parse(jsonString);
|
|
30
|
+
const tilejsonOptions = {...TileJSONLoaderWithParser.options.tilejson, ...options?.tilejson};
|
|
31
|
+
return parseTileJSON(json, tilejsonOptions) as TileJSON;
|
|
32
|
+
},
|
|
33
|
+
parseTextSync: (text: string, options?: TileJSONLoaderOptions) => {
|
|
34
|
+
const json = JSON.parse(text);
|
|
35
|
+
const tilejsonOptions = {...TileJSONLoaderWithParser.options.tilejson, ...options?.tilejson};
|
|
36
|
+
return parseTileJSON(json, tilejsonOptions) as TileJSON;
|
|
37
|
+
}
|
|
38
|
+
} as const satisfies LoaderWithParser<TileJSON, never, TileJSONLoaderOptions>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import type {Loader, LoaderOptions} from '@loaders.gl/core/loader-utils';
|
|
6
|
+
import type {TileJSON} from './lib/parse-tilejson';
|
|
7
|
+
import {TileJSONFormat} from './tilejson-format';
|
|
8
|
+
|
|
9
|
+
// __VERSION__ is injected by babel-plugin-version-inline
|
|
10
|
+
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
11
|
+
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
12
|
+
|
|
13
|
+
export type TileJSONLoaderOptions = LoaderOptions & {
|
|
14
|
+
/** Options for the TileJSONLoader */
|
|
15
|
+
tilejson?: {
|
|
16
|
+
/** Max number of unique values */
|
|
17
|
+
maxValues?: number;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/** Preloads the parser-bearing TileJSON loader implementation. */
|
|
22
|
+
async function preload() {
|
|
23
|
+
const {TileJSONLoaderWithParser} = await import('./tilejson-loader-with-parser');
|
|
24
|
+
return TileJSONLoaderWithParser;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** Metadata-only loader for TileJSON metadata. */
|
|
28
|
+
export const TileJSONLoader = {
|
|
29
|
+
dataType: null as unknown as TileJSON,
|
|
30
|
+
batchType: null as never,
|
|
31
|
+
|
|
32
|
+
...TileJSONFormat,
|
|
33
|
+
module: 'pmtiles',
|
|
34
|
+
version: VERSION,
|
|
35
|
+
worker: true,
|
|
36
|
+
options: {
|
|
37
|
+
tilejson: {
|
|
38
|
+
maxValues: undefined
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
preload
|
|
42
|
+
} as const satisfies Loader<TileJSON, never, TileJSONLoaderOptions>;
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import {z} from 'zod';
|
|
6
|
+
|
|
7
|
+
/** One vector layer declaration in raw TileJSON metadata. */
|
|
8
|
+
export interface TileJSONVectorLayer {
|
|
9
|
+
/** Stable identifier used by vector-tile features. */
|
|
10
|
+
id?: string;
|
|
11
|
+
/** Human-readable layer description. */
|
|
12
|
+
description?: string;
|
|
13
|
+
/** Declared field names mapped to producer-specific field type names. */
|
|
14
|
+
fields?: Record<string, string>;
|
|
15
|
+
/** Minimum zoom at which the layer is available. */
|
|
16
|
+
minzoom?: number;
|
|
17
|
+
/** Maximum zoom at which the layer is available. */
|
|
18
|
+
maxzoom?: number;
|
|
19
|
+
/** Additional TileJSON layer properties are preserved verbatim. */
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* One raw, unparsed Tilestats layer attribute.
|
|
25
|
+
*
|
|
26
|
+
* @see https://github.com/mapbox/mapbox-geostats#output-the-stats
|
|
27
|
+
*/
|
|
28
|
+
export interface TilestatsLayerAttribute {
|
|
29
|
+
/** The name of this attribute. */
|
|
30
|
+
attribute?: string;
|
|
31
|
+
/**
|
|
32
|
+
* The inferred attribute type:
|
|
33
|
+
*
|
|
34
|
+
* - `string` if all values are strings or `null`.
|
|
35
|
+
* - `number` if all values are numbers or `null`.
|
|
36
|
+
* - `boolean` if all values are booleans or `null`.
|
|
37
|
+
* - `null` if the only value is `null`.
|
|
38
|
+
* - `mixed` if values have multiple types.
|
|
39
|
+
*
|
|
40
|
+
* Array and object values are coerced to strings by Mapbox Geostats.
|
|
41
|
+
*/
|
|
42
|
+
type?: string;
|
|
43
|
+
/** Minimum value when any values are numbers. */
|
|
44
|
+
min?: number;
|
|
45
|
+
/** Maximum value when any values are numbers. */
|
|
46
|
+
max?: number;
|
|
47
|
+
/** Number of unique values. */
|
|
48
|
+
count?: number;
|
|
49
|
+
/** First 100 unique values. */
|
|
50
|
+
values?: unknown[];
|
|
51
|
+
/** Additional attribute statistics are preserved verbatim. */
|
|
52
|
+
[key: string]: unknown;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* One raw, unparsed layer in a Tilestats document.
|
|
57
|
+
*
|
|
58
|
+
* @see https://github.com/mapbox/mapbox-geostats#output-the-stats
|
|
59
|
+
*/
|
|
60
|
+
export interface TilestatsLayer {
|
|
61
|
+
/** The name of this layer. */
|
|
62
|
+
layer?: string;
|
|
63
|
+
/** The number of features in this layer. */
|
|
64
|
+
count?: number;
|
|
65
|
+
/** The dominant geometry type in this layer. */
|
|
66
|
+
geometry?: string;
|
|
67
|
+
/** The number of unique attributes in this layer, up to 1000. */
|
|
68
|
+
attributeCount?: number;
|
|
69
|
+
/** Attribute statistics for this layer. */
|
|
70
|
+
attributes?: TilestatsLayerAttribute[];
|
|
71
|
+
/** Additional layer statistics are preserved verbatim. */
|
|
72
|
+
[key: string]: unknown;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** Raw Tilestats metadata embedded in or accompanying TileJSON. */
|
|
76
|
+
export interface Tilestats {
|
|
77
|
+
/** Number of layers represented by the metadata. */
|
|
78
|
+
layerCount?: number;
|
|
79
|
+
/** Per-layer statistics. */
|
|
80
|
+
layers?: TilestatsLayer[];
|
|
81
|
+
/** Additional Tilestats properties are preserved verbatim. */
|
|
82
|
+
[key: string]: unknown;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Raw TileJSON metadata accepted by loaders.gl before normalization.
|
|
87
|
+
*
|
|
88
|
+
* Known properties are optional because loaders.gl also accepts partial TileJSON-like metadata
|
|
89
|
+
* embedded in PMTiles and generated by tools such as Tippecanoe.
|
|
90
|
+
*/
|
|
91
|
+
export interface TileJSONMetadata {
|
|
92
|
+
/** TileJSON specification version. */
|
|
93
|
+
tilejson?: string;
|
|
94
|
+
/** Human-readable tileset name. */
|
|
95
|
+
name?: string;
|
|
96
|
+
/** Human-readable tileset description. */
|
|
97
|
+
description?: string;
|
|
98
|
+
/** Producer-specific tileset version. */
|
|
99
|
+
version?: string;
|
|
100
|
+
/** Tile indexing scheme. */
|
|
101
|
+
scheme?: 'xyz' | 'tms';
|
|
102
|
+
/** Tile URL templates. */
|
|
103
|
+
tiles?: string[];
|
|
104
|
+
/** Geographic bounds as an array or comma-separated string. */
|
|
105
|
+
bounds?: number[] | string;
|
|
106
|
+
/** Tippecanoe bounds adjusted to avoid crossing the antimeridian. */
|
|
107
|
+
antimeridian_adjusted_bounds?: number[] | string;
|
|
108
|
+
/** Default map center as an array or comma-separated string. */
|
|
109
|
+
center?: number[] | string;
|
|
110
|
+
/** Minimum zoom, optionally encoded as a string by metadata producers. */
|
|
111
|
+
minzoom?: number | string;
|
|
112
|
+
/** Maximum zoom, optionally encoded as a string by metadata producers. */
|
|
113
|
+
maxzoom?: number | string;
|
|
114
|
+
/** HTML attribution for the tileset. */
|
|
115
|
+
attribution?: string;
|
|
116
|
+
/** HTML legend for the tileset. */
|
|
117
|
+
legend?: string;
|
|
118
|
+
/** Vector layer declarations. */
|
|
119
|
+
vector_layers?: TileJSONVectorLayer[];
|
|
120
|
+
/** Inline Tilestats metadata. */
|
|
121
|
+
tilestats?: Tilestats;
|
|
122
|
+
/** Nested JSON metadata encoded as a string. */
|
|
123
|
+
json?: string;
|
|
124
|
+
/** Generating application. */
|
|
125
|
+
generator?: string;
|
|
126
|
+
/** Command-line or application options used by the generator. */
|
|
127
|
+
generator_options?: string;
|
|
128
|
+
/** Additional TileJSON properties are preserved verbatim. */
|
|
129
|
+
[key: string]: unknown;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/** Zod schema for one raw TileJSON vector layer. */
|
|
133
|
+
export const TileJSONVectorLayerSchema = z
|
|
134
|
+
.object({
|
|
135
|
+
id: z.string().optional(),
|
|
136
|
+
description: z.string().optional(),
|
|
137
|
+
fields: z.record(z.string(), z.string()).optional(),
|
|
138
|
+
minzoom: z.number().optional(),
|
|
139
|
+
maxzoom: z.number().optional()
|
|
140
|
+
})
|
|
141
|
+
.passthrough() satisfies z.ZodType<TileJSONVectorLayer>;
|
|
142
|
+
|
|
143
|
+
/** Zod schema for one raw Tilestats attribute. */
|
|
144
|
+
export const TilestatsLayerAttributeSchema = z
|
|
145
|
+
.object({
|
|
146
|
+
attribute: z.string().optional(),
|
|
147
|
+
type: z.string().optional(),
|
|
148
|
+
min: z.number().optional(),
|
|
149
|
+
max: z.number().optional(),
|
|
150
|
+
count: z.number().nonnegative().optional(),
|
|
151
|
+
values: z.array(z.unknown()).optional()
|
|
152
|
+
})
|
|
153
|
+
.passthrough() satisfies z.ZodType<TilestatsLayerAttribute>;
|
|
154
|
+
|
|
155
|
+
/** Zod schema for one raw Tilestats layer. */
|
|
156
|
+
export const TilestatsLayerSchema = z
|
|
157
|
+
.object({
|
|
158
|
+
layer: z.string().optional(),
|
|
159
|
+
count: z.number().nonnegative().optional(),
|
|
160
|
+
geometry: z.string().optional(),
|
|
161
|
+
attributeCount: z.number().nonnegative().optional(),
|
|
162
|
+
attributes: z.array(TilestatsLayerAttributeSchema).optional()
|
|
163
|
+
})
|
|
164
|
+
.passthrough() satisfies z.ZodType<TilestatsLayer>;
|
|
165
|
+
|
|
166
|
+
/** Zod schema for raw Tilestats metadata. */
|
|
167
|
+
export const TilestatsSchema = z
|
|
168
|
+
.object({
|
|
169
|
+
layerCount: z.number().nonnegative().optional(),
|
|
170
|
+
layers: z.array(TilestatsLayerSchema).optional()
|
|
171
|
+
})
|
|
172
|
+
.passthrough() satisfies z.ZodType<Tilestats>;
|
|
173
|
+
|
|
174
|
+
const numberArrayOrStringSchema = z.union([z.array(z.number()), z.string()]);
|
|
175
|
+
const numberOrStringSchema = z.union([z.number(), z.string()]);
|
|
176
|
+
|
|
177
|
+
/** Zod schema for raw TileJSON and compatible partial metadata accepted by loaders.gl. */
|
|
178
|
+
export const TileJSONMetadataSchema = z
|
|
179
|
+
.object({
|
|
180
|
+
tilejson: z.string().optional(),
|
|
181
|
+
name: z.string().optional(),
|
|
182
|
+
description: z.string().optional(),
|
|
183
|
+
version: z.string().optional(),
|
|
184
|
+
scheme: z.enum(['xyz', 'tms']).optional(),
|
|
185
|
+
tiles: z.array(z.string()).optional(),
|
|
186
|
+
bounds: numberArrayOrStringSchema.optional(),
|
|
187
|
+
antimeridian_adjusted_bounds: numberArrayOrStringSchema.optional(),
|
|
188
|
+
center: numberArrayOrStringSchema.optional(),
|
|
189
|
+
minzoom: numberOrStringSchema.optional(),
|
|
190
|
+
maxzoom: numberOrStringSchema.optional(),
|
|
191
|
+
attribution: z.string().optional(),
|
|
192
|
+
legend: z.string().optional(),
|
|
193
|
+
vector_layers: z.array(TileJSONVectorLayerSchema).optional(),
|
|
194
|
+
tilestats: TilestatsSchema.optional(),
|
|
195
|
+
json: z.string().optional(),
|
|
196
|
+
generator: z.string().optional(),
|
|
197
|
+
generator_options: z.string().optional()
|
|
198
|
+
})
|
|
199
|
+
.passthrough() satisfies z.ZodType<TileJSONMetadata>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
export type {TileJSONLoaderOptions} from './tilejson-loader';
|
|
6
|
+
export {TileJSONLoader} from './tilejson-loader';
|
|
7
|
+
|
|
8
|
+
export {MapStyleLoader} from './map-style-loader';
|
|
9
|
+
|
|
10
|
+
export type {MVTLoaderOptions} from './mvt-loader';
|
|
11
|
+
export {MVTLoader, MVTWorkerLoader} from './mvt-loader';
|
|
12
|
+
export type {MVTGeoJSONLoaderOptions} from './mvt-geojson-loader-types';
|
|
13
|
+
export {MVTGeoJSONLoader} from './mvt-geojson-loader-types';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import '@loaders.gl/core/polyfills';
|
|
6
|
+
import {createLoaderWorker} from '@loaders.gl/core/loader-utils';
|
|
7
|
+
import {MVTLoaderWithParser} from '../mvt-loader-with-parser';
|
|
8
|
+
|
|
9
|
+
createLoaderWorker(MVTLoaderWithParser);
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import {MLTWriter} from '@loaders.gl/tiles/mlt';
|
|
6
|
+
import type {MLTWriterOptions} from '@loaders.gl/tiles/mlt';
|
|
7
|
+
import {MVTWriter} from '@loaders.gl/tiles/mvt';
|
|
8
|
+
import type {
|
|
9
|
+
ArrowTableTileSourceInput,
|
|
10
|
+
ArrowTableTileSourceLoaderOptions,
|
|
11
|
+
MVTWriterOptions
|
|
12
|
+
} from '@loaders.gl/tiles/mvt';
|
|
13
|
+
import {ArrowTableVectorTileSource} from '@loaders.gl/tiles/mvt/arrow-table-tile-source-loader';
|
|
14
|
+
import {getGeoMetadata} from '@loaders.gl/core/schema';
|
|
15
|
+
import type {DataType} from '@loaders.gl/core/schema';
|
|
16
|
+
import {encodePMTiles} from './lib/encode-pmtiles';
|
|
17
|
+
import type {PMTilesEncodeOptions, PMTilesTile} from './pmtiles-writer-types';
|
|
18
|
+
|
|
19
|
+
/** Explicit canonical XYZ address selected for a bounded export. */
|
|
20
|
+
export type GeoArrowPMTilesTileIndex = Pick<PMTilesTile, 'x' | 'y' | 'z'>;
|
|
21
|
+
|
|
22
|
+
/** Controls a single-layer GeoArrow-to-vector-tile-to-PMTiles export. */
|
|
23
|
+
export type GeoArrowPMTilesOptions = {
|
|
24
|
+
/** Tile format; defaults to mvt for compatibility. */
|
|
25
|
+
readonly tileType?: 'mvt' | 'mlt';
|
|
26
|
+
/** MLT layer, scalar attributes, IDs and per-tile row limit. */
|
|
27
|
+
readonly mlt?: Pick<
|
|
28
|
+
NonNullable<MLTWriterOptions['mlt']>,
|
|
29
|
+
'layerName' | 'propertyColumns' | 'idColumn' | 'maxFeatures'
|
|
30
|
+
>;
|
|
31
|
+
/** Finite selected tile addresses, including empty tiles; no implicit global enumeration. */
|
|
32
|
+
readonly tiles: Iterable<GeoArrowPMTilesTileIndex> | AsyncIterable<GeoArrowPMTilesTileIndex>;
|
|
33
|
+
/** Existing tiler options. Output coordinates are always normalized tile-local XY. */
|
|
34
|
+
readonly table?: Omit<NonNullable<ArrowTableTileSourceLoaderOptions['table']>, 'coordinates'>;
|
|
35
|
+
/** Layer name, selected properties, feature IDs and per-tile row limit. */
|
|
36
|
+
readonly mvt?: Pick<
|
|
37
|
+
NonNullable<MVTWriterOptions['mvt']>,
|
|
38
|
+
'layerName' | 'propertyColumns' | 'idColumn' | 'maxFeatures'
|
|
39
|
+
>;
|
|
40
|
+
/** Archive limits, internal compression, bounds and auxiliary JSON metadata. */
|
|
41
|
+
readonly pmtiles?: Omit<PMTilesEncodeOptions, 'tileType' | 'tileCompression'>;
|
|
42
|
+
/** Maximum input rows checked before building the existing in-memory index; default 100,000. */
|
|
43
|
+
readonly maxInputRows?: number;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Reuses the existing GeoArrow tiler, encodes selected nonempty tiles as MVT v2 or MLT v1, and packages PMTiles v3.
|
|
48
|
+
* The input table/index and archive are in memory. Archive maxTiles also bounds all requested addresses.
|
|
49
|
+
* Cancellation is forwarded to packaging and checked around tile acquisition; synchronous indexing
|
|
50
|
+
* and per-tile encoding cannot be interrupted mid-call. No partial archive is returned.
|
|
51
|
+
*/
|
|
52
|
+
export async function encodeGeoArrowPMTiles(
|
|
53
|
+
input: ArrowTableTileSourceInput,
|
|
54
|
+
options: GeoArrowPMTilesOptions
|
|
55
|
+
): Promise<ArrayBuffer> {
|
|
56
|
+
options = {
|
|
57
|
+
...options,
|
|
58
|
+
table: {...options.table},
|
|
59
|
+
mlt: {...options.mlt, propertyColumns: options.mlt?.propertyColumns?.slice()},
|
|
60
|
+
mvt: {...options.mvt, propertyColumns: options.mvt?.propertyColumns?.slice()},
|
|
61
|
+
pmtiles: {...options.pmtiles}
|
|
62
|
+
};
|
|
63
|
+
const tileType = options.tileType ?? 'mvt';
|
|
64
|
+
if (!['mvt', 'mlt'].includes(tileType)) throw new Error('Unsupported GeoArrow PMTiles tileType');
|
|
65
|
+
const writerOptions = tileType === 'mlt' ? options.mlt : options.mvt;
|
|
66
|
+
const signal = options.pmtiles?.signal;
|
|
67
|
+
signal?.throwIfAborted();
|
|
68
|
+
const table = 'data' in input && 'shape' in input ? input.data : input;
|
|
69
|
+
const maxInputRows = options.maxInputRows ?? 100000;
|
|
70
|
+
const maxTiles = options.pmtiles?.maxTiles ?? 100000;
|
|
71
|
+
if (
|
|
72
|
+
!Number.isSafeInteger(maxInputRows) ||
|
|
73
|
+
maxInputRows < 1 ||
|
|
74
|
+
!Number.isSafeInteger(maxTiles) ||
|
|
75
|
+
maxTiles < 1
|
|
76
|
+
)
|
|
77
|
+
throw new Error('Invalid GeoArrow PMTiles input or requested tile limit');
|
|
78
|
+
if (!Number.isSafeInteger(table.numRows) || table.numRows > maxInputRows)
|
|
79
|
+
throw new Error('GeoArrow PMTiles input row limit exceeded');
|
|
80
|
+
const tiler = new ArrowTableVectorTileSource(input, {
|
|
81
|
+
table: {...options.table, coordinates: 'local'}
|
|
82
|
+
});
|
|
83
|
+
const schema = await tiler.getSchema();
|
|
84
|
+
signal?.throwIfAborted();
|
|
85
|
+
const geoMetadata = getGeoMetadata(schema.metadata);
|
|
86
|
+
const geometryColumn =
|
|
87
|
+
options.table?.geometryColumn ??
|
|
88
|
+
geoMetadata?.primary_column ??
|
|
89
|
+
schema.fields.find(field => field.metadata?.['ARROW:extension:name'] === 'geoarrow.wkb')!.name;
|
|
90
|
+
const propertyNames =
|
|
91
|
+
writerOptions?.propertyColumns ??
|
|
92
|
+
schema.fields
|
|
93
|
+
.filter(
|
|
94
|
+
field =>
|
|
95
|
+
field.name !== geometryColumn &&
|
|
96
|
+
!field.metadata?.['ARROW:extension:name']?.startsWith('geoarrow.') &&
|
|
97
|
+
!geoMetadata?.columns[field.name]
|
|
98
|
+
)
|
|
99
|
+
.map(field => field.name);
|
|
100
|
+
if (new Set(propertyNames).size !== propertyNames.length)
|
|
101
|
+
throw new Error('Duplicate vector tile property column');
|
|
102
|
+
const fields = Object.fromEntries(
|
|
103
|
+
propertyNames.flatMap(name => {
|
|
104
|
+
const field = schema.fields.find(field => field.name === name);
|
|
105
|
+
if (!field || name === geometryColumn)
|
|
106
|
+
throw new Error(`Unknown vector tile property column: ${name}`);
|
|
107
|
+
const type = getFieldType(field.type);
|
|
108
|
+
return type ? [[name, type]] : [];
|
|
109
|
+
})
|
|
110
|
+
);
|
|
111
|
+
const layerName = writerOptions?.layerName ?? 'features';
|
|
112
|
+
const metadata = {...options.pmtiles?.metadata, vector_layers: [{id: layerName, fields}]};
|
|
113
|
+
// TileJSON summary fields describe the selected export; the archive derives its bounds/zooms.
|
|
114
|
+
for (const name of ['bounds', 'minzoom', 'maxzoom', 'center', 'tiles', 'tilestats'])
|
|
115
|
+
delete (metadata as Record<string, unknown>)[name];
|
|
116
|
+
const maxZoom = (await tiler.getMetadata()).maxZoom!;
|
|
117
|
+
return encodePMTiles(encodeTiles(), {
|
|
118
|
+
...options.pmtiles,
|
|
119
|
+
metadata,
|
|
120
|
+
tileType,
|
|
121
|
+
tileCompression: 'none'
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
/** Requests selected tiles sequentially and closes the caller's iterator on cancellation/failure. */
|
|
125
|
+
async function* encodeTiles(): AsyncIterable<PMTilesTile> {
|
|
126
|
+
const seen = new Set<string>();
|
|
127
|
+
let requested = 0;
|
|
128
|
+
for await (const tile of options.tiles) {
|
|
129
|
+
signal?.throwIfAborted();
|
|
130
|
+
if (++requested > maxTiles) throw new Error('GeoArrow PMTiles requested tile limit exceeded');
|
|
131
|
+
if (
|
|
132
|
+
!Number.isInteger(tile.z) ||
|
|
133
|
+
tile.z < 0 ||
|
|
134
|
+
tile.z > maxZoom ||
|
|
135
|
+
!Number.isInteger(tile.x) ||
|
|
136
|
+
!Number.isInteger(tile.y) ||
|
|
137
|
+
tile.x < 0 ||
|
|
138
|
+
tile.y < 0 ||
|
|
139
|
+
tile.x >= 2 ** tile.z ||
|
|
140
|
+
tile.y >= 2 ** tile.z
|
|
141
|
+
)
|
|
142
|
+
throw new Error('Invalid GeoArrow PMTiles selected XYZ address');
|
|
143
|
+
const key = `${tile.z}/${tile.x}/${tile.y}`;
|
|
144
|
+
if (seen.has(key)) throw new Error('Duplicate GeoArrow PMTiles selected XYZ address');
|
|
145
|
+
seen.add(key);
|
|
146
|
+
const arrowTile = await tiler.getTile(tile);
|
|
147
|
+
signal?.throwIfAborted();
|
|
148
|
+
if (!arrowTile) continue;
|
|
149
|
+
const data =
|
|
150
|
+
tileType === 'mlt'
|
|
151
|
+
? MLTWriter.encodeSync(arrowTile, {
|
|
152
|
+
mlt: {
|
|
153
|
+
...writerOptions,
|
|
154
|
+
layerName,
|
|
155
|
+
geometryColumn,
|
|
156
|
+
propertyColumns: propertyNames,
|
|
157
|
+
extent: options.table?.extent ?? 4096,
|
|
158
|
+
coordinates: 'local'
|
|
159
|
+
}
|
|
160
|
+
})
|
|
161
|
+
: MVTWriter.encodeSync(arrowTile, {
|
|
162
|
+
mvt: {
|
|
163
|
+
...options.mvt,
|
|
164
|
+
layerName,
|
|
165
|
+
geometryColumn,
|
|
166
|
+
propertyColumns: propertyNames,
|
|
167
|
+
extent: options.table?.extent ?? 4096,
|
|
168
|
+
version: 2,
|
|
169
|
+
coordinates: 'local'
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
signal?.throwIfAborted();
|
|
173
|
+
if (data.byteLength) yield {...tile, data};
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/** Maps supported scalar Arrow schema types to TileJSON, rejecting implicit attribute loss. */
|
|
179
|
+
function getFieldType(type: DataType): 'Number' | 'String' | 'Boolean' | null {
|
|
180
|
+
if (typeof type === 'object' && type.type === 'dictionary') return getFieldType(type.dictionary);
|
|
181
|
+
if (type === 'null') return null;
|
|
182
|
+
if (type === 'bool') return 'Boolean';
|
|
183
|
+
if (type === 'utf8') return 'String';
|
|
184
|
+
if (typeof type === 'string' && /^(?:u?int|float)(?:8|16|32|64)?$/.test(type)) return 'Number';
|
|
185
|
+
throw new Error(
|
|
186
|
+
'Unsupported vector tile attribute type; explicitly select supported propertyColumns'
|
|
187
|
+
);
|
|
188
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
export {PMTilesSourceLoader} from './pmtiles-source-loader';
|
|
6
|
+
export {PMTilesFormat} from './pmtiles-format';
|
|
7
|
+
|
|
8
|
+
export type {PMTilesMetadata} from './lib/parse-pmtiles';
|
|
9
|
+
export type {PMTilesRangeRequestOptions, PMTilesSourceLoaderOptions} from './pmtiles-source-loader';
|
|
10
|
+
export {PMTilesTileSource} from './pmtiles-source-loader';
|
|
11
|
+
|
|
12
|
+
export {PMTilesLoader as _PMTilesLoader} from './pmtiles-loader';
|
|
13
|
+
export type {PMTilesLoaderOptions} from './pmtiles-loader';
|
|
14
|
+
|
|
15
|
+
export {PMTilesWriter} from './pmtiles-writer';
|
|
16
|
+
export {encodePMTiles} from './lib/encode-pmtiles';
|
|
17
|
+
export type {PMTilesWriterOptions} from './pmtiles-writer';
|
|
18
|
+
export type {
|
|
19
|
+
PMTilesTile,
|
|
20
|
+
PMTilesTileInput,
|
|
21
|
+
PMTilesTileType,
|
|
22
|
+
PMTilesEncodeOptions
|
|
23
|
+
} from './pmtiles-writer-types';
|
|
24
|
+
|
|
25
|
+
export type {GeoArrowPMTilesOptions, GeoArrowPMTilesTileIndex} from './geoarrow';
|
|
26
|
+
|
|
27
|
+
export type {RasterPMTilesOptions, RasterPMTilesSource} from './raster';
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import * as pmtiles from 'pmtiles';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A PMTiles library compatible source that reads from blobs
|
|
9
|
+
* @deprecated TODO - reimplement as ReadableFileSource
|
|
10
|
+
* Use loaders.gl HTTP range requests instead
|
|
11
|
+
*/
|
|
12
|
+
export class BlobSource implements pmtiles.Source {
|
|
13
|
+
blob: Blob;
|
|
14
|
+
key: string;
|
|
15
|
+
|
|
16
|
+
constructor(blob: Blob, key: string) {
|
|
17
|
+
this.blob = blob;
|
|
18
|
+
this.key = key;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// TODO - how is this used?
|
|
22
|
+
getKey() {
|
|
23
|
+
// @ts-expect-error url is only defined on File subclass
|
|
24
|
+
return this.blob.url || '';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async getBytes(
|
|
28
|
+
offset: number,
|
|
29
|
+
length: number,
|
|
30
|
+
signal?: AbortSignal
|
|
31
|
+
): Promise<pmtiles.RangeResponse> {
|
|
32
|
+
const slice = this.blob.slice(offset, offset + length);
|
|
33
|
+
const data = await slice.arrayBuffer();
|
|
34
|
+
return {
|
|
35
|
+
data
|
|
36
|
+
// etag: response.headers.get('ETag') || undefined,
|
|
37
|
+
// cacheControl: response.headers.get('Cache-Control') || undefined,
|
|
38
|
+
// expires: response.headers.get('Expires') || undefined
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|