@loaders.gl/las
Version:
Framework-independent loader for the LAS and LAZ formats
134 lines • 3.03 kB
TypeScript
import type { LASHeader } from "../las-types.js";
import { WasmLasZipDecompressor } from "../../libs/laz-rs-wasm/laz_rs_wasm.js";
type LASPoint = {
position: [number, number, number];
intensity: number;
classification: number;
color?: [number, number, number];
};
type LASData = {
buffer: ArrayBuffer;
count: number;
hasMoreData: boolean;
};
declare class LASLoader {
arraybuffer: ArrayBuffer;
readOffset: number;
header: LASHeader | null;
constructor(arraybuffer: ArrayBuffer);
/**
* @returns boolean
*/
open(): boolean;
/**
* Parsing of incoming binary
* @returns LASHeader
*/
getHeader(): LASHeader;
/**
* Reading data
* @param count
* @param skip
* @returns LasData
*/
readData(count: number, skip: number): LASData;
/**
* Method which brings data to null to close the file
* @returns
*/
close(): boolean;
}
/**
* LAZ Loader
* Uses NaCL module to load LAZ files
*/
declare class LAZLoader {
arraybuffer: ArrayBuffer;
readOffset: number;
instance: WasmLasZipDecompressor | null;
header: LASHeader | null;
constructor(arraybuffer: ArrayBuffer);
/**
* Opens the file
* @returns boolean
*/
open(): boolean;
getHeader(): LASHeader;
/**
* @param count
* @param offset
* @param skip
* @returns LASData
*/
readData(count: number, skip: number): LASData;
/**
* Deletes the instance
* @returns boolean
*/
close(): boolean;
}
/**
* Helper class: Decodes LAS records into points
*/
declare class LASDecoder {
arrayb: ArrayBuffer;
decoder: (dv: DataView) => LASPoint;
pointsCount: number;
pointSize: number;
constructor(buffer: ArrayBuffer, len: number, header: LASHeader);
/**
* Decodes data depends on this point size
* @param index
* @returns New object
*/
getPoint(index: number): LASPoint;
}
/**
* A single consistent interface for loading LAS/LAZ files
*/
export declare class LASFile {
arraybuffer: ArrayBuffer;
formatId: number;
loader: LASLoader | LAZLoader;
isCompressed: boolean;
isOpen: boolean;
version: number;
versionAsString: string;
constructor(arraybuffer: ArrayBuffer);
validate(): void;
/**
* Determines format in parameters of LASHeader
*/
determineFormat(): void;
/**
* Determines version
* @returns version
*/
determineVersion(): number;
/**
* Reads if the file is open
* @returns boolean
*/
open(): void;
/**
* Gets the header
* @returns Header
*/
getHeader(): LASHeader;
/**
* @param count
* @param start
* @param skip
* @returns LASData
*/
readData(count: number, skip: number): LASData;
/**
* Closes the file
*/
close(): void;
/**
*/
getUnpacker(): typeof LASDecoder;
}
export {};
//# sourceMappingURL=laslaz-decoder.d.ts.map