@loaders.gl/las 4.0.0-alpha.4 → 4.0.0-alpha.6

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.
Files changed (82) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +2 -2
  4. package/dist/dist.min.js +19087 -0
  5. package/dist/es5/bundle.js +6 -0
  6. package/dist/es5/bundle.js.map +1 -0
  7. package/dist/es5/index.js +44 -0
  8. package/dist/es5/index.js.map +1 -0
  9. package/dist/es5/las-loader.js +30 -0
  10. package/dist/es5/las-loader.js.map +1 -0
  11. package/dist/es5/lib/get-las-schema.js +38 -0
  12. package/dist/es5/lib/get-las-schema.js.map +1 -0
  13. package/dist/es5/lib/las-types.js +2 -0
  14. package/dist/es5/lib/las-types.js.map +1 -0
  15. package/dist/es5/lib/laslaz-decoder.js +364 -0
  16. package/dist/es5/lib/laslaz-decoder.js.map +1 -0
  17. package/dist/es5/lib/libs/laz-perf.js +2 -0
  18. package/dist/es5/lib/libs/laz-perf.js.map +1 -0
  19. package/dist/es5/lib/parse-las.js +187 -0
  20. package/dist/es5/lib/parse-las.js.map +1 -0
  21. package/dist/es5/workers/las-worker.js +6 -0
  22. package/dist/es5/workers/las-worker.js.map +1 -0
  23. package/dist/esm/bundle.js +4 -0
  24. package/dist/esm/bundle.js.map +1 -0
  25. package/dist/esm/index.js +9 -0
  26. package/dist/esm/index.js.map +1 -0
  27. package/dist/esm/las-loader.js +23 -0
  28. package/dist/esm/las-loader.js.map +1 -0
  29. package/dist/esm/lib/get-las-schema.js +31 -0
  30. package/dist/esm/lib/get-las-schema.js.map +1 -0
  31. package/dist/esm/lib/las-types.js +2 -0
  32. package/dist/esm/lib/las-types.js.map +1 -0
  33. package/dist/esm/lib/laslaz-decoder.js +317 -0
  34. package/dist/esm/lib/laslaz-decoder.js.map +1 -0
  35. package/dist/esm/lib/libs/laz-perf.js +2 -0
  36. package/dist/esm/lib/libs/laz-perf.js.map +1 -0
  37. package/dist/esm/lib/parse-las.js +174 -0
  38. package/dist/esm/lib/parse-las.js.map +1 -0
  39. package/dist/esm/workers/las-worker.js +4 -0
  40. package/dist/esm/workers/las-worker.js.map +1 -0
  41. package/dist/index.d.ts +11 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +13 -8
  44. package/dist/las-loader.d.ts +16 -0
  45. package/dist/las-loader.d.ts.map +1 -0
  46. package/dist/las-loader.js +27 -21
  47. package/dist/las-worker.js +18210 -33163
  48. package/dist/lib/get-las-schema.d.ts +16 -0
  49. package/dist/lib/get-las-schema.d.ts.map +1 -0
  50. package/dist/lib/get-las-schema.js +45 -35
  51. package/dist/lib/las-types.d.ts +28 -0
  52. package/dist/lib/las-types.d.ts.map +1 -0
  53. package/dist/lib/las-types.js +2 -2
  54. package/dist/lib/laslaz-decoder.d.ts +134 -0
  55. package/dist/lib/laslaz-decoder.d.ts.map +1 -0
  56. package/dist/lib/laslaz-decoder.js +366 -363
  57. package/dist/lib/libs/laz-perf.d.ts +2 -0
  58. package/dist/lib/libs/laz-perf.d.ts.map +1 -0
  59. package/dist/lib/libs/laz-perf.js +19006 -0
  60. package/dist/lib/parse-las.d.ts +18 -0
  61. package/dist/lib/parse-las.d.ts.map +1 -0
  62. package/dist/lib/parse-las.js +178 -178
  63. package/dist/workers/las-worker.d.ts +2 -0
  64. package/dist/workers/las-worker.d.ts.map +1 -0
  65. package/dist/workers/las-worker.js +5 -4
  66. package/package.json +10 -10
  67. package/src/index.ts +3 -4
  68. package/src/las-loader.ts +3 -3
  69. package/src/lib/get-las-schema.ts +16 -15
  70. package/src/lib/laslaz-decoder.ts +1 -1
  71. package/src/lib/libs/laz-perf.ts +20615 -0
  72. package/src/lib/parse-las.ts +8 -9
  73. package/dist/bundle.js.map +0 -1
  74. package/dist/index.js.map +0 -1
  75. package/dist/las-loader.js.map +0 -1
  76. package/dist/lib/get-las-schema.js.map +0 -1
  77. package/dist/lib/las-types.js.map +0 -1
  78. package/dist/lib/laslaz-decoder.js.map +0 -1
  79. package/dist/lib/parse-las.js.map +0 -1
  80. package/dist/libs/laz-perf.js +0 -19492
  81. package/src/libs/laz-perf.js +0 -19492
  82. /package/src/workers/{las-worker.js → las-worker.ts} +0 -0
