lazts
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

LAZ.ts ⠇⠁⠵

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 on laz-perf
  • supports funky coordinate systems
  • uses vitest 🧪 for testing

Install from npm

npm install lazts

Usage

import { parse } from 'lazts/lazts';

//1) obtain ArrayBuffer somehow
const arrayBuffer = openFileAsArray('testdata/test.las');
//2) parse it
const data: LazData = await parse(arrayBuffer);

where LazData is defined as

interface LazData {
    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 the adjustOffset option:

const dataWithNonZeroOffset = await parse(buffer, {
    adjustOffset: true,
});

Package Sidebar

Install

npm i lazts

Weekly Downloads

5

Version

1.0.0

License

MIT

Unpacked Size

157 kB

Total Files

16

Last publish

Collaborators

  • vojtatom