@loaders.gl/las 4.3.2 → 4.4.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +12067 -102
- package/dist/dist.min.js +26 -17
- package/dist/index.cjs +56 -27
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +4 -33
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -12
- package/dist/las-arrow-loader.d.ts +28 -0
- package/dist/las-arrow-loader.d.ts.map +1 -0
- package/dist/las-arrow-loader.js +20 -0
- package/dist/las-format.d.ts +14 -0
- package/dist/las-format.d.ts.map +1 -0
- package/dist/las-format.js +16 -0
- package/dist/las-loader.d.ts +28 -0
- package/dist/las-loader.d.ts.map +1 -1
- package/dist/las-loader.js +17 -2
- package/dist/las-worker.js +38 -25
- package/dist/lib/get-las-schema.d.ts.map +1 -1
- package/dist/lib/get-las-schema.js +4 -1
- package/dist/lib/las-types.d.ts +1 -1
- package/dist/lib/las-types.d.ts.map +1 -1
- package/dist/lib/las-types.js +3 -0
- package/dist/lib/laslaz-decoder.d.ts.map +1 -1
- package/dist/lib/laslaz-decoder.js +3 -0
- package/dist/lib/parse-las.d.ts.map +1 -1
- package/dist/lib/parse-las.js +5 -2
- package/dist/workers/las-worker.js +3 -0
- package/package.json +6 -5
- package/src/index.ts +7 -18
- package/src/las-arrow-loader.ts +25 -0
- package/src/las-format.ts +19 -0
- package/src/las-loader.ts +22 -2
- package/src/lib/get-las-schema.ts +6 -1
- package/src/lib/las-types.ts +5 -1
- package/src/lib/laslaz-decoder.ts +4 -0
- package/src/lib/parse-las.ts +6 -2
- package/src/workers/las-worker.ts +4 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,34 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
export { LASWorkerLoader };
|
|
6
|
-
/**
|
|
7
|
-
* Loader for the LAS (LASer) point cloud format
|
|
8
|
-
* @note Does not support LAS v1.4
|
|
9
|
-
*/
|
|
10
|
-
export declare const LASLoader: {
|
|
11
|
-
readonly parse: (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) => Promise<LASMesh>;
|
|
12
|
-
readonly parseSync: (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) => LASMesh;
|
|
13
|
-
readonly dataType: LASMesh;
|
|
14
|
-
readonly batchType: never;
|
|
15
|
-
readonly name: "LAS";
|
|
16
|
-
readonly id: "las";
|
|
17
|
-
readonly module: "las";
|
|
18
|
-
readonly version: any;
|
|
19
|
-
readonly worker: true;
|
|
20
|
-
readonly extensions: ["las", "laz"];
|
|
21
|
-
readonly mimeTypes: ["application/octet-stream"];
|
|
22
|
-
readonly text: true;
|
|
23
|
-
readonly binary: true;
|
|
24
|
-
readonly tests: ["LAS"];
|
|
25
|
-
readonly options: {
|
|
26
|
-
readonly las: {
|
|
27
|
-
readonly shape: "mesh";
|
|
28
|
-
readonly fp64: false;
|
|
29
|
-
readonly skip: 1;
|
|
30
|
-
readonly colorDepth: 8;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
};
|
|
1
|
+
export { LASFormat } from "./las-format.js";
|
|
2
|
+
export type { LASLoaderOptions } from "./las-loader.js";
|
|
3
|
+
export { LASWorkerLoader, LASLoader } from "./las-loader.js";
|
|
4
|
+
export { LASArrowLoader } from "./las-arrow-loader.js";
|
|
34
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,SAAS,EAAC,wBAAqB;AAEvC,YAAY,EAAC,gBAAgB,EAAC,wBAAqB;AACnD,OAAO,EAAC,eAAe,EAAE,SAAS,EAAC,wBAAqB;AACxD,OAAO,EAAC,cAAc,EAAC,8BAA2B"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export const LASLoader = {
|
|
9
|
-
...LASWorkerLoader,
|
|
10
|
-
parse: async (arrayBuffer, options) => parseLAS(arrayBuffer, options),
|
|
11
|
-
parseSync: (arrayBuffer, options) => parseLAS(arrayBuffer, options)
|
|
12
|
-
};
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
// LASLoader
|
|
5
|
+
export { LASFormat } from "./las-format.js";
|
|
6
|
+
export { LASWorkerLoader, LASLoader } from "./las-loader.js";
|
|
7
|
+
export { LASArrowLoader } from "./las-arrow-loader.js";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ArrowTable } from '@loaders.gl/schema';
|
|
2
|
+
/**
|
|
3
|
+
* Worker loader for LAS - Point Cloud Data
|
|
4
|
+
*/
|
|
5
|
+
export declare const LASArrowLoader: {
|
|
6
|
+
readonly dataType: ArrowTable;
|
|
7
|
+
readonly batchType: never;
|
|
8
|
+
readonly worker: false;
|
|
9
|
+
readonly parse: (arrayBuffer: ArrayBuffer) => Promise<ArrowTable>;
|
|
10
|
+
readonly name: "LAS";
|
|
11
|
+
readonly id: "las";
|
|
12
|
+
readonly module: "las";
|
|
13
|
+
readonly version: any;
|
|
14
|
+
readonly extensions: ["las", "laz"];
|
|
15
|
+
readonly mimeTypes: ["application/octet-stream"];
|
|
16
|
+
readonly text: true;
|
|
17
|
+
readonly binary: true;
|
|
18
|
+
readonly tests: ["LAS"];
|
|
19
|
+
readonly options: {
|
|
20
|
+
readonly las: {
|
|
21
|
+
readonly shape: "mesh";
|
|
22
|
+
readonly fp64: false;
|
|
23
|
+
readonly skip: 1;
|
|
24
|
+
readonly colorDepth: 8;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=las-arrow-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"las-arrow-loader.d.ts","sourceRoot":"","sources":["../src/las-arrow-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAMnD;;GAEG;AACH,eAAO,MAAM,cAAc;uBAEI,UAAU;wBACpB,KAAK;;kCAEG,WAAW;;;;;;;;;;;;;;;;;;CAKkC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { LASWorkerLoader } from "./las-loader.js";
|
|
5
|
+
import { convertMeshToTable } from '@loaders.gl/schema-utils';
|
|
6
|
+
import { parseLAS } from "./lib/parse-las.js";
|
|
7
|
+
/**
|
|
8
|
+
* Worker loader for LAS - Point Cloud Data
|
|
9
|
+
*/
|
|
10
|
+
export const LASArrowLoader = {
|
|
11
|
+
...LASWorkerLoader,
|
|
12
|
+
dataType: null,
|
|
13
|
+
batchType: null,
|
|
14
|
+
worker: false,
|
|
15
|
+
parse: async (arrayBuffer) => {
|
|
16
|
+
const mesh = parseLAS(arrayBuffer);
|
|
17
|
+
const arrowTable = convertMeshToTable(mesh, 'arrow-table');
|
|
18
|
+
return arrowTable;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LAS (LASer) point cloud format
|
|
3
|
+
*/
|
|
4
|
+
export declare const LASFormat: {
|
|
5
|
+
readonly name: "LAS";
|
|
6
|
+
readonly id: "las";
|
|
7
|
+
readonly module: "las";
|
|
8
|
+
readonly extensions: ["las", "laz"];
|
|
9
|
+
readonly mimeTypes: ["application/octet-stream"];
|
|
10
|
+
readonly text: true;
|
|
11
|
+
readonly binary: true;
|
|
12
|
+
readonly tests: ["LAS"];
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=las-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"las-format.d.ts","sourceRoot":"","sources":["../src/las-format.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;CASK,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
/**
|
|
5
|
+
* LAS (LASer) point cloud format
|
|
6
|
+
*/
|
|
7
|
+
export const LASFormat = {
|
|
8
|
+
name: 'LAS',
|
|
9
|
+
id: 'las',
|
|
10
|
+
module: 'las',
|
|
11
|
+
extensions: ['las', 'laz'], // LAZ is the "compressed" flavor of LAS,
|
|
12
|
+
mimeTypes: ['application/octet-stream'], // TODO - text version?
|
|
13
|
+
text: true,
|
|
14
|
+
binary: true,
|
|
15
|
+
tests: ['LAS']
|
|
16
|
+
};
|
package/dist/las-loader.d.ts
CHANGED
|
@@ -11,11 +11,39 @@ export type LASLoaderOptions = LoaderOptions & {
|
|
|
11
11
|
};
|
|
12
12
|
onProgress?: Function;
|
|
13
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* Loader for the LAS (LASer) point cloud format
|
|
16
|
+
* @note Does not support LAS v1.4
|
|
17
|
+
*/
|
|
18
|
+
export declare const LASWorkerLoader: {
|
|
19
|
+
readonly dataType: LASMesh;
|
|
20
|
+
readonly batchType: never;
|
|
21
|
+
readonly name: "LAS";
|
|
22
|
+
readonly id: "las";
|
|
23
|
+
readonly module: "las";
|
|
24
|
+
readonly version: any;
|
|
25
|
+
readonly worker: true;
|
|
26
|
+
readonly extensions: ["las", "laz"];
|
|
27
|
+
readonly mimeTypes: ["application/octet-stream"];
|
|
28
|
+
readonly text: true;
|
|
29
|
+
readonly binary: true;
|
|
30
|
+
readonly tests: ["LAS"];
|
|
31
|
+
readonly options: {
|
|
32
|
+
readonly las: {
|
|
33
|
+
readonly shape: "mesh";
|
|
34
|
+
readonly fp64: false;
|
|
35
|
+
readonly skip: 1;
|
|
36
|
+
readonly colorDepth: 8;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
};
|
|
14
40
|
/**
|
|
15
41
|
* Loader for the LAS (LASer) point cloud format
|
|
16
42
|
* @note Does not support LAS v1.4
|
|
17
43
|
*/
|
|
18
44
|
export declare const LASLoader: {
|
|
45
|
+
readonly parse: (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) => Promise<LASMesh>;
|
|
46
|
+
readonly parseSync: (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) => LASMesh;
|
|
19
47
|
readonly dataType: LASMesh;
|
|
20
48
|
readonly batchType: never;
|
|
21
49
|
readonly name: "LAS";
|
package/dist/las-loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"las-loader.d.ts","sourceRoot":"","sources":["../src/las-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"las-loader.d.ts","sourceRoot":"","sources":["../src/las-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAA2B,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAC,OAAO,EAAC,2BAAwB;AAQ7C,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,aAAa,CAAC;QAClD,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,8EAA8E;QAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe;uBAGG,OAAO;wBACjB,KAAK;;;;;;;;;;;;;;;;;;;CAoBmC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,SAAS;kCAEO,WAAW,YAAY,gBAAgB;sCAEzC,WAAW,YAAY,gBAAgB;uBA/BnC,OAAO;wBACjB,KAAK;;;;;;;;;;;;;;;;;;;CAgC6C,CAAC"}
|
package/dist/las-loader.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { LASFormat } from "./las-format.js";
|
|
5
|
+
import { parseLAS } from "./lib/parse-las.js";
|
|
1
6
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
2
7
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
3
|
-
const VERSION = typeof "4.
|
|
8
|
+
const VERSION = typeof "4.4.0-alpha.0" !== 'undefined' ? "4.4.0-alpha.0" : 'latest';
|
|
4
9
|
/**
|
|
5
10
|
* Loader for the LAS (LASer) point cloud format
|
|
6
11
|
* @note Does not support LAS v1.4
|
|
7
12
|
*/
|
|
8
|
-
export const
|
|
13
|
+
export const LASWorkerLoader = {
|
|
14
|
+
...LASFormat,
|
|
9
15
|
dataType: null,
|
|
10
16
|
batchType: null,
|
|
11
17
|
name: 'LAS',
|
|
@@ -27,3 +33,12 @@ export const LASLoader = {
|
|
|
27
33
|
}
|
|
28
34
|
}
|
|
29
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* Loader for the LAS (LASer) point cloud format
|
|
38
|
+
* @note Does not support LAS v1.4
|
|
39
|
+
*/
|
|
40
|
+
export const LASLoader = {
|
|
41
|
+
...LASWorkerLoader,
|
|
42
|
+
parse: async (arrayBuffer, options) => parseLAS(arrayBuffer, options),
|
|
43
|
+
parseSync: (arrayBuffer, options) => parseLAS(arrayBuffer, options)
|
|
44
|
+
};
|
package/dist/las-worker.js
CHANGED
|
@@ -216,34 +216,21 @@
|
|
|
216
216
|
return await parser(data, { ...options }, context, loader);
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
-
// src/las-
|
|
220
|
-
var
|
|
221
|
-
var LASLoader = {
|
|
222
|
-
dataType: null,
|
|
223
|
-
batchType: null,
|
|
219
|
+
// src/las-format.ts
|
|
220
|
+
var LASFormat = {
|
|
224
221
|
name: "LAS",
|
|
225
222
|
id: "las",
|
|
226
223
|
module: "las",
|
|
227
|
-
version: VERSION,
|
|
228
|
-
worker: true,
|
|
229
224
|
extensions: ["las", "laz"],
|
|
230
225
|
// LAZ is the "compressed" flavor of LAS,
|
|
231
226
|
mimeTypes: ["application/octet-stream"],
|
|
232
227
|
// TODO - text version?
|
|
233
228
|
text: true,
|
|
234
229
|
binary: true,
|
|
235
|
-
tests: ["LAS"]
|
|
236
|
-
options: {
|
|
237
|
-
las: {
|
|
238
|
-
shape: "mesh",
|
|
239
|
-
fp64: false,
|
|
240
|
-
skip: 1,
|
|
241
|
-
colorDepth: 8
|
|
242
|
-
}
|
|
243
|
-
}
|
|
230
|
+
tests: ["LAS"]
|
|
244
231
|
};
|
|
245
232
|
|
|
246
|
-
// ../schema/src/lib/
|
|
233
|
+
// ../schema-utils/src/lib/schema/data-type.ts
|
|
247
234
|
function getDataTypeFromTypedArray(array) {
|
|
248
235
|
switch (array.constructor) {
|
|
249
236
|
case Int8Array:
|
|
@@ -268,7 +255,7 @@
|
|
|
268
255
|
}
|
|
269
256
|
}
|
|
270
257
|
|
|
271
|
-
// ../schema/src/lib/mesh/mesh-utils.ts
|
|
258
|
+
// ../schema-utils/src/lib/mesh/mesh-utils.ts
|
|
272
259
|
function getMeshBoundingBox(attributes) {
|
|
273
260
|
let minX = Infinity;
|
|
274
261
|
let minY = Infinity;
|
|
@@ -295,7 +282,7 @@
|
|
|
295
282
|
];
|
|
296
283
|
}
|
|
297
284
|
|
|
298
|
-
// ../schema/src/lib/mesh/deduce-mesh-schema.ts
|
|
285
|
+
// ../schema-utils/src/lib/mesh/deduce-mesh-schema.ts
|
|
299
286
|
function deduceMeshSchema(attributes, metadata = {}) {
|
|
300
287
|
const fields = deduceMeshFields(attributes);
|
|
301
288
|
return { fields, metadata };
|
|
@@ -19015,7 +19002,7 @@
|
|
|
19015
19002
|
o.mins = [bounds[1], bounds[3], bounds[5]];
|
|
19016
19003
|
return o;
|
|
19017
19004
|
}
|
|
19018
|
-
var
|
|
19005
|
+
var LASLoader = class {
|
|
19019
19006
|
arraybuffer;
|
|
19020
19007
|
readOffset = 0;
|
|
19021
19008
|
header = {
|
|
@@ -19254,7 +19241,7 @@
|
|
|
19254
19241
|
if (POINT_FORMAT_READERS[this.formatId] === void 0) {
|
|
19255
19242
|
throw new Error("The point format ID is not supported");
|
|
19256
19243
|
}
|
|
19257
|
-
this.loader = this.isCompressed ? new LAZLoader(this.arraybuffer) : new
|
|
19244
|
+
this.loader = this.isCompressed ? new LAZLoader(this.arraybuffer) : new LASLoader(this.arraybuffer);
|
|
19258
19245
|
}
|
|
19259
19246
|
/**
|
|
19260
19247
|
* Determines format in parameters of LASHeaer
|
|
@@ -19496,13 +19483,39 @@
|
|
|
19496
19483
|
return twoByteColor;
|
|
19497
19484
|
}
|
|
19498
19485
|
|
|
19499
|
-
// src/
|
|
19500
|
-
var
|
|
19501
|
-
|
|
19486
|
+
// src/las-loader.ts
|
|
19487
|
+
var VERSION = true ? "4.4.0-alpha.0" : "latest";
|
|
19488
|
+
var LASWorkerLoader = {
|
|
19489
|
+
...LASFormat,
|
|
19490
|
+
dataType: null,
|
|
19491
|
+
batchType: null,
|
|
19492
|
+
name: "LAS",
|
|
19493
|
+
id: "las",
|
|
19494
|
+
module: "las",
|
|
19495
|
+
version: VERSION,
|
|
19496
|
+
worker: true,
|
|
19497
|
+
extensions: ["las", "laz"],
|
|
19498
|
+
// LAZ is the "compressed" flavor of LAS,
|
|
19499
|
+
mimeTypes: ["application/octet-stream"],
|
|
19500
|
+
// TODO - text version?
|
|
19501
|
+
text: true,
|
|
19502
|
+
binary: true,
|
|
19503
|
+
tests: ["LAS"],
|
|
19504
|
+
options: {
|
|
19505
|
+
las: {
|
|
19506
|
+
shape: "mesh",
|
|
19507
|
+
fp64: false,
|
|
19508
|
+
skip: 1,
|
|
19509
|
+
colorDepth: 8
|
|
19510
|
+
}
|
|
19511
|
+
}
|
|
19512
|
+
};
|
|
19513
|
+
var LASLoader2 = {
|
|
19514
|
+
...LASWorkerLoader,
|
|
19502
19515
|
parse: async (arrayBuffer, options) => parseLAS(arrayBuffer, options),
|
|
19503
19516
|
parseSync: (arrayBuffer, options) => parseLAS(arrayBuffer, options)
|
|
19504
19517
|
};
|
|
19505
19518
|
|
|
19506
19519
|
// src/workers/las-worker.ts
|
|
19507
|
-
createLoaderWorker(
|
|
19520
|
+
createLoaderWorker(LASLoader2);
|
|
19508
19521
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-las-schema.d.ts","sourceRoot":"","sources":["../../src/lib/get-las-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-las-schema.d.ts","sourceRoot":"","sources":["../../src/lib/get-las-schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAC,SAAS,EAAC,uBAAoB;AAE3C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,GAAG,MAAM,CAIrF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBtF"}
|
package/dist/lib/las-types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"las-types.d.ts","sourceRoot":"","sources":["../../src/lib/las-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"las-types.d.ts","sourceRoot":"","sources":["../../src/lib/las-types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B,MAAM,EAAE,KAAK,CAAC;IACd,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC;CACT,CAAC"}
|
package/dist/lib/las-types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"laslaz-decoder.d.ts","sourceRoot":"","sources":["../../src/lib/laslaz-decoder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"laslaz-decoder.d.ts","sourceRoot":"","sources":["../../src/lib/laslaz-decoder.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,SAAS,EAAC,uBAAoB;AAa3C,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AA0FF,cAAM,SAAS;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAK;IACvB,MAAM,EAAE,SAAS,CAaf;gBAEU,WAAW,EAAE,WAAW;IAIpC;;OAEG;IACH,IAAI;IAIJ;;;OAGG;IACH,SAAS;IAKT;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;IA8CpC;;;OAGG;IACH,KAAK;CAKN;AAED;;;GAGG;AACH,cAAM,SAAS;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,CAAQ;IACrB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAEpB,WAAW,EAAE,WAAW;IASpC;;;OAGG;IACH,IAAI,IAAI,OAAO;IAoBf,SAAS,IAAI,SAAS;IActB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IA0C9D;;;OAGG;IACH,KAAK,IAAI,OAAO;CAYjB;AAED;;GAEG;AACH,cAAM,UAAU;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEJ,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IAW/D;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE;CAQ5B;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;IAiBpC;;OAEG;IACH,eAAe,IAAI,IAAI;IAavB;;;OAGG;IACH,gBAAgB,IAAI,MAAM;IAO1B;;;OAGG;IACH,IAAI,IAAI,IAAI;IAKZ;;;OAGG;IACH,SAAS,IAAI,SAAS;IAItB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7D;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;OACG;IACH,WAAW,IAAI,OAAO,UAAU;CAGjC;AAED,eAAO,MAAM,kBAAkB,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-las.d.ts","sourceRoot":"","sources":["../../src/lib/parse-las.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-las.d.ts","sourceRoot":"","sources":["../../src/lib/parse-las.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,gBAAgB,EAAC,yBAAsB;AACpD,OAAO,KAAK,EAAC,OAAO,EAAY,uBAAoB;AAapD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAKtF;AAsHD;;;;;;GAMG;AAEH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,GAAE,GAAQ,GAAG,IAAI,CAwC/F"}
|
package/dist/lib/parse-las.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { getMeshBoundingBox /* , convertMeshToTable */ } from '@loaders.gl/schema-utils';
|
|
2
5
|
import { LASFile } from "./laslaz-decoder.js";
|
|
3
6
|
import { getLASSchema } from "./get-las-schema.js";
|
|
4
7
|
/**
|
|
@@ -11,7 +14,7 @@ export function parseLAS(arrayBuffer, options) {
|
|
|
11
14
|
return parseLASMesh(arrayBuffer, options);
|
|
12
15
|
// This code breaks pointcloud example on the website
|
|
13
16
|
// const mesh = parseLASMesh(arrayBuffer, options);
|
|
14
|
-
// return
|
|
17
|
+
// return convertMeshToTable(mesh, options?.las?.shape || 'mesh') as LASMesh | ArrowTable | ColumnarTable;
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
17
20
|
* Parsing of .las file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/las",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.4.0-alpha.1",
|
|
4
4
|
"description": "Framework-independent loader for the LAS and LAZ formats",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -49,12 +49,13 @@
|
|
|
49
49
|
"build-worker": "esbuild src/workers/las-worker.ts --bundle --outfile=dist/las-worker.js --define:__VERSION__=\\\"$npm_package_version\\\""
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@loaders.gl/loader-utils": "4.
|
|
53
|
-
"@loaders.gl/schema": "4.
|
|
52
|
+
"@loaders.gl/loader-utils": "4.4.0-alpha.1",
|
|
53
|
+
"@loaders.gl/schema": "4.4.0-alpha.1",
|
|
54
|
+
"@loaders.gl/schema-utils": "4.4.0-alpha.1",
|
|
54
55
|
"laz-perf": "^0.0.6"
|
|
55
56
|
},
|
|
56
57
|
"peerDependencies": {
|
|
57
|
-
"@loaders.gl/core": "
|
|
58
|
+
"@loaders.gl/core": "4.4.0-alpha.0"
|
|
58
59
|
},
|
|
59
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "f1732de45907bd500bf4eedb4803beca8bf4bfb0"
|
|
60
61
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,22 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {LASLoader as LASWorkerLoader} from './las-loader';
|
|
5
|
-
import {parseLAS} from './lib/parse-las';
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
6
4
|
|
|
7
5
|
// LASLoader
|
|
8
6
|
|
|
9
|
-
export
|
|
10
|
-
export {LASWorkerLoader};
|
|
7
|
+
export {LASFormat} from './las-format';
|
|
11
8
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
*/
|
|
16
|
-
export const LASLoader = {
|
|
17
|
-
...LASWorkerLoader,
|
|
18
|
-
parse: async (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) =>
|
|
19
|
-
parseLAS(arrayBuffer, options),
|
|
20
|
-
parseSync: (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) =>
|
|
21
|
-
parseLAS(arrayBuffer, options)
|
|
22
|
-
} as const satisfies LoaderWithParser<LASMesh, never, LASLoaderOptions>;
|
|
9
|
+
export type {LASLoaderOptions} from './las-loader';
|
|
10
|
+
export {LASWorkerLoader, LASLoader} from './las-loader';
|
|
11
|
+
export {LASArrowLoader} from './las-arrow-loader';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import type {LoaderWithParser} from '@loaders.gl/loader-utils';
|
|
6
|
+
import type {ArrowTable} from '@loaders.gl/schema';
|
|
7
|
+
|
|
8
|
+
import {LASLoaderOptions, LASWorkerLoader} from './las-loader';
|
|
9
|
+
import {convertMeshToTable} from '@loaders.gl/schema-utils';
|
|
10
|
+
import {parseLAS} from './lib/parse-las';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Worker loader for LAS - Point Cloud Data
|
|
14
|
+
*/
|
|
15
|
+
export const LASArrowLoader = {
|
|
16
|
+
...LASWorkerLoader,
|
|
17
|
+
dataType: null as unknown as ArrowTable,
|
|
18
|
+
batchType: null as never,
|
|
19
|
+
worker: false,
|
|
20
|
+
parse: async (arrayBuffer: ArrayBuffer) => {
|
|
21
|
+
const mesh = parseLAS(arrayBuffer);
|
|
22
|
+
const arrowTable = convertMeshToTable(mesh, 'arrow-table');
|
|
23
|
+
return arrowTable;
|
|
24
|
+
}
|
|
25
|
+
} as const satisfies LoaderWithParser<ArrowTable, never, LASLoaderOptions>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import type {Format} from '@loaders.gl/loader-utils';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* LAS (LASer) point cloud format
|
|
9
|
+
*/
|
|
10
|
+
export const LASFormat = {
|
|
11
|
+
name: 'LAS',
|
|
12
|
+
id: 'las',
|
|
13
|
+
module: 'las',
|
|
14
|
+
extensions: ['las', 'laz'], // LAZ is the "compressed" flavor of LAS,
|
|
15
|
+
mimeTypes: ['application/octet-stream'], // TODO - text version?
|
|
16
|
+
text: true,
|
|
17
|
+
binary: true,
|
|
18
|
+
tests: ['LAS']
|
|
19
|
+
} as const satisfies Format;
|
package/src/las-loader.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
1
5
|
// LASER (LAS) FILE FORMAT
|
|
2
|
-
import type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
6
|
+
import type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
3
7
|
import type {LASMesh} from './lib/las-types';
|
|
8
|
+
import {LASFormat} from './las-format';
|
|
9
|
+
import {parseLAS} from './lib/parse-las';
|
|
4
10
|
|
|
5
11
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
6
12
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
@@ -22,7 +28,9 @@ export type LASLoaderOptions = LoaderOptions & {
|
|
|
22
28
|
* Loader for the LAS (LASer) point cloud format
|
|
23
29
|
* @note Does not support LAS v1.4
|
|
24
30
|
*/
|
|
25
|
-
export const
|
|
31
|
+
export const LASWorkerLoader = {
|
|
32
|
+
...LASFormat,
|
|
33
|
+
|
|
26
34
|
dataType: null as unknown as LASMesh,
|
|
27
35
|
batchType: null as never,
|
|
28
36
|
|
|
@@ -45,3 +53,15 @@ export const LASLoader = {
|
|
|
45
53
|
}
|
|
46
54
|
}
|
|
47
55
|
} as const satisfies Loader<LASMesh, never, LASLoaderOptions>;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Loader for the LAS (LASer) point cloud format
|
|
59
|
+
* @note Does not support LAS v1.4
|
|
60
|
+
*/
|
|
61
|
+
export const LASLoader = {
|
|
62
|
+
...LASWorkerLoader,
|
|
63
|
+
parse: async (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) =>
|
|
64
|
+
parseLAS(arrayBuffer, options),
|
|
65
|
+
parseSync: (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) =>
|
|
66
|
+
parseLAS(arrayBuffer, options)
|
|
67
|
+
} as const satisfies LoaderWithParser<LASMesh, never, LASLoaderOptions>;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import {Schema, MeshAttributes} from '@loaders.gl/schema';
|
|
6
|
+
import {deduceMeshSchema} from '@loaders.gl/schema-utils';
|
|
2
7
|
import type {LASHeader} from './las-types';
|
|
3
8
|
|
|
4
9
|
/**
|
package/src/lib/las-types.ts
CHANGED
package/src/lib/parse-las.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
1
5
|
// ported and es6-ified from https://github.com/verma/plasio/
|
|
2
6
|
// import type {ArrowTable, ColumnarTable} from '@loaders.gl/schema';
|
|
3
7
|
import type {LASLoaderOptions} from '../las-loader';
|
|
4
8
|
import type {LASMesh, LASHeader} from './las-types';
|
|
5
|
-
import {getMeshBoundingBox /* ,
|
|
9
|
+
import {getMeshBoundingBox /* , convertMeshToTable */} from '@loaders.gl/schema-utils';
|
|
6
10
|
import {LASFile} from './laslaz-decoder';
|
|
7
11
|
import {getLASSchema} from './get-las-schema';
|
|
8
12
|
|
|
@@ -24,7 +28,7 @@ export function parseLAS(arrayBuffer: ArrayBuffer, options?: LASLoaderOptions):
|
|
|
24
28
|
return parseLASMesh(arrayBuffer, options);
|
|
25
29
|
// This code breaks pointcloud example on the website
|
|
26
30
|
// const mesh = parseLASMesh(arrayBuffer, options);
|
|
27
|
-
// return
|
|
31
|
+
// return convertMeshToTable(mesh, options?.las?.shape || 'mesh') as LASMesh | ArrowTable | ColumnarTable;
|
|
28
32
|
}
|
|
29
33
|
|
|
30
34
|
/**
|