@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/index.d.ts CHANGED
@@ -1,34 +1,5 @@
1
- import type { LASLoaderOptions } from "./las-loader.js";
2
- import type { LASMesh } from "./lib/las-types.js";
3
- import { LASLoader as LASWorkerLoader } from "./las-loader.js";
4
- export type { LASLoaderOptions };
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAC,wBAAqB;AACnD,OAAO,KAAK,EAAC,OAAO,EAAC,2BAAwB;AAC7C,OAAO,EAAC,SAAS,IAAI,eAAe,EAAC,wBAAqB;AAK1D,YAAY,EAAC,gBAAgB,EAAC,CAAC;AAC/B,OAAO,EAAC,eAAe,EAAC,CAAC;AAEzB;;;GAGG;AACH,eAAO,MAAM,SAAS;kCAEO,WAAW,YAAY,gBAAgB;sCAEzC,WAAW,YAAY,gBAAgB;;;;;;;;;;;;;;;;;;;;;CAEK,CAAC"}
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
- import { LASLoader as LASWorkerLoader } from "./las-loader.js";
2
- import { parseLAS } from "./lib/parse-las.js";
3
- export { LASWorkerLoader };
4
- /**
5
- * Loader for the LAS (LASer) point cloud format
6
- * @note Does not support LAS v1.4
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
+ };
@@ -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";
@@ -1 +1 @@
1
- {"version":3,"file":"las-loader.d.ts","sourceRoot":"","sources":["../src/las-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAS,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAC,OAAO,EAAC,2BAAwB;AAM7C,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,SAAS;uBACS,OAAO;wBACjB,KAAK;;;;;;;;;;;;;;;;;;;CAoBmC,CAAC"}
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"}
@@ -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.3.1" !== 'undefined' ? "4.3.1" : 'latest';
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 LASLoader = {
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
+ };
@@ -216,34 +216,21 @@
216
216
  return await parser(data, { ...options }, context, loader);
217
217
  }
218
218
 
219
- // src/las-loader.ts
220
- var VERSION = true ? "4.3.1" : "latest";
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/table/simple-table/data-type.ts
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 LASLoader2 = class {
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 LASLoader2(this.arraybuffer);
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/index.ts
19500
- var LASLoader3 = {
19501
- ...LASLoader,
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(LASLoader3);
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":"AAAA,OAAO,EAAC,MAAM,EAAE,cAAc,EAAmB,MAAM,oBAAoB,CAAC;AAC5E,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"}
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"}
@@ -1,4 +1,7 @@
1
- import { deduceMeshSchema } from '@loaders.gl/schema';
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { deduceMeshSchema } from '@loaders.gl/schema-utils';
2
5
  /**
3
6
  * Gets schema from PLY header
4
7
  * @param lasHeader
@@ -1,4 +1,4 @@
1
- import { Mesh } from '@loaders.gl/schema';
1
+ import type { Mesh } from '@loaders.gl/schema';
2
2
  /**
3
3
  * Type for header of the .las file
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"las-types.d.ts","sourceRoot":"","sources":["../../src/lib/las-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAC;AAExC;;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"}
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"}
@@ -1 +1,4 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"laslaz-decoder.d.ts","sourceRoot":"","sources":["../../src/lib/laslaz-decoder.ts"],"names":[],"mappings":"AAMA,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
+ {"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,3 +1,6 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import getModule from "./libs/laz-perf.js";
2
5
  let Module = null;
3
6
  const POINT_FORMAT_READERS = {
@@ -1 +1 @@
1
- {"version":3,"file":"parse-las.d.ts","sourceRoot":"","sources":["../../src/lib/parse-las.ts"],"names":[],"mappings":"AAEA,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"}
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"}
@@ -1,4 +1,7 @@
1
- import { getMeshBoundingBox /* , convertMesh */ } from '@loaders.gl/schema';
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 convertMesh(mesh, options?.las?.shape || 'mesh') as LASMesh | ArrowTable | ColumnarTable;
17
+ // return convertMeshToTable(mesh, options?.las?.shape || 'mesh') as LASMesh | ArrowTable | ColumnarTable;
15
18
  }
16
19
  /**
17
20
  * Parsing of .las file
@@ -1,3 +1,6 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { createLoaderWorker } from '@loaders.gl/loader-utils';
2
5
  import { LASLoader } from "../index.js";
3
6
  createLoaderWorker(LASLoader);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/las",
3
- "version": "4.3.2",
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.3.2",
53
- "@loaders.gl/schema": "4.3.2",
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": "^4.3.0"
58
+ "@loaders.gl/core": "4.4.0-alpha.0"
58
59
  },
59
- "gitHead": "b4203b8703f64a38d6f79a3113bc7bb51d45c93a"
60
+ "gitHead": "f1732de45907bd500bf4eedb4803beca8bf4bfb0"
60
61
  }
package/src/index.ts CHANGED
@@ -1,22 +1,11 @@
1
- import type {LoaderWithParser} from '@loaders.gl/loader-utils';
2
- import type {LASLoaderOptions} from './las-loader';
3
- import type {LASMesh} from './lib/las-types';
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 type {LASLoaderOptions};
10
- export {LASWorkerLoader};
7
+ export {LASFormat} from './las-format';
11
8
 
12
- /**
13
- * Loader for the LAS (LASer) point cloud format
14
- * @note Does not support LAS v1.4
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 LASLoader = {
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
- import {Schema, MeshAttributes, deduceMeshSchema} from '@loaders.gl/schema';
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
  /**
@@ -1,4 +1,8 @@
1
- import {Mesh} from '@loaders.gl/schema';
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import type {Mesh} from '@loaders.gl/schema';
2
6
 
3
7
  /**
4
8
  * Type for header of the .las file
@@ -1,3 +1,7 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  /*
2
6
  Modified from Uday Verma and Howard Butler's plasio
3
7
  https://github.com/verma/plasio/
@@ -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 /* , convertMesh */} from '@loaders.gl/schema';
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 convertMesh(mesh, options?.las?.shape || 'mesh') as LASMesh | ArrowTable | ColumnarTable;
31
+ // return convertMeshToTable(mesh, options?.las?.shape || 'mesh') as LASMesh | ArrowTable | ColumnarTable;
28
32
  }
29
33
 
30
34
  /**