@loaders.gl/las 4.0.0-beta.1 → 4.0.0-beta.3

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 (54) hide show
  1. package/dist/dist.dev.js +18609 -0
  2. package/dist/{dist.min.js → index.cjs} +2884 -2756
  3. package/dist/{esm/index.js → index.js} +2 -2
  4. package/dist/index.js.map +1 -0
  5. package/dist/{esm/las-loader.js → las-loader.js} +1 -1
  6. package/dist/las-loader.js.map +1 -0
  7. package/dist/las-worker.js +15797 -15503
  8. package/dist/lib/get-las-schema.js.map +1 -0
  9. package/dist/lib/las-types.js.map +1 -0
  10. package/dist/{esm/lib → lib}/laslaz-decoder.js +28 -29
  11. package/dist/lib/laslaz-decoder.js.map +1 -0
  12. package/dist/lib/libs/laz-perf.d.ts.map +1 -1
  13. package/dist/lib/libs/laz-perf.js +2 -0
  14. package/dist/lib/libs/laz-perf.js.map +1 -0
  15. package/dist/{esm/lib → lib}/parse-las.js +2 -2
  16. package/dist/lib/parse-las.js.map +1 -0
  17. package/dist/{esm/workers → workers}/las-worker.js +1 -1
  18. package/dist/workers/las-worker.js.map +1 -0
  19. package/package.json +16 -8
  20. package/src/lib/libs/laz-perf.ts +2 -1
  21. package/dist/bundle.d.ts +0 -2
  22. package/dist/bundle.d.ts.map +0 -1
  23. package/dist/es5/bundle.js +0 -6
  24. package/dist/es5/bundle.js.map +0 -1
  25. package/dist/es5/index.js +0 -44
  26. package/dist/es5/index.js.map +0 -1
  27. package/dist/es5/las-loader.js +0 -30
  28. package/dist/es5/las-loader.js.map +0 -1
  29. package/dist/es5/lib/get-las-schema.js +0 -38
  30. package/dist/es5/lib/get-las-schema.js.map +0 -1
  31. package/dist/es5/lib/las-types.js +0 -2
  32. package/dist/es5/lib/las-types.js.map +0 -1
  33. package/dist/es5/lib/laslaz-decoder.js +0 -364
  34. package/dist/es5/lib/laslaz-decoder.js.map +0 -1
  35. package/dist/es5/lib/libs/laz-perf.js +0 -2
  36. package/dist/es5/lib/libs/laz-perf.js.map +0 -1
  37. package/dist/es5/lib/parse-las.js +0 -187
  38. package/dist/es5/lib/parse-las.js.map +0 -1
  39. package/dist/es5/workers/las-worker.js +0 -6
  40. package/dist/es5/workers/las-worker.js.map +0 -1
  41. package/dist/esm/bundle.js +0 -4
  42. package/dist/esm/bundle.js.map +0 -1
  43. package/dist/esm/index.js.map +0 -1
  44. package/dist/esm/las-loader.js.map +0 -1
  45. package/dist/esm/lib/get-las-schema.js.map +0 -1
  46. package/dist/esm/lib/las-types.js.map +0 -1
  47. package/dist/esm/lib/laslaz-decoder.js.map +0 -1
  48. package/dist/esm/lib/libs/laz-perf.js +0 -2
  49. package/dist/esm/lib/libs/laz-perf.js.map +0 -1
  50. package/dist/esm/lib/parse-las.js.map +0 -1
  51. package/dist/esm/workers/las-worker.js.map +0 -1
  52. package/src/bundle.ts +0 -4
  53. /package/dist/{esm/lib → lib}/get-las-schema.js +0 -0
  54. /package/dist/{esm/lib → lib}/las-types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-las-schema.js","names":["deduceMeshSchema","getLASSchema","lasHeader","attributes","metadataMap","makeMetadataFromLasHeader","schema","metadata","las_pointsOffset","pointsOffset","toString","las_pointsFormatId","pointsFormatId","las_pointsStructSize","pointsStructSize","las_pointsCount","pointsCount","las_scale","JSON","stringify","scale","las_offset","offset","maxs","undefined","las_maxs","mins","las_mins","las_totalToRead","totalToRead","las_pointsFortotalReadmatId","totalRead","versionAsString","las_versionAsString","isCompressed","las_isCompressed"],"sources":["../../src/lib/get-las-schema.ts"],"sourcesContent":["import {Schema, MeshAttributes, deduceMeshSchema} from '@loaders.gl/schema';\nimport type {LASHeader} from './las-types';\n\n/**\n * Gets schema from PLY header\n * @param lasHeader\n * @param metadata\n * @returns Schema\n */\nexport function getLASSchema(lasHeader: LASHeader, attributes: MeshAttributes): Schema {\n const metadataMap = makeMetadataFromLasHeader(lasHeader);\n const schema = deduceMeshSchema(attributes, metadataMap);\n return schema;\n}\n\n/**\n * Make arrow like schema metadata by LASHeader properties\n * @param lasHeader\n * @returns\n */\nexport function makeMetadataFromLasHeader(lasHeader: LASHeader): Record<string, string> {\n const metadata: Record<string, string> = {};\n /* eslint-disable camelcase */\n metadata.las_pointsOffset = lasHeader.pointsOffset.toString(10);\n metadata.las_pointsFormatId = lasHeader.pointsFormatId.toString(10);\n metadata.las_pointsStructSize = lasHeader.pointsStructSize.toString(10);\n metadata.las_pointsCount = lasHeader.pointsCount.toString(10);\n metadata.las_scale = JSON.stringify(lasHeader.scale);\n metadata.las_offset = JSON.stringify(lasHeader.offset);\n if (lasHeader.maxs !== undefined) {\n metadata.las_maxs = JSON.stringify(lasHeader.maxs);\n }\n if (lasHeader.mins !== undefined) {\n metadata.las_mins = JSON.stringify(lasHeader.mins);\n }\n metadata.las_totalToRead = lasHeader.totalToRead.toString(10);\n metadata.las_pointsFortotalReadmatId = lasHeader.totalRead.toString(10);\n if (lasHeader.versionAsString !== undefined) {\n metadata.las_versionAsString = lasHeader.versionAsString;\n }\n if (lasHeader.isCompressed !== undefined) {\n metadata.las_isCompressed = lasHeader.isCompressed.toString();\n }\n return metadata;\n}\n"],"mappings":"AAAA,SAAgCA,gBAAgB,QAAO,oBAAoB;AAS3E,OAAO,SAASC,YAAYA,CAACC,SAAoB,EAAEC,UAA0B,EAAU;EACrF,MAAMC,WAAW,GAAGC,yBAAyB,CAACH,SAAS,CAAC;EACxD,MAAMI,MAAM,GAAGN,gBAAgB,CAACG,UAAU,EAAEC,WAAW,CAAC;EACxD,OAAOE,MAAM;AACf;AAOA,OAAO,SAASD,yBAAyBA,CAACH,SAAoB,EAA0B;EACtF,MAAMK,QAAgC,GAAG,CAAC,CAAC;EAE3CA,QAAQ,CAACC,gBAAgB,GAAGN,SAAS,CAACO,YAAY,CAACC,QAAQ,CAAC,EAAE,CAAC;EAC/DH,QAAQ,CAACI,kBAAkB,GAAGT,SAAS,CAACU,cAAc,CAACF,QAAQ,CAAC,EAAE,CAAC;EACnEH,QAAQ,CAACM,oBAAoB,GAAGX,SAAS,CAACY,gBAAgB,CAACJ,QAAQ,CAAC,EAAE,CAAC;EACvEH,QAAQ,CAACQ,eAAe,GAAGb,SAAS,CAACc,WAAW,CAACN,QAAQ,CAAC,EAAE,CAAC;EAC7DH,QAAQ,CAACU,SAAS,GAAGC,IAAI,CAACC,SAAS,CAACjB,SAAS,CAACkB,KAAK,CAAC;EACpDb,QAAQ,CAACc,UAAU,GAAGH,IAAI,CAACC,SAAS,CAACjB,SAAS,CAACoB,MAAM,CAAC;EACtD,IAAIpB,SAAS,CAACqB,IAAI,KAAKC,SAAS,EAAE;IAChCjB,QAAQ,CAACkB,QAAQ,GAAGP,IAAI,CAACC,SAAS,CAACjB,SAAS,CAACqB,IAAI,CAAC;EACpD;EACA,IAAIrB,SAAS,CAACwB,IAAI,KAAKF,SAAS,EAAE;IAChCjB,QAAQ,CAACoB,QAAQ,GAAGT,IAAI,CAACC,SAAS,CAACjB,SAAS,CAACwB,IAAI,CAAC;EACpD;EACAnB,QAAQ,CAACqB,eAAe,GAAG1B,SAAS,CAAC2B,WAAW,CAACnB,QAAQ,CAAC,EAAE,CAAC;EAC7DH,QAAQ,CAACuB,2BAA2B,GAAG5B,SAAS,CAAC6B,SAAS,CAACrB,QAAQ,CAAC,EAAE,CAAC;EACvE,IAAIR,SAAS,CAAC8B,eAAe,KAAKR,SAAS,EAAE;IAC3CjB,QAAQ,CAAC0B,mBAAmB,GAAG/B,SAAS,CAAC8B,eAAe;EAC1D;EACA,IAAI9B,SAAS,CAACgC,YAAY,KAAKV,SAAS,EAAE;IACxCjB,QAAQ,CAAC4B,gBAAgB,GAAGjC,SAAS,CAACgC,YAAY,CAACxB,QAAQ,CAAC,CAAC;EAC/D;EACA,OAAOH,QAAQ;AACjB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"las-types.js","names":[],"sources":["../../src/lib/las-types.ts"],"sourcesContent":["import {Mesh} from '@loaders.gl/schema';\n\n/**\n * Type for header of the .las file\n */\nexport type LASHeader = {\n pointsOffset: number;\n pointsFormatId: number;\n pointsStructSize: number;\n pointsCount: number;\n scale: [number, number, number];\n offset: [number, number, number];\n maxs?: number[];\n mins?: number[];\n totalToRead: number;\n totalRead: number;\n versionAsString?: string;\n isCompressed?: boolean;\n};\n\n/**\n * loaders.gl Mesh with Draco specific data\n */\nexport type LASMesh = Mesh & {\n loader: 'las';\n loaderData: LASHeader; // Draco specific data\n topology: 'point-list';\n mode: 0;\n};\n"],"mappings":""}
@@ -1,5 +1,4 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import getModule from './libs/laz-perf';
1
+ import getModule from "./libs/laz-perf.js";
3
2
  let Module = null;
4
3
  const POINT_FORMAT_READERS = {
5
4
  0: dv => {
@@ -69,9 +68,9 @@ function parseLASHeader(arraybuffer) {
69
68
  }
70
69
  class LASLoader {
71
70
  constructor(arraybuffer) {
72
- _defineProperty(this, "arraybuffer", void 0);
73
- _defineProperty(this, "readOffset", 0);
74
- _defineProperty(this, "header", {
71
+ this.arraybuffer = void 0;
72
+ this.readOffset = 0;
73
+ this.header = {
75
74
  pointsOffset: 0,
76
75
  pointsFormatId: 0,
77
76
  pointsStructSize: 0,
@@ -84,7 +83,7 @@ class LASLoader {
84
83
  totalRead: 0,
85
84
  versionAsString: '',
86
85
  isCompressed: true
87
- });
86
+ };
88
87
  this.arraybuffer = arraybuffer;
89
88
  }
90
89
  open() {
@@ -145,9 +144,9 @@ class LASLoader {
145
144
  }
146
145
  class LAZLoader {
147
146
  constructor(arraybuffer) {
148
- _defineProperty(this, "arraybuffer", void 0);
149
- _defineProperty(this, "instance", null);
150
- _defineProperty(this, "header", null);
147
+ this.arraybuffer = void 0;
148
+ this.instance = null;
149
+ this.header = null;
151
150
  this.arraybuffer = arraybuffer;
152
151
  if (!Module) {
153
152
  Module = getModule();
@@ -168,7 +167,7 @@ class LAZLoader {
168
167
  this.instance.readOffset = 0;
169
168
  return true;
170
169
  } catch (error) {
171
- throw new Error("Failed to open file: ".concat(error.message));
170
+ throw new Error(`Failed to open file: ${error.message}`);
172
171
  }
173
172
  }
174
173
  getHeader() {
@@ -181,7 +180,7 @@ class LAZLoader {
181
180
  this.header = header;
182
181
  return header;
183
182
  } catch (error) {
184
- throw new Error("Failed to get header: ".concat(error.message));
183
+ throw new Error(`Failed to get header: ${error.message}`);
185
184
  }
186
185
  }
187
186
  readData(count, offset, skip) {
@@ -216,7 +215,7 @@ class LAZLoader {
216
215
  hasMoreData: instance.readOffset < header.pointsCount
217
216
  };
218
217
  } catch (error) {
219
- throw new Error("Failed to read data: ".concat(error.message));
218
+ throw new Error(`Failed to read data: ${error.message}`);
220
219
  }
221
220
  }
222
221
  close() {
@@ -227,20 +226,20 @@ class LAZLoader {
227
226
  }
228
227
  return true;
229
228
  } catch (error) {
230
- throw new Error("Failed to close file: ".concat(error.message));
229
+ throw new Error(`Failed to close file: ${error.message}`);
231
230
  }
232
231
  }
233
232
  }
234
233
  class LASDecoder {
235
234
  constructor(buffer, len, header) {
236
- _defineProperty(this, "arrayb", void 0);
237
- _defineProperty(this, "decoder", void 0);
238
- _defineProperty(this, "pointsCount", void 0);
239
- _defineProperty(this, "pointSize", void 0);
240
- _defineProperty(this, "scale", void 0);
241
- _defineProperty(this, "offset", void 0);
242
- _defineProperty(this, "mins", void 0);
243
- _defineProperty(this, "maxs", void 0);
235
+ this.arrayb = void 0;
236
+ this.decoder = void 0;
237
+ this.pointsCount = void 0;
238
+ this.pointSize = void 0;
239
+ this.scale = void 0;
240
+ this.offset = void 0;
241
+ this.mins = void 0;
242
+ this.maxs = void 0;
244
243
  this.arrayb = buffer;
245
244
  this.decoder = POINT_FORMAT_READERS[header.pointsFormatId];
246
245
  this.pointsCount = len;
@@ -260,13 +259,13 @@ class LASDecoder {
260
259
  }
261
260
  export class LASFile {
262
261
  constructor(arraybuffer) {
263
- _defineProperty(this, "arraybuffer", void 0);
264
- _defineProperty(this, "formatId", 0);
265
- _defineProperty(this, "loader", void 0);
266
- _defineProperty(this, "isCompressed", true);
267
- _defineProperty(this, "isOpen", false);
268
- _defineProperty(this, "version", 0);
269
- _defineProperty(this, "versionAsString", '');
262
+ this.arraybuffer = void 0;
263
+ this.formatId = 0;
264
+ this.loader = void 0;
265
+ this.isCompressed = true;
266
+ this.isOpen = false;
267
+ this.version = 0;
268
+ this.versionAsString = '';
270
269
  this.arraybuffer = arraybuffer;
271
270
  if (this.determineVersion() > 13) {
272
271
  throw new Error('Only file versions <= 1.3 are supported at this time');
@@ -290,7 +289,7 @@ export class LASFile {
290
289
  determineVersion() {
291
290
  const ver = new Int8Array(this.arraybuffer, 24, 2);
292
291
  this.version = ver[0] * 10 + ver[1];
293
- this.versionAsString = "".concat(ver[0], ".").concat(ver[1]);
292
+ this.versionAsString = `${ver[0]}.${ver[1]}`;
294
293
  return this.version;
295
294
  }
296
295
  open() {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"laslaz-decoder.js","names":["getModule","Module","POINT_FORMAT_READERS","dv","position","getInt32","intensity","getUint16","classification","getUint8","color","readAs","buf","Type","arguments","length","undefined","offset","count","sub","slice","BYTES_PER_ELEMENT","r","ret","i","push","parseLASHeader","arraybuffer","start","o","pointsOffset","Uint32Array","pointsFormatId","Uint8Array","pointsStructSize","Uint16Array","pointsCount","scale","Float64Array","bounds","maxs","mins","LASLoader","constructor","readOffset","header","totalToRead","totalRead","versionAsString","isCompressed","open","getHeader","readData","skip","Error","Math","min","end","buffer","hasMoreData","pointsToRead","bufferSize","ceil","pointsRead","src","set","close","LAZLoader","instance","LASZip","abInt","_malloc","byteLength","HEAPU8","error","message","thisBuf","bufRead","getPoint","a","delete","LASDecoder","len","arrayb","decoder","pointSize","index","DataView","LASFile","formatId","loader","isOpen","version","determineVersion","determineFormat","bit7","bit6","ver","Int8Array","getUnpacker","LASModuleWasLoaded"],"sources":["../../src/lib/laslaz-decoder.ts"],"sourcesContent":["/*\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 getModule from './libs/laz-perf';\n\nlet Module: any = null;\n\ntype LASReader = (dv: DataView) => {\n [LASAttribute: string]: number | number[];\n};\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};\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 let start = 32 * 3 + 35;\n\n const o: Partial<LASHeader> = {\n pointsOffset: readAs(arraybuffer, Uint32Array, 32 * 3),\n pointsFormatId: readAs(arraybuffer, Uint8Array, 32 * 3 + 8),\n pointsStructSize: readAs(arraybuffer, Uint16Array, 32 * 3 + 8 + 1),\n pointsCount: readAs(arraybuffer, Uint32Array, 32 * 3 + 11),\n scale: readAs(arraybuffer, Float64Array, start, 3)\n };\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 return o as LASHeader;\n}\n\n// LAS Loader\n// Loads uncompressed files\n//\nclass LASLoader {\n arraybuffer: ArrayBuffer;\n readOffset: number = 0;\n header: LASHeader = {\n pointsOffset: 0,\n pointsFormatId: 0,\n pointsStructSize: 0,\n pointsCount: 0,\n scale: [0, 0, 0],\n offset: [0, 0, 0],\n maxs: [0],\n mins: [0],\n totalToRead: 0,\n totalRead: 0,\n versionAsString: '',\n isCompressed: true\n };\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 * @param skip\n * @returns new ArrayBuffer, count, hasMoreData\n */\n readData(count: number, skip: number) {\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 let start: number;\n\n if (skip <= 1) {\n count = Math.min(count, header.pointsCount - readOffset);\n start = header.pointsOffset + readOffset * header.pointsStructSize;\n const end = start + count * header.pointsStructSize;\n readOffset += count;\n this.readOffset = readOffset;\n return {\n buffer: arraybuffer.slice(start, end),\n count,\n hasMoreData: readOffset < header.pointsCount\n };\n }\n\n const pointsToRead = Math.min(count * skip, header.pointsCount - readOffset);\n const bufferSize = Math.ceil(pointsToRead / skip);\n let pointsRead = 0;\n\n const buf = new Uint8Array(bufferSize * header.pointsStructSize);\n for (let i = 0; i < pointsToRead; i++) {\n if (i % skip === 0) {\n start = header.pointsOffset + readOffset * header.pointsStructSize;\n const src = new Uint8Array(arraybuffer, start, header.pointsStructSize);\n\n buf.set(src, pointsRead * header.pointsStructSize);\n pointsRead++;\n }\n\n readOffset++;\n }\n this.readOffset = readOffset;\n\n return {\n buffer: buf.buffer,\n count: pointsRead,\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 instance: any = null; // LASZip instance\n header: LASHeader | null = null;\n\n constructor(arraybuffer: ArrayBuffer) {\n this.arraybuffer = arraybuffer;\n\n if (!Module) {\n // Avoid executing laz-perf on import\n Module = getModule();\n }\n }\n\n /**\n * Opens the file\n * @returns boolean\n */\n open(): boolean {\n try {\n const {arraybuffer} = this;\n this.instance = new Module.LASZip();\n const abInt = new Uint8Array(arraybuffer);\n const buf = Module._malloc(arraybuffer.byteLength);\n\n this.instance.arraybuffer = arraybuffer;\n this.instance.buf = buf;\n Module.HEAPU8.set(abInt, buf);\n this.instance.open(buf, arraybuffer.byteLength);\n\n this.instance.readOffset = 0;\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 if (!this.instance) {\n throw new Error('You need to open the file before trying to read header');\n }\n\n try {\n const header = parseLASHeader(this.instance.arraybuffer);\n header.pointsFormatId &= 0x3f;\n this.header = header;\n return header;\n } catch (error) {\n throw new Error(`Failed to get header: ${(error as Error).message}`);\n }\n }\n /**\n * @param count\n * @param offset\n * @param skip\n * @returns Data\n */\n readData(count: number, offset: number, skip: 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 * skip, header.pointsCount - instance.readOffset);\n const bufferSize = Math.ceil(pointsToRead / skip);\n let pointsRead = 0;\n\n const thisBuf = new Uint8Array(bufferSize * header.pointsStructSize);\n const bufRead = Module._malloc(header.pointsStructSize);\n for (let i = 0; i < pointsToRead; i++) {\n instance.getPoint(bufRead);\n\n if (i % skip === 0) {\n const a = new Uint8Array(Module.HEAPU8.buffer, bufRead, header.pointsStructSize);\n thisBuf.set(a, pointsRead * header.pointsStructSize);\n pointsRead++;\n }\n\n instance.readOffset++;\n }\n\n return {\n buffer: thisBuf.buffer,\n count: pointsRead,\n hasMoreData: instance.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.delete();\n this.instance = null;\n }\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) => {};\n pointsCount: number;\n pointSize: number;\n scale: [number, number, number];\n offset?: [number, number, number];\n mins?: number[];\n maxs?: 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 this.scale = header.scale;\n this.offset = header.offset;\n this.mins = header.mins;\n this.maxs = header.maxs;\n }\n\n /**\n * Decodes data depends on this point size\n * @param index\n * @returns New object\n */\n getPoint(index: number): {} {\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 if (this.determineVersion() > 13) {\n throw new Error('Only file versions <= 1.3 are supported at this time');\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 this.loader = this.isCompressed\n ? new LAZLoader(this.arraybuffer)\n : new LASLoader(this.arraybuffer);\n }\n\n /**\n * Determines format in parameters of LASHeaer\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 Int8Array(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 * @param start\n * @param skip\n * @returns Data\n */\n readData(count: number, start: number, skip: number): LASData {\n return this.loader.readData(count, start, skip);\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\nexport const LASModuleWasLoaded = false;\n\n/* eslint no-use-before-define: 2 */\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"laz-perf.d.ts","sourceRoot":"","sources":["../../../src/lib/libs/laz-perf.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,OAAO,UAAU,SAAS,QA6moBhC"}
1
+ {"version":3,"file":"laz-perf.d.ts","sourceRoot":"","sources":["../../../src/lib/libs/laz-perf.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,OAAO,UAAU,SAAS,QA8moBhC"}