@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.
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +2 -2
- package/dist/dist.min.js +19087 -0
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/index.js +44 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/las-loader.js +30 -0
- package/dist/es5/las-loader.js.map +1 -0
- package/dist/es5/lib/get-las-schema.js +38 -0
- package/dist/es5/lib/get-las-schema.js.map +1 -0
- package/dist/es5/lib/las-types.js +2 -0
- package/dist/es5/lib/las-types.js.map +1 -0
- package/dist/es5/lib/laslaz-decoder.js +364 -0
- package/dist/es5/lib/laslaz-decoder.js.map +1 -0
- package/dist/es5/lib/libs/laz-perf.js +2 -0
- package/dist/es5/lib/libs/laz-perf.js.map +1 -0
- package/dist/es5/lib/parse-las.js +187 -0
- package/dist/es5/lib/parse-las.js.map +1 -0
- package/dist/es5/workers/las-worker.js +6 -0
- package/dist/es5/workers/las-worker.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/las-loader.js +23 -0
- package/dist/esm/las-loader.js.map +1 -0
- package/dist/esm/lib/get-las-schema.js +31 -0
- package/dist/esm/lib/get-las-schema.js.map +1 -0
- package/dist/esm/lib/las-types.js +2 -0
- package/dist/esm/lib/las-types.js.map +1 -0
- package/dist/esm/lib/laslaz-decoder.js +317 -0
- package/dist/esm/lib/laslaz-decoder.js.map +1 -0
- package/dist/esm/lib/libs/laz-perf.js +2 -0
- package/dist/esm/lib/libs/laz-perf.js.map +1 -0
- package/dist/esm/lib/parse-las.js +174 -0
- package/dist/esm/lib/parse-las.js.map +1 -0
- package/dist/esm/workers/las-worker.js +4 -0
- package/dist/esm/workers/las-worker.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -8
- package/dist/las-loader.d.ts +16 -0
- package/dist/las-loader.d.ts.map +1 -0
- package/dist/las-loader.js +27 -21
- package/dist/las-worker.js +18210 -33163
- package/dist/lib/get-las-schema.d.ts +16 -0
- package/dist/lib/get-las-schema.d.ts.map +1 -0
- package/dist/lib/get-las-schema.js +45 -35
- package/dist/lib/las-types.d.ts +28 -0
- package/dist/lib/las-types.d.ts.map +1 -0
- package/dist/lib/las-types.js +2 -2
- package/dist/lib/laslaz-decoder.d.ts +134 -0
- package/dist/lib/laslaz-decoder.d.ts.map +1 -0
- package/dist/lib/laslaz-decoder.js +366 -363
- package/dist/lib/libs/laz-perf.d.ts +2 -0
- package/dist/lib/libs/laz-perf.d.ts.map +1 -0
- package/dist/lib/libs/laz-perf.js +19006 -0
- package/dist/lib/parse-las.d.ts +18 -0
- package/dist/lib/parse-las.d.ts.map +1 -0
- package/dist/lib/parse-las.js +178 -178
- package/dist/workers/las-worker.d.ts +2 -0
- package/dist/workers/las-worker.d.ts.map +1 -0
- package/dist/workers/las-worker.js +5 -4
- package/package.json +10 -10
- package/src/index.ts +3 -4
- package/src/las-loader.ts +3 -3
- package/src/lib/get-las-schema.ts +16 -15
- package/src/lib/laslaz-decoder.ts +1 -1
- package/src/lib/libs/laz-perf.ts +20615 -0
- package/src/lib/parse-las.ts +8 -9
- package/dist/bundle.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/las-loader.js.map +0 -1
- package/dist/lib/get-las-schema.js.map +0 -1
- package/dist/lib/las-types.js.map +0 -1
- package/dist/lib/laslaz-decoder.js.map +0 -1
- package/dist/lib/parse-las.js.map +0 -1
- package/dist/libs/laz-perf.js +0 -19492
- package/src/libs/laz-perf.js +0 -19492
- /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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
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"}
|
package/dist/lib/las-types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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"}
|