- Notifications
You must be signed in to change notification settings - Fork0
⠇⠁⠵ LAS/LAZ Pointcloud Reader in TypeScript
License
NotificationsYou must be signed in to change notification settings
vojtatom/laz.ts
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
TypeScript package for loading LAS/LAZ, primary developed for for WebGL applications, intended for lazy people who just want to load their point clouds and don't care about the details.
- ✅ returns a dev-friendly format
- ✅ internally based onlaz-perf
- ✅ supports funky coordinate systems
- ✅ uses vitest 🧪 for testing
Install fromnpm
npm install lazts
import{parse}from'lazts/lazts';//1) obtain ArrayBuffer somehowconstarrayBuffer=openFileAsArray('testdata/test.las');//2) parse itconstdata:LazData=awaitparse(arrayBuffer);
whereLazData
is defined as
interfaceLazData{header:{pointsOffset:number;pointsFormatId:number;pointsStructSize:number;pointsCount:number;scale:[number,number,number];offset:[number,number,number];maxs:[number,number,number];mins:[number,number,number];totalToRead:number;totalRead:number;};attributes:{position:{value:Int32Array;size:3};intensity:{value:Float32Array;size:1};classification:{value:Uint8Array;size:1};color0?:{value:Uint8Array;size:4};};}
When working with funky coordinates (e.g. the coordinates are too big and there is no offset), you can use theadjustOffset
option:
constdataWithNonZeroOffset=awaitparse(buffer,{adjustOffset:true,});
About
⠇⠁⠵ LAS/LAZ Pointcloud Reader in TypeScript