@loaders.gl/gis 4.3.4 → 4.4.0-alpha.10
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/dist/index.cjs +2411 -469
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +31 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -15
- package/dist/index.js.map +1 -0
- package/dist/lib/binary-geometry-api/binary-geometry-info.d.ts +21 -0
- package/dist/lib/binary-geometry-api/binary-geometry-info.d.ts.map +1 -0
- package/dist/lib/binary-geometry-api/binary-geometry-info.js +49 -0
- package/dist/lib/binary-geometry-api/binary-geometry-info.js.map +1 -0
- package/dist/lib/binary-geometry-api/concat-binary-geometry.d.ts +5 -0
- package/dist/lib/binary-geometry-api/concat-binary-geometry.d.ts.map +1 -0
- package/dist/lib/binary-geometry-api/concat-binary-geometry.js +51 -0
- package/dist/lib/binary-geometry-api/concat-binary-geometry.js.map +1 -0
- package/dist/lib/{binary-features/transform.d.ts → binary-geometry-api/transform-coordinates.d.ts} +1 -2
- package/dist/lib/binary-geometry-api/transform-coordinates.d.ts.map +1 -0
- package/dist/lib/{binary-features/transform.js → binary-geometry-api/transform-coordinates.js} +1 -1
- package/dist/lib/binary-geometry-api/transform-coordinates.js.map +1 -0
- package/dist/lib/feature-collection-converters/convert-binary-features-to-geojson.d.ts +16 -0
- package/dist/lib/feature-collection-converters/convert-binary-features-to-geojson.d.ts.map +1 -0
- package/dist/lib/{binary-features/binary-to-geojson.js → feature-collection-converters/convert-binary-features-to-geojson.js} +4 -90
- package/dist/lib/feature-collection-converters/convert-binary-features-to-geojson.js.map +1 -0
- package/dist/lib/{binary-features/flat-geojson-to-binary.d.ts → feature-collection-converters/convert-flat-geojson-to-binary-features.d.ts} +6 -9
- package/dist/lib/feature-collection-converters/convert-flat-geojson-to-binary-features.d.ts.map +1 -0
- package/dist/lib/{binary-features/flat-geojson-to-binary.js → feature-collection-converters/convert-flat-geojson-to-binary-features.js} +6 -5
- package/dist/lib/feature-collection-converters/convert-flat-geojson-to-binary-features.js.map +1 -0
- package/dist/lib/feature-collection-converters/convert-geoarrow-to-binary-features.d.ts +74 -0
- package/dist/lib/feature-collection-converters/convert-geoarrow-to-binary-features.d.ts.map +1 -0
- package/dist/lib/feature-collection-converters/convert-geoarrow-to-binary-features.js +378 -0
- package/dist/lib/feature-collection-converters/convert-geoarrow-to-binary-features.js.map +1 -0
- package/dist/lib/{binary-features/geojson-to-binary.d.ts → feature-collection-converters/convert-geojson-to-binary-features.d.ts} +2 -2
- package/dist/lib/feature-collection-converters/convert-geojson-to-binary-features.d.ts.map +1 -0
- package/dist/lib/feature-collection-converters/convert-geojson-to-binary-features.js +25 -0
- package/dist/lib/feature-collection-converters/convert-geojson-to-binary-features.js.map +1 -0
- package/dist/lib/{binary-features/geojson-to-flat-geojson.d.ts → feature-collection-converters/convert-geojson-to-flat-geojson.d.ts} +2 -2
- package/dist/lib/feature-collection-converters/convert-geojson-to-flat-geojson.d.ts.map +1 -0
- package/dist/lib/{binary-features/geojson-to-flat-geojson.js → feature-collection-converters/convert-geojson-to-flat-geojson.js} +5 -1
- package/dist/lib/feature-collection-converters/convert-geojson-to-flat-geojson.js.map +1 -0
- package/dist/lib/feature-collection-converters/helpers/flat-geojson-to-binary-types.d.ts.map +1 -0
- package/dist/lib/feature-collection-converters/helpers/flat-geojson-to-binary-types.js +5 -0
- package/dist/lib/feature-collection-converters/helpers/flat-geojson-to-binary-types.js.map +1 -0
- package/dist/lib/geometry-api/geometry-info.d.ts +21 -0
- package/dist/lib/geometry-api/geometry-info.d.ts.map +1 -0
- package/dist/lib/{binary-features/extract-geometry-info.js → geometry-api/geometry-info.js} +5 -1
- package/dist/lib/geometry-api/geometry-info.js.map +1 -0
- package/dist/lib/geometry-converters/convert-binary-geometry-to-geojson.d.ts +4 -0
- package/dist/lib/geometry-converters/convert-binary-geometry-to-geojson.d.ts.map +1 -0
- package/dist/lib/geometry-converters/convert-binary-geometry-to-geojson.js +92 -0
- package/dist/lib/geometry-converters/convert-binary-geometry-to-geojson.js.map +1 -0
- package/dist/lib/geometry-converters/convert-geoarrow-to-geojson.d.ts +13 -0
- package/dist/lib/geometry-converters/convert-geoarrow-to-geojson.d.ts.map +1 -0
- package/dist/lib/geometry-converters/convert-geoarrow-to-geojson.js +165 -0
- package/dist/lib/geometry-converters/convert-geoarrow-to-geojson.js.map +1 -0
- package/dist/lib/geometry-converters/convert-to-geojson.d.ts +6 -0
- package/dist/lib/geometry-converters/convert-to-geojson.d.ts.map +1 -0
- package/dist/lib/geometry-converters/convert-to-geojson.js +40 -0
- package/dist/lib/geometry-converters/convert-to-geojson.js.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-twkb.d.ts +6 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-twkb.d.ts.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-twkb.js +196 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-twkb.js.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-wkb.d.ts +9 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-wkb.d.ts.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-wkb.js +274 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-wkb.js.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-wkt.d.ts +8 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-wkt.d.ts.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-wkt.js +45 -0
- package/dist/lib/geometry-converters/wkb/convert-geometry-to-wkt.js.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-twkb-to-geometry.d.ts +10 -0
- package/dist/lib/geometry-converters/wkb/convert-twkb-to-geometry.d.ts.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-twkb-to-geometry.js +255 -0
- package/dist/lib/geometry-converters/wkb/convert-twkb-to-geometry.js.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-wkb-to-binary-geometry.d.ts +3 -0
- package/dist/lib/geometry-converters/wkb/convert-wkb-to-binary-geometry.d.ts.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-wkb-to-binary-geometry.js +165 -0
- package/dist/lib/geometry-converters/wkb/convert-wkb-to-binary-geometry.js.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-wkb-to-geometry.d.ts +11 -0
- package/dist/lib/geometry-converters/wkb/convert-wkb-to-geometry.d.ts.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-wkb-to-geometry.js +10 -0
- package/dist/lib/geometry-converters/wkb/convert-wkb-to-geometry.js.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-wkt-to-geometry.d.ts +16 -0
- package/dist/lib/geometry-converters/wkb/convert-wkt-to-geometry.d.ts.map +1 -0
- package/dist/lib/geometry-converters/wkb/convert-wkt-to-geometry.js +259 -0
- package/dist/lib/geometry-converters/wkb/convert-wkt-to-geometry.js.map +1 -0
- package/dist/lib/geometry-converters/wkb/helpers/parse-wkb-header.d.ts +43 -0
- package/dist/lib/geometry-converters/wkb/helpers/parse-wkb-header.d.ts.map +1 -0
- package/dist/lib/geometry-converters/wkb/helpers/parse-wkb-header.js +175 -0
- package/dist/lib/geometry-converters/wkb/helpers/parse-wkb-header.js.map +1 -0
- package/dist/lib/geometry-converters/wkb/helpers/wkb-types.d.ts +64 -0
- package/dist/lib/geometry-converters/wkb/helpers/wkb-types.d.ts.map +1 -0
- package/dist/lib/geometry-converters/wkb/helpers/wkb-types.js +47 -0
- package/dist/lib/geometry-converters/wkb/helpers/wkb-types.js.map +1 -0
- package/dist/lib/geometry-converters/wkb/helpers/wkb-utils.d.ts +21 -0
- package/dist/lib/geometry-converters/wkb/helpers/wkb-utils.d.ts.map +1 -0
- package/dist/lib/geometry-converters/wkb/helpers/wkb-utils.js +65 -0
- package/dist/lib/geometry-converters/wkb/helpers/wkb-utils.js.map +1 -0
- package/dist/lib/geometry-converters/wkb/helpers/write-wkb-header.d.ts +8 -0
- package/dist/lib/geometry-converters/wkb/helpers/write-wkb-header.d.ts.map +1 -0
- package/dist/lib/geometry-converters/wkb/helpers/write-wkb-header.js +34 -0
- package/dist/lib/geometry-converters/wkb/helpers/write-wkb-header.js.map +1 -0
- package/dist/lib/table-converters/convert-geoarrow-table.d.ts +27 -0
- package/dist/lib/table-converters/convert-geoarrow-table.d.ts.map +1 -0
- package/dist/lib/table-converters/convert-geoarrow-table.js +155 -0
- package/dist/lib/table-converters/convert-geoarrow-table.js.map +1 -0
- package/dist/lib/table-converters/convert-wkb-table-to-geojson.d.ts +4 -0
- package/dist/lib/table-converters/convert-wkb-table-to-geojson.d.ts.map +1 -0
- package/dist/lib/{tables/convert-table-to-geojson.js → table-converters/convert-wkb-table-to-geojson.js} +11 -16
- package/dist/lib/table-converters/convert-wkb-table-to-geojson.js.map +1 -0
- package/dist/lib/table-converters/make-arrow-batch-iterator.d.ts +6 -0
- package/dist/lib/table-converters/make-arrow-batch-iterator.d.ts.map +1 -0
- package/dist/lib/table-converters/make-arrow-batch-iterator.js +36 -0
- package/dist/lib/table-converters/make-arrow-batch-iterator.js.map +1 -0
- package/dist/lib/utils/base64-encoder.d.ts +5 -0
- package/dist/lib/utils/base64-encoder.d.ts.map +1 -0
- package/dist/lib/utils/base64-encoder.js +154 -0
- package/dist/lib/utils/base64-encoder.js.map +1 -0
- package/dist/lib/utils/binary-reader.d.ts +18 -0
- package/dist/lib/utils/binary-reader.d.ts.map +1 -0
- package/dist/lib/utils/binary-reader.js +70 -0
- package/dist/lib/utils/binary-reader.js.map +1 -0
- package/dist/lib/utils/binary-writer.d.ts +30 -0
- package/dist/lib/utils/binary-writer.d.ts.map +1 -0
- package/dist/lib/utils/binary-writer.js +128 -0
- package/dist/lib/utils/binary-writer.js.map +1 -0
- package/dist/lib/utils/concat-typed-arrays.d.ts +3 -0
- package/dist/lib/utils/concat-typed-arrays.d.ts.map +1 -0
- package/dist/lib/utils/concat-typed-arrays.js +19 -0
- package/dist/lib/utils/concat-typed-arrays.js.map +1 -0
- package/dist/lib/utils/hex-encoder.d.ts +15 -0
- package/dist/lib/utils/hex-encoder.d.ts.map +1 -0
- package/dist/lib/utils/hex-encoder.js +55 -0
- package/dist/lib/utils/hex-encoder.js.map +1 -0
- package/dist/lib/utils/hex-transcoder.d.ts +15 -0
- package/dist/lib/utils/hex-transcoder.d.ts.map +1 -0
- package/dist/lib/utils/hex-transcoder.js +51 -0
- package/dist/lib/utils/hex-transcoder.js.map +1 -0
- package/dist/lib/wkt-crs/encode-wkt-crs.d.ts +10 -0
- package/dist/lib/wkt-crs/encode-wkt-crs.d.ts.map +1 -0
- package/dist/lib/wkt-crs/encode-wkt-crs.js +36 -0
- package/dist/lib/wkt-crs/encode-wkt-crs.js.map +1 -0
- package/dist/lib/wkt-crs/parse-wkt-crs.d.ts +15 -0
- package/dist/lib/wkt-crs/parse-wkt-crs.d.ts.map +1 -0
- package/dist/lib/wkt-crs/parse-wkt-crs.js +121 -0
- package/dist/lib/wkt-crs/parse-wkt-crs.js.map +1 -0
- package/package.json +7 -5
- package/src/index.ts +87 -14
- package/src/lib/binary-geometry-api/binary-geometry-info.ts +75 -0
- package/src/lib/binary-geometry-api/concat-binary-geometry.ts +78 -0
- package/src/lib/{binary-features/transform.ts → binary-geometry-api/transform-coordinates.ts} +0 -1
- package/src/lib/{binary-features/binary-to-geojson.ts → feature-collection-converters/convert-binary-features-to-geojson.ts} +5 -142
- package/src/lib/{binary-features/flat-geojson-to-binary.ts → feature-collection-converters/convert-flat-geojson-to-binary-features.ts} +14 -9
- package/src/lib/feature-collection-converters/convert-geoarrow-to-binary-features.ts +496 -0
- package/src/lib/{binary-features/geojson-to-binary.ts → feature-collection-converters/convert-geojson-to-binary-features.ts} +11 -7
- package/src/lib/{binary-features/geojson-to-flat-geojson.ts → feature-collection-converters/convert-geojson-to-flat-geojson.ts} +5 -1
- package/src/lib/{binary-features → feature-collection-converters/helpers}/flat-geojson-to-binary-types.ts +4 -0
- package/src/lib/{binary-features/extract-geometry-info.ts → geometry-api/geometry-info.ts} +20 -2
- package/src/lib/geometry-converters/convert-binary-geometry-to-geojson.ts +148 -0
- package/src/lib/geometry-converters/convert-geoarrow-to-geojson.ts +193 -0
- package/src/lib/geometry-converters/convert-to-geojson.ts +52 -0
- package/src/lib/geometry-converters/wkb/convert-geometry-to-twkb.ts +308 -0
- package/src/lib/geometry-converters/wkb/convert-geometry-to-wkb.ts +365 -0
- package/src/lib/geometry-converters/wkb/convert-geometry-to-wkt.ts +54 -0
- package/src/lib/geometry-converters/wkb/convert-twkb-to-geometry.ts +366 -0
- package/src/lib/geometry-converters/wkb/convert-wkb-to-binary-geometry.ts +238 -0
- package/src/lib/geometry-converters/wkb/convert-wkb-to-geometry.ts +23 -0
- package/src/lib/geometry-converters/wkb/convert-wkt-to-geometry.ts +294 -0
- package/src/lib/geometry-converters/wkb/helpers/parse-wkb-header.ts +213 -0
- package/src/lib/geometry-converters/wkb/helpers/wkb-types.ts +82 -0
- package/src/lib/geometry-converters/wkb/helpers/wkb-utils.ts +85 -0
- package/src/lib/geometry-converters/wkb/helpers/write-wkb-header.ts +41 -0
- package/src/lib/table-converters/convert-geoarrow-table.ts +218 -0
- package/src/lib/{tables/convert-table-to-geojson.ts → table-converters/convert-wkb-table-to-geojson.ts} +10 -23
- package/src/lib/table-converters/make-arrow-batch-iterator.ts +53 -0
- package/src/lib/utils/base64-encoder.ts +157 -0
- package/src/lib/utils/binary-reader.ts +76 -0
- package/src/lib/utils/binary-writer.ts +136 -0
- package/src/lib/utils/concat-typed-arrays.ts +24 -0
- package/src/lib/utils/hex-encoder.ts +60 -0
- package/src/lib/utils/hex-transcoder.ts +54 -0
- package/src/lib/wkt-crs/encode-wkt-crs.ts +41 -0
- package/src/lib/wkt-crs/parse-wkt-crs.ts +149 -0
- package/dist/lib/binary-features/binary-to-geojson.d.ts +0 -18
- package/dist/lib/binary-features/binary-to-geojson.d.ts.map +0 -1
- package/dist/lib/binary-features/extract-geometry-info.d.ts +0 -8
- package/dist/lib/binary-features/extract-geometry-info.d.ts.map +0 -1
- package/dist/lib/binary-features/flat-geojson-to-binary-types.d.ts.map +0 -1
- package/dist/lib/binary-features/flat-geojson-to-binary-types.js +0 -1
- package/dist/lib/binary-features/flat-geojson-to-binary.d.ts.map +0 -1
- package/dist/lib/binary-features/geojson-to-binary.d.ts.map +0 -1
- package/dist/lib/binary-features/geojson-to-binary.js +0 -21
- package/dist/lib/binary-features/geojson-to-flat-geojson.d.ts.map +0 -1
- package/dist/lib/binary-features/transform.d.ts.map +0 -1
- package/dist/lib/geo/geoarrow-metadata.d.ts +0 -27
- package/dist/lib/geo/geoarrow-metadata.d.ts.map +0 -1
- package/dist/lib/geo/geoarrow-metadata.js +0 -70
- package/dist/lib/geo/geoparquet-metadata-schema.d.ts +0 -79
- package/dist/lib/geo/geoparquet-metadata-schema.d.ts.map +0 -1
- package/dist/lib/geo/geoparquet-metadata-schema.js +0 -69
- package/dist/lib/geo/geoparquet-metadata.d.ts +0 -45
- package/dist/lib/geo/geoparquet-metadata.d.ts.map +0 -1
- package/dist/lib/geo/geoparquet-metadata.js +0 -117
- package/dist/lib/tables/convert-table-to-geojson.d.ts +0 -5
- package/dist/lib/tables/convert-table-to-geojson.d.ts.map +0 -1
- package/src/lib/geo/geoarrow-metadata.ts +0 -100
- package/src/lib/geo/geoparquet-metadata-schema.json +0 -60
- package/src/lib/geo/geoparquet-metadata-schema.ts +0 -71
- package/src/lib/geo/geoparquet-metadata.ts +0 -191
- /package/dist/lib/{binary-features → feature-collection-converters/helpers}/flat-geojson-to-binary-types.d.ts +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,32 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export
|
|
6
|
-
export {
|
|
7
|
-
export { convertWKBTableToGeoJSON } from "./lib/
|
|
8
|
-
export { flatGeojsonToBinary } from "./lib/
|
|
9
|
-
export { geojsonToBinary } from "./lib/
|
|
10
|
-
export { geojsonToFlatGeojson } from "./lib/
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
1
|
+
export type { GeojsonGeometryInfo } from "./lib/geometry-api/geometry-info.js";
|
|
2
|
+
export { getGeometryInfo } from "./lib/geometry-api/geometry-info.js";
|
|
3
|
+
export type { BinaryGeometryInfo } from "./lib/binary-geometry-api/binary-geometry-info.js";
|
|
4
|
+
export { getBinaryGeometryInfo } from "./lib/binary-geometry-api/binary-geometry-info.js";
|
|
5
|
+
export { transformBinaryCoords, transformGeoJsonCoords } from "./lib/binary-geometry-api/transform-coordinates.js";
|
|
6
|
+
export { convertGeoArrowToTable } from "./lib/table-converters/convert-geoarrow-table.js";
|
|
7
|
+
export { convertWKBTableToGeoJSON } from "./lib/table-converters/convert-wkb-table-to-geojson.js";
|
|
8
|
+
export { convertFlatGeojsonToBinaryFeatureCollection, convertFlatGeojsonToBinaryFeatureCollection as flatGeojsonToBinary } from "./lib/feature-collection-converters/convert-flat-geojson-to-binary-features.js";
|
|
9
|
+
export { convertGeojsonToBinaryFeatureCollection, convertGeojsonToBinaryFeatureCollection as geojsonToBinary } from "./lib/feature-collection-converters/convert-geojson-to-binary-features.js";
|
|
10
|
+
export { convertGeojsonToFlatGeojson, convertGeojsonToFlatGeojson as geojsonToFlatGeojson } from "./lib/feature-collection-converters/convert-geojson-to-flat-geojson.js";
|
|
11
|
+
export { convertBinaryFeatureCollectionToGeojson, convertBinaryFeatureCollectionToGeojson as binaryToGeojson } from "./lib/feature-collection-converters/convert-binary-features-to-geojson.js";
|
|
12
|
+
export { isWKB, isTWKB, isWKT } from "./lib/geometry-converters/wkb/helpers/parse-wkb-header.js";
|
|
13
|
+
export type { WKBHeader } from "./lib/geometry-converters/wkb/helpers/wkb-types.js";
|
|
14
|
+
export { WKT_MAGIC_STRINGS } from "./lib/geometry-converters/wkb/helpers/wkb-types.js";
|
|
15
|
+
export { convertBinaryGeometryToGeometry } from "./lib/geometry-converters/convert-binary-geometry-to-geojson.js";
|
|
16
|
+
export { convertWKTToGeometry } from "./lib/geometry-converters/wkb/convert-wkt-to-geometry.js";
|
|
17
|
+
export { convertWKBToGeometry } from "./lib/geometry-converters/wkb/convert-wkb-to-geometry.js";
|
|
18
|
+
export { convertWKBToBinaryGeometry } from "./lib/geometry-converters/wkb/convert-wkb-to-binary-geometry.js";
|
|
19
|
+
export { convertTWKBToGeometry } from "./lib/geometry-converters/wkb/convert-twkb-to-geometry.js";
|
|
20
|
+
export { convertGeometryToWKT } from "./lib/geometry-converters/wkb/convert-geometry-to-wkt.js";
|
|
21
|
+
export { convertGeometryToWKB } from "./lib/geometry-converters/wkb/convert-geometry-to-wkb.js";
|
|
22
|
+
export { convertGeometryToTWKB } from "./lib/geometry-converters/wkb/convert-geometry-to-twkb.js";
|
|
23
|
+
export type { WKTCRS, ParseWKTCRSOptions } from "./lib//wkt-crs/parse-wkt-crs.js";
|
|
24
|
+
export { parseWKTCRS } from "./lib//wkt-crs/parse-wkt-crs.js";
|
|
25
|
+
export type { EncodeWKTCRSOptions } from "./lib//wkt-crs/encode-wkt-crs.js";
|
|
26
|
+
export { encodeWKTCRS } from "./lib//wkt-crs/encode-wkt-crs.js";
|
|
27
|
+
export type { BinaryDataFromGeoArrow, BinaryGeometriesFromArrowOptions } from "./lib/feature-collection-converters/convert-geoarrow-to-binary-features.js";
|
|
28
|
+
export { convertGeoArrowToBinaryFeatureCollection, convertGeoArrowToBinaryFeatureCollection as getBinaryGeometriesFromArrow, getBinaryGeometryTemplate, getTriangleIndices, getMeanCentersFromBinaryGeometries } from "./lib/feature-collection-converters/convert-geoarrow-to-binary-features.js";
|
|
29
|
+
export { convertGeoArrowGeometryToGeoJSON } from "./lib/geometry-converters/convert-geoarrow-to-geojson.js";
|
|
30
|
+
export { encodeHex, decodeHex } from "./lib/utils/hex-transcoder.js";
|
|
31
|
+
export { extractNumericPropTypes as _extractNumericPropTypes } from "./lib/feature-collection-converters/convert-flat-geojson-to-binary-features.js";
|
|
13
32
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,YAAY,EAAC,mBAAmB,EAAC,4CAAyC;AAC1E,OAAO,EAAC,eAAe,EAAC,4CAAyC;AAGjE,YAAY,EAAC,kBAAkB,EAAC,0DAAuD;AACvF,OAAO,EAAC,qBAAqB,EAAC,0DAAuD;AACrF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACvB,2DAAwD;AAGzD,OAAO,EAAC,sBAAsB,EAAC,yDAAsD;AACrF,OAAO,EAAC,wBAAwB,EAAC,+DAA4D;AAG7F,OAAO,EACL,2CAA2C,EAE3C,2CAA2C,IAAI,mBAAmB,EACnE,uFAAoF;AACrF,OAAO,EACL,uCAAuC,EAEvC,uCAAuC,IAAI,eAAe,EAC3D,kFAA+E;AAChF,OAAO,EACL,2BAA2B,EAE3B,2BAA2B,IAAI,oBAAoB,EACpD,+EAA4E;AAC7E,OAAO,EACL,uCAAuC,EACvC,uCAAuC,IAAI,eAAe,EAC3D,kFAA+E;AAGhF,OAAO,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC,kEAA+D;AAE5F,YAAY,EAAC,SAAS,EAAC,2DAAwD;AAC/E,OAAO,EAAC,iBAAiB,EAAC,2DAAwD;AAGlF,OAAO,EAAC,+BAA+B,EAAC,wEAAqE;AAE7G,OAAO,EAAC,oBAAoB,EAAC,iEAA8D;AAC3F,OAAO,EAAC,oBAAoB,EAAC,iEAA8D;AAC3F,OAAO,EAAC,0BAA0B,EAAC,wEAAqE;AACxG,OAAO,EAAC,qBAAqB,EAAC,kEAA+D;AAE7F,OAAO,EAAC,oBAAoB,EAAC,iEAA8D;AAC3F,OAAO,EAAC,oBAAoB,EAAC,iEAA8D;AAC3F,OAAO,EAAC,qBAAqB,EAAC,kEAA+D;AAG7F,YAAY,EAAC,MAAM,EAAE,kBAAkB,EAAC,wCAAqC;AAC7E,OAAO,EAAC,WAAW,EAAC,wCAAqC;AACzD,YAAY,EAAC,mBAAmB,EAAC,yCAAsC;AACvE,OAAO,EAAC,YAAY,EAAC,yCAAsC;AAG3D,YAAY,EACV,sBAAsB,EACtB,gCAAgC,EACjC,mFAAgF;AACjF,OAAO,EACL,wCAAwC,EAExC,wCAAwC,IAAI,4BAA4B,EACxE,yBAAyB,EACzB,kBAAkB,EAClB,kCAAkC,EACnC,mFAAgF;AAEjF,OAAO,EAAC,gCAAgC,EAAC,iEAA8D;AAIvG,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,sCAAmC;AAChE,OAAO,EAAC,uBAAuB,IAAI,wBAAwB,EAAC,uFAAoF"}
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,40 @@
|
|
|
1
1
|
// Types from `@loaders.gl/schema`
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export {
|
|
16
|
-
|
|
2
|
+
export { getGeometryInfo } from "./lib/geometry-api/geometry-info.js";
|
|
3
|
+
export { getBinaryGeometryInfo } from "./lib/binary-geometry-api/binary-geometry-info.js";
|
|
4
|
+
export { transformBinaryCoords, transformGeoJsonCoords } from "./lib/binary-geometry-api/transform-coordinates.js";
|
|
5
|
+
// TABLE CONVERSION
|
|
6
|
+
export { convertGeoArrowToTable } from "./lib/table-converters/convert-geoarrow-table.js";
|
|
7
|
+
export { convertWKBTableToGeoJSON } from "./lib/table-converters/convert-wkb-table-to-geojson.js";
|
|
8
|
+
// FEATURE COLLECTION CONVERSION
|
|
9
|
+
export { convertFlatGeojsonToBinaryFeatureCollection,
|
|
10
|
+
// deprecated
|
|
11
|
+
convertFlatGeojsonToBinaryFeatureCollection as flatGeojsonToBinary } from "./lib/feature-collection-converters/convert-flat-geojson-to-binary-features.js";
|
|
12
|
+
export { convertGeojsonToBinaryFeatureCollection,
|
|
13
|
+
// deprecated
|
|
14
|
+
convertGeojsonToBinaryFeatureCollection as geojsonToBinary } from "./lib/feature-collection-converters/convert-geojson-to-binary-features.js";
|
|
15
|
+
export { convertGeojsonToFlatGeojson,
|
|
16
|
+
// deprecated
|
|
17
|
+
convertGeojsonToFlatGeojson as geojsonToFlatGeojson } from "./lib/feature-collection-converters/convert-geojson-to-flat-geojson.js";
|
|
18
|
+
export { convertBinaryFeatureCollectionToGeojson, convertBinaryFeatureCollectionToGeojson as binaryToGeojson } from "./lib/feature-collection-converters/convert-binary-features-to-geojson.js";
|
|
19
|
+
// GEOMETRY ENCODING DETECTION
|
|
20
|
+
export { isWKB, isTWKB, isWKT } from "./lib/geometry-converters/wkb/helpers/parse-wkb-header.js";
|
|
21
|
+
export { WKT_MAGIC_STRINGS } from "./lib/geometry-converters/wkb/helpers/wkb-types.js";
|
|
22
|
+
// GEOMETRY CONVERSION
|
|
23
|
+
export { convertBinaryGeometryToGeometry } from "./lib/geometry-converters/convert-binary-geometry-to-geojson.js";
|
|
24
|
+
export { convertWKTToGeometry } from "./lib/geometry-converters/wkb/convert-wkt-to-geometry.js";
|
|
25
|
+
export { convertWKBToGeometry } from "./lib/geometry-converters/wkb/convert-wkb-to-geometry.js";
|
|
26
|
+
export { convertWKBToBinaryGeometry } from "./lib/geometry-converters/wkb/convert-wkb-to-binary-geometry.js";
|
|
27
|
+
export { convertTWKBToGeometry } from "./lib/geometry-converters/wkb/convert-twkb-to-geometry.js";
|
|
28
|
+
export { convertGeometryToWKT } from "./lib/geometry-converters/wkb/convert-geometry-to-wkt.js";
|
|
29
|
+
export { convertGeometryToWKB } from "./lib/geometry-converters/wkb/convert-geometry-to-wkb.js";
|
|
30
|
+
export { convertGeometryToTWKB } from "./lib/geometry-converters/wkb/convert-geometry-to-twkb.js";
|
|
31
|
+
export { parseWKTCRS } from "./lib//wkt-crs/parse-wkt-crs.js";
|
|
32
|
+
export { encodeWKTCRS } from "./lib//wkt-crs/encode-wkt-crs.js";
|
|
33
|
+
export { convertGeoArrowToBinaryFeatureCollection,
|
|
34
|
+
// deprecated
|
|
35
|
+
convertGeoArrowToBinaryFeatureCollection as getBinaryGeometriesFromArrow, getBinaryGeometryTemplate, getTriangleIndices, getMeanCentersFromBinaryGeometries } from "./lib/feature-collection-converters/convert-geoarrow-to-binary-features.js";
|
|
36
|
+
export { convertGeoArrowGeometryToGeoJSON } from "./lib/geometry-converters/convert-geoarrow-to-geojson.js";
|
|
37
|
+
// EXPERIMENTAL APIs
|
|
38
|
+
export { encodeHex, decodeHex } from "./lib/utils/hex-transcoder.js";
|
|
39
|
+
export { extractNumericPropTypes as _extractNumericPropTypes } from "./lib/feature-collection-converters/convert-flat-geojson-to-binary-features.js";
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAiBlC,OAAO,EAAC,eAAe,EAAC,4CAAyC;AAIjE,OAAO,EAAC,qBAAqB,EAAC,0DAAuD;AACrF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACvB,2DAAwD;AAEzD,mBAAmB;AACnB,OAAO,EAAC,sBAAsB,EAAC,yDAAsD;AACrF,OAAO,EAAC,wBAAwB,EAAC,+DAA4D;AAE7F,gCAAgC;AAChC,OAAO,EACL,2CAA2C;AAC3C,aAAa;AACb,2CAA2C,IAAI,mBAAmB,EACnE,uFAAoF;AACrF,OAAO,EACL,uCAAuC;AACvC,aAAa;AACb,uCAAuC,IAAI,eAAe,EAC3D,kFAA+E;AAChF,OAAO,EACL,2BAA2B;AAC3B,aAAa;AACb,2BAA2B,IAAI,oBAAoB,EACpD,+EAA4E;AAC7E,OAAO,EACL,uCAAuC,EACvC,uCAAuC,IAAI,eAAe,EAC3D,kFAA+E;AAEhF,8BAA8B;AAC9B,OAAO,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC,kEAA+D;AAG5F,OAAO,EAAC,iBAAiB,EAAC,2DAAwD;AAElF,sBAAsB;AACtB,OAAO,EAAC,+BAA+B,EAAC,wEAAqE;AAE7G,OAAO,EAAC,oBAAoB,EAAC,iEAA8D;AAC3F,OAAO,EAAC,oBAAoB,EAAC,iEAA8D;AAC3F,OAAO,EAAC,0BAA0B,EAAC,wEAAqE;AACxG,OAAO,EAAC,qBAAqB,EAAC,kEAA+D;AAE7F,OAAO,EAAC,oBAAoB,EAAC,iEAA8D;AAC3F,OAAO,EAAC,oBAAoB,EAAC,iEAA8D;AAC3F,OAAO,EAAC,qBAAqB,EAAC,kEAA+D;AAI7F,OAAO,EAAC,WAAW,EAAC,wCAAqC;AAEzD,OAAO,EAAC,YAAY,EAAC,yCAAsC;AAO3D,OAAO,EACL,wCAAwC;AACxC,aAAa;AACb,wCAAwC,IAAI,4BAA4B,EACxE,yBAAyB,EACzB,kBAAkB,EAClB,kCAAkC,EACnC,mFAAgF;AAEjF,OAAO,EAAC,gCAAgC,EAAC,iEAA8D;AAEvG,oBAAoB;AAEpB,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,sCAAmC;AAChE,OAAO,EAAC,uBAAuB,IAAI,wBAAwB,EAAC,uFAAoF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { BinaryGeometry } from '@loaders.gl/schema';
|
|
2
|
+
/**
|
|
3
|
+
* Information about a binary geometry
|
|
4
|
+
*/
|
|
5
|
+
export type BinaryGeometryInfo = {
|
|
6
|
+
/** The GeoJSON style geometry type corresponding to this particular binary geometry */
|
|
7
|
+
multiGeometryType: 'Point' | 'LineString' | 'Polygon' | 'MultiPoint' | 'MultiLineString' | 'MultiPolygon';
|
|
8
|
+
/** Is this a "Multi" version of the binary geometry? */
|
|
9
|
+
isMultiGeometry: boolean;
|
|
10
|
+
/** How many dimensions are the coordinates? */
|
|
11
|
+
dimension: number;
|
|
12
|
+
/** How many points does this geometry have? */
|
|
13
|
+
pointCount: number;
|
|
14
|
+
/** How many coordinates does this geometry have? */
|
|
15
|
+
coordinateCount: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @returns information about a binary geometry
|
|
19
|
+
*/
|
|
20
|
+
export declare function getBinaryGeometryInfo(geometry: BinaryGeometry): BinaryGeometryInfo;
|
|
21
|
+
//# sourceMappingURL=binary-geometry-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-geometry-info.d.ts","sourceRoot":"","sources":["../../../src/lib/binary-geometry-api/binary-geometry-info.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uFAAuF;IACvF,iBAAiB,EACb,OAAO,GACP,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,iBAAiB,GACjB,cAAc,CAAC;IACnB,wDAAwD;IACxD,eAAe,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,kBAAkB,CAQlF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
/**
|
|
5
|
+
* @returns information about a binary geometry
|
|
6
|
+
*/
|
|
7
|
+
export function getBinaryGeometryInfo(geometry) {
|
|
8
|
+
return {
|
|
9
|
+
isMultiGeometry: isMultiGeometryType(geometry),
|
|
10
|
+
multiGeometryType: getMultiGeometryType(geometry),
|
|
11
|
+
dimension: geometry.positions.size,
|
|
12
|
+
pointCount: geometry.positions.value.length / geometry.positions.size,
|
|
13
|
+
coordinateCount: geometry.positions.value.length
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/** @returns true if a binary geometry corresponds to a MultiPoint, MultiLineString or MultiPolygon */
|
|
17
|
+
function isMultiGeometryType(geometry) {
|
|
18
|
+
switch (geometry.type) {
|
|
19
|
+
case 'Point':
|
|
20
|
+
const { positions } = geometry;
|
|
21
|
+
return positions.value.length / positions.size > 1;
|
|
22
|
+
case 'LineString':
|
|
23
|
+
const { pathIndices } = geometry;
|
|
24
|
+
return pathIndices.value.length > 1;
|
|
25
|
+
case 'Polygon':
|
|
26
|
+
const { polygonIndices } = geometry;
|
|
27
|
+
return polygonIndices.value.length > 1;
|
|
28
|
+
default:
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @returns geometry type of binary geometry, including MultiPoint, MultiLineString or MultiPolygon
|
|
34
|
+
*/
|
|
35
|
+
function getMultiGeometryType(geometry) {
|
|
36
|
+
const isMulti = isMultiGeometryType(geometry);
|
|
37
|
+
switch (geometry.type) {
|
|
38
|
+
case 'Point':
|
|
39
|
+
return isMulti ? 'MultiPoint' : 'Point';
|
|
40
|
+
case 'LineString':
|
|
41
|
+
return isMulti ? 'MultiLineString' : 'LineString';
|
|
42
|
+
case 'Polygon':
|
|
43
|
+
return isMulti ? 'MultiPolygon' : 'Polygon';
|
|
44
|
+
default:
|
|
45
|
+
// @ts-expect-error
|
|
46
|
+
throw new Error(`Illegal geometry type: ${type}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=binary-geometry-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-geometry-info.js","sourceRoot":"","sources":["../../../src/lib/binary-geometry-api/binary-geometry-info.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AA0BpC;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAwB;IAC5D,OAAO;QACL,eAAe,EAAE,mBAAmB,CAAC,QAAQ,CAAC;QAC9C,iBAAiB,EAAE,oBAAoB,CAAC,QAAQ,CAAC;QACjD,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI;QAClC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI;QACrE,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM;KACjD,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,SAAS,mBAAmB,CAAC,QAAwB;IACnD,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,MAAM,EAAC,SAAS,EAAC,GAAG,QAAQ,CAAC;YAC7B,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;QACrD,KAAK,YAAY;YACf,MAAM,EAAC,WAAW,EAAC,GAAG,QAAQ,CAAC;YAC/B,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,KAAK,SAAS;YACZ,MAAM,EAAC,cAAc,EAAC,GAAG,QAAQ,CAAC;YAClC,OAAO,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACzC;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,QAAwB;IACpD,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC9C,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1C,KAAK,YAAY;YACf,OAAO,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC;QACpD,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9C;YACE,mBAAmB;YACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BinaryPointGeometry, BinaryLineGeometry, BinaryPolygonGeometry } from '@loaders.gl/schema';
|
|
2
|
+
export declare function concatenateBinaryPointGeometries(binaryPointGeometries: BinaryPointGeometry[], dimension: number): BinaryPointGeometry;
|
|
3
|
+
export declare function concatenateBinaryLineGeometries(binaryLineGeometries: BinaryLineGeometry[], dimension: number): BinaryLineGeometry;
|
|
4
|
+
export declare function concatenateBinaryPolygonGeometries(binaryPolygonGeometries: BinaryPolygonGeometry[], dimension: number): BinaryPolygonGeometry;
|
|
5
|
+
//# sourceMappingURL=concat-binary-geometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-binary-geometry.d.ts","sourceRoot":"","sources":["../../../src/lib/binary-geometry-api/concat-binary-geometry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAG5B,wBAAgB,gCAAgC,CAC9C,qBAAqB,EAAE,mBAAmB,EAAE,EAC5C,SAAS,EAAE,MAAM,GAChB,mBAAmB,CAQrB;AAED,wBAAgB,+BAA+B,CAC7C,oBAAoB,EAAE,kBAAkB,EAAE,EAC1C,SAAS,EAAE,MAAM,GAChB,kBAAkB,CAWpB;AAED,wBAAgB,kCAAkC,CAChD,uBAAuB,EAAE,qBAAqB,EAAE,EAChD,SAAS,EAAE,MAAM,GAChB,qBAAqB,CA8BvB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { concatTypedArrays } from "../utils/concat-typed-arrays.js";
|
|
5
|
+
export function concatenateBinaryPointGeometries(binaryPointGeometries, dimension) {
|
|
6
|
+
const positions = binaryPointGeometries.map((geometry) => geometry.positions.value);
|
|
7
|
+
const concatenatedPositions = new Float64Array(concatTypedArrays(positions).buffer);
|
|
8
|
+
return {
|
|
9
|
+
type: 'Point',
|
|
10
|
+
positions: { value: concatenatedPositions, size: dimension }
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export function concatenateBinaryLineGeometries(binaryLineGeometries, dimension) {
|
|
14
|
+
const lines = binaryLineGeometries.map((geometry) => geometry.positions.value);
|
|
15
|
+
const concatenatedPositions = new Float64Array(concatTypedArrays(lines).buffer);
|
|
16
|
+
const pathIndices = lines.map((line) => line.length / dimension).map(cumulativeSum(0));
|
|
17
|
+
pathIndices.unshift(0);
|
|
18
|
+
return {
|
|
19
|
+
type: 'LineString',
|
|
20
|
+
positions: { value: concatenatedPositions, size: dimension },
|
|
21
|
+
pathIndices: { value: new Uint32Array(pathIndices), size: 1 }
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function concatenateBinaryPolygonGeometries(binaryPolygonGeometries, dimension) {
|
|
25
|
+
const polygons = [];
|
|
26
|
+
const primitivePolygons = [];
|
|
27
|
+
for (const binaryPolygon of binaryPolygonGeometries) {
|
|
28
|
+
const { positions, primitivePolygonIndices } = binaryPolygon;
|
|
29
|
+
polygons.push(positions.value);
|
|
30
|
+
primitivePolygons.push(primitivePolygonIndices.value);
|
|
31
|
+
}
|
|
32
|
+
const concatenatedPositions = new Float64Array(concatTypedArrays(polygons).buffer);
|
|
33
|
+
const polygonIndices = polygons.map((p) => p.length / dimension).map(cumulativeSum(0));
|
|
34
|
+
polygonIndices.unshift(0);
|
|
35
|
+
// Combine primitivePolygonIndices from each individual polygon
|
|
36
|
+
const primitivePolygonIndices = [0];
|
|
37
|
+
for (const primitivePolygon of primitivePolygons) {
|
|
38
|
+
primitivePolygonIndices.push(...primitivePolygon
|
|
39
|
+
.filter((x) => x > 0)
|
|
40
|
+
.map((x) => x + primitivePolygonIndices[primitivePolygonIndices.length - 1]));
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
type: 'Polygon',
|
|
44
|
+
positions: { value: concatenatedPositions, size: dimension },
|
|
45
|
+
polygonIndices: { value: new Uint32Array(polygonIndices), size: 1 },
|
|
46
|
+
primitivePolygonIndices: { value: new Uint32Array(primitivePolygonIndices), size: 1 }
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
// https://stackoverflow.com/a/55261098
|
|
50
|
+
const cumulativeSum = (sum) => (value) => (sum += value);
|
|
51
|
+
//# sourceMappingURL=concat-binary-geometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-binary-geometry.js","sourceRoot":"","sources":["../../../src/lib/binary-geometry-api/concat-binary-geometry.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/{binary-features/transform.d.ts → binary-geometry-api/transform-coordinates.d.ts}
RENAMED
|
@@ -9,11 +9,10 @@ type TransformCoordinate = (coord: number[]) => number[];
|
|
|
9
9
|
export declare function transformBinaryCoords(binaryFeatures: BinaryFeatureCollection, transformCoordinate: TransformCoordinate): BinaryFeatureCollection;
|
|
10
10
|
/**
|
|
11
11
|
* Apply transformation to every coordinate of GeoJSON features
|
|
12
|
-
*
|
|
13
12
|
* @param features Array of GeoJSON features
|
|
14
13
|
* @param fn Function to call on each coordinate
|
|
15
14
|
* @return Transformed GeoJSON features
|
|
16
15
|
*/
|
|
17
16
|
export declare function transformGeoJsonCoords(features: Feature[], fn: (coord: number[]) => number[]): Feature[];
|
|
18
17
|
export {};
|
|
19
|
-
//# sourceMappingURL=transform.d.ts.map
|
|
18
|
+
//# sourceMappingURL=transform-coordinates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-coordinates.d.ts","sourceRoot":"","sources":["../../../src/lib/binary-geometry-api/transform-coordinates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,uBAAuB,EAAkB,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAEzF,KAAK,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,uBAAuB,EACvC,mBAAmB,EAAE,mBAAmB,GACvC,uBAAuB,CAWzB;AAcD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EAAE,EACnB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,GAChC,OAAO,EAAE,CAMX"}
|
package/dist/lib/{binary-features/transform.js → binary-geometry-api/transform-coordinates.js}
RENAMED
|
@@ -29,7 +29,6 @@ function transformBinaryGeometryPositions(binaryGeometry, fn) {
|
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* Apply transformation to every coordinate of GeoJSON features
|
|
32
|
-
*
|
|
33
32
|
* @param features Array of GeoJSON features
|
|
34
33
|
* @param fn Function to call on each coordinate
|
|
35
34
|
* @return Transformed GeoJSON features
|
|
@@ -52,3 +51,4 @@ function coordMap(array, fn) {
|
|
|
52
51
|
function isCoord(array) {
|
|
53
52
|
return Array.isArray(array) && Number.isFinite(array[0]) && Number.isFinite(array[1]);
|
|
54
53
|
}
|
|
54
|
+
//# sourceMappingURL=transform-coordinates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-coordinates.js","sourceRoot":"","sources":["../../../src/lib/binary-geometry-api/transform-coordinates.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,cAAuC,EACvC,mBAAwC;IAExC,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1B,gCAAgC,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACzB,gCAAgC,CAAC,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC5B,gCAAgC,CAAC,cAAc,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,oCAAoC;AACpC,SAAS,gCAAgC,CAAC,cAA8B,EAAE,EAAuB;IAC/F,MAAM,EAAC,SAAS,EAAC,GAAG,cAAc,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QAChE,iDAAiD;QACjD,MAAM,KAAK,GAAkB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,MAAM,gBAAgB,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACnC,iEAAiE;QACjE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAmB,EACnB,EAAiC;IAEjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,aAAa;QACb,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,EAAiC;IACjE,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC,KAAiB,CAAC,CAAC;IAC/B,CAAC;IAED,OAAQ,KAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BinaryGeometryType, BinaryFeatureCollection, Feature } from '@loaders.gl/schema';
|
|
2
|
+
type BinaryToGeoJsonOptions = {
|
|
3
|
+
type?: BinaryGeometryType;
|
|
4
|
+
globalFeatureId?: number;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Convert binary geometry representation to GeoJSON
|
|
8
|
+
* @param data geometry data in binary representation
|
|
9
|
+
* @param options
|
|
10
|
+
* @param options.type Input data type: Point, LineString, or Polygon
|
|
11
|
+
* @param options.featureId Global feature id. If specified, only a single feature is extracted
|
|
12
|
+
* @return GeoJSON objects
|
|
13
|
+
*/
|
|
14
|
+
export declare function convertBinaryFeatureCollectionToGeojson(data: BinaryFeatureCollection, options?: BinaryToGeoJsonOptions): Feature[] | Feature;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=convert-binary-features-to-geojson.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-binary-features-to-geojson.d.ts","sourceRoot":"","sources":["../../../src/lib/feature-collection-converters/convert-binary-features-to-geojson.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EAKvB,OAAO,EAER,MAAM,oBAAoB,CAAC;AAM5B,KAAK,sBAAsB,GAAG;IAC5B,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,uCAAuC,CACrD,IAAI,EAAE,uBAAuB,EAC7B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,EAAE,GAAG,OAAO,CAMrB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { convertBinaryGeometryToGeometry } from "../geometry-converters/convert-binary-geometry-to-geojson.js";
|
|
4
5
|
/**
|
|
5
6
|
* Convert binary geometry representation to GeoJSON
|
|
6
7
|
* @param data geometry data in binary representation
|
|
@@ -9,7 +10,7 @@
|
|
|
9
10
|
* @param options.featureId Global feature id. If specified, only a single feature is extracted
|
|
10
11
|
* @return GeoJSON objects
|
|
11
12
|
*/
|
|
12
|
-
export function
|
|
13
|
+
export function convertBinaryFeatureCollectionToGeojson(data, options) {
|
|
13
14
|
const globalFeatureId = options?.globalFeatureId;
|
|
14
15
|
if (globalFeatureId !== undefined) {
|
|
15
16
|
return getSingleFeature(data, globalFeatureId);
|
|
@@ -49,20 +50,6 @@ function parseFeatures(data, type) {
|
|
|
49
50
|
const dataArray = normalizeInput(data, type);
|
|
50
51
|
return parseFeatureCollection(dataArray);
|
|
51
52
|
}
|
|
52
|
-
/** Parse input binary data and return a valid GeoJSON geometry object */
|
|
53
|
-
export function binaryToGeometry(data, startIndex, endIndex) {
|
|
54
|
-
switch (data.type) {
|
|
55
|
-
case 'Point':
|
|
56
|
-
return pointToGeoJson(data, startIndex, endIndex);
|
|
57
|
-
case 'LineString':
|
|
58
|
-
return lineStringToGeoJson(data, startIndex, endIndex);
|
|
59
|
-
case 'Polygon':
|
|
60
|
-
return polygonToGeoJson(data, startIndex, endIndex);
|
|
61
|
-
default:
|
|
62
|
-
const unexpectedInput = data;
|
|
63
|
-
throw new Error(`Unsupported geometry type: ${unexpectedInput?.type}`);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
53
|
// Normalize features
|
|
67
54
|
// Return an array of data objects, each of which have a type key
|
|
68
55
|
function normalizeInput(data, type) {
|
|
@@ -109,7 +96,7 @@ function parseFeatureCollection(dataArray) {
|
|
|
109
96
|
}
|
|
110
97
|
/** Parse input binary data and return a single GeoJSON Feature */
|
|
111
98
|
function parseFeature(data, startIndex, endIndex) {
|
|
112
|
-
const geometry =
|
|
99
|
+
const geometry = convertBinaryGeometryToGeometry(data, startIndex, endIndex);
|
|
113
100
|
const properties = parseProperties(data, startIndex, endIndex);
|
|
114
101
|
const fields = parseFields(data, startIndex, endIndex);
|
|
115
102
|
return { type: 'Feature', geometry, properties, ...fields };
|
|
@@ -126,77 +113,4 @@ function parseProperties(data, startIndex = 0, endIndex) {
|
|
|
126
113
|
}
|
|
127
114
|
return properties;
|
|
128
115
|
}
|
|
129
|
-
|
|
130
|
-
function polygonToGeoJson(data, startIndex = -Infinity, endIndex = Infinity) {
|
|
131
|
-
const { positions } = data;
|
|
132
|
-
const polygonIndices = data.polygonIndices.value.filter((x) => x >= startIndex && x <= endIndex);
|
|
133
|
-
const primitivePolygonIndices = data.primitivePolygonIndices.value.filter((x) => x >= startIndex && x <= endIndex);
|
|
134
|
-
const multi = polygonIndices.length > 2;
|
|
135
|
-
// Polygon
|
|
136
|
-
if (!multi) {
|
|
137
|
-
const coordinates = [];
|
|
138
|
-
for (let i = 0; i < primitivePolygonIndices.length - 1; i++) {
|
|
139
|
-
const startRingIndex = primitivePolygonIndices[i];
|
|
140
|
-
const endRingIndex = primitivePolygonIndices[i + 1];
|
|
141
|
-
const ringCoordinates = ringToGeoJson(positions, startRingIndex, endRingIndex);
|
|
142
|
-
coordinates.push(ringCoordinates);
|
|
143
|
-
}
|
|
144
|
-
return { type: 'Polygon', coordinates };
|
|
145
|
-
}
|
|
146
|
-
// MultiPolygon
|
|
147
|
-
const coordinates = [];
|
|
148
|
-
for (let i = 0; i < polygonIndices.length - 1; i++) {
|
|
149
|
-
const startPolygonIndex = polygonIndices[i];
|
|
150
|
-
const endPolygonIndex = polygonIndices[i + 1];
|
|
151
|
-
const polygonCoordinates = polygonToGeoJson(data, startPolygonIndex, endPolygonIndex).coordinates;
|
|
152
|
-
coordinates.push(polygonCoordinates);
|
|
153
|
-
}
|
|
154
|
-
return { type: 'MultiPolygon', coordinates };
|
|
155
|
-
}
|
|
156
|
-
/** Parse binary data of type LineString */
|
|
157
|
-
function lineStringToGeoJson(data, startIndex = -Infinity, endIndex = Infinity) {
|
|
158
|
-
const { positions } = data;
|
|
159
|
-
const pathIndices = data.pathIndices.value.filter((x) => x >= startIndex && x <= endIndex);
|
|
160
|
-
const multi = pathIndices.length > 2;
|
|
161
|
-
if (!multi) {
|
|
162
|
-
const coordinates = ringToGeoJson(positions, pathIndices[0], pathIndices[1]);
|
|
163
|
-
return { type: 'LineString', coordinates };
|
|
164
|
-
}
|
|
165
|
-
const coordinates = [];
|
|
166
|
-
for (let i = 0; i < pathIndices.length - 1; i++) {
|
|
167
|
-
const ringCoordinates = ringToGeoJson(positions, pathIndices[i], pathIndices[i + 1]);
|
|
168
|
-
coordinates.push(ringCoordinates);
|
|
169
|
-
}
|
|
170
|
-
return { type: 'MultiLineString', coordinates };
|
|
171
|
-
}
|
|
172
|
-
/** Parse binary data of type Point */
|
|
173
|
-
function pointToGeoJson(data, startIndex, endIndex) {
|
|
174
|
-
const { positions } = data;
|
|
175
|
-
const coordinates = ringToGeoJson(positions, startIndex, endIndex);
|
|
176
|
-
const multi = coordinates.length > 1;
|
|
177
|
-
if (multi) {
|
|
178
|
-
return { type: 'MultiPoint', coordinates };
|
|
179
|
-
}
|
|
180
|
-
return { type: 'Point', coordinates: coordinates[0] };
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Parse a linear ring of positions to a GeoJSON linear ring
|
|
184
|
-
*
|
|
185
|
-
* @param positions Positions TypedArray
|
|
186
|
-
* @param startIndex Start index to include in ring
|
|
187
|
-
* @param endIndex End index to include in ring
|
|
188
|
-
* @returns GeoJSON ring
|
|
189
|
-
*/
|
|
190
|
-
function ringToGeoJson(positions, startIndex, endIndex) {
|
|
191
|
-
startIndex = startIndex || 0;
|
|
192
|
-
endIndex = endIndex || positions.value.length / positions.size;
|
|
193
|
-
const ringCoordinates = [];
|
|
194
|
-
for (let j = startIndex; j < endIndex; j++) {
|
|
195
|
-
const coord = Array();
|
|
196
|
-
for (let k = j * positions.size; k < (j + 1) * positions.size; k++) {
|
|
197
|
-
coord.push(Number(positions.value[k]));
|
|
198
|
-
}
|
|
199
|
-
ringCoordinates.push(coord);
|
|
200
|
-
}
|
|
201
|
-
return ringCoordinates;
|
|
202
|
-
}
|
|
116
|
+
//# sourceMappingURL=convert-binary-features-to-geojson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-binary-features-to-geojson.js","sourceRoot":"","sources":["../../../src/lib/feature-collection-converters/convert-binary-features-to-geojson.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { BinaryFeatureCollection, FlatFeature
|
|
2
|
-
import {
|
|
1
|
+
import type { BinaryFeatureCollection, FlatFeature } from '@loaders.gl/schema';
|
|
2
|
+
import { GeojsonGeometryInfo } from "../geometry-api/geometry-info.js";
|
|
3
|
+
import { PropArrayConstructor } from "./helpers/flat-geojson-to-binary-types.js";
|
|
3
4
|
/**
|
|
4
5
|
* Convert binary features to flat binary arrays. Similar to
|
|
5
6
|
* `geojsonToBinary` helper function, except that it expects
|
|
@@ -13,7 +14,7 @@ import { PropArrayConstructor } from "./flat-geojson-to-binary-types.js";
|
|
|
13
14
|
* @param options
|
|
14
15
|
* @returns filled arrays
|
|
15
16
|
*/
|
|
16
|
-
export declare function
|
|
17
|
+
export declare function convertFlatGeojsonToBinaryFeatureCollection(features: FlatFeature[], geometryInfo: GeojsonGeometryInfo, options?: FlatGeojsonToBinaryOptions): BinaryFeatureCollection;
|
|
17
18
|
/**
|
|
18
19
|
* Options for `flatGeojsonToBinary`
|
|
19
20
|
*/
|
|
@@ -22,17 +23,13 @@ export type FlatGeojsonToBinaryOptions = {
|
|
|
22
23
|
PositionDataType?: Float32ArrayConstructor | Float64ArrayConstructor;
|
|
23
24
|
triangulate?: boolean;
|
|
24
25
|
};
|
|
25
|
-
export declare const TEST_EXPORTS: {
|
|
26
|
-
extractNumericPropTypes: typeof extractNumericPropTypes;
|
|
27
|
-
};
|
|
28
26
|
/**
|
|
29
27
|
* Extracts properties that are always numeric
|
|
30
28
|
*
|
|
31
29
|
* @param features
|
|
32
30
|
* @returns object with numeric types
|
|
33
31
|
*/
|
|
34
|
-
declare function extractNumericPropTypes(features: FlatFeature[]): {
|
|
32
|
+
export declare function extractNumericPropTypes(features: FlatFeature[]): {
|
|
35
33
|
[key: string]: PropArrayConstructor;
|
|
36
34
|
};
|
|
37
|
-
|
|
38
|
-
//# sourceMappingURL=flat-geojson-to-binary.d.ts.map
|
|
35
|
+
//# sourceMappingURL=convert-flat-geojson-to-binary-features.d.ts.map
|
package/dist/lib/feature-collection-converters/convert-flat-geojson-to-binary-features.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-flat-geojson-to-binary-features.d.ts","sourceRoot":"","sources":["../../../src/lib/feature-collection-converters/convert-flat-geojson-to-binary-features.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,uBAAuB,EAEvB,WAAW,EAKZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,mBAAmB,EAAC,yCAAsC;AAClE,OAAO,EACL,oBAAoB,EAIrB,kDAA+C;AAEhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,2CAA2C,CACzD,QAAQ,EAAE,WAAW,EAAE,EACvB,YAAY,EAAE,mBAAmB,EACjC,OAAO,CAAC,EAAE,0BAA0B,GACnC,uBAAuB,CAezB;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,CAAC;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG;IAChE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAC;CACrC,CAgBA"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
/* eslint-disable indent */
|
|
2
5
|
import { earcut } from '@math.gl/polygon';
|
|
3
6
|
/**
|
|
@@ -13,7 +16,7 @@ import { earcut } from '@math.gl/polygon';
|
|
|
13
16
|
* @param options
|
|
14
17
|
* @returns filled arrays
|
|
15
18
|
*/
|
|
16
|
-
export function
|
|
19
|
+
export function convertFlatGeojsonToBinaryFeatureCollection(features, geometryInfo, options) {
|
|
17
20
|
const propArrayTypes = extractNumericPropTypes(features);
|
|
18
21
|
const numericPropKeys = Object.keys(propArrayTypes).filter((k) => propArrayTypes[k] !== Array);
|
|
19
22
|
return fillArrays(features, {
|
|
@@ -25,16 +28,13 @@ export function flatGeojsonToBinary(features, geometryInfo, options) {
|
|
|
25
28
|
triangulate: options ? options.triangulate : true
|
|
26
29
|
});
|
|
27
30
|
}
|
|
28
|
-
export const TEST_EXPORTS = {
|
|
29
|
-
extractNumericPropTypes
|
|
30
|
-
};
|
|
31
31
|
/**
|
|
32
32
|
* Extracts properties that are always numeric
|
|
33
33
|
*
|
|
34
34
|
* @param features
|
|
35
35
|
* @returns object with numeric types
|
|
36
36
|
*/
|
|
37
|
-
function extractNumericPropTypes(features) {
|
|
37
|
+
export function extractNumericPropTypes(features) {
|
|
38
38
|
const propArrayTypes = {};
|
|
39
39
|
for (const feature of features) {
|
|
40
40
|
if (feature.properties) {
|
|
@@ -379,3 +379,4 @@ function deduceArrayType(x, constructor) {
|
|
|
379
379
|
// If this or previous value required 64bits use Float64Array
|
|
380
380
|
return constructor === Float64Array || Math.fround(x) !== x ? Float64Array : Float32Array;
|
|
381
381
|
}
|
|
382
|
+
//# sourceMappingURL=convert-flat-geojson-to-binary-features.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-flat-geojson-to-binary-features.js","sourceRoot":"","sources":["../../../src/lib/feature-collection-converters/convert-flat-geojson-to-binary-features.ts"],"names":[],"mappings":"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"}
|