Skip to content
This repository has been archived by the owner on Aug 18, 2022. It is now read-only.

tmontaigu/pylas

Repository files navigation

pylas

Important

pylas is deprecated in favor of laspy 2.0

laspy 2.0 being essentially what pylas 1.0 was meant to be, moving from pylas >= 0.5 to laspy 2.0 should be as simple as doing a text replace of 'pylas' with 'laspy'

moving from pylas 0.4.x to laspy 2.0 may require small adjustments (the same as would have been needed to upgrade to pylas 0.5/1.0)

Another way of reading point clouds in the LAS/LAZ in Python.

Documentation Status CI status

Examples

Directly read and write las

import pylas

las = pylas.read('filename.las')
las.points = las.points[las.classification == 2]
las.write('ground.laz')

Open data to inspect header (opening only reads the header and vlrs)

import pylas

with pylas.open('filename.las') as f:
    print(f"Point format:       {f.header.point_format}")
    print(f"Number of points:   {f.header.point_count}")
    print(f"Number of vlrs:     {len(f.header.vlrs)}")

Use the 'chunked' reading & writing features

import pylas

with pylas.open('big.laz') as input_las:
    with pylas.open('ground.laz', mode="w", header=input_las.header) as ground_las:
        for points in input_las.chunk_iterator(2_000_000):
            ground_las.write_points(points[points.classification == 2])

Appending points to existing file

import pylas

with pylas.open('big.laz') as input_las:
    with pylas.open('ground.laz', mode="a") as ground_las:
        for points in input_las.chunk_iterator(2_000_000):
            ground_las.append_points(points[points.classification == 2])

Documentation

Documentation is hosted on ReadTheDocs .

Dependencies & Requirements

Supported CPython versions are: 3.6, 3.7, 3.8, 3.9

pylas supports LAS natively, to support LAZ it needs one of its supported backend to be installed:

  • lazrs
  • laszip

Installation

pip install pylas # without LAZ support
# Or
pip install pylas[laszip] # with LAZ support via LASzip
# Or
pip install pylas[lazrs] # with LAZ support via lazrs

See the Installation section of the documentation for details: