@loaders.gl/pointclouds 0.0.0-stage → 5.0.0-beta.2
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 +30165 -0
- package/dist/dist.min.js +54 -0
- package/dist/index.cjs +61 -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 +72 -0
- package/dist/las/bundled.cjs.map +7 -0
- package/dist/las/bundled.d.ts +12 -0
- package/dist/las/bundled.d.ts.map +1 -0
- package/dist/las/bundled.js +12 -0
- package/dist/las/bundled.js.map +1 -0
- package/dist/las/index.cjs +78 -0
- package/dist/las/index.cjs.map +7 -0
- package/dist/las/index.d.ts +17 -0
- package/dist/las/index.d.ts.map +1 -0
- package/dist/las/index.js +15 -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 +63 -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 +57 -0
- package/dist/las/las-copc-loader.cjs.map +7 -0
- package/dist/las/las-copc-loader.d.ts +37 -0
- package/dist/las/las-copc-loader.d.ts.map +1 -0
- package/dist/las/las-copc-loader.js +40 -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 +82 -0
- package/dist/las/las-loader-shared.cjs.map +7 -0
- package/dist/las/las-loader-shared.d.ts +66 -0
- package/dist/las/las-loader-shared.d.ts.map +1 -0
- package/dist/las/las-loader-shared.js +58 -0
- package/dist/las/las-loader-shared.js.map +1 -0
- package/dist/las/las-loader-types.cjs +54 -0
- package/dist/las/las-loader-types.cjs.map +7 -0
- package/dist/las/las-loader-types.d.ts +104 -0
- package/dist/las/las-loader-types.d.ts.map +1 -0
- package/dist/las/las-loader-types.js +19 -0
- package/dist/las/las-loader-types.js.map +1 -0
- package/dist/las/las-loader.cjs +80 -0
- package/dist/las/las-loader.cjs.map +7 -0
- package/dist/las/las-loader.d.ts +45 -0
- package/dist/las/las-loader.d.ts.map +1 -0
- package/dist/las/las-loader.js +58 -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 +69 -0
- package/dist/las/las-writer.d.ts.map +1 -0
- package/dist/las/las-writer.js +994 -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 +65 -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 +272 -0
- package/dist/las/laz-rs-loader.cjs.map +7 -0
- package/dist/las/laz-rs-loader.d.ts +37 -0
- package/dist/las/laz-rs-loader.d.ts.map +1 -0
- package/dist/las/laz-rs-loader.js +38 -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 +67 -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 +60 -0
- package/dist/las/lazperf-loader.cjs.map +7 -0
- package/dist/las/lazperf-loader.d.ts +39 -0
- package/dist/las/lazperf-loader.d.ts.map +1 -0
- package/dist/las/lazperf-loader.js +44 -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 +62 -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 +46 -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 +223 -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 +195 -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 +270 -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 +307 -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 +270 -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 +307 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.js.map +1 -0
- package/dist/las/lib/typescript/parse-las.cjs +2767 -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 +2607 -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 +71 -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 +59 -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 +56 -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 +82 -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 +23169 -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 +274 -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 +62 -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 +33 -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 +40 -0
- package/dist/pcd/index.cjs.map +7 -0
- package/dist/pcd/index.d.ts +8 -0
- package/dist/pcd/index.d.ts.map +1 -0
- package/dist/pcd/index.js +10 -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 +64 -0
- package/dist/pcd/pcd-loader-types.cjs.map +7 -0
- package/dist/pcd/pcd-loader-types.d.ts +105 -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 +144 -0
- package/dist/pcd/pcd-loader.cjs.map +7 -0
- package/dist/pcd/pcd-loader.d.ts +44 -0
- package/dist/pcd/pcd-loader.d.ts.map +1 -0
- package/dist/pcd/pcd-loader.js +128 -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 +37 -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 +33 -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 +66 -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 +146 -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 +17655 -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 +33 -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 +40 -0
- package/dist/ply/index.cjs.map +7 -0
- package/dist/ply/index.d.ts +8 -0
- package/dist/ply/index.d.ts.map +1 -0
- package/dist/ply/index.js +11 -0
- package/dist/ply/index.js.map +1 -0
- package/dist/ply/lib/get-ply-schema.cjs +126 -0
- package/dist/ply/lib/get-ply-schema.cjs.map +7 -0
- package/dist/ply/lib/get-ply-schema.d.ts +10 -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 +607 -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 +625 -0
- package/dist/ply/lib/parse-ply-in-batches.js.map +1 -0
- package/dist/ply/lib/parse-ply.cjs +755 -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 +851 -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 +65 -0
- package/dist/ply/ply-loader-types.cjs.map +7 -0
- package/dist/ply/ply-loader-types.d.ts +111 -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 +134 -0
- package/dist/ply/ply-loader.cjs.map +7 -0
- package/dist/ply/ply-loader.d.ts +44 -0
- package/dist/ply/ply-loader.d.ts.map +1 -0
- package/dist/ply/ply-loader.js +121 -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 +37 -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 +33 -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 +67 -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 +136 -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 +19308 -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 +237 -4
- package/src/index.ts +19 -0
- package/src/las/bundled.ts +39 -0
- package/src/las/index.ts +70 -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 +124 -0
- package/src/las/las-loader-types.ts +27 -0
- package/src/las/las-loader.ts +109 -0
- package/src/las/las-writer.ts +1473 -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 +50 -0
- package/src/las/lib/las-compatibility.ts +178 -0
- package/src/las/lib/las-extra-bytes.ts +274 -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 +412 -0
- package/src/las/lib/laz-rs-wasm/laslaz-decoder.ts +488 -0
- package/src/las/lib/laz-rs-wasm/parse-las.ts +412 -0
- package/src/las/lib/typescript/parse-las.ts +3730 -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 +9 -0
- package/src/pcd/index.ts +13 -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 +53 -0
- package/src/pcd/pcd-loader.ts +179 -0
- package/src/pcd/pcd-writer.ts +152 -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 +9 -0
- package/src/ply/index.ts +15 -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 +827 -0
- package/src/ply/lib/parse-ply.ts +1081 -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 +61 -0
- package/src/ply/ply-loader.ts +185 -0
- package/src/ply/ply-writer.ts +215 -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,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/las/lib/laz-rs-wasm/laslaz-decoder.ts", "../../../../src/las/libs/laz-rs-wasm/laz_rs_wasm.js"],
|
|
4
|
+
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/*\n Modified from Uday Verma and Howard Butler's plasio\n https://github.com/verma/plasio/\n MIT License\n*/\n// laslaz.js - treat as compiled code\nimport type {LASHeader} from '../las-types';\nimport {WasmLasZipDecompressor} from '../../libs/laz-rs-wasm/laz_rs_wasm';\n\ntype LASPoint = {\n position: [number, number, number];\n intensity: number;\n classification: number;\n color?: [number, number, number];\n};\n\ntype LASReader = (dv: DataView) => LASPoint;\n\ntype LASReaders = {\n [key: number]: LASReader;\n};\n\ntype LASData = {\n buffer: ArrayBuffer;\n count: number;\n hasMoreData: boolean;\n};\n\nconst POINT_FORMAT_READERS: LASReaders = {\n 0: dv => {\n return {\n position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],\n intensity: dv.getUint16(12, true),\n classification: dv.getUint8(15)\n };\n },\n 1: dv => {\n return {\n position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],\n intensity: dv.getUint16(12, true),\n classification: dv.getUint8(15)\n };\n },\n 2: dv => {\n return {\n position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],\n intensity: dv.getUint16(12, true),\n classification: dv.getUint8(15),\n color: [dv.getUint16(20, true), dv.getUint16(22, true), dv.getUint16(24, true)]\n };\n },\n 3: dv => {\n return {\n position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],\n intensity: dv.getUint16(12, true),\n classification: dv.getUint8(15),\n color: [dv.getUint16(28, true), dv.getUint16(30, true), dv.getUint16(32, true)]\n };\n },\n 4: dv => {\n return {\n position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],\n intensity: dv.getUint16(12, true),\n classification: dv.getUint8(15)\n };\n },\n 5: dv => {\n return {\n position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],\n intensity: dv.getUint16(12, true),\n classification: dv.getUint8(15),\n color: [dv.getUint16(28, true), dv.getUint16(30, true), dv.getUint16(32, true)]\n };\n },\n 6: dv => {\n return {\n position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],\n intensity: dv.getUint16(12, true),\n classification: dv.getUint8(16)\n };\n },\n 7: dv => {\n return {\n position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],\n intensity: dv.getUint16(12, true),\n classification: dv.getUint8(16),\n color: [dv.getUint16(30, true), dv.getUint16(32, true), dv.getUint16(34, true)]\n };\n },\n 8: dv => {\n return {\n position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],\n intensity: dv.getUint16(12, true),\n classification: dv.getUint8(16),\n color: [dv.getUint16(30, true), dv.getUint16(32, true), dv.getUint16(34, true)]\n };\n },\n 9: dv => {\n return {\n position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],\n intensity: dv.getUint16(12, true),\n classification: dv.getUint8(16)\n };\n },\n 10: dv => {\n return {\n position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],\n intensity: dv.getUint16(12, true),\n classification: dv.getUint8(16),\n color: [dv.getUint16(30, true), dv.getUint16(32, true), dv.getUint16(34, true)]\n };\n }\n};\n\n/**\n * Reads incoming binary data depends on the Type parameter\n * @param buf\n * @param Type\n * @param offset\n * @param count\n * @returns number | number[] from incoming binary data\n */\nfunction readAs(buf: ArrayBuffer, Type: any = {}, offset: number, count?: number) {\n count = count === undefined || count === 0 ? 1 : count;\n const sub = buf.slice(offset, offset + Type.BYTES_PER_ELEMENT * count);\n\n const r = new Type(sub);\n if (count === 1) {\n return r[0];\n }\n\n const ret: number[] = [];\n for (let i = 0; i < count; i++) {\n ret.push(r[i]);\n }\n\n return ret;\n}\n\n/**\n * Parsing of header's attributes\n * @param arraybuffer\n * @returns header as LASHeader\n */\nfunction parseLASHeader(arraybuffer: ArrayBuffer): LASHeader {\n const ver = new Uint8Array(arraybuffer, 24, 2);\n const version = ver[0] * 10 + ver[1];\n const versionAsString = `${ver[0]}.${ver[1]}`;\n\n const rawPointsFormatId = readAs(arraybuffer, Uint8Array, 32 * 3 + 8);\n const bit7 = (rawPointsFormatId & 0x80) >> 7;\n const bit6 = (rawPointsFormatId & 0x40) >> 6;\n\n const isCompressed = bit7 === 1 || bit6 === 1;\n const pointsFormatId = rawPointsFormatId & 0x3f;\n const o: Partial<LASHeader> = {\n pointsOffset: readAs(arraybuffer, Uint32Array, 32 * 3),\n pointsFormatId,\n pointsStructSize: readAs(arraybuffer, Uint16Array, 32 * 3 + 8 + 1),\n pointsCount: readAs(arraybuffer, Uint32Array, 32 * 3 + 11),\n versionAsString,\n isCompressed\n };\n\n let start = 32 * 3 + 35;\n\n o.scale = readAs(arraybuffer, Float64Array, start, 3);\n start += 24; // 8*3\n o.offset = readAs(arraybuffer, Float64Array, start, 3);\n start += 24;\n\n const bounds = readAs(arraybuffer, Float64Array, start, 6);\n start += 48; // 8*6\n o.maxs = [bounds[0], bounds[2], bounds[4]];\n o.mins = [bounds[1], bounds[3], bounds[5]];\n\n start += 20; // 8*20\n\n if (version === 14) {\n o.pointsCount = Number(readAs(arraybuffer, BigUint64Array, start));\n }\n\n const colorPointFormats = new Set([2, 3, 5, 7, 8, 10]);\n o.hasColor = colorPointFormats.has(pointsFormatId);\n // @ts-expect-error Caused when restoring lazperf\n return o;\n}\n\n// LAS Loader\n// Loads uncompressed files\n//\nclass LASLoader {\n arraybuffer: ArrayBuffer;\n readOffset: number = 0;\n header: LASHeader | null = null;\n\n constructor(arraybuffer: ArrayBuffer) {\n this.arraybuffer = arraybuffer;\n }\n\n /**\n * @returns boolean\n */\n open() {\n // Nothing needs to be done to open this\n return true;\n }\n /**\n * Parsing of incoming binary\n * @returns LASHeader\n */\n getHeader() {\n this.header = parseLASHeader(this.arraybuffer);\n return this.header;\n }\n\n /**\n * Reading data\n * @param count\n * @returns LasData\n */\n readData(count: number): LASData {\n const {header, arraybuffer} = this;\n if (!header) {\n throw new Error('Cannot start reading data till a header request is issued');\n }\n\n let {readOffset} = this;\n count = Math.min(count, header.pointsCount - readOffset);\n const start = header.pointsOffset + readOffset * header.pointsStructSize;\n const end = start + count * header.pointsStructSize;\n readOffset += count;\n this.readOffset = readOffset;\n\n return {\n buffer: arraybuffer.slice(start, end),\n count,\n hasMoreData: readOffset < header.pointsCount\n };\n }\n /**\n * Method which brings data to null to close the file\n * @returns\n */\n close() {\n // @ts-ignore Possibly null\n this.arraybuffer = null;\n return true;\n }\n}\n\n/**\n * LAZ Loader\n * Uses NaCL module to load LAZ files\n */\nclass LAZLoader {\n arraybuffer: ArrayBuffer;\n readOffset: number = 0;\n instance: WasmLasZipDecompressor | null = null;\n header: LASHeader | null = null;\n\n constructor(arraybuffer: ArrayBuffer) {\n this.arraybuffer = arraybuffer;\n }\n\n /**\n * Opens the file\n * @returns boolean\n */\n open(): boolean {\n try {\n const abInt = new Uint8Array(this.arraybuffer);\n this.instance = new WasmLasZipDecompressor(abInt);\n\n return true;\n } catch (error) {\n throw new Error(`Failed to open file: ${(error as Error).message}`);\n }\n }\n\n getHeader(): LASHeader {\n try {\n this.header = parseLASHeader(this.arraybuffer);\n return this.header;\n } catch (error) {\n throw new Error(`Failed to get header: ${(error as Error).message}`);\n }\n }\n\n /**\n * @param count\n * @returns LASData\n */\n readData(count: number): LASData {\n if (!this.instance) {\n throw new Error('You need to open the file before trying to read stuff');\n }\n\n const {header, instance} = this;\n\n if (!header) {\n throw new Error(\n 'You need to query header before reading, I maintain state that way, sorry :('\n );\n }\n\n try {\n const pointsToRead = Math.min(count, header.pointsCount - this.readOffset);\n const buf = new Uint8Array(pointsToRead * header.pointsStructSize);\n\n const bufRead = new Uint8Array(header.pointsStructSize);\n for (let i = 0; i < pointsToRead; i++) {\n instance.decompress_many(bufRead);\n buf.set(bufRead, i * header.pointsStructSize);\n this.readOffset++;\n }\n return {\n buffer: buf.buffer,\n count: pointsToRead,\n hasMoreData: this.readOffset < header.pointsCount\n };\n } catch (error) {\n throw new Error(`Failed to read data: ${(error as Error).message}`);\n }\n }\n\n /**\n * Deletes the instance\n * @returns boolean\n */\n close(): boolean {\n try {\n if (this.instance !== null) {\n this.instance.free();\n this.instance = null;\n }\n // @ts-ignore Possibly null\n this.arraybuffer = null;\n return true;\n } catch (error) {\n throw new Error(`Failed to close file: ${(error as Error).message}`);\n }\n }\n}\n\n/**\n * Helper class: Decodes LAS records into points\n */\nclass LASDecoder {\n arrayb: ArrayBuffer;\n decoder: (dv: DataView) => LASPoint;\n pointsCount: number;\n pointSize: number;\n\n constructor(buffer: ArrayBuffer, len: number, header: LASHeader) {\n this.arrayb = buffer;\n this.decoder = POINT_FORMAT_READERS[header.pointsFormatId];\n this.pointsCount = len;\n this.pointSize = header.pointsStructSize;\n }\n\n /**\n * Decodes data depends on this point size\n * @param index\n * @returns New object\n */\n getPoint(index: number): LASPoint {\n if (index < 0 || index >= this.pointsCount) {\n throw new Error('Point index out of range');\n }\n\n const dv = new DataView(this.arrayb, index * this.pointSize, this.pointSize);\n return this.decoder(dv);\n }\n}\n\n/**\n * A single consistent interface for loading LAS/LAZ files\n */\nexport class LASFile {\n arraybuffer: ArrayBuffer;\n formatId: number = 0;\n loader: LASLoader | LAZLoader;\n isCompressed: boolean = true;\n isOpen: boolean = false;\n version: number = 0;\n versionAsString: string = '';\n\n constructor(arraybuffer: ArrayBuffer) {\n this.arraybuffer = arraybuffer;\n\n this.validate();\n\n this.loader = this.isCompressed\n ? new LAZLoader(this.arraybuffer)\n : new LASLoader(this.arraybuffer);\n }\n\n validate(): void {\n const signature = readAs(this.arraybuffer, Uint8Array, 0, 4);\n const check = String.fromCharCode(...signature);\n if (check !== 'LASF') {\n throw new Error('Invalid LAS file');\n }\n\n if (this.determineVersion() > 14) {\n throw new Error('Only file versions <= 1.4 are supported');\n }\n\n this.determineFormat();\n if (POINT_FORMAT_READERS[this.formatId] === undefined) {\n throw new Error('The point format ID is not supported');\n }\n }\n\n /**\n * Determines format in parameters of LASHeader\n */\n determineFormat(): void {\n const formatId = readAs(this.arraybuffer, Uint8Array, 32 * 3 + 8);\n const bit7 = (formatId & 0x80) >> 7;\n const bit6 = (formatId & 0x40) >> 6;\n\n if (bit7 === 1 && bit6 === 1) {\n throw new Error('Old style compression not supported');\n }\n\n this.formatId = formatId & 0x3f;\n this.isCompressed = bit7 === 1 || bit6 === 1;\n }\n\n /**\n * Determines version\n * @returns version\n */\n determineVersion(): number {\n const ver = new Uint8Array(this.arraybuffer, 24, 2);\n this.version = ver[0] * 10 + ver[1];\n this.versionAsString = `${ver[0]}.${ver[1]}`;\n return this.version;\n }\n\n /**\n * Reads if the file is open\n * @returns boolean\n */\n open(): void {\n if (this.loader.open()) {\n this.isOpen = true;\n }\n }\n /**\n * Gets the header\n * @returns Header\n */\n getHeader(): LASHeader {\n return this.loader.getHeader();\n }\n\n /**\n * @param count\n * @returns LASData\n */\n readData(count: number): LASData {\n return this.loader.readData(count);\n }\n\n /**\n * Closes the file\n */\n close(): void {\n if (this.loader.close()) {\n this.isOpen = false;\n }\n }\n /**\n */\n getUnpacker(): typeof LASDecoder {\n return LASDecoder;\n }\n}\n\n/* eslint no-use-before-define: 2 */\n// export const LASModuleWasLoaded = false;\n", "// SPDX-License-Identifier: MIT\n\n// @ts-nocheck\n/* eslint-disable */\n\n// laz_rs_wasm is a compiled version of https://github.com/laz-rs/laz-rs-wasm on 2024-11-22.\n\n// To regenerate:\n// ```\n// git clone https://github.com/laz-rs/laz-rs-wasm.git\n// cd laz-rs-wasm\n// cargo build\n// wasm-pack build --target web\n// ```\n// Copy results from `./pkg`\n\nlet wasm;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n return instance.ptr;\n}\n\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_export_0.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\n\nconst encodeString = (typeof cachedTextEncoder.encodeInto === 'function'\n ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n}\n : function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n});\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nconst WasmLasZipDecompressorFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_wasmlaszipdecompressor_free(ptr >>> 0, 1));\n\nexport class WasmLasZipDecompressor {\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WasmLasZipDecompressorFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmlaszipdecompressor_free(ptr, 0);\n }\n /**\n * @returns {WasmQuickHeader}\n */\n get header() {\n const ret = wasm.__wbg_get_wasmlaszipdecompressor_header(this.__wbg_ptr);\n return WasmQuickHeader.__wrap(ret);\n }\n /**\n * @param {WasmQuickHeader} arg0\n */\n set header(arg0) {\n _assertClass(arg0, WasmQuickHeader);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_wasmlaszipdecompressor_header(this.__wbg_ptr, ptr0);\n }\n /**\n * @param {Uint8Array} buf\n */\n constructor(buf) {\n const ret = wasm.wasmlaszipdecompressor_new(buf);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0] >>> 0;\n WasmLasZipDecompressorFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {Uint8Array} out\n */\n decompress_many(out) {\n var ptr0 = passArray8ToWasm0(out, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.wasmlaszipdecompressor_decompress_many(this.__wbg_ptr, ptr0, len0, out);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\n\nconst WasmQuickHeaderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_wasmquickheader_free(ptr >>> 0, 1));\n\nexport class WasmQuickHeader {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(WasmQuickHeader.prototype);\n obj.__wbg_ptr = ptr;\n WasmQuickHeaderFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WasmQuickHeaderFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmquickheader_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get major() {\n const ret = wasm.__wbg_get_wasmquickheader_major(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set major(arg0) {\n wasm.__wbg_set_wasmquickheader_major(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {number}\n */\n get minor() {\n const ret = wasm.__wbg_get_wasmquickheader_minor(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set minor(arg0) {\n wasm.__wbg_set_wasmquickheader_minor(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {number}\n */\n get offset_to_points() {\n const ret = wasm.__wbg_get_wasmquickheader_offset_to_points(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set offset_to_points(arg0) {\n wasm.__wbg_set_wasmquickheader_offset_to_points(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {number}\n */\n get num_vlrs() {\n const ret = wasm.__wbg_get_wasmquickheader_num_vlrs(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {number} arg0\n */\n set num_vlrs(arg0) {\n wasm.__wbg_set_wasmquickheader_num_vlrs(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {number}\n */\n get point_format_id() {\n const ret = wasm.__wbg_get_wasmquickheader_point_format_id(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set point_format_id(arg0) {\n wasm.__wbg_set_wasmquickheader_point_format_id(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {number}\n */\n get point_size() {\n const ret = wasm.__wbg_get_wasmquickheader_point_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set point_size(arg0) {\n wasm.__wbg_set_wasmquickheader_point_size(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {bigint}\n */\n get num_points() {\n const ret = wasm.__wbg_get_wasmquickheader_num_points(this.__wbg_ptr);\n return BigInt.asUintN(64, ret);\n }\n /**\n * @param {bigint} arg0\n */\n set num_points(arg0) {\n wasm.__wbg_set_wasmquickheader_num_points(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {number}\n */\n get header_size() {\n const ret = wasm.__wbg_get_wasmquickheader_header_size(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {number} arg0\n */\n set header_size(arg0) {\n wasm.__wbg_set_wasmquickheader_header_size(this.__wbg_ptr, arg0);\n }\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_copy_to_typed_array = function(arg0, arg1, arg2) {\n new Uint8Array(arg2.buffer, arg2.byteOffset, arg2.byteLength).set(getArrayU8FromWasm0(arg0, arg1));\n };\n imports.wbg.__wbg_buffer_ccaed51a635d8a2d = function(arg0) {\n const ret = arg0.buffer;\n return ret;\n };\n imports.wbg.__wbg_new_fec2611eb9180f95 = function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n };\n imports.wbg.__wbg_set_ec2fcf81bc573fd9 = function(arg0, arg1, arg2) {\n arg0.set(arg1, arg2 >>> 0);\n };\n imports.wbg.__wbg_length_9254c4bd3b9f23c4 = function(arg0) {\n const ret = arg0.length;\n return ret;\n };\n imports.wbg.__wbg_new_abda76e883ba8a5f = function() {\n const ret = new Error();\n return ret;\n };\n imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) {\n const ret = arg1.stack;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n };\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbindgen_memory = function() {\n const ret = wasm.memory;\n return ret;\n };\n imports.wbg.__wbindgen_init_externref_table = function() {\n const table = wasm.__wbindgen_export_0;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n ;\n };\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n wasm.__wbindgen_start();\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('laz_rs_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = loadWasmModule(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n\nasync function loadWasmModule(module_or_path) {\n if (isNodeFileUrl(module_or_path)) {\n const nodeFsPromisesModule = 'node:fs/promises';\n const { readFile } = await import(nodeFsPromisesModule);\n return await readFile(module_or_path);\n }\n return fetch(module_or_path);\n}\n\nfunction isNodeFileUrl(module_or_path) {\n return typeof process === 'object'\n && typeof process.versions === 'object'\n && typeof process.versions.node === 'string'\n && typeof URL === 'function'\n && module_or_path instanceof URL\n && module_or_path.protocol === 'file:';\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import type { LASHeader } from "../las-types.js";
|
|
2
|
+
import { WasmLasZipDecompressor } from "../../libs/laz-rs-wasm/laz_rs_wasm.js";
|
|
3
|
+
type LASPoint = {
|
|
4
|
+
position: [number, number, number];
|
|
5
|
+
intensity: number;
|
|
6
|
+
classification: number;
|
|
7
|
+
color?: [number, number, number];
|
|
8
|
+
};
|
|
9
|
+
type LASData = {
|
|
10
|
+
buffer: ArrayBuffer;
|
|
11
|
+
count: number;
|
|
12
|
+
hasMoreData: boolean;
|
|
13
|
+
};
|
|
14
|
+
declare class LASLoader {
|
|
15
|
+
arraybuffer: ArrayBuffer;
|
|
16
|
+
readOffset: number;
|
|
17
|
+
header: LASHeader | null;
|
|
18
|
+
constructor(arraybuffer: ArrayBuffer);
|
|
19
|
+
/**
|
|
20
|
+
* @returns boolean
|
|
21
|
+
*/
|
|
22
|
+
open(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Parsing of incoming binary
|
|
25
|
+
* @returns LASHeader
|
|
26
|
+
*/
|
|
27
|
+
getHeader(): LASHeader;
|
|
28
|
+
/**
|
|
29
|
+
* Reading data
|
|
30
|
+
* @param count
|
|
31
|
+
* @returns LasData
|
|
32
|
+
*/
|
|
33
|
+
readData(count: number): LASData;
|
|
34
|
+
/**
|
|
35
|
+
* Method which brings data to null to close the file
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
close(): boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* LAZ Loader
|
|
42
|
+
* Uses NaCL module to load LAZ files
|
|
43
|
+
*/
|
|
44
|
+
declare class LAZLoader {
|
|
45
|
+
arraybuffer: ArrayBuffer;
|
|
46
|
+
readOffset: number;
|
|
47
|
+
instance: WasmLasZipDecompressor | null;
|
|
48
|
+
header: LASHeader | null;
|
|
49
|
+
constructor(arraybuffer: ArrayBuffer);
|
|
50
|
+
/**
|
|
51
|
+
* Opens the file
|
|
52
|
+
* @returns boolean
|
|
53
|
+
*/
|
|
54
|
+
open(): boolean;
|
|
55
|
+
getHeader(): LASHeader;
|
|
56
|
+
/**
|
|
57
|
+
* @param count
|
|
58
|
+
* @returns LASData
|
|
59
|
+
*/
|
|
60
|
+
readData(count: number): LASData;
|
|
61
|
+
/**
|
|
62
|
+
* Deletes the instance
|
|
63
|
+
* @returns boolean
|
|
64
|
+
*/
|
|
65
|
+
close(): boolean;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Helper class: Decodes LAS records into points
|
|
69
|
+
*/
|
|
70
|
+
declare class LASDecoder {
|
|
71
|
+
arrayb: ArrayBuffer;
|
|
72
|
+
decoder: (dv: DataView) => LASPoint;
|
|
73
|
+
pointsCount: number;
|
|
74
|
+
pointSize: number;
|
|
75
|
+
constructor(buffer: ArrayBuffer, len: number, header: LASHeader);
|
|
76
|
+
/**
|
|
77
|
+
* Decodes data depends on this point size
|
|
78
|
+
* @param index
|
|
79
|
+
* @returns New object
|
|
80
|
+
*/
|
|
81
|
+
getPoint(index: number): LASPoint;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* A single consistent interface for loading LAS/LAZ files
|
|
85
|
+
*/
|
|
86
|
+
export declare class LASFile {
|
|
87
|
+
arraybuffer: ArrayBuffer;
|
|
88
|
+
formatId: number;
|
|
89
|
+
loader: LASLoader | LAZLoader;
|
|
90
|
+
isCompressed: boolean;
|
|
91
|
+
isOpen: boolean;
|
|
92
|
+
version: number;
|
|
93
|
+
versionAsString: string;
|
|
94
|
+
constructor(arraybuffer: ArrayBuffer);
|
|
95
|
+
validate(): void;
|
|
96
|
+
/**
|
|
97
|
+
* Determines format in parameters of LASHeader
|
|
98
|
+
*/
|
|
99
|
+
determineFormat(): void;
|
|
100
|
+
/**
|
|
101
|
+
* Determines version
|
|
102
|
+
* @returns version
|
|
103
|
+
*/
|
|
104
|
+
determineVersion(): number;
|
|
105
|
+
/**
|
|
106
|
+
* Reads if the file is open
|
|
107
|
+
* @returns boolean
|
|
108
|
+
*/
|
|
109
|
+
open(): void;
|
|
110
|
+
/**
|
|
111
|
+
* Gets the header
|
|
112
|
+
* @returns Header
|
|
113
|
+
*/
|
|
114
|
+
getHeader(): LASHeader;
|
|
115
|
+
/**
|
|
116
|
+
* @param count
|
|
117
|
+
* @returns LASData
|
|
118
|
+
*/
|
|
119
|
+
readData(count: number): LASData;
|
|
120
|
+
/**
|
|
121
|
+
* Closes the file
|
|
122
|
+
*/
|
|
123
|
+
close(): void;
|
|
124
|
+
/**
|
|
125
|
+
*/
|
|
126
|
+
getUnpacker(): typeof LASDecoder;
|
|
127
|
+
}
|
|
128
|
+
export {};
|
|
129
|
+
//# sourceMappingURL=laslaz-decoder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"laslaz-decoder.d.ts","sourceRoot":"","sources":["../../../../src/las/lib/laz-rs-wasm/laslaz-decoder.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,SAAS,EAAC,wBAAqB;AAC5C,OAAO,EAAC,sBAAsB,EAAC,8CAA2C;AAE1E,KAAK,QAAQ,GAAG;IACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAQF,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAqKF,cAAM,SAAS;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAK;IACvB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAEpB,WAAW,EAAE,WAAW;IAIpC;;OAEG;IACH,IAAI;IAIJ;;;OAGG;IACH,SAAS;IAKT;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAmBhC;;;OAGG;IACH,KAAK;CAKN;AAED;;;GAGG;AACH,cAAM,SAAS;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAK;IACvB,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IAC/C,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAEpB,WAAW,EAAE,WAAW;IAIpC;;;OAGG;IACH,IAAI,IAAI,OAAO;IAWf,SAAS,IAAI,SAAS;IAStB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAiChC;;;OAGG;IACH,KAAK,IAAI,OAAO;CAajB;AAED;;GAEG;AACH,cAAM,UAAU;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,QAAQ,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;gBAEN,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IAO/D;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;CAQlC;AAED;;GAEG;AACH,qBAAa,OAAO;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAK;IACrB,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAQ;IAC7B,MAAM,EAAE,OAAO,CAAS;IACxB,OAAO,EAAE,MAAM,CAAK;IACpB,eAAe,EAAE,MAAM,CAAM;gBAEjB,WAAW,EAAE,WAAW;IAUpC,QAAQ,IAAI,IAAI;IAiBhB;;OAEG;IACH,eAAe,IAAI,IAAI;IAavB;;;OAGG;IACH,gBAAgB,IAAI,MAAM;IAO1B;;;OAGG;IACH,IAAI,IAAI,IAAI;IAKZ;;;OAGG;IACH,SAAS,IAAI,SAAS;IAItB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;OACG;IACH,WAAW,IAAI,OAAO,UAAU;CAGjC"}
|
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { WasmLasZipDecompressor } from "../../libs/laz-rs-wasm/laz_rs_wasm.js";
|
|
5
|
+
const POINT_FORMAT_READERS = {
|
|
6
|
+
0: dv => {
|
|
7
|
+
return {
|
|
8
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
9
|
+
intensity: dv.getUint16(12, true),
|
|
10
|
+
classification: dv.getUint8(15)
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
1: dv => {
|
|
14
|
+
return {
|
|
15
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
16
|
+
intensity: dv.getUint16(12, true),
|
|
17
|
+
classification: dv.getUint8(15)
|
|
18
|
+
};
|
|
19
|
+
},
|
|
20
|
+
2: dv => {
|
|
21
|
+
return {
|
|
22
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
23
|
+
intensity: dv.getUint16(12, true),
|
|
24
|
+
classification: dv.getUint8(15),
|
|
25
|
+
color: [dv.getUint16(20, true), dv.getUint16(22, true), dv.getUint16(24, true)]
|
|
26
|
+
};
|
|
27
|
+
},
|
|
28
|
+
3: dv => {
|
|
29
|
+
return {
|
|
30
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
31
|
+
intensity: dv.getUint16(12, true),
|
|
32
|
+
classification: dv.getUint8(15),
|
|
33
|
+
color: [dv.getUint16(28, true), dv.getUint16(30, true), dv.getUint16(32, true)]
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
4: dv => {
|
|
37
|
+
return {
|
|
38
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
39
|
+
intensity: dv.getUint16(12, true),
|
|
40
|
+
classification: dv.getUint8(15)
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
5: dv => {
|
|
44
|
+
return {
|
|
45
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
46
|
+
intensity: dv.getUint16(12, true),
|
|
47
|
+
classification: dv.getUint8(15),
|
|
48
|
+
color: [dv.getUint16(28, true), dv.getUint16(30, true), dv.getUint16(32, true)]
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
6: dv => {
|
|
52
|
+
return {
|
|
53
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
54
|
+
intensity: dv.getUint16(12, true),
|
|
55
|
+
classification: dv.getUint8(16)
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
7: dv => {
|
|
59
|
+
return {
|
|
60
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
61
|
+
intensity: dv.getUint16(12, true),
|
|
62
|
+
classification: dv.getUint8(16),
|
|
63
|
+
color: [dv.getUint16(30, true), dv.getUint16(32, true), dv.getUint16(34, true)]
|
|
64
|
+
};
|
|
65
|
+
},
|
|
66
|
+
8: dv => {
|
|
67
|
+
return {
|
|
68
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
69
|
+
intensity: dv.getUint16(12, true),
|
|
70
|
+
classification: dv.getUint8(16),
|
|
71
|
+
color: [dv.getUint16(30, true), dv.getUint16(32, true), dv.getUint16(34, true)]
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
9: dv => {
|
|
75
|
+
return {
|
|
76
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
77
|
+
intensity: dv.getUint16(12, true),
|
|
78
|
+
classification: dv.getUint8(16)
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
10: dv => {
|
|
82
|
+
return {
|
|
83
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
84
|
+
intensity: dv.getUint16(12, true),
|
|
85
|
+
classification: dv.getUint8(16),
|
|
86
|
+
color: [dv.getUint16(30, true), dv.getUint16(32, true), dv.getUint16(34, true)]
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Reads incoming binary data depends on the Type parameter
|
|
92
|
+
* @param buf
|
|
93
|
+
* @param Type
|
|
94
|
+
* @param offset
|
|
95
|
+
* @param count
|
|
96
|
+
* @returns number | number[] from incoming binary data
|
|
97
|
+
*/
|
|
98
|
+
function readAs(buf, Type = {}, offset, count) {
|
|
99
|
+
count = count === undefined || count === 0 ? 1 : count;
|
|
100
|
+
const sub = buf.slice(offset, offset + Type.BYTES_PER_ELEMENT * count);
|
|
101
|
+
const r = new Type(sub);
|
|
102
|
+
if (count === 1) {
|
|
103
|
+
return r[0];
|
|
104
|
+
}
|
|
105
|
+
const ret = [];
|
|
106
|
+
for (let i = 0; i < count; i++) {
|
|
107
|
+
ret.push(r[i]);
|
|
108
|
+
}
|
|
109
|
+
return ret;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Parsing of header's attributes
|
|
113
|
+
* @param arraybuffer
|
|
114
|
+
* @returns header as LASHeader
|
|
115
|
+
*/
|
|
116
|
+
function parseLASHeader(arraybuffer) {
|
|
117
|
+
const ver = new Uint8Array(arraybuffer, 24, 2);
|
|
118
|
+
const version = ver[0] * 10 + ver[1];
|
|
119
|
+
const versionAsString = `${ver[0]}.${ver[1]}`;
|
|
120
|
+
const rawPointsFormatId = readAs(arraybuffer, Uint8Array, 32 * 3 + 8);
|
|
121
|
+
const bit7 = (rawPointsFormatId & 0x80) >> 7;
|
|
122
|
+
const bit6 = (rawPointsFormatId & 0x40) >> 6;
|
|
123
|
+
const isCompressed = bit7 === 1 || bit6 === 1;
|
|
124
|
+
const pointsFormatId = rawPointsFormatId & 0x3f;
|
|
125
|
+
const o = {
|
|
126
|
+
pointsOffset: readAs(arraybuffer, Uint32Array, 32 * 3),
|
|
127
|
+
pointsFormatId,
|
|
128
|
+
pointsStructSize: readAs(arraybuffer, Uint16Array, 32 * 3 + 8 + 1),
|
|
129
|
+
pointsCount: readAs(arraybuffer, Uint32Array, 32 * 3 + 11),
|
|
130
|
+
versionAsString,
|
|
131
|
+
isCompressed
|
|
132
|
+
};
|
|
133
|
+
let start = 32 * 3 + 35;
|
|
134
|
+
o.scale = readAs(arraybuffer, Float64Array, start, 3);
|
|
135
|
+
start += 24; // 8*3
|
|
136
|
+
o.offset = readAs(arraybuffer, Float64Array, start, 3);
|
|
137
|
+
start += 24;
|
|
138
|
+
const bounds = readAs(arraybuffer, Float64Array, start, 6);
|
|
139
|
+
start += 48; // 8*6
|
|
140
|
+
o.maxs = [bounds[0], bounds[2], bounds[4]];
|
|
141
|
+
o.mins = [bounds[1], bounds[3], bounds[5]];
|
|
142
|
+
start += 20; // 8*20
|
|
143
|
+
if (version === 14) {
|
|
144
|
+
o.pointsCount = Number(readAs(arraybuffer, BigUint64Array, start));
|
|
145
|
+
}
|
|
146
|
+
const colorPointFormats = new Set([2, 3, 5, 7, 8, 10]);
|
|
147
|
+
o.hasColor = colorPointFormats.has(pointsFormatId);
|
|
148
|
+
// @ts-expect-error Caused when restoring lazperf
|
|
149
|
+
return o;
|
|
150
|
+
}
|
|
151
|
+
// LAS Loader
|
|
152
|
+
// Loads uncompressed files
|
|
153
|
+
//
|
|
154
|
+
class LASLoader {
|
|
155
|
+
arraybuffer;
|
|
156
|
+
readOffset = 0;
|
|
157
|
+
header = null;
|
|
158
|
+
constructor(arraybuffer) {
|
|
159
|
+
this.arraybuffer = arraybuffer;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* @returns boolean
|
|
163
|
+
*/
|
|
164
|
+
open() {
|
|
165
|
+
// Nothing needs to be done to open this
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Parsing of incoming binary
|
|
170
|
+
* @returns LASHeader
|
|
171
|
+
*/
|
|
172
|
+
getHeader() {
|
|
173
|
+
this.header = parseLASHeader(this.arraybuffer);
|
|
174
|
+
return this.header;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Reading data
|
|
178
|
+
* @param count
|
|
179
|
+
* @returns LasData
|
|
180
|
+
*/
|
|
181
|
+
readData(count) {
|
|
182
|
+
const { header, arraybuffer } = this;
|
|
183
|
+
if (!header) {
|
|
184
|
+
throw new Error('Cannot start reading data till a header request is issued');
|
|
185
|
+
}
|
|
186
|
+
let { readOffset } = this;
|
|
187
|
+
count = Math.min(count, header.pointsCount - readOffset);
|
|
188
|
+
const start = header.pointsOffset + readOffset * header.pointsStructSize;
|
|
189
|
+
const end = start + count * header.pointsStructSize;
|
|
190
|
+
readOffset += count;
|
|
191
|
+
this.readOffset = readOffset;
|
|
192
|
+
return {
|
|
193
|
+
buffer: arraybuffer.slice(start, end),
|
|
194
|
+
count,
|
|
195
|
+
hasMoreData: readOffset < header.pointsCount
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Method which brings data to null to close the file
|
|
200
|
+
* @returns
|
|
201
|
+
*/
|
|
202
|
+
close() {
|
|
203
|
+
// @ts-ignore Possibly null
|
|
204
|
+
this.arraybuffer = null;
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* LAZ Loader
|
|
210
|
+
* Uses NaCL module to load LAZ files
|
|
211
|
+
*/
|
|
212
|
+
class LAZLoader {
|
|
213
|
+
arraybuffer;
|
|
214
|
+
readOffset = 0;
|
|
215
|
+
instance = null;
|
|
216
|
+
header = null;
|
|
217
|
+
constructor(arraybuffer) {
|
|
218
|
+
this.arraybuffer = arraybuffer;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Opens the file
|
|
222
|
+
* @returns boolean
|
|
223
|
+
*/
|
|
224
|
+
open() {
|
|
225
|
+
try {
|
|
226
|
+
const abInt = new Uint8Array(this.arraybuffer);
|
|
227
|
+
this.instance = new WasmLasZipDecompressor(abInt);
|
|
228
|
+
return true;
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
throw new Error(`Failed to open file: ${error.message}`);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
getHeader() {
|
|
235
|
+
try {
|
|
236
|
+
this.header = parseLASHeader(this.arraybuffer);
|
|
237
|
+
return this.header;
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
throw new Error(`Failed to get header: ${error.message}`);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* @param count
|
|
245
|
+
* @returns LASData
|
|
246
|
+
*/
|
|
247
|
+
readData(count) {
|
|
248
|
+
if (!this.instance) {
|
|
249
|
+
throw new Error('You need to open the file before trying to read stuff');
|
|
250
|
+
}
|
|
251
|
+
const { header, instance } = this;
|
|
252
|
+
if (!header) {
|
|
253
|
+
throw new Error('You need to query header before reading, I maintain state that way, sorry :(');
|
|
254
|
+
}
|
|
255
|
+
try {
|
|
256
|
+
const pointsToRead = Math.min(count, header.pointsCount - this.readOffset);
|
|
257
|
+
const buf = new Uint8Array(pointsToRead * header.pointsStructSize);
|
|
258
|
+
const bufRead = new Uint8Array(header.pointsStructSize);
|
|
259
|
+
for (let i = 0; i < pointsToRead; i++) {
|
|
260
|
+
instance.decompress_many(bufRead);
|
|
261
|
+
buf.set(bufRead, i * header.pointsStructSize);
|
|
262
|
+
this.readOffset++;
|
|
263
|
+
}
|
|
264
|
+
return {
|
|
265
|
+
buffer: buf.buffer,
|
|
266
|
+
count: pointsToRead,
|
|
267
|
+
hasMoreData: this.readOffset < header.pointsCount
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
throw new Error(`Failed to read data: ${error.message}`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Deletes the instance
|
|
276
|
+
* @returns boolean
|
|
277
|
+
*/
|
|
278
|
+
close() {
|
|
279
|
+
try {
|
|
280
|
+
if (this.instance !== null) {
|
|
281
|
+
this.instance.free();
|
|
282
|
+
this.instance = null;
|
|
283
|
+
}
|
|
284
|
+
// @ts-ignore Possibly null
|
|
285
|
+
this.arraybuffer = null;
|
|
286
|
+
return true;
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
throw new Error(`Failed to close file: ${error.message}`);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Helper class: Decodes LAS records into points
|
|
295
|
+
*/
|
|
296
|
+
class LASDecoder {
|
|
297
|
+
arrayb;
|
|
298
|
+
decoder;
|
|
299
|
+
pointsCount;
|
|
300
|
+
pointSize;
|
|
301
|
+
constructor(buffer, len, header) {
|
|
302
|
+
this.arrayb = buffer;
|
|
303
|
+
this.decoder = POINT_FORMAT_READERS[header.pointsFormatId];
|
|
304
|
+
this.pointsCount = len;
|
|
305
|
+
this.pointSize = header.pointsStructSize;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Decodes data depends on this point size
|
|
309
|
+
* @param index
|
|
310
|
+
* @returns New object
|
|
311
|
+
*/
|
|
312
|
+
getPoint(index) {
|
|
313
|
+
if (index < 0 || index >= this.pointsCount) {
|
|
314
|
+
throw new Error('Point index out of range');
|
|
315
|
+
}
|
|
316
|
+
const dv = new DataView(this.arrayb, index * this.pointSize, this.pointSize);
|
|
317
|
+
return this.decoder(dv);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* A single consistent interface for loading LAS/LAZ files
|
|
322
|
+
*/
|
|
323
|
+
export class LASFile {
|
|
324
|
+
arraybuffer;
|
|
325
|
+
formatId = 0;
|
|
326
|
+
loader;
|
|
327
|
+
isCompressed = true;
|
|
328
|
+
isOpen = false;
|
|
329
|
+
version = 0;
|
|
330
|
+
versionAsString = '';
|
|
331
|
+
constructor(arraybuffer) {
|
|
332
|
+
this.arraybuffer = arraybuffer;
|
|
333
|
+
this.validate();
|
|
334
|
+
this.loader = this.isCompressed
|
|
335
|
+
? new LAZLoader(this.arraybuffer)
|
|
336
|
+
: new LASLoader(this.arraybuffer);
|
|
337
|
+
}
|
|
338
|
+
validate() {
|
|
339
|
+
const signature = readAs(this.arraybuffer, Uint8Array, 0, 4);
|
|
340
|
+
const check = String.fromCharCode(...signature);
|
|
341
|
+
if (check !== 'LASF') {
|
|
342
|
+
throw new Error('Invalid LAS file');
|
|
343
|
+
}
|
|
344
|
+
if (this.determineVersion() > 14) {
|
|
345
|
+
throw new Error('Only file versions <= 1.4 are supported');
|
|
346
|
+
}
|
|
347
|
+
this.determineFormat();
|
|
348
|
+
if (POINT_FORMAT_READERS[this.formatId] === undefined) {
|
|
349
|
+
throw new Error('The point format ID is not supported');
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Determines format in parameters of LASHeader
|
|
354
|
+
*/
|
|
355
|
+
determineFormat() {
|
|
356
|
+
const formatId = readAs(this.arraybuffer, Uint8Array, 32 * 3 + 8);
|
|
357
|
+
const bit7 = (formatId & 0x80) >> 7;
|
|
358
|
+
const bit6 = (formatId & 0x40) >> 6;
|
|
359
|
+
if (bit7 === 1 && bit6 === 1) {
|
|
360
|
+
throw new Error('Old style compression not supported');
|
|
361
|
+
}
|
|
362
|
+
this.formatId = formatId & 0x3f;
|
|
363
|
+
this.isCompressed = bit7 === 1 || bit6 === 1;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Determines version
|
|
367
|
+
* @returns version
|
|
368
|
+
*/
|
|
369
|
+
determineVersion() {
|
|
370
|
+
const ver = new Uint8Array(this.arraybuffer, 24, 2);
|
|
371
|
+
this.version = ver[0] * 10 + ver[1];
|
|
372
|
+
this.versionAsString = `${ver[0]}.${ver[1]}`;
|
|
373
|
+
return this.version;
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Reads if the file is open
|
|
377
|
+
* @returns boolean
|
|
378
|
+
*/
|
|
379
|
+
open() {
|
|
380
|
+
if (this.loader.open()) {
|
|
381
|
+
this.isOpen = true;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Gets the header
|
|
386
|
+
* @returns Header
|
|
387
|
+
*/
|
|
388
|
+
getHeader() {
|
|
389
|
+
return this.loader.getHeader();
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* @param count
|
|
393
|
+
* @returns LASData
|
|
394
|
+
*/
|
|
395
|
+
readData(count) {
|
|
396
|
+
return this.loader.readData(count);
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Closes the file
|
|
400
|
+
*/
|
|
401
|
+
close() {
|
|
402
|
+
if (this.loader.close()) {
|
|
403
|
+
this.isOpen = false;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
*/
|
|
408
|
+
getUnpacker() {
|
|
409
|
+
return LASDecoder;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
/* eslint no-use-before-define: 2 */
|
|
413
|
+
// export const LASModuleWasLoaded = false;
|
|
414
|
+
//# sourceMappingURL=laslaz-decoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"laslaz-decoder.js","sourceRoot":"","sources":["../../../../src/las/lib/laz-rs-wasm/laslaz-decoder.ts"],"names":[],"mappings":"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"}
|