@loaders.gl/pointclouds 0.0.0-stage → 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 +12 -0
- package/LICENSE +24 -0
- package/PCD-README.md +12 -0
- package/PLY-README.md +38 -0
- package/README.md +11 -2
- package/THIRD-PARTY-NOTICES.md +27 -0
- package/dist/dist.dev.js +31514 -0
- package/dist/dist.min.js +54 -0
- package/dist/index.cjs +55 -0
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/las/bundled.cjs +69 -0
- package/dist/las/bundled.cjs.map +7 -0
- package/dist/las/bundled.d.ts +11 -0
- package/dist/las/bundled.d.ts.map +1 -0
- package/dist/las/bundled.js +11 -0
- package/dist/las/bundled.js.map +1 -0
- package/dist/las/index.cjs +75 -0
- package/dist/las/index.cjs.map +7 -0
- package/dist/las/index.d.ts +15 -0
- package/dist/las/index.d.ts.map +1 -0
- package/dist/las/index.js +12 -0
- package/dist/las/index.js.map +1 -0
- package/dist/las/las-copc-loader-types.cjs +49 -0
- package/dist/las/las-copc-loader-types.cjs.map +7 -0
- package/dist/las/las-copc-loader-types.d.ts +67 -0
- package/dist/las/las-copc-loader-types.d.ts.map +1 -0
- package/dist/las/las-copc-loader-types.js +14 -0
- package/dist/las/las-copc-loader-types.js.map +1 -0
- package/dist/las/las-copc-loader.cjs +60 -0
- package/dist/las/las-copc-loader.cjs.map +7 -0
- package/dist/las/las-copc-loader.d.ts +39 -0
- package/dist/las/las-copc-loader.d.ts.map +1 -0
- package/dist/las/las-copc-loader.js +45 -0
- package/dist/las/las-copc-loader.js.map +1 -0
- package/dist/las/las-format.cjs +44 -0
- package/dist/las/las-format.cjs.map +7 -0
- package/dist/las/las-format.d.ts +16 -0
- package/dist/las/las-format.d.ts.map +1 -0
- package/dist/las/las-format.js +19 -0
- package/dist/las/las-format.js.map +1 -0
- package/dist/las/las-loader-shared.cjs +84 -0
- package/dist/las/las-loader-shared.cjs.map +7 -0
- package/dist/las/las-loader-shared.d.ts +68 -0
- package/dist/las/las-loader-shared.d.ts.map +1 -0
- package/dist/las/las-loader-shared.js +60 -0
- package/dist/las/las-loader-shared.js.map +1 -0
- package/dist/las/las-loader-types.cjs +51 -0
- package/dist/las/las-loader-types.cjs.map +7 -0
- package/dist/las/las-loader-types.d.ts +77 -0
- package/dist/las/las-loader-types.d.ts.map +1 -0
- package/dist/las/las-loader-types.js +17 -0
- package/dist/las/las-loader-types.js.map +1 -0
- package/dist/las/las-loader.cjs +128 -0
- package/dist/las/las-loader.cjs.map +7 -0
- package/dist/las/las-loader.d.ts +91 -0
- package/dist/las/las-loader.d.ts.map +1 -0
- package/dist/las/las-loader.js +108 -0
- package/dist/las/las-loader.js.map +1 -0
- package/dist/las/las-writer.cjs +1054 -0
- package/dist/las/las-writer.cjs.map +7 -0
- package/dist/las/las-writer.d.ts +70 -0
- package/dist/las/las-writer.d.ts.map +1 -0
- package/dist/las/las-writer.js +992 -0
- package/dist/las/las-writer.js.map +1 -0
- package/dist/las/laz-rs-loader-types.cjs +49 -0
- package/dist/las/laz-rs-loader-types.cjs.map +7 -0
- package/dist/las/laz-rs-loader-types.d.ts +69 -0
- package/dist/las/laz-rs-loader-types.d.ts.map +1 -0
- package/dist/las/laz-rs-loader-types.js +16 -0
- package/dist/las/laz-rs-loader-types.js.map +1 -0
- package/dist/las/laz-rs-loader.cjs +275 -0
- package/dist/las/laz-rs-loader.cjs.map +7 -0
- package/dist/las/laz-rs-loader.d.ts +39 -0
- package/dist/las/laz-rs-loader.d.ts.map +1 -0
- package/dist/las/laz-rs-loader.js +43 -0
- package/dist/las/laz-rs-loader.js.map +1 -0
- package/dist/las/lazperf-loader-types.cjs +49 -0
- package/dist/las/lazperf-loader-types.cjs.map +7 -0
- package/dist/las/lazperf-loader-types.d.ts +71 -0
- package/dist/las/lazperf-loader-types.d.ts.map +1 -0
- package/dist/las/lazperf-loader-types.js +17 -0
- package/dist/las/lazperf-loader-types.js.map +1 -0
- package/dist/las/lazperf-loader.cjs +63 -0
- package/dist/las/lazperf-loader.cjs.map +7 -0
- package/dist/las/lazperf-loader.d.ts +41 -0
- package/dist/las/lazperf-loader.d.ts.map +1 -0
- package/dist/las/lazperf-loader.js +49 -0
- package/dist/las/lazperf-loader.js.map +1 -0
- package/dist/las/lib/copc/parse-las.cjs +177 -0
- package/dist/las/lib/copc/parse-las.cjs.map +7 -0
- package/dist/las/lib/copc/parse-las.d.ts +17 -0
- package/dist/las/lib/copc/parse-las.d.ts.map +1 -0
- package/dist/las/lib/copc/parse-las.js +215 -0
- package/dist/las/lib/copc/parse-las.js.map +1 -0
- package/dist/las/lib/get-las-schema.cjs +67 -0
- package/dist/las/lib/get-las-schema.cjs.map +7 -0
- package/dist/las/lib/get-las-schema.d.ts +16 -0
- package/dist/las/lib/get-las-schema.d.ts.map +1 -0
- package/dist/las/lib/get-las-schema.js +52 -0
- package/dist/las/lib/get-las-schema.js.map +1 -0
- package/dist/las/lib/las-compatibility.cjs +110 -0
- package/dist/las/lib/las-compatibility.cjs.map +7 -0
- package/dist/las/lib/las-compatibility.d.ts +40 -0
- package/dist/las/lib/las-compatibility.d.ts.map +1 -0
- package/dist/las/lib/las-compatibility.js +115 -0
- package/dist/las/lib/las-compatibility.js.map +1 -0
- package/dist/las/lib/las-extra-bytes.cjs +228 -0
- package/dist/las/lib/las-extra-bytes.cjs.map +7 -0
- package/dist/las/lib/las-extra-bytes.d.ts +35 -0
- package/dist/las/lib/las-extra-bytes.d.ts.map +1 -0
- package/dist/las/lib/las-extra-bytes.js +197 -0
- package/dist/las/lib/las-extra-bytes.js.map +1 -0
- package/dist/las/lib/las-types.cjs +19 -0
- package/dist/las/lib/las-types.cjs.map +7 -0
- package/dist/las/lib/las-types.d.ts +194 -0
- package/dist/las/lib/las-types.d.ts.map +1 -0
- package/dist/las/lib/las-types.js +5 -0
- package/dist/las/lib/las-types.js.map +1 -0
- package/dist/las/lib/las-waveform.cjs +196 -0
- package/dist/las/lib/las-waveform.cjs.map +7 -0
- package/dist/las/lib/las-waveform.d.ts +89 -0
- package/dist/las/lib/las-waveform.d.ts.map +1 -0
- package/dist/las/lib/las-waveform.js +193 -0
- package/dist/las/lib/las-waveform.js.map +1 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.cjs +382 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.cjs.map +7 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.d.ts +129 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.d.ts.map +1 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.js +377 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.js.map +1 -0
- package/dist/las/lib/laz-perf/parse-las.cjs +271 -0
- package/dist/las/lib/laz-perf/parse-las.cjs.map +7 -0
- package/dist/las/lib/laz-perf/parse-las.d.ts +24 -0
- package/dist/las/lib/laz-perf/parse-las.d.ts.map +1 -0
- package/dist/las/lib/laz-perf/parse-las.js +308 -0
- package/dist/las/lib/laz-perf/parse-las.js.map +1 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.cjs +631 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.cjs.map +7 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.d.ts +129 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.d.ts.map +1 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.js +414 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.js.map +1 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.cjs +271 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.cjs.map +7 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.d.ts +24 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.d.ts.map +1 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.js +308 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.js.map +1 -0
- package/dist/las/lib/typescript/parse-las.cjs +2889 -0
- package/dist/las/lib/typescript/parse-las.cjs.map +7 -0
- package/dist/las/lib/typescript/parse-las.d.ts +39 -0
- package/dist/las/lib/typescript/parse-las.d.ts.map +1 -0
- package/dist/las/lib/typescript/parse-las.js +2703 -0
- package/dist/las/lib/typescript/parse-las.js.map +1 -0
- package/dist/las/libs/laz-perf/laz-perf.cjs +18093 -0
- package/dist/las/libs/laz-perf/laz-perf.cjs.map +7 -0
- package/dist/las/libs/laz-perf/laz-perf.d.ts +2 -0
- package/dist/las/libs/laz-perf/laz-perf.d.ts.map +1 -0
- package/dist/las/libs/laz-perf/laz-perf.js +19003 -0
- package/dist/las/libs/laz-perf/laz-perf.js.map +1 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm.d.ts +95 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm.d.ts.map +1 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm.js +442 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm.js.map +1 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm_bg.wasm +0 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm_bg.wasm.d.ts +38 -0
- package/dist/las/unbundled.cjs +69 -0
- package/dist/las/unbundled.cjs.map +7 -0
- package/dist/las/unbundled.d.ts +11 -0
- package/dist/las/unbundled.d.ts.map +1 -0
- package/dist/las/unbundled.js +11 -0
- package/dist/las/unbundled.js.map +1 -0
- package/dist/las/workers/las-worker.cjs +23 -0
- package/dist/las/workers/las-worker.cjs.map +7 -0
- package/dist/las/workers/las-worker.d.ts +2 -0
- package/dist/las/workers/las-worker.d.ts.map +1 -0
- package/dist/las/workers/las-worker.js +23 -0
- package/dist/las/workers/las-worker.js.map +1 -0
- 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 +24024 -0
- 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 +31 -0
- package/dist/pcd/bundled.cjs.map +7 -0
- package/dist/pcd/bundled.d.ts +3 -0
- package/dist/pcd/bundled.d.ts.map +1 -0
- package/dist/pcd/bundled.js +5 -0
- package/dist/pcd/bundled.js.map +1 -0
- package/dist/pcd/index.cjs +37 -0
- package/dist/pcd/index.cjs.map +7 -0
- package/dist/pcd/index.d.ts +6 -0
- package/dist/pcd/index.d.ts.map +1 -0
- package/dist/pcd/index.js +7 -0
- package/dist/pcd/index.js.map +1 -0
- package/dist/pcd/lib/decompress-lzf.cjs +80 -0
- package/dist/pcd/lib/decompress-lzf.cjs.map +7 -0
- package/dist/pcd/lib/decompress-lzf.d.ts +7 -0
- package/dist/pcd/lib/decompress-lzf.d.ts.map +1 -0
- package/dist/pcd/lib/decompress-lzf.js +62 -0
- package/dist/pcd/lib/decompress-lzf.js.map +1 -0
- package/dist/pcd/lib/get-pcd-schema.cjs +70 -0
- package/dist/pcd/lib/get-pcd-schema.cjs.map +7 -0
- package/dist/pcd/lib/get-pcd-schema.d.ts +10 -0
- package/dist/pcd/lib/get-pcd-schema.d.ts.map +1 -0
- package/dist/pcd/lib/get-pcd-schema.js +53 -0
- package/dist/pcd/lib/get-pcd-schema.js.map +1 -0
- package/dist/pcd/lib/parse-pcd.cjs +354 -0
- package/dist/pcd/lib/parse-pcd.cjs.map +7 -0
- package/dist/pcd/lib/parse-pcd.d.ts +20 -0
- package/dist/pcd/lib/parse-pcd.d.ts.map +1 -0
- package/dist/pcd/lib/parse-pcd.js +341 -0
- package/dist/pcd/lib/parse-pcd.js.map +1 -0
- package/dist/pcd/lib/pcd-types.cjs +19 -0
- package/dist/pcd/lib/pcd-types.cjs.map +7 -0
- package/dist/pcd/lib/pcd-types.d.ts +31 -0
- package/dist/pcd/lib/pcd-types.d.ts.map +1 -0
- package/dist/pcd/lib/pcd-types.js +5 -0
- package/dist/pcd/lib/pcd-types.js.map +1 -0
- package/dist/pcd/pcd-format.cjs +42 -0
- package/dist/pcd/pcd-format.cjs.map +7 -0
- package/dist/pcd/pcd-format.d.ts +16 -0
- package/dist/pcd/pcd-format.d.ts.map +1 -0
- package/dist/pcd/pcd-format.js +19 -0
- package/dist/pcd/pcd-format.js.map +1 -0
- package/dist/pcd/pcd-loader-types.cjs +63 -0
- package/dist/pcd/pcd-loader-types.cjs.map +7 -0
- package/dist/pcd/pcd-loader-types.d.ts +82 -0
- package/dist/pcd/pcd-loader-types.d.ts.map +1 -0
- package/dist/pcd/pcd-loader-types.js +35 -0
- package/dist/pcd/pcd-loader-types.js.map +1 -0
- package/dist/pcd/pcd-loader.cjs +201 -0
- package/dist/pcd/pcd-loader.cjs.map +7 -0
- package/dist/pcd/pcd-loader.d.ts +80 -0
- package/dist/pcd/pcd-loader.d.ts.map +1 -0
- package/dist/pcd/pcd-loader.js +179 -0
- package/dist/pcd/pcd-loader.js.map +1 -0
- package/dist/pcd/pcd-writer.cjs +134 -0
- package/dist/pcd/pcd-writer.cjs.map +7 -0
- package/dist/pcd/pcd-writer.d.ts +38 -0
- package/dist/pcd/pcd-writer.d.ts.map +1 -0
- package/dist/pcd/pcd-writer.js +115 -0
- package/dist/pcd/pcd-writer.js.map +1 -0
- package/dist/pcd/unbundled.cjs +31 -0
- package/dist/pcd/unbundled.cjs.map +7 -0
- package/dist/pcd/unbundled.d.ts +3 -0
- package/dist/pcd/unbundled.d.ts.map +1 -0
- package/dist/pcd/unbundled.js +5 -0
- package/dist/pcd/unbundled.js.map +1 -0
- package/dist/pcd/workers/pcd-worker.cjs +23 -0
- package/dist/pcd/workers/pcd-worker.cjs.map +7 -0
- package/dist/pcd/workers/pcd-worker.d.ts +2 -0
- package/dist/pcd/workers/pcd-worker.d.ts.map +1 -0
- package/dist/pcd/workers/pcd-worker.js +23 -0
- package/dist/pcd/workers/pcd-worker.js.map +1 -0
- 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 +18561 -0
- 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 +31 -0
- package/dist/ply/bundled.cjs.map +7 -0
- package/dist/ply/bundled.d.ts +3 -0
- package/dist/ply/bundled.d.ts.map +1 -0
- package/dist/ply/bundled.js +5 -0
- package/dist/ply/bundled.js.map +1 -0
- package/dist/ply/index.cjs +37 -0
- package/dist/ply/index.cjs.map +7 -0
- package/dist/ply/index.d.ts +6 -0
- package/dist/ply/index.d.ts.map +1 -0
- package/dist/ply/index.js +8 -0
- package/dist/ply/index.js.map +1 -0
- package/dist/ply/lib/get-ply-schema.cjs +128 -0
- package/dist/ply/lib/get-ply-schema.cjs.map +7 -0
- package/dist/ply/lib/get-ply-schema.d.ts +16 -0
- package/dist/ply/lib/get-ply-schema.d.ts.map +1 -0
- package/dist/ply/lib/get-ply-schema.js +117 -0
- package/dist/ply/lib/get-ply-schema.js.map +1 -0
- package/dist/ply/lib/normalize-ply.cjs +96 -0
- package/dist/ply/lib/normalize-ply.cjs.map +7 -0
- package/dist/ply/lib/normalize-ply.d.ts +8 -0
- package/dist/ply/lib/normalize-ply.d.ts.map +1 -0
- package/dist/ply/lib/normalize-ply.js +89 -0
- package/dist/ply/lib/normalize-ply.js.map +1 -0
- package/dist/ply/lib/parse-ply-arrow.cjs +552 -0
- package/dist/ply/lib/parse-ply-arrow.cjs.map +7 -0
- package/dist/ply/lib/parse-ply-arrow.d.ts +25 -0
- package/dist/ply/lib/parse-ply-arrow.d.ts.map +1 -0
- package/dist/ply/lib/parse-ply-arrow.js +493 -0
- package/dist/ply/lib/parse-ply-arrow.js.map +1 -0
- package/dist/ply/lib/parse-ply-in-batches.cjs +613 -0
- package/dist/ply/lib/parse-ply-in-batches.cjs.map +7 -0
- package/dist/ply/lib/parse-ply-in-batches.d.ts +9 -0
- package/dist/ply/lib/parse-ply-in-batches.d.ts.map +1 -0
- package/dist/ply/lib/parse-ply-in-batches.js +630 -0
- package/dist/ply/lib/parse-ply-in-batches.js.map +1 -0
- package/dist/ply/lib/parse-ply.cjs +758 -0
- package/dist/ply/lib/parse-ply.cjs.map +7 -0
- package/dist/ply/lib/parse-ply.d.ts +69 -0
- package/dist/ply/lib/parse-ply.d.ts.map +1 -0
- package/dist/ply/lib/parse-ply.js +855 -0
- package/dist/ply/lib/parse-ply.js.map +1 -0
- package/dist/ply/lib/ply-types.cjs +19 -0
- package/dist/ply/lib/ply-types.cjs.map +7 -0
- package/dist/ply/lib/ply-types.d.ts +37 -0
- package/dist/ply/lib/ply-types.d.ts.map +1 -0
- package/dist/ply/lib/ply-types.js +2 -0
- package/dist/ply/lib/ply-types.js.map +1 -0
- package/dist/ply/ply-format.cjs +43 -0
- package/dist/ply/ply-format.cjs.map +7 -0
- package/dist/ply/ply-format.d.ts +18 -0
- package/dist/ply/ply-format.d.ts.map +1 -0
- package/dist/ply/ply-format.js +22 -0
- package/dist/ply/ply-format.js.map +1 -0
- package/dist/ply/ply-loader-types.cjs +64 -0
- package/dist/ply/ply-loader-types.cjs.map +7 -0
- package/dist/ply/ply-loader-types.d.ts +88 -0
- package/dist/ply/ply-loader-types.d.ts.map +1 -0
- package/dist/ply/ply-loader-types.js +38 -0
- package/dist/ply/ply-loader-types.js.map +1 -0
- package/dist/ply/ply-loader.cjs +192 -0
- package/dist/ply/ply-loader.cjs.map +7 -0
- package/dist/ply/ply-loader.d.ts +81 -0
- package/dist/ply/ply-loader.d.ts.map +1 -0
- package/dist/ply/ply-loader.js +173 -0
- package/dist/ply/ply-loader.js.map +1 -0
- package/dist/ply/ply-writer.cjs +175 -0
- package/dist/ply/ply-writer.cjs.map +7 -0
- package/dist/ply/ply-writer.d.ts +38 -0
- package/dist/ply/ply-writer.d.ts.map +1 -0
- package/dist/ply/ply-writer.js +140 -0
- package/dist/ply/ply-writer.js.map +1 -0
- package/dist/ply/unbundled.cjs +31 -0
- package/dist/ply/unbundled.cjs.map +7 -0
- package/dist/ply/unbundled.d.ts +3 -0
- package/dist/ply/unbundled.d.ts.map +1 -0
- package/dist/ply/unbundled.js +5 -0
- package/dist/ply/unbundled.js.map +1 -0
- package/dist/ply/workers/ply-worker.cjs +34 -0
- package/dist/ply/workers/ply-worker.cjs.map +7 -0
- package/dist/ply/workers/ply-worker.d.ts +2 -0
- package/dist/ply/workers/ply-worker.d.ts.map +1 -0
- package/dist/ply/workers/ply-worker.js +37 -0
- package/dist/ply/workers/ply-worker.js.map +1 -0
- 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 +20962 -0
- 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 +238 -4
- package/src/index.ts +19 -0
- package/src/las/bundled.ts +38 -0
- package/src/las/index.ts +66 -0
- package/src/las/las-copc-loader-types.ts +18 -0
- package/src/las/las-copc-loader.ts +61 -0
- package/src/las/las-format.ts +21 -0
- package/src/las/las-loader-shared.ts +126 -0
- package/src/las/las-loader-types.ts +24 -0
- package/src/las/las-loader.ts +163 -0
- package/src/las/las-writer.ts +1477 -0
- package/src/las/laz-rs-loader-types.ts +21 -0
- package/src/las/laz-rs-loader.ts +53 -0
- package/src/las/lazperf-loader-types.ts +22 -0
- package/src/las/lazperf-loader.ts +65 -0
- package/src/las/lib/LASZIP-LICENSE +202 -0
- package/src/las/lib/LASZIP-NOTICE +4 -0
- package/src/las/lib/copc/parse-las.ts +265 -0
- package/src/las/lib/get-las-schema.ts +55 -0
- package/src/las/lib/las-compatibility.ts +178 -0
- package/src/las/lib/las-extra-bytes.ts +276 -0
- package/src/las/lib/las-types.ts +206 -0
- package/src/las/lib/las-waveform.ts +292 -0
- package/src/las/lib/laz-perf/laslaz-decoder.ts +443 -0
- package/src/las/lib/laz-perf/parse-las.ts +411 -0
- package/src/las/lib/laz-rs-wasm/laslaz-decoder.ts +488 -0
- package/src/las/lib/laz-rs-wasm/parse-las.ts +411 -0
- package/src/las/lib/typescript/parse-las.ts +3862 -0
- package/src/las/libs/laz-perf/laz-perf.ts +20615 -0
- package/src/las/libs/laz-rs-wasm/README.md +5 -0
- package/src/las/libs/laz-rs-wasm/laz_rs_wasm.d.ts +89 -0
- package/src/las/libs/laz-rs-wasm/laz_rs_wasm.js +497 -0
- package/src/las/libs/laz-rs-wasm/laz_rs_wasm_bg.wasm +0 -0
- package/src/las/libs/laz-rs-wasm/laz_rs_wasm_bg.wasm.d.ts +38 -0
- package/src/las/libs/laz-rs-wasm/package.json +25 -0
- package/src/las/unbundled.ts +38 -0
- package/src/las/workers/las-worker.ts +24 -0
- 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 +6 -0
- package/src/pcd/index.ts +9 -0
- package/src/pcd/lib/decompress-lzf.ts +68 -0
- package/src/pcd/lib/get-pcd-schema.ts +66 -0
- package/src/pcd/lib/parse-pcd.ts +474 -0
- package/src/pcd/lib/pcd-types.ts +34 -0
- package/src/pcd/pcd-format.ts +21 -0
- package/src/pcd/pcd-loader-types.ts +52 -0
- package/src/pcd/pcd-loader.ts +247 -0
- package/src/pcd/pcd-writer.ts +156 -0
- package/src/pcd/unbundled.ts +6 -0
- package/src/pcd/workers/pcd-worker.ts +24 -0
- 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 +6 -0
- package/src/ply/index.ts +11 -0
- package/src/ply/lib/get-ply-schema.ts +133 -0
- package/src/ply/lib/normalize-ply.ts +110 -0
- package/src/ply/lib/parse-ply-arrow.ts +676 -0
- package/src/ply/lib/parse-ply-in-batches.ts +832 -0
- package/src/ply/lib/parse-ply.ts +1084 -0
- package/src/ply/lib/ply-types.ts +47 -0
- package/src/ply/ply-format.ts +24 -0
- package/src/ply/ply-loader-types.ts +60 -0
- package/src/ply/ply-loader.ts +255 -0
- package/src/ply/ply-writer.ts +219 -0
- package/src/ply/unbundled.ts +6 -0
- package/src/ply/workers/ply-worker.ts +40 -0
- package/src/ply-loader-types.ts +1 -0
- package/src/ply-loader.ts +1 -0
- package/src/ply-writer.ts +1 -0
- package/third-party-licenses/plasio-LICENSE +21 -0
- package/third-party-licenses/three-LICENSE +21 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/las/las-loader.ts
|
|
21
|
+
var las_loader_exports = {};
|
|
22
|
+
__export(las_loader_exports, {
|
|
23
|
+
LASColumnLoader: () => LASColumnLoader,
|
|
24
|
+
LASLoaderWithParser: () => LASLoaderWithParser,
|
|
25
|
+
getLASRecordBatches: () => getLASRecordBatches,
|
|
26
|
+
toPublicLASResult: () => toPublicLASResult
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(las_loader_exports);
|
|
29
|
+
var import_loader_utils = require("@loaders.gl/core/loader-utils");
|
|
30
|
+
var import_schema_utils = require("@loaders.gl/core/schema-utils");
|
|
31
|
+
var import_schema_utils2 = require("@loaders.gl/core/schema-utils");
|
|
32
|
+
var import_las_loader_shared = require("./las-loader-shared.cjs");
|
|
33
|
+
var import_arrow_worker_transport = require("@loaders.gl/core/arrow-worker-transport");
|
|
34
|
+
var import_parse_las = require("./lib/typescript/parse-las.cjs");
|
|
35
|
+
var LASColumnLoader = {
|
|
36
|
+
...import_las_loader_shared.LAS_LOADER_METADATA,
|
|
37
|
+
dataType: null,
|
|
38
|
+
batchType: null,
|
|
39
|
+
worker: true,
|
|
40
|
+
workerInBatches: true,
|
|
41
|
+
serializeWorkerResult: import_arrow_worker_transport.serializeArrowWorkerTable,
|
|
42
|
+
serializeWorkerBatch: import_arrow_worker_transport.serializeArrowWorkerTable,
|
|
43
|
+
deserializeWorkerResult: deserializeLASWorkerTable,
|
|
44
|
+
deserializeWorkerBatch: deserializeLASWorkerTable,
|
|
45
|
+
parse: async (arrayBuffer, options) => convertLASMesh(parseLASTable(arrayBuffer, options), options),
|
|
46
|
+
parseSync: (arrayBuffer, options) => convertLASMesh(parseLASTable(arrayBuffer, options), options),
|
|
47
|
+
parseInBatches: async function* (arrayBufferIterator, options) {
|
|
48
|
+
yield* convertLASMeshBatches((0, import_parse_las.parseLASInBatches)(arrayBufferIterator, options), options);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
function parseLASTable(arrayBuffer, options) {
|
|
52
|
+
const chunkRequest = options?.las?._chunk;
|
|
53
|
+
return chunkRequest ? (0, import_parse_las.decodeLAZChunkToArrowTable)(arrayBuffer, chunkRequest.metadata, options || {}) : (0, import_parse_las.parseLAS)(arrayBuffer, options);
|
|
54
|
+
}
|
|
55
|
+
function convertLASMesh(table, options) {
|
|
56
|
+
const formattedTable = options?.las?.colorFormat === void 0 || options.las.colorFormat === "uint8norm" ? table : {
|
|
57
|
+
...(0, import_schema_utils2.convertMeshToArrowTableWrapper)(
|
|
58
|
+
(0, import_las_loader_shared.formatLASMeshColors)((0, import_schema_utils2.convertTableToMesh)(table), options.las.colorFormat)
|
|
59
|
+
),
|
|
60
|
+
loader: table.loader,
|
|
61
|
+
loaderData: table.loaderData,
|
|
62
|
+
progress: table.progress
|
|
63
|
+
};
|
|
64
|
+
if ((0, import_las_loader_shared.getLASShape)(options) === "arrow") {
|
|
65
|
+
return formattedTable;
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
...(0, import_schema_utils2.convertTableToMesh)(formattedTable),
|
|
69
|
+
loader: formattedTable.loader,
|
|
70
|
+
loaderData: formattedTable.loaderData,
|
|
71
|
+
progress: formattedTable.progress
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
async function* convertLASMeshBatches(tableBatches, options) {
|
|
75
|
+
for await (const table of (0, import_loader_utils.paceBatchIterator)(tableBatches, {
|
|
76
|
+
batchMaxRowsPerSecond: options?.core?.batchMaxRowsPerSecond,
|
|
77
|
+
getRowCount: (batch) => batch.data.numRows,
|
|
78
|
+
signal: options?.signal
|
|
79
|
+
})) {
|
|
80
|
+
yield convertLASMesh(table, options);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function deserializeLASWorkerTable(result, options) {
|
|
84
|
+
return convertLASMesh((0, import_arrow_worker_transport.deserializeArrowWorkerTable)(result), options);
|
|
85
|
+
}
|
|
86
|
+
var LASLoaderWithParser = {
|
|
87
|
+
...LASColumnLoader,
|
|
88
|
+
dataType: import_las_loader_shared.LAS_LOADER_METADATA.dataType,
|
|
89
|
+
batchType: import_las_loader_shared.LAS_LOADER_METADATA.batchType,
|
|
90
|
+
parse: async (input, options) => toPublicLASResult(await LASColumnLoader.parse(input, options)),
|
|
91
|
+
parseSync: (input, options) => toPublicLASResult(LASColumnLoader.parseSync(input, options)),
|
|
92
|
+
async *parseInBatches(input, options) {
|
|
93
|
+
for await (const result of LASColumnLoader.parseInBatches(input, options)) {
|
|
94
|
+
if ("shape" in result) yield* getLASRecordBatches(result);
|
|
95
|
+
else yield result;
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
deserializeWorkerResult: (result, options) => toPublicLASResult(deserializeLASWorkerTable(result, options)),
|
|
99
|
+
deserializeWorkerBatch(result, options) {
|
|
100
|
+
const decoded = deserializeLASWorkerTable(result, options);
|
|
101
|
+
return "shape" in decoded ? getLASRecordBatches(decoded)[0] : decoded;
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
function toPublicLASResult(result) {
|
|
105
|
+
if (!("shape" in result)) return result;
|
|
106
|
+
const header = JSON.stringify(
|
|
107
|
+
result.loaderData,
|
|
108
|
+
(_key, value) => typeof value === "bigint" ? value.toString() : ArrayBuffer.isView(value) ? Array.from(value) : value
|
|
109
|
+
);
|
|
110
|
+
if (header) {
|
|
111
|
+
result.data.schema.metadata.set("loaders.gl.las.header", header);
|
|
112
|
+
for (const batch of result.data.batches)
|
|
113
|
+
batch.schema.metadata.set("loaders.gl.las.header", header);
|
|
114
|
+
}
|
|
115
|
+
return result.data;
|
|
116
|
+
}
|
|
117
|
+
function getLASRecordBatches(result) {
|
|
118
|
+
const table = toPublicLASResult(result);
|
|
119
|
+
return table.batches.length ? table.batches : [(0, import_schema_utils.makeArrowMetadataBatch)(table.schema)];
|
|
120
|
+
}
|
|
121
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
122
|
+
0 && (module.exports = {
|
|
123
|
+
LASColumnLoader,
|
|
124
|
+
LASLoaderWithParser,
|
|
125
|
+
getLASRecordBatches,
|
|
126
|
+
toPublicLASResult
|
|
127
|
+
});
|
|
128
|
+
//# sourceMappingURL=las-loader.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/las/las-loader.ts"],
|
|
4
|
+
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {paceBatchIterator, type LoaderWithParser} from '@loaders.gl/core/loader-utils';\nimport type {Table, RecordBatch} from 'apache-arrow';\nimport {makeArrowMetadataBatch} from '@loaders.gl/core/schema-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {convertMeshToArrowTableWrapper, convertTableToMesh} from '@loaders.gl/core/schema-utils';\nimport {\n formatLASMeshColors,\n getLASShape,\n LAS_LOADER_METADATA,\n type LASLoaderOptions\n} from './las-loader-shared';\nimport {\n serializeArrowWorkerTable,\n deserializeArrowWorkerTable\n} from '@loaders.gl/core/arrow-worker-transport';\nimport type {LASMesh} from './lib/las-types';\nimport {\n decodeLAZChunkToArrowTable,\n parseLAS,\n parseLASInBatches,\n type LASArrowTable,\n type LAZChunkArrowTableMetadata\n} from './lib/typescript/parse-las';\n\ntype LASWorkerChunkRequest = {\n metadata: LAZChunkArrowTableMetadata;\n};\n\ntype LASWorkerOptions = LASLoaderOptions & {\n las?: LASLoaderOptions['las'] & {\n _chunk?: LASWorkerChunkRequest;\n };\n};\n\n/** Parser-bearing TypeScript-only LAS loader implementation. */\nexport const LASColumnLoader = {\n ...LAS_LOADER_METADATA,\n dataType: null as unknown as LASMesh | MeshArrowTable,\n batchType: null as unknown as LASMesh | MeshArrowTable,\n worker: true,\n workerInBatches: true,\n serializeWorkerResult: serializeArrowWorkerTable,\n serializeWorkerBatch: serializeArrowWorkerTable,\n deserializeWorkerResult: deserializeLASWorkerTable,\n deserializeWorkerBatch: deserializeLASWorkerTable,\n parse: async (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) =>\n convertLASMesh(parseLASTable(arrayBuffer, options), options),\n parseSync: (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) =>\n convertLASMesh(parseLASTable(arrayBuffer, options), options),\n parseInBatches: async function* (arrayBufferIterator, options?: LASLoaderOptions) {\n yield* convertLASMeshBatches(parseLASInBatches(arrayBufferIterator, options), options);\n }\n} as const satisfies LoaderWithParser<\n LASMesh | MeshArrowTable,\n LASMesh | MeshArrowTable,\n LASLoaderOptions\n>;\n\n/** Parse a complete LAS file or an internal standalone worker chunk request. */\nfunction parseLASTable(arrayBuffer: ArrayBuffer, options?: LASLoaderOptions): LASArrowTable {\n const chunkRequest = (options as LASWorkerOptions | undefined)?.las?._chunk;\n return chunkRequest\n ? decodeLAZChunkToArrowTable(arrayBuffer, chunkRequest.metadata, options || {})\n : parseLAS(arrayBuffer, options);\n}\n\nfunction convertLASMesh(\n table: LASArrowTable,\n options?: LASLoaderOptions\n): LASMesh | MeshArrowTable {\n const formattedTable =\n options?.las?.colorFormat === undefined || options.las.colorFormat === 'uint8norm'\n ? table\n : {\n ...convertMeshToArrowTableWrapper(\n formatLASMeshColors(convertTableToMesh(table) as LASMesh, options.las.colorFormat)\n ),\n loader: table.loader,\n loaderData: table.loaderData,\n progress: table.progress\n };\n if (getLASShape(options) === 'arrow') {\n return formattedTable;\n }\n return {\n ...(convertTableToMesh(formattedTable) as LASMesh),\n loader: formattedTable.loader,\n loaderData: formattedTable.loaderData,\n progress: formattedTable.progress\n } as LASMesh & {progress?: number};\n}\n\nasync function* convertLASMeshBatches(\n tableBatches: AsyncIterable<LASArrowTable>,\n options?: LASLoaderOptions\n): AsyncIterable<LASMesh | MeshArrowTable> {\n for await (const table of paceBatchIterator(tableBatches, {\n batchMaxRowsPerSecond: options?.core?.batchMaxRowsPerSecond,\n getRowCount: batch => batch.data.numRows,\n signal: options?.signal\n })) {\n yield convertLASMesh(table, options);\n }\n}\n\n/** Hydrates transferred columns and applies the requested mesh and color representation on the caller. */\nfunction deserializeLASWorkerTable(\n result: unknown,\n options?: LASLoaderOptions\n): LASMesh | MeshArrowTable {\n return convertLASMesh(deserializeArrowWorkerTable(result), options);\n}\n\n/** Exposes native Arrow while retaining the column worker and mesh compatibility paths. */\nexport const LASLoaderWithParser = {\n ...LASColumnLoader,\n dataType: LAS_LOADER_METADATA.dataType,\n batchType: LAS_LOADER_METADATA.batchType,\n parse: async (input: ArrayBuffer, options?: LASLoaderOptions) =>\n toPublicLASResult(await LASColumnLoader.parse(input, options)),\n parseSync: (input: ArrayBuffer, options?: LASLoaderOptions) =>\n toPublicLASResult(LASColumnLoader.parseSync(input, options)),\n async *parseInBatches(input, options) {\n for await (const result of LASColumnLoader.parseInBatches(input, options)) {\n if ('shape' in result) yield* getLASRecordBatches(result);\n else yield result;\n }\n },\n deserializeWorkerResult: (result: unknown, options?: LASLoaderOptions) =>\n toPublicLASResult(deserializeLASWorkerTable(result, options)),\n deserializeWorkerBatch(result: unknown, options?: LASLoaderOptions) {\n const decoded = deserializeLASWorkerTable(result, options);\n return 'shape' in decoded ? getLASRecordBatches(decoded)[0] : decoded;\n }\n} as const satisfies LoaderWithParser<LASMesh | Table, LASMesh | RecordBatch, LASLoaderOptions>;\n\n/** Unwraps the Arrow table with its complete file header. */\nexport function toPublicLASResult(result: LASMesh | MeshArrowTable): LASMesh | Table {\n if (!('shape' in result)) return result;\n const header = JSON.stringify((result as LASArrowTable).loaderData, (_key, value) =>\n typeof value === 'bigint'\n ? value.toString()\n : ArrayBuffer.isView(value)\n ? Array.from(value as Uint8Array)\n : value\n );\n if (header) {\n result.data.schema.metadata.set('loaders.gl.las.header', header);\n for (const batch of result.data.batches)\n batch.schema.metadata.set('loaders.gl.las.header', header);\n }\n return result.data;\n}\n\n/** Unwraps the record batches, retaining schema on empty LAS results. */\nexport function getLASRecordBatches(result: MeshArrowTable): RecordBatch[] {\n const table = toPublicLASResult(result) as Table;\n return table.batches.length ? table.batches : [makeArrowMetadataBatch(table.schema)];\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_schema_utils"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { Table, RecordBatch } from 'apache-arrow';
|
|
2
|
+
import type { MeshArrowTable } from '@loaders.gl/core/schema';
|
|
3
|
+
import { type LASLoaderOptions } from "./las-loader-shared.js";
|
|
4
|
+
import { serializeArrowWorkerTable } from '@loaders.gl/core/arrow-worker-transport';
|
|
5
|
+
import type { LASMesh } from "./lib/las-types.js";
|
|
6
|
+
/** Parser-bearing TypeScript-only LAS loader implementation. */
|
|
7
|
+
export declare const LASColumnLoader: {
|
|
8
|
+
readonly dataType: LASMesh | MeshArrowTable;
|
|
9
|
+
readonly batchType: LASMesh | MeshArrowTable;
|
|
10
|
+
readonly worker: true;
|
|
11
|
+
readonly workerInBatches: true;
|
|
12
|
+
readonly serializeWorkerResult: typeof serializeArrowWorkerTable;
|
|
13
|
+
readonly serializeWorkerBatch: typeof serializeArrowWorkerTable;
|
|
14
|
+
readonly deserializeWorkerResult: typeof deserializeLASWorkerTable;
|
|
15
|
+
readonly deserializeWorkerBatch: typeof deserializeLASWorkerTable;
|
|
16
|
+
readonly parse: (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) => Promise<LASMesh | MeshArrowTable>;
|
|
17
|
+
readonly parseSync: (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) => LASMesh | MeshArrowTable;
|
|
18
|
+
readonly parseInBatches: (arrayBufferIterator: AsyncIterable<ArrayBufferLike | ArrayBufferView<ArrayBufferLike>> | Iterable<ArrayBufferLike | ArrayBufferView<ArrayBufferLike>>, options?: LASLoaderOptions) => AsyncGenerator<LASMesh | MeshArrowTable, void, any>;
|
|
19
|
+
readonly defaultShape: "arrow";
|
|
20
|
+
readonly supportsNativeArrow: true;
|
|
21
|
+
readonly version: any;
|
|
22
|
+
readonly options: {
|
|
23
|
+
readonly las: {
|
|
24
|
+
readonly shape: "arrow";
|
|
25
|
+
readonly fp64: false;
|
|
26
|
+
readonly colorDepth: 8;
|
|
27
|
+
readonly colorFormat: "uint8norm";
|
|
28
|
+
readonly columns: undefined;
|
|
29
|
+
readonly extraBytes: "raw";
|
|
30
|
+
readonly recoverMissingChunkTable: false;
|
|
31
|
+
readonly compatibilityMode: "auto";
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
readonly name: "LAS";
|
|
35
|
+
readonly id: "las";
|
|
36
|
+
readonly module: "pointclouds";
|
|
37
|
+
readonly encoding: "binary";
|
|
38
|
+
readonly format: "las";
|
|
39
|
+
readonly extensions: ["las", "laz"];
|
|
40
|
+
readonly mimeTypes: ["application/octet-stream"];
|
|
41
|
+
readonly text: false;
|
|
42
|
+
readonly binary: true;
|
|
43
|
+
readonly tests: ["LASF"];
|
|
44
|
+
};
|
|
45
|
+
/** Hydrates transferred columns and applies the requested mesh and color representation on the caller. */
|
|
46
|
+
declare function deserializeLASWorkerTable(result: unknown, options?: LASLoaderOptions): LASMesh | MeshArrowTable;
|
|
47
|
+
/** Exposes native Arrow while retaining the column worker and mesh compatibility paths. */
|
|
48
|
+
export declare const LASLoaderWithParser: {
|
|
49
|
+
readonly dataType: LASMesh | Table<any>;
|
|
50
|
+
readonly batchType: LASMesh | RecordBatch<any>;
|
|
51
|
+
readonly parse: (input: ArrayBuffer, options?: LASLoaderOptions) => Promise<LASMesh | Table<any>>;
|
|
52
|
+
readonly parseSync: (input: ArrayBuffer, options?: LASLoaderOptions) => LASMesh | Table<any>;
|
|
53
|
+
readonly parseInBatches: (input: AsyncIterable<ArrayBufferLike | ArrayBufferView<ArrayBufferLike>> | Iterable<ArrayBufferLike | ArrayBufferView<ArrayBufferLike>>, options: LASLoaderOptions | undefined) => AsyncGenerator<LASMesh | RecordBatch<any>, void, unknown>;
|
|
54
|
+
readonly deserializeWorkerResult: (result: unknown, options?: LASLoaderOptions) => LASMesh | Table<any>;
|
|
55
|
+
readonly deserializeWorkerBatch: (result: unknown, options?: LASLoaderOptions) => LASMesh | RecordBatch<any>;
|
|
56
|
+
readonly worker: true;
|
|
57
|
+
readonly workerInBatches: true;
|
|
58
|
+
readonly serializeWorkerResult: typeof serializeArrowWorkerTable;
|
|
59
|
+
readonly serializeWorkerBatch: typeof serializeArrowWorkerTable;
|
|
60
|
+
readonly defaultShape: "arrow";
|
|
61
|
+
readonly supportsNativeArrow: true;
|
|
62
|
+
readonly version: any;
|
|
63
|
+
readonly options: {
|
|
64
|
+
readonly las: {
|
|
65
|
+
readonly shape: "arrow";
|
|
66
|
+
readonly fp64: false;
|
|
67
|
+
readonly colorDepth: 8;
|
|
68
|
+
readonly colorFormat: "uint8norm";
|
|
69
|
+
readonly columns: undefined;
|
|
70
|
+
readonly extraBytes: "raw";
|
|
71
|
+
readonly recoverMissingChunkTable: false;
|
|
72
|
+
readonly compatibilityMode: "auto";
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
readonly name: "LAS";
|
|
76
|
+
readonly id: "las";
|
|
77
|
+
readonly module: "pointclouds";
|
|
78
|
+
readonly encoding: "binary";
|
|
79
|
+
readonly format: "las";
|
|
80
|
+
readonly extensions: ["las", "laz"];
|
|
81
|
+
readonly mimeTypes: ["application/octet-stream"];
|
|
82
|
+
readonly text: false;
|
|
83
|
+
readonly binary: true;
|
|
84
|
+
readonly tests: ["LASF"];
|
|
85
|
+
};
|
|
86
|
+
/** Unwraps the Arrow table with its complete file header. */
|
|
87
|
+
export declare function toPublicLASResult(result: LASMesh | MeshArrowTable): LASMesh | Table;
|
|
88
|
+
/** Unwraps the record batches, retaining schema on empty LAS results. */
|
|
89
|
+
export declare function getLASRecordBatches(result: MeshArrowTable): RecordBatch[];
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=las-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"las-loader.d.ts","sourceRoot":"","sources":["../../src/las/las-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,cAAc,CAAC;AAErD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAIL,KAAK,gBAAgB,EACtB,+BAA4B;AAC7B,OAAO,EACL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAC,OAAO,EAAC,2BAAwB;AAmB7C,gEAAgE;AAChE,eAAO,MAAM,eAAe;uBAEG,OAAO,GAAG,cAAc;wBACvB,OAAO,GAAG,cAAc;;;;;;;kCAO3B,WAAW,YAAY,gBAAgB;sCAEzC,WAAW,YAAY,gBAAgB;+LAEA,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;CAOjF,CAAC;AAiDF,0GAA0G;AAC1G,iBAAS,yBAAyB,CAChC,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,GAAG,cAAc,CAE1B;AAED,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB;;;4BAIT,WAAW,YAAY,gBAAgB;gCAEzC,WAAW,YAAY,gBAAgB;;+CAQxB,OAAO,YAAY,gBAAgB;8CAEtC,OAAO,YAAY,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI2B,CAAC;AAEhG,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,GAAG,OAAO,GAAG,KAAK,CAenF;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,EAAE,CAGzE"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { paceBatchIterator } from '@loaders.gl/core/loader-utils';
|
|
5
|
+
import { makeArrowMetadataBatch } from '@loaders.gl/core/schema-utils';
|
|
6
|
+
import { convertMeshToArrowTableWrapper, convertTableToMesh } from '@loaders.gl/core/schema-utils';
|
|
7
|
+
import { formatLASMeshColors, getLASShape, LAS_LOADER_METADATA } from "./las-loader-shared.js";
|
|
8
|
+
import { serializeArrowWorkerTable, deserializeArrowWorkerTable } from '@loaders.gl/core/arrow-worker-transport';
|
|
9
|
+
import { decodeLAZChunkToArrowTable, parseLAS, parseLASInBatches } from "./lib/typescript/parse-las.js";
|
|
10
|
+
/** Parser-bearing TypeScript-only LAS loader implementation. */
|
|
11
|
+
export const LASColumnLoader = {
|
|
12
|
+
...LAS_LOADER_METADATA,
|
|
13
|
+
dataType: null,
|
|
14
|
+
batchType: null,
|
|
15
|
+
worker: true,
|
|
16
|
+
workerInBatches: true,
|
|
17
|
+
serializeWorkerResult: serializeArrowWorkerTable,
|
|
18
|
+
serializeWorkerBatch: serializeArrowWorkerTable,
|
|
19
|
+
deserializeWorkerResult: deserializeLASWorkerTable,
|
|
20
|
+
deserializeWorkerBatch: deserializeLASWorkerTable,
|
|
21
|
+
parse: async (arrayBuffer, options) => convertLASMesh(parseLASTable(arrayBuffer, options), options),
|
|
22
|
+
parseSync: (arrayBuffer, options) => convertLASMesh(parseLASTable(arrayBuffer, options), options),
|
|
23
|
+
parseInBatches: async function* (arrayBufferIterator, options) {
|
|
24
|
+
yield* convertLASMeshBatches(parseLASInBatches(arrayBufferIterator, options), options);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
/** Parse a complete LAS file or an internal standalone worker chunk request. */
|
|
28
|
+
function parseLASTable(arrayBuffer, options) {
|
|
29
|
+
const chunkRequest = options?.las?._chunk;
|
|
30
|
+
return chunkRequest
|
|
31
|
+
? decodeLAZChunkToArrowTable(arrayBuffer, chunkRequest.metadata, options || {})
|
|
32
|
+
: parseLAS(arrayBuffer, options);
|
|
33
|
+
}
|
|
34
|
+
function convertLASMesh(table, options) {
|
|
35
|
+
const formattedTable = options?.las?.colorFormat === undefined || options.las.colorFormat === 'uint8norm'
|
|
36
|
+
? table
|
|
37
|
+
: {
|
|
38
|
+
...convertMeshToArrowTableWrapper(formatLASMeshColors(convertTableToMesh(table), options.las.colorFormat)),
|
|
39
|
+
loader: table.loader,
|
|
40
|
+
loaderData: table.loaderData,
|
|
41
|
+
progress: table.progress
|
|
42
|
+
};
|
|
43
|
+
if (getLASShape(options) === 'arrow') {
|
|
44
|
+
return formattedTable;
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
...convertTableToMesh(formattedTable),
|
|
48
|
+
loader: formattedTable.loader,
|
|
49
|
+
loaderData: formattedTable.loaderData,
|
|
50
|
+
progress: formattedTable.progress
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
async function* convertLASMeshBatches(tableBatches, options) {
|
|
54
|
+
for await (const table of paceBatchIterator(tableBatches, {
|
|
55
|
+
batchMaxRowsPerSecond: options?.core?.batchMaxRowsPerSecond,
|
|
56
|
+
getRowCount: batch => batch.data.numRows,
|
|
57
|
+
signal: options?.signal
|
|
58
|
+
})) {
|
|
59
|
+
yield convertLASMesh(table, options);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/** Hydrates transferred columns and applies the requested mesh and color representation on the caller. */
|
|
63
|
+
function deserializeLASWorkerTable(result, options) {
|
|
64
|
+
return convertLASMesh(deserializeArrowWorkerTable(result), options);
|
|
65
|
+
}
|
|
66
|
+
/** Exposes native Arrow while retaining the column worker and mesh compatibility paths. */
|
|
67
|
+
export const LASLoaderWithParser = {
|
|
68
|
+
...LASColumnLoader,
|
|
69
|
+
dataType: LAS_LOADER_METADATA.dataType,
|
|
70
|
+
batchType: LAS_LOADER_METADATA.batchType,
|
|
71
|
+
parse: async (input, options) => toPublicLASResult(await LASColumnLoader.parse(input, options)),
|
|
72
|
+
parseSync: (input, options) => toPublicLASResult(LASColumnLoader.parseSync(input, options)),
|
|
73
|
+
async *parseInBatches(input, options) {
|
|
74
|
+
for await (const result of LASColumnLoader.parseInBatches(input, options)) {
|
|
75
|
+
if ('shape' in result)
|
|
76
|
+
yield* getLASRecordBatches(result);
|
|
77
|
+
else
|
|
78
|
+
yield result;
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
deserializeWorkerResult: (result, options) => toPublicLASResult(deserializeLASWorkerTable(result, options)),
|
|
82
|
+
deserializeWorkerBatch(result, options) {
|
|
83
|
+
const decoded = deserializeLASWorkerTable(result, options);
|
|
84
|
+
return 'shape' in decoded ? getLASRecordBatches(decoded)[0] : decoded;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
/** Unwraps the Arrow table with its complete file header. */
|
|
88
|
+
export function toPublicLASResult(result) {
|
|
89
|
+
if (!('shape' in result))
|
|
90
|
+
return result;
|
|
91
|
+
const header = JSON.stringify(result.loaderData, (_key, value) => typeof value === 'bigint'
|
|
92
|
+
? value.toString()
|
|
93
|
+
: ArrayBuffer.isView(value)
|
|
94
|
+
? Array.from(value)
|
|
95
|
+
: value);
|
|
96
|
+
if (header) {
|
|
97
|
+
result.data.schema.metadata.set('loaders.gl.las.header', header);
|
|
98
|
+
for (const batch of result.data.batches)
|
|
99
|
+
batch.schema.metadata.set('loaders.gl.las.header', header);
|
|
100
|
+
}
|
|
101
|
+
return result.data;
|
|
102
|
+
}
|
|
103
|
+
/** Unwraps the record batches, retaining schema on empty LAS results. */
|
|
104
|
+
export function getLASRecordBatches(result) {
|
|
105
|
+
const table = toPublicLASResult(result);
|
|
106
|
+
return table.batches.length ? table.batches : [makeArrowMetadataBatch(table.schema)];
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=las-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"las-loader.js","sourceRoot":"","sources":["../../src/las/las-loader.ts"],"names":[],"mappings":"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"}
|