@loaders.gl/pointclouds 5.0.0-beta.1 → 5.0.0-beta.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/LAS-README.md +1 -1
- package/PCD-README.md +1 -1
- package/PLY-README.md +1 -1
- package/README.md +5 -1
- package/dist/dist.dev.js +3584 -2211
- package/dist/dist.min.js +20 -20
- package/dist/index.cjs +0 -6
- package/dist/index.cjs.map +2 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/las/bundled.cjs +0 -3
- package/dist/las/bundled.cjs.map +2 -2
- package/dist/las/bundled.d.ts +0 -1
- package/dist/las/bundled.d.ts.map +1 -1
- package/dist/las/bundled.js +0 -1
- package/dist/las/bundled.js.map +1 -1
- package/dist/las/index.cjs +0 -3
- package/dist/las/index.cjs.map +3 -3
- package/dist/las/index.d.ts +0 -2
- package/dist/las/index.d.ts.map +1 -1
- package/dist/las/index.js +0 -3
- package/dist/las/index.js.map +1 -1
- package/dist/las/las-copc-loader-types.cjs +1 -1
- package/dist/las/las-copc-loader-types.cjs.map +2 -2
- package/dist/las/las-copc-loader-types.d.ts +13 -9
- package/dist/las/las-copc-loader-types.d.ts.map +1 -1
- package/dist/las/las-copc-loader-types.js +1 -1
- package/dist/las/las-copc-loader-types.js.map +1 -1
- package/dist/las/las-copc-loader.cjs +8 -5
- package/dist/las/las-copc-loader.cjs.map +2 -2
- package/dist/las/las-copc-loader.d.ts +8 -6
- package/dist/las/las-copc-loader.d.ts.map +1 -1
- package/dist/las/las-copc-loader.js +11 -6
- package/dist/las/las-copc-loader.js.map +1 -1
- package/dist/las/las-loader-shared.cjs +4 -2
- package/dist/las/las-loader-shared.cjs.map +2 -2
- package/dist/las/las-loader-shared.d.ts +9 -7
- package/dist/las/las-loader-shared.d.ts.map +1 -1
- package/dist/las/las-loader-shared.js +4 -2
- package/dist/las/las-loader-shared.js.map +1 -1
- package/dist/las/las-loader-types.cjs +3 -6
- package/dist/las/las-loader-types.cjs.map +2 -2
- package/dist/las/las-loader-types.d.ts +18 -45
- package/dist/las/las-loader-types.d.ts.map +1 -1
- package/dist/las/las-loader-types.js +1 -3
- package/dist/las/las-loader-types.js.map +1 -1
- package/dist/las/las-loader.cjs +61 -13
- package/dist/las/las-loader.cjs.map +3 -3
- package/dist/las/las-loader.d.ts +51 -5
- package/dist/las/las-loader.d.ts.map +1 -1
- package/dist/las/las-loader.js +56 -6
- package/dist/las/las-loader.js.map +1 -1
- package/dist/las/las-writer.cjs +3 -3
- package/dist/las/las-writer.cjs.map +2 -2
- package/dist/las/las-writer.d.ts +4 -3
- package/dist/las/las-writer.d.ts.map +1 -1
- package/dist/las/las-writer.js +4 -6
- package/dist/las/las-writer.js.map +1 -1
- package/dist/las/laz-rs-loader-types.cjs +1 -1
- package/dist/las/laz-rs-loader-types.cjs.map +2 -2
- package/dist/las/laz-rs-loader-types.d.ts +13 -9
- package/dist/las/laz-rs-loader-types.d.ts.map +1 -1
- package/dist/las/laz-rs-loader-types.js +1 -1
- package/dist/las/laz-rs-loader-types.js.map +1 -1
- package/dist/las/laz-rs-loader.cjs +8 -5
- package/dist/las/laz-rs-loader.cjs.map +2 -2
- package/dist/las/laz-rs-loader.d.ts +8 -6
- package/dist/las/laz-rs-loader.d.ts.map +1 -1
- package/dist/las/laz-rs-loader.js +11 -6
- package/dist/las/laz-rs-loader.js.map +1 -1
- package/dist/las/lazperf-loader-types.cjs +1 -1
- package/dist/las/lazperf-loader-types.cjs.map +2 -2
- package/dist/las/lazperf-loader-types.d.ts +14 -10
- package/dist/las/lazperf-loader-types.d.ts.map +1 -1
- package/dist/las/lazperf-loader-types.js +1 -1
- package/dist/las/lazperf-loader-types.js.map +1 -1
- package/dist/las/lazperf-loader.cjs +9 -6
- package/dist/las/lazperf-loader.cjs.map +2 -2
- package/dist/las/lazperf-loader.d.ts +9 -7
- package/dist/las/lazperf-loader.d.ts.map +1 -1
- package/dist/las/lazperf-loader.js +12 -7
- package/dist/las/lazperf-loader.js.map +1 -1
- package/dist/las/lib/copc/parse-las.cjs +1 -1
- package/dist/las/lib/copc/parse-las.cjs.map +2 -2
- package/dist/las/lib/copc/parse-las.js +1 -1
- package/dist/las/lib/copc/parse-las.js.map +1 -1
- package/dist/las/lib/get-las-schema.cjs +5 -0
- package/dist/las/lib/get-las-schema.cjs.map +2 -2
- package/dist/las/lib/get-las-schema.d.ts.map +1 -1
- package/dist/las/lib/get-las-schema.js +6 -0
- package/dist/las/lib/get-las-schema.js.map +1 -1
- package/dist/las/lib/las-extra-bytes.cjs +6 -1
- package/dist/las/lib/las-extra-bytes.cjs.map +2 -2
- package/dist/las/lib/las-extra-bytes.d.ts.map +1 -1
- package/dist/las/lib/las-extra-bytes.js +6 -4
- package/dist/las/lib/las-extra-bytes.js.map +1 -1
- package/dist/las/lib/laz-perf/parse-las.cjs +9 -8
- package/dist/las/lib/laz-perf/parse-las.cjs.map +3 -3
- package/dist/las/lib/laz-perf/parse-las.js +9 -8
- package/dist/las/lib/laz-perf/parse-las.js.map +1 -1
- package/dist/las/lib/laz-rs-wasm/parse-las.cjs +9 -8
- package/dist/las/lib/laz-rs-wasm/parse-las.cjs.map +3 -3
- package/dist/las/lib/laz-rs-wasm/parse-las.js +9 -8
- package/dist/las/lib/laz-rs-wasm/parse-las.js.map +1 -1
- package/dist/las/lib/typescript/parse-las.cjs +135 -13
- package/dist/las/lib/typescript/parse-las.cjs.map +3 -3
- package/dist/las/lib/typescript/parse-las.d.ts.map +1 -1
- package/dist/las/lib/typescript/parse-las.js +106 -10
- package/dist/las/lib/typescript/parse-las.js.map +1 -1
- package/dist/las/unbundled.cjs +0 -2
- package/dist/las/unbundled.cjs.map +2 -2
- package/dist/las/unbundled.d.ts +1 -1
- package/dist/las/unbundled.d.ts.map +1 -1
- package/dist/las/unbundled.js +1 -1
- package/dist/las/unbundled.js.map +1 -1
- package/dist/las/workers/las-worker.cjs +5 -5
- package/dist/las/workers/las-worker.cjs.map +2 -2
- package/dist/las/workers/las-worker.js +6 -6
- package/dist/las/workers/las-worker.js.map +1 -1
- package/dist/las-copc-loader-types.cjs +51 -0
- package/dist/las-copc-loader-types.cjs.map +7 -0
- package/dist/las-copc-loader-types.d.ts +2 -0
- package/dist/las-copc-loader-types.d.ts.map +1 -0
- package/dist/las-copc-loader-types.js +2 -0
- package/dist/las-copc-loader-types.js.map +1 -0
- package/dist/las-copc-loader.cjs +62 -0
- package/dist/las-copc-loader.cjs.map +7 -0
- package/dist/las-copc-loader.d.ts +2 -0
- package/dist/las-copc-loader.d.ts.map +1 -0
- package/dist/las-copc-loader.js +2 -0
- package/dist/las-copc-loader.js.map +1 -0
- package/dist/las-loader-types.cjs +53 -0
- package/dist/las-loader-types.cjs.map +7 -0
- package/dist/las-loader-types.d.ts +2 -0
- package/dist/las-loader-types.d.ts.map +1 -0
- package/dist/las-loader-types.js +2 -0
- package/dist/las-loader-types.js.map +1 -0
- package/dist/las-loader.cjs +130 -0
- package/dist/las-loader.cjs.map +7 -0
- package/dist/las-loader.d.ts +2 -0
- package/dist/las-loader.d.ts.map +1 -0
- package/dist/las-loader.js +2 -0
- package/dist/las-loader.js.map +1 -0
- package/dist/las-worker.js +1219 -253
- package/dist/las-writer.cjs +1056 -0
- package/dist/las-writer.cjs.map +7 -0
- package/dist/las-writer.d.ts +2 -0
- package/dist/las-writer.d.ts.map +1 -0
- package/dist/las-writer.js +2 -0
- package/dist/las-writer.js.map +1 -0
- package/dist/laz-rs-loader-types.cjs +51 -0
- package/dist/laz-rs-loader-types.cjs.map +7 -0
- package/dist/laz-rs-loader-types.d.ts +2 -0
- package/dist/laz-rs-loader-types.d.ts.map +1 -0
- package/dist/laz-rs-loader-types.js +2 -0
- package/dist/laz-rs-loader-types.js.map +1 -0
- package/dist/laz-rs-loader.cjs +277 -0
- package/dist/laz-rs-loader.cjs.map +7 -0
- package/dist/laz-rs-loader.d.ts +2 -0
- package/dist/laz-rs-loader.d.ts.map +1 -0
- package/dist/laz-rs-loader.js +2 -0
- package/dist/laz-rs-loader.js.map +1 -0
- package/dist/lazperf-loader-types.cjs +51 -0
- package/dist/lazperf-loader-types.cjs.map +7 -0
- package/dist/lazperf-loader-types.d.ts +2 -0
- package/dist/lazperf-loader-types.d.ts.map +1 -0
- package/dist/lazperf-loader-types.js +2 -0
- package/dist/lazperf-loader-types.js.map +1 -0
- package/dist/lazperf-loader.cjs +65 -0
- package/dist/lazperf-loader.cjs.map +7 -0
- package/dist/lazperf-loader.d.ts +2 -0
- package/dist/lazperf-loader.d.ts.map +1 -0
- package/dist/lazperf-loader.js +2 -0
- package/dist/lazperf-loader.js.map +1 -0
- package/dist/pcd/bundled.cjs +2 -4
- package/dist/pcd/bundled.cjs.map +2 -2
- package/dist/pcd/bundled.d.ts +1 -1
- package/dist/pcd/bundled.d.ts.map +1 -1
- package/dist/pcd/bundled.js +1 -1
- package/dist/pcd/bundled.js.map +1 -1
- package/dist/pcd/index.cjs +0 -3
- package/dist/pcd/index.cjs.map +3 -3
- package/dist/pcd/index.d.ts +0 -2
- package/dist/pcd/index.d.ts.map +1 -1
- package/dist/pcd/index.js +0 -3
- package/dist/pcd/index.js.map +1 -1
- package/dist/pcd/pcd-loader-types.cjs +9 -10
- package/dist/pcd/pcd-loader-types.cjs.map +2 -2
- package/dist/pcd/pcd-loader-types.d.ts +18 -41
- package/dist/pcd/pcd-loader-types.d.ts.map +1 -1
- package/dist/pcd/pcd-loader-types.js +6 -6
- package/dist/pcd/pcd-loader-types.js.map +1 -1
- package/dist/pcd/pcd-loader.cjs +82 -25
- package/dist/pcd/pcd-loader.cjs.map +3 -3
- package/dist/pcd/pcd-loader.d.ts +42 -6
- package/dist/pcd/pcd-loader.d.ts.map +1 -1
- package/dist/pcd/pcd-loader.js +72 -21
- package/dist/pcd/pcd-loader.js.map +1 -1
- package/dist/pcd/pcd-writer.cjs +3 -3
- package/dist/pcd/pcd-writer.cjs.map +2 -2
- package/dist/pcd/pcd-writer.d.ts +5 -4
- package/dist/pcd/pcd-writer.d.ts.map +1 -1
- package/dist/pcd/pcd-writer.js +4 -4
- package/dist/pcd/pcd-writer.js.map +1 -1
- package/dist/pcd/unbundled.cjs +2 -4
- package/dist/pcd/unbundled.cjs.map +2 -2
- package/dist/pcd/unbundled.d.ts +1 -1
- package/dist/pcd/unbundled.d.ts.map +1 -1
- package/dist/pcd/unbundled.js +1 -1
- package/dist/pcd/unbundled.js.map +1 -1
- package/dist/pcd/workers/pcd-worker.cjs +5 -5
- package/dist/pcd/workers/pcd-worker.cjs.map +2 -2
- package/dist/pcd/workers/pcd-worker.js +6 -6
- package/dist/pcd/workers/pcd-worker.js.map +1 -1
- package/dist/pcd-loader-types.cjs +65 -0
- package/dist/pcd-loader-types.cjs.map +7 -0
- package/dist/pcd-loader-types.d.ts +2 -0
- package/dist/pcd-loader-types.d.ts.map +1 -0
- package/dist/pcd-loader-types.js +2 -0
- package/dist/pcd-loader-types.js.map +1 -0
- package/dist/pcd-loader.cjs +203 -0
- package/dist/pcd-loader.cjs.map +7 -0
- package/dist/pcd-loader.d.ts +2 -0
- package/dist/pcd-loader.d.ts.map +1 -0
- package/dist/pcd-loader.js +2 -0
- package/dist/pcd-loader.js.map +1 -0
- package/dist/pcd-worker.js +1457 -418
- package/dist/pcd-writer.cjs +136 -0
- package/dist/pcd-writer.cjs.map +7 -0
- package/dist/pcd-writer.d.ts +2 -0
- package/dist/pcd-writer.d.ts.map +1 -0
- package/dist/pcd-writer.js +2 -0
- package/dist/pcd-writer.js.map +1 -0
- package/dist/ply/bundled.cjs +2 -4
- package/dist/ply/bundled.cjs.map +2 -2
- package/dist/ply/bundled.d.ts +1 -1
- package/dist/ply/bundled.d.ts.map +1 -1
- package/dist/ply/bundled.js +1 -1
- package/dist/ply/bundled.js.map +1 -1
- package/dist/ply/index.cjs +0 -3
- package/dist/ply/index.cjs.map +3 -3
- package/dist/ply/index.d.ts +0 -2
- package/dist/ply/index.d.ts.map +1 -1
- package/dist/ply/index.js +0 -3
- package/dist/ply/index.js.map +1 -1
- package/dist/ply/lib/get-ply-schema.cjs +4 -2
- package/dist/ply/lib/get-ply-schema.cjs.map +2 -2
- package/dist/ply/lib/get-ply-schema.d.ts +6 -0
- package/dist/ply/lib/get-ply-schema.d.ts.map +1 -1
- package/dist/ply/lib/get-ply-schema.js +1 -1
- package/dist/ply/lib/get-ply-schema.js.map +1 -1
- package/dist/ply/lib/parse-ply-arrow.cjs +1 -1
- package/dist/ply/lib/parse-ply-arrow.cjs.map +2 -2
- package/dist/ply/lib/parse-ply-arrow.js +2 -2
- package/dist/ply/lib/parse-ply-arrow.js.map +1 -1
- package/dist/ply/lib/parse-ply-in-batches.cjs +14 -8
- package/dist/ply/lib/parse-ply-in-batches.cjs.map +3 -3
- package/dist/ply/lib/parse-ply-in-batches.d.ts.map +1 -1
- package/dist/ply/lib/parse-ply-in-batches.js +9 -4
- package/dist/ply/lib/parse-ply-in-batches.js.map +1 -1
- package/dist/ply/lib/parse-ply.cjs +3 -0
- package/dist/ply/lib/parse-ply.cjs.map +2 -2
- package/dist/ply/lib/parse-ply.d.ts +1 -1
- package/dist/ply/lib/parse-ply.d.ts.map +1 -1
- package/dist/ply/lib/parse-ply.js +4 -0
- package/dist/ply/lib/parse-ply.js.map +1 -1
- package/dist/ply/ply-loader-types.cjs +9 -10
- package/dist/ply/ply-loader-types.cjs.map +2 -2
- package/dist/ply/ply-loader-types.d.ts +19 -42
- package/dist/ply/ply-loader-types.d.ts.map +1 -1
- package/dist/ply/ply-loader-types.js +6 -6
- package/dist/ply/ply-loader-types.js.map +1 -1
- package/dist/ply/ply-loader.cjs +82 -24
- package/dist/ply/ply-loader.cjs.map +3 -3
- package/dist/ply/ply-loader.d.ts +43 -6
- package/dist/ply/ply-loader.d.ts.map +1 -1
- package/dist/ply/ply-loader.js +71 -19
- package/dist/ply/ply-loader.js.map +1 -1
- package/dist/ply/ply-writer.cjs +3 -3
- package/dist/ply/ply-writer.cjs.map +2 -2
- package/dist/ply/ply-writer.d.ts +5 -4
- package/dist/ply/ply-writer.d.ts.map +1 -1
- package/dist/ply/ply-writer.js +4 -4
- package/dist/ply/ply-writer.js.map +1 -1
- package/dist/ply/unbundled.cjs +2 -4
- package/dist/ply/unbundled.cjs.map +2 -2
- package/dist/ply/unbundled.d.ts +1 -1
- package/dist/ply/unbundled.d.ts.map +1 -1
- package/dist/ply/unbundled.js +1 -1
- package/dist/ply/unbundled.js.map +1 -1
- package/dist/ply/workers/ply-worker.cjs +6 -6
- package/dist/ply/workers/ply-worker.cjs.map +2 -2
- package/dist/ply/workers/ply-worker.js +8 -8
- package/dist/ply/workers/ply-worker.js.map +1 -1
- package/dist/ply-loader-types.cjs +66 -0
- package/dist/ply-loader-types.cjs.map +7 -0
- package/dist/ply-loader-types.d.ts +2 -0
- package/dist/ply-loader-types.d.ts.map +1 -0
- package/dist/ply-loader-types.js +2 -0
- package/dist/ply-loader-types.js.map +1 -0
- package/dist/ply-loader.cjs +194 -0
- package/dist/ply-loader.cjs.map +7 -0
- package/dist/ply-loader.d.ts +2 -0
- package/dist/ply-loader.d.ts.map +1 -0
- package/dist/ply-loader.js +2 -0
- package/dist/ply-loader.js.map +1 -0
- package/dist/ply-worker.js +2099 -312
- package/dist/ply-writer.cjs +177 -0
- package/dist/ply-writer.cjs.map +7 -0
- package/dist/ply-writer.d.ts +2 -0
- package/dist/ply-writer.d.ts.map +1 -0
- package/dist/ply-writer.js +2 -0
- package/dist/ply-writer.js.map +1 -0
- package/package.json +75 -71
- package/src/index.ts +3 -3
- package/src/las/bundled.ts +0 -1
- package/src/las/index.ts +0 -4
- package/src/las/las-copc-loader-types.ts +3 -3
- package/src/las/las-copc-loader.ts +12 -12
- package/src/las/las-loader-shared.ts +9 -7
- package/src/las/las-loader-types.ts +3 -6
- package/src/las/las-loader.ts +63 -9
- package/src/las/las-writer.ts +17 -13
- package/src/las/laz-rs-loader-types.ts +3 -3
- package/src/las/laz-rs-loader.ts +11 -11
- package/src/las/lazperf-loader-types.ts +3 -3
- package/src/las/lazperf-loader.ts +13 -13
- package/src/las/lib/copc/parse-las.ts +1 -1
- package/src/las/lib/get-las-schema.ts +5 -0
- package/src/las/lib/las-extra-bytes.ts +6 -4
- package/src/las/lib/laz-perf/parse-las.ts +8 -9
- package/src/las/lib/laz-rs-wasm/parse-las.ts +8 -9
- package/src/las/lib/typescript/parse-las.ts +143 -11
- package/src/las/libs/laz-rs-wasm/README.md +5 -0
- package/src/las/libs/laz-rs-wasm/package.json +6 -0
- package/src/las/unbundled.ts +1 -1
- package/src/las/workers/las-worker.ts +6 -6
- package/src/las-copc-loader-types.ts +1 -0
- package/src/las-copc-loader.ts +1 -0
- package/src/las-loader-types.ts +1 -0
- package/src/las-loader.ts +1 -0
- package/src/las-writer.ts +1 -0
- package/src/laz-rs-loader-types.ts +1 -0
- package/src/laz-rs-loader.ts +1 -0
- package/src/lazperf-loader-types.ts +1 -0
- package/src/lazperf-loader.ts +1 -0
- package/src/pcd/bundled.ts +1 -4
- package/src/pcd/index.ts +0 -4
- package/src/pcd/pcd-loader-types.ts +10 -11
- package/src/pcd/pcd-loader.ts +97 -29
- package/src/pcd/pcd-writer.ts +12 -8
- package/src/pcd/unbundled.ts +1 -1
- package/src/pcd/workers/pcd-worker.ts +6 -6
- package/src/pcd-loader-types.ts +1 -0
- package/src/pcd-loader.ts +1 -0
- package/src/pcd-writer.ts +1 -0
- package/src/ply/bundled.ts +1 -4
- package/src/ply/index.ts +0 -4
- package/src/ply/lib/get-ply-schema.ts +1 -1
- package/src/ply/lib/parse-ply-arrow.ts +2 -2
- package/src/ply/lib/parse-ply-in-batches.ts +9 -4
- package/src/ply/lib/parse-ply.ts +4 -1
- package/src/ply/ply-loader-types.ts +10 -11
- package/src/ply/ply-loader.ts +94 -24
- package/src/ply/ply-writer.ts +12 -8
- package/src/ply/unbundled.ts +1 -1
- package/src/ply/workers/ply-worker.ts +8 -8
- package/src/ply-loader-types.ts +1 -0
- package/src/ply-loader.ts +1 -0
- package/src/ply-writer.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-las.d.ts","sourceRoot":"","sources":["../../../../src/las/lib/typescript/parse-las.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-las.d.ts","sourceRoot":"","sources":["../../../../src/las/lib/typescript/parse-las.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,cAAc,EAAiB,MAAM,yBAAyB,CAAC;AAY5E,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAC,gBAAgB,EAAC,kCAA+B;AAc7D,OAAO,KAAK,EAGV,SAAS,EAIV,wBAAqB;AAEtB,2FAA2F;AAC3F,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAC3C,qEAAqE;IACrE,MAAM,EAAE,KAAK,CAAC;IACd,oDAAoD;IACpD,UAAU,EAAE,SAAS,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,WAAW,EAAE,eAAe,CAAC;IAC7B,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,iFAAiF;AACjF,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GAAG;IAC1D,6DAA6D;IAC7D,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,8DAA8D;IAC9D,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAoHF,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,GAAE,gBAAqB,GAAG,aAAa,CA8BhG;AAED,iFAAiF;AACjF,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,WAAW,GAAG,eAAe,EACzC,QAAQ,EAAE,0BAA0B,EACpC,OAAO,EAAE,gBAAgB,GACxB,aAAa,CAoCf;AA4GD,wEAAwE;AACxE,wBAAuB,iBAAiB,CACtC,mBAAmB,EACf,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,GAChD,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC,EAC/C,OAAO,GAAE,gBAAqB,GAC7B,aAAa,CAAC,aAAa,CAAC,CA6H9B;AAkDD,6CAA6C;AAC7C,wBAAiB,uBAAuB,CACtC,WAAW,EAAE,WAAW,EACxB,SAAS,GAAE,MAA2B,EACtC,OAAO,GAAE,gBAAqB,GAC7B,QAAQ,CAAC,eAAe,CAAC,CA6B3B;AAED,4FAA4F;AAC5F,wBAAuB,sBAAsB,CAC3C,mBAAmB,EACf,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,GAChD,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC,EAC/C,OAAO,GAAE,gBAAqB,GAC7B,aAAa,CAAC,eAAe,CAAC,CAkBhC;AAinBD,yCAAyC;AACzC,wBAAgB,cAAc,CAAC,WAAW,EAAE,eAAe,GAAG,SAAS,CAiGtE;AAm+ED,eAAO,MAAM,qBAAqB,MAAuB,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { makeArrowMetadataBatch, updateArrowTableMetadata } from '@loaders.gl/core/schema-utils';
|
|
5
|
+
import * as arrow from 'apache-arrow';
|
|
6
|
+
import { makeMetadataFromLasHeader } from "../get-las-schema.js";
|
|
4
7
|
import { makeMeshArrowTable } from '@loaders.gl/core/schema-utils';
|
|
5
8
|
import { BinaryChunkReader, createLAZChunkDecoder, createLAZChunkDecoderCursor, decodeLAZChunk, decodeLAZChunkTable, getLAZChunkDeclaredByteLength, getLAZChunkHeaderByteLength, NeedsMoreData } from '@loaders.gl/core/loader-utils';
|
|
6
9
|
import { getLASSchema } from "../get-las-schema.js";
|
|
@@ -141,6 +144,7 @@ export async function* parseLASInBatches(arrayBufferIterator, options = {}) {
|
|
|
141
144
|
let header = null;
|
|
142
145
|
let sourcePointIndex = 0;
|
|
143
146
|
let totalRead = 0;
|
|
147
|
+
let lastTable;
|
|
144
148
|
while (true) {
|
|
145
149
|
const next = await inputIterator.next();
|
|
146
150
|
if (next.done) {
|
|
@@ -150,6 +154,8 @@ export async function* parseLASInBatches(arrayBufferIterator, options = {}) {
|
|
|
150
154
|
pending = concatenateUint8Arrays(pending, toUint8Array(chunk));
|
|
151
155
|
if (!header) {
|
|
152
156
|
header = tryParseHeader(pending, absoluteOffset);
|
|
157
|
+
if (header && pending.byteLength < header.pointsOffset)
|
|
158
|
+
header = null;
|
|
153
159
|
if (header) {
|
|
154
160
|
header.totalToRead = header.pointsCount;
|
|
155
161
|
}
|
|
@@ -158,7 +164,57 @@ export async function* parseLASInBatches(arrayBufferIterator, options = {}) {
|
|
|
158
164
|
continue;
|
|
159
165
|
}
|
|
160
166
|
if (header.isCompressed) {
|
|
161
|
-
|
|
167
|
+
const extendedOffset = header.metadata?.evlrOffset;
|
|
168
|
+
let inputOffset = pending.byteLength;
|
|
169
|
+
const extendedChunks = [];
|
|
170
|
+
if (extendedOffset && extendedOffset < inputOffset) {
|
|
171
|
+
extendedChunks.push(pending.subarray(extendedOffset));
|
|
172
|
+
}
|
|
173
|
+
const trackedIterator = {
|
|
174
|
+
async next() {
|
|
175
|
+
const next = await inputIterator.next();
|
|
176
|
+
if (!next.done && extendedOffset) {
|
|
177
|
+
const bytes = toUint8Array(next.value);
|
|
178
|
+
const start = Math.max(extendedOffset - inputOffset, 0);
|
|
179
|
+
if (start < bytes.byteLength)
|
|
180
|
+
extendedChunks.push(bytes.slice(start));
|
|
181
|
+
inputOffset += bytes.byteLength;
|
|
182
|
+
}
|
|
183
|
+
return next;
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
if (header.pointsCount === 0) {
|
|
187
|
+
const { laszip } = await readLASZipVLRFromInput(pending, trackedIterator, header);
|
|
188
|
+
validateTypeScriptLAZSupport(header, laszip);
|
|
189
|
+
lastTable = makeEmptyLASBatch(header, options);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
for await (const table of parseLAZInBatches(pending, trackedIterator, header, options)) {
|
|
193
|
+
lastTable = updateArrowTableMetadata(table, makeMetadataFromLasHeader({
|
|
194
|
+
...header,
|
|
195
|
+
totalRead: table.loaderData.totalRead,
|
|
196
|
+
metadata: table.loaderData.metadata || header.metadata
|
|
197
|
+
}));
|
|
198
|
+
yield lastTable;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (extendedOffset &&
|
|
202
|
+
lastTable &&
|
|
203
|
+
header.metadata?.evlrCount &&
|
|
204
|
+
(lastTable.loaderData.metadata?.evlrs.length ?? 0) < header.metadata.evlrCount) {
|
|
205
|
+
while (!(await trackedIterator.next()).done) {
|
|
206
|
+
// Finish reading trailing records if the decoder stopped at its chunk table.
|
|
207
|
+
}
|
|
208
|
+
// The tracked iterator retains only the extended-record suffix.
|
|
209
|
+
const suffix = extendedChunks.reduce(concatenateUint8Arrays, new Uint8Array(0));
|
|
210
|
+
const update = makeLASMetadataUpdate(lastTable, header, suffix, extendedOffset, lastTable.loaderData.totalRead);
|
|
211
|
+
if (update) {
|
|
212
|
+
yield update;
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
if (header.pointsCount === 0 && lastTable)
|
|
217
|
+
yield lastTable;
|
|
162
218
|
return;
|
|
163
219
|
}
|
|
164
220
|
for (const batch of readAvailablePointBatches(pending, absoluteOffset, header, sourcePointIndex, totalRead, batchSize)) {
|
|
@@ -166,7 +222,8 @@ export async function* parseLASInBatches(arrayBufferIterator, options = {}) {
|
|
|
166
222
|
totalRead = batch.totalRead;
|
|
167
223
|
pending = batch.pending;
|
|
168
224
|
absoluteOffset = batch.absoluteOffset;
|
|
169
|
-
|
|
225
|
+
lastTable = updateArrowTableMetadata(parseLASArrowTableBatch(batch.arrayBuffer, batch.header, options), makeMetadataFromLasHeader({ ...header, totalRead }));
|
|
226
|
+
yield lastTable;
|
|
170
227
|
}
|
|
171
228
|
}
|
|
172
229
|
if (!header) {
|
|
@@ -175,6 +232,40 @@ export async function* parseLASInBatches(arrayBufferIterator, options = {}) {
|
|
|
175
232
|
if (totalRead < header.totalToRead) {
|
|
176
233
|
throw new Error('LASLoader: truncated LAS point data');
|
|
177
234
|
}
|
|
235
|
+
if (!lastTable) {
|
|
236
|
+
lastTable = makeEmptyLASBatch(header, options);
|
|
237
|
+
yield lastTable;
|
|
238
|
+
}
|
|
239
|
+
const update = makeLASMetadataUpdate(lastTable, header, pending, absoluteOffset, totalRead);
|
|
240
|
+
if (update)
|
|
241
|
+
yield update;
|
|
242
|
+
}
|
|
243
|
+
/** Creates the declared point schema and original header metadata for a zero-point stream. */
|
|
244
|
+
function makeEmptyLASBatch(header, options) {
|
|
245
|
+
const table = parseLASArrowTableBatch(new ArrayBuffer(0), { ...header, pointsOffset: 0 }, options);
|
|
246
|
+
return updateArrowTableMetadata({ ...table, loaderData: header }, makeMetadataFromLasHeader(header));
|
|
247
|
+
}
|
|
248
|
+
/** Builds a schema-only batch carrying late extended records and their absolute offsets. */
|
|
249
|
+
function makeLASMetadataUpdate(lastTable, header, pending, absoluteOffset, totalRead) {
|
|
250
|
+
const metadata = header.metadata;
|
|
251
|
+
if (metadata?.evlrOffset && metadata.evlrCount) {
|
|
252
|
+
const relativeOffset = metadata.evlrOffset - absoluteOffset;
|
|
253
|
+
const records = parseLASExtendedVariableLengthRecords(new DataView(pending.buffer, pending.byteOffset, pending.byteLength), relativeOffset, metadata.evlrCount).map(record => ({ ...record, offset: record.offset + absoluteOffset }));
|
|
254
|
+
const finalMetadata = {
|
|
255
|
+
...metadata,
|
|
256
|
+
evlrs: records,
|
|
257
|
+
extraBytes: [...metadata.extraBytes],
|
|
258
|
+
waveformPacketDescriptors: [...metadata.waveformPacketDescriptors]
|
|
259
|
+
};
|
|
260
|
+
for (const record of records)
|
|
261
|
+
parseTypedLASMetadataRecord({ ...record, data: record.data || new Uint8Array() }, finalMetadata);
|
|
262
|
+
resolveLASGeoTIFFKeyDirectory(finalMetadata);
|
|
263
|
+
const finalHeader = { ...header, totalRead, metadata: finalMetadata };
|
|
264
|
+
if (records.length > 0) {
|
|
265
|
+
const data = new arrow.Table([makeArrowMetadataBatch(lastTable.data.schema)]);
|
|
266
|
+
return updateArrowTableMetadata({ ...lastTable, data, loaderData: finalHeader }, makeMetadataFromLasHeader(finalHeader));
|
|
267
|
+
}
|
|
268
|
+
}
|
|
178
269
|
}
|
|
179
270
|
/** Decode LAS data into raw point chunks. */
|
|
180
271
|
export function* parseLASChunkedIterator(arrayBuffer, batchSize = DEFAULT_BATCH_SIZE, options = {}) {
|
|
@@ -535,7 +626,7 @@ function* parseLAZChunkedIterator(arrayBuffer, header, batchSize, parsedLASZipVL
|
|
|
535
626
|
if (header.pointsFormatId <= 5 || laszip.variableChunks) {
|
|
536
627
|
yield* decodeLAZFileFromCompleteBytes(new Uint8Array(arrayBuffer), header, laszip, {
|
|
537
628
|
...options,
|
|
538
|
-
batchSize
|
|
629
|
+
core: { ...options.core, batchSize }
|
|
539
630
|
});
|
|
540
631
|
return;
|
|
541
632
|
}
|
|
@@ -559,7 +650,11 @@ function* parseLAZChunkedIterator(arrayBuffer, header, batchSize, parsedLASZipVL
|
|
|
559
650
|
}
|
|
560
651
|
function* decodeLAZFileFromCompleteBytes(bytes, header, laszip, options = {}) {
|
|
561
652
|
const batchSize = getBatchSize(options);
|
|
562
|
-
const outputHeader = {
|
|
653
|
+
const outputHeader = {
|
|
654
|
+
...header,
|
|
655
|
+
metadata: parseLASMetadata(bytes, header),
|
|
656
|
+
totalToRead: header.pointsCount
|
|
657
|
+
};
|
|
563
658
|
const state = createRawPointBatchState(batchSize, header.pointsStructSize, getLAZStreamingDecodeStats(options));
|
|
564
659
|
const chunkTable = readLAZFileChunks(bytes, header, laszip, options);
|
|
565
660
|
let byteOffset = header.pointsOffset + (laszip.compressor === 1 ? 0 : LAZ_CHUNK_TABLE_POINTER_LENGTH);
|
|
@@ -691,7 +786,8 @@ function hasCompleteLASMetadata(arrayBuffer, header) {
|
|
|
691
786
|
return arrayBuffer.byteLength >= Math.max(vlrEnd, header.pointsOffset);
|
|
692
787
|
}
|
|
693
788
|
function parseLASMetadata(arrayBuffer, header) {
|
|
694
|
-
const dataView =
|
|
789
|
+
const dataView = makeDataView(arrayBuffer);
|
|
790
|
+
const bytes = new Uint8Array(dataView.buffer, dataView.byteOffset, dataView.byteLength);
|
|
695
791
|
const version = header.versionAsString || '1.0';
|
|
696
792
|
const versionParts = version.split('.').map(Number);
|
|
697
793
|
const isAtLeast14 = versionParts[0] > 1 || (versionParts[0] === 1 && versionParts[1] >= 4);
|
|
@@ -705,9 +801,9 @@ function parseLASMetadata(arrayBuffer, header) {
|
|
|
705
801
|
waveformDataOffset: versionParts[0] > 1 || (versionParts[0] === 1 && versionParts[1] >= 3)
|
|
706
802
|
? dataView.getBigUint64(227, true)
|
|
707
803
|
: undefined,
|
|
708
|
-
projectId: formatLASProjectId(
|
|
709
|
-
systemIdentifier: readLASString(
|
|
710
|
-
generatingSoftware: readLASString(
|
|
804
|
+
projectId: formatLASProjectId(bytes.subarray(8, 24)),
|
|
805
|
+
systemIdentifier: readLASString(bytes, 26, 32),
|
|
806
|
+
generatingSoftware: readLASString(bytes, 58, 32),
|
|
711
807
|
creationDayOfYear: dataView.getUint16(90, true),
|
|
712
808
|
creationYear: dataView.getUint16(92, true),
|
|
713
809
|
headerSize: header.headerSize,
|
|
@@ -757,7 +853,7 @@ function parseLASVariableLengthRecords(dataView, header) {
|
|
|
757
853
|
return records;
|
|
758
854
|
}
|
|
759
855
|
function parseLASExtendedVariableLengthRecords(dataView, evlrOffset, evlrCount) {
|
|
760
|
-
if (
|
|
856
|
+
if (evlrOffset < 0 || !evlrCount || evlrOffset >= dataView.byteLength) {
|
|
761
857
|
return [];
|
|
762
858
|
}
|
|
763
859
|
const bytes = new Uint8Array(dataView.buffer, dataView.byteOffset, dataView.byteLength);
|
|
@@ -1305,7 +1401,7 @@ function detectTwoByteColors(dataView, lasHeader, sourcePointIndex, batchSize, c
|
|
|
1305
1401
|
return false;
|
|
1306
1402
|
}
|
|
1307
1403
|
function getBatchSize(options) {
|
|
1308
|
-
const batchSize = options.
|
|
1404
|
+
const batchSize = options.core?.batchSize;
|
|
1309
1405
|
return typeof batchSize === 'number' ? batchSize : DEFAULT_BATCH_SIZE;
|
|
1310
1406
|
}
|
|
1311
1407
|
function parseLASZipVLR(bytes, header) {
|