@@ -0,0 +1,16 @@
1
+ import { Schema, MeshAttributes } from '@loaders.gl/schema';
2
+ import type { LASHeader } from './las-types';
3
+ /**
4
+ * Gets schema from PLY header
5
+ * @param lasHeader
6
+ * @param metadata
7
+ * @returns Schema
8
+ */
9
+ export declare function getLASSchema(lasHeader: LASHeader, attributes: MeshAttributes): Schema;
10
+ /**
11
+ * Make arrow like schema metadata by LASHeader properties
12
+ * @param lasHeader
13
+ * @returns
14
+ */
15
+ export declare function makeMetadataFromLasHeader(lasHeader: LASHeader): Record<string, string>;
16
+ //# sourceMappingURL=get-las-schema.d.ts.map
@@ -0,0 +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,MAAM,aAAa,CAAC;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,37 +1,47 @@
1
- import { deduceMeshSchema } from '@loaders.gl/schema';
2
- export function getLASSchema(lasHeader, attributes) {
3
- const metadataMap = makeMetadataFromLasHeader(lasHeader);
4
- const schema = deduceMeshSchema(attributes, metadataMap);
5
- return schema;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeMetadataFromLasHeader = exports.getLASSchema = void 0;
4
+ const schema_1 = require("@loaders.gl/schema");
5
+ /**
6
+ * Gets schema from PLY header
7
+ * @param lasHeader
8
+ * @param metadata
9
+ * @returns Schema
10
+ */
11
+ function getLASSchema(lasHeader, attributes) {
12
+ const metadataMap = makeMetadataFromLasHeader(lasHeader);
13
+ const schema = (0, schema_1.deduceMeshSchema)(attributes, metadataMap);
14
+ return schema;
6
15
  }
7
- export function makeMetadataFromLasHeader(lasHeader) {
8
- const metadataMap = new Map();
9
- metadataMap.set('las_pointsOffset', lasHeader.pointsOffset.toString(10));
10
- metadataMap.set('las_pointsFormatId', lasHeader.pointsFormatId.toString(10));
11
- metadataMap.set('las_pointsStructSize', lasHeader.pointsStructSize.toString(10));
12
- metadataMap.set('las_pointsCount', lasHeader.pointsCount.toString(10));
13
- metadataMap.set('las_scale', JSON.stringify(lasHeader.scale));
14
- metadataMap.set('las_offset', JSON.stringify(lasHeader.offset));
15
-
16
- if (lasHeader.maxs !== undefined) {
17
- metadataMap.set('las_maxs', JSON.stringify(lasHeader.maxs));
18
- }
19
-
20
- if (lasHeader.mins !== undefined) {
21
- metadataMap.set('las_mins', JSON.stringify(lasHeader.mins));
22
- }
23
-
24
- metadataMap.set('las_totalToRead', lasHeader.totalToRead.toString(10));
25
- metadataMap.set('las_pointsFortotalReadmatId', lasHeader.totalRead.toString(10));
26
-
27
- if (lasHeader.versionAsString !== undefined) {
28
- metadataMap.set('las_versionAsString', lasHeader.versionAsString);
29
- }
30
-
31
- if (lasHeader.isCompressed !== undefined) {
32
- metadataMap.set('las_isCompressed', lasHeader.isCompressed.toString());
33
- }
34
-
35
- return metadataMap;
16
+ exports.getLASSchema = getLASSchema;
17
+ /**
18
+ * Make arrow like schema metadata by LASHeader properties
19
+ * @param lasHeader
20
+ * @returns
21
+ */
22
+ function makeMetadataFromLasHeader(lasHeader) {
23
+ const metadata = {};
24
+ /* eslint-disable camelcase */
25
+ metadata.las_pointsOffset = lasHeader.pointsOffset.toString(10);
26
+ metadata.las_pointsFormatId = lasHeader.pointsFormatId.toString(10);
27
+ metadata.las_pointsStructSize = lasHeader.pointsStructSize.toString(10);
28
+ metadata.las_pointsCount = lasHeader.pointsCount.toString(10);
29
+ metadata.las_scale = JSON.stringify(lasHeader.scale);
30
+ metadata.las_offset = JSON.stringify(lasHeader.offset);
31
+ if (lasHeader.maxs !== undefined) {
32
+ metadata.las_maxs = JSON.stringify(lasHeader.maxs);
33
+ }
34
+ if (lasHeader.mins !== undefined) {
35
+ metadata.las_mins = JSON.stringify(lasHeader.mins);
36
+ }
37
+ metadata.las_totalToRead = lasHeader.totalToRead.toString(10);
38
+ metadata.las_pointsFortotalReadmatId = lasHeader.totalRead.toString(10);
39
+ if (lasHeader.versionAsString !== undefined) {
40
+ metadata.las_versionAsString = lasHeader.versionAsString;
41
+ }
42
+ if (lasHeader.isCompressed !== undefined) {
43
+ metadata.las_isCompressed = lasHeader.isCompressed.toString();
44
+ }
45
+ return metadata;
36
46
  }
37
- //# sourceMappingURL=get-las-schema.js.map
47
+ exports.makeMetadataFromLasHeader = makeMetadataFromLasHeader;
@@ -0,0 +1,28 @@
1
+ import { Mesh } from '@loaders.gl/schema';
2
+ /**
3
+ * Type for header of the .las file
4
+ */
5
+ export type LASHeader = {
6
+ pointsOffset: number;
7
+ pointsFormatId: number;
8
+ pointsStructSize: number;
9
+ pointsCount: number;
10
+ scale: [number, number, number];
11
+ offset: [number, number, number];
12
+ maxs?: number[];
13
+ mins?: number[];
14
+ totalToRead: number;
15
+ totalRead: number;
16
+ versionAsString?: string;
17
+ isCompressed?: boolean;
18
+ };
19
+ /**
20
+ * loaders.gl Mesh with Draco specific data
21
+ */
22
+ export type LASMesh = Mesh & {
23
+ loader: 'las';
24
+ loaderData: LASHeader;
25
+ topology: 'point-list';
26
+ mode: 0;
27
+ };
28
+ //# sourceMappingURL=las-types.d.ts.map
@@ -0,0 +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,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=las-types.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,134 @@
1
+ import type { LASHeader } from './las-types';
2
+ type LASData = {
3
+ buffer: ArrayBuffer;
4
+ count: number;
5
+ hasMoreData: boolean;
6
+ };
7
+ declare class LASLoader {
8
+ arraybuffer: ArrayBuffer;
9
+ readOffset: number;
10
+ header: LASHeader;
11
+ constructor(arraybuffer: ArrayBuffer);
12
+ /**
13
+ * @returns boolean
14
+ */
15
+ open(): boolean;
16
+ /**
17
+ * Parsing of incoming binary
18
+ * @returns LASHeader
19
+ */
20
+ getHeader(): LASHeader;
21
+ /**
22
+ * Reading data
23
+ * @param count
24
+ * @param skip
25
+ * @returns new ArrayBuffer, count, hasMoreData
26
+ */
27
+ readData(count: number, skip: number): {
28
+ buffer: ArrayBuffer;
29
+ count: number;
30
+ hasMoreData: boolean;
31
+ };
32
+ /**
33
+ * Method which brings data to null to close the file
34
+ * @returns
35
+ */
36
+ close(): boolean;
37
+ }
38
+ /**
39
+ * LAZ Loader
40
+ * Uses NaCL module to load LAZ files
41
+ */
42
+ declare class LAZLoader {
43
+ arraybuffer: ArrayBuffer;
44
+ instance: any;
45
+ header: LASHeader | null;
46
+ constructor(arraybuffer: ArrayBuffer);
47
+ /**
48
+ * Opens the file
49
+ * @returns boolean
50
+ */
51
+ open(): boolean;
52
+ getHeader(): LASHeader;
53
+ /**
54
+ * @param count
55
+ * @param offset
56
+ * @param skip
57
+ * @returns Data
58
+ */
59
+ readData(count: number, offset: number, skip: number): LASData;
60
+ /**
61
+ * Deletes the instance
62
+ * @returns boolean
63
+ */
64
+ close(): boolean;
65
+ }
66
+ /**
67
+ * Helper class: Decodes LAS records into points
68
+ */
69
+ declare class LASDecoder {
70
+ arrayb: ArrayBuffer;
71
+ decoder: (dv: DataView) => {};
72
+ pointsCount: number;
73
+ pointSize: number;
74
+ scale: [number, number, number];
75
+ offset?: [number, number, number];
76
+ mins?: number[];
77
+ maxs?: number[];
78
+ constructor(buffer: ArrayBuffer, len: number, header: LASHeader);
79
+ /**
80
+ * Decodes data depends on this point size
81
+ * @param index
82
+ * @returns New object
83
+ */
84
+ getPoint(index: number): {};
85
+ }
86
+ /**
87
+ * A single consistent interface for loading LAS/LAZ files
88
+ */
89
+ export declare class LASFile {
90
+ arraybuffer: ArrayBuffer;
91
+ formatId: number;
92
+ loader: LASLoader | LAZLoader;
93
+ isCompressed: boolean;
94
+ isOpen: boolean;
95
+ version: number;
96
+ versionAsString: string;
97
+ constructor(arraybuffer: ArrayBuffer);
98
+ /**
99
+ * Determines format in parameters of LASHeaer
100
+ */
101
+ determineFormat(): void;
102
+ /**
103
+ * Determines version
104
+ * @returns version
105
+ */
106
+ determineVersion(): number;
107
+ /**
108
+ * Reads if the file is open
109
+ * @returns boolean
110
+ */
111
+ open(): void;
112
+ /**
113
+ * Gets the header
114
+ * @returns Header
115
+ */
116
+ getHeader(): LASHeader;
117
+ /**
118
+ * @param count
119
+ * @param start
120
+ * @param skip
121
+ * @returns Data
122
+ */
123
+ readData(count: number, start: number, skip: number): LASData;
124
+ /**
125
+ * Closes the file
126
+ */
127
+ close(): void;
128
+ /**
129
+ */
130
+ getUnpacker(): typeof LASDecoder;
131
+ }
132
+ export declare const LASModuleWasLoaded = false;
133
+ export {};
134
+ //# sourceMappingURL=laslaz-decoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"laslaz-decoder.d.ts","sourceRoot":"","sources":["../../src/lib/laslaz-decoder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;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;CAWjB;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"}