A source that reads from a LAS or LAZ file.

Note: if you wish to read Cloud Optimized Point Cloud (COPC) LAZ files, use the COPCSource instead.

LAZ decompression is done in background threads using workers. If you wish to disable workers (for a noticeable cost in performance), you can set LASSourceOptions.enableWorkers to false in constructor options.

Note: this source uses the laz-perf package to perform decoding of point cloud data. This package uses WebAssembly. If you wish to override the path to the required .wasm file, use setLazPerfPath() before using this source. The default path is DEFAULT_LAZPERF_PATH.

This source supports LAS 1.2 and 1.4 only.

This source supports decimation. By passing the LASSourceOptions.decimate argument to a value other than 1, every Nth point will be kept and other points will be discarded during read operations.

This source supports filtering over dimensions (also known as attributes). By providing filters in the form of callback functions to apply to various dimensions, it is possible to eliminate points during reads. For example, it is possible to remove unwanted classifications such as noise from the output points.

Note that dimension filtering is independent from the selected attribute. In other words, it is possible to select the dimension "Intensity", while filtering on dimensions "Classification" and "ReturnNumber" for example.

For example, if we wish to remove all points that have the dimension "High noise" (dimension 18 in the ASPRS classification list), as well as removing all points whose intensity is lower than 1000:

const source = new LASSource(...);

source.filters = [
{ dimension: 'Classification', filter: (val) => val !== 18 },
{ dimension: 'Intensity', filter: (val) => val >= 1000 },
];

Hierarchy (view full)

Constructors

Properties

id: string = ...

An auto-generated UUID used internally to create unique keys for various purposes.

isLASSource: true = ...
isMemoryUsage: true = ...

Readonly flag to indicate that his object implements MemoryUsage.

isPointCloudSource: true = ...

Read-only flag to indicate that this object is a PointCloudSource.

type: "LASSource" = ...

Accessors

  • get loading(): boolean
  • Gets whether the object is currently performing an asynchronous operation.

    Returns boolean

  • get progress(): number
  • Returns the percentage of progress, in normalized value (i.e in the [0, 1] range), of the asynchronous operations that are scheduled to run on this object. 1 means that all operations have finished.

    Returns number

Methods