Skip to main content

Native Python ASPRS LAS read/write library

Project description

Laspy

Laspy is a python library for reading, modifying and creating LAS LiDAR files.

Laspy is compatible with Python 3.6+.

Examples

Directly read and write las

import laspy

las = laspy.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 laspy

with laspy.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 laspy

with laspy.open('big.laz') as input_las:
    with laspy.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 laspy

with laspy.open('big.laz') as input_las:
    with laspy.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])

API Documentation and tutorials are available at ReadTheDocs.

Installation

Laspy can be installed either with pip:

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

Changelog

Version 2.0.1

  • Fix .min .max methods of array views
  • Ship the tests as part of the source distribution (But they won't be installed with pip install)

Version 2.0.0

  • Overhaul of the internals by essentially incorporating pylas into laspy, while the API to retrieve and set dimensions stayed the same, other parts changed and will require adaptation.
  • Better LAZ support
    • Added support for writing LAZ
    • Changed decompression mechanism by using either laszip python bindings (and not laszip-cli) or lazrs
  • Added ability to read and write LAS/LAS in stream / chunked mode.
  • Changed laspy to support the reading and writing of LAS/LAZ data from and to file-objects and bytes
  • Dropped support for python2.7, python3.6+ is supported.

Version 1.7.0

  • Fixed bug in point record format 5, 9 and 10 #105
  • Return explicit msg if laszip executable was not found #110
  • Supprt numpy 1.17 #122

Version 1.6.0

  • Bug fix #92
  • Test creation of all valid custom dimension data types
  • Modify handling of extra bytes to be char data instead of numeric byte data

Version 1.5.1

Version 1.5.0

  • Improved memory handling in base.FileManager #48
  • Introduced r- file mode, that only reads the header of as LAS file #48
  • LAS v. 1.4 bug fixes #55
  • Python 3 support #62

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

laspy-2.0.1.tar.gz (595.4 kB view details)

Uploaded Source

File details

Details for the file laspy-2.0.1.tar.gz.

File metadata

  • Download URL: laspy-2.0.1.tar.gz
  • Upload date:
  • Size: 595.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.8

File hashes

Hashes for laspy-2.0.1.tar.gz
Algorithm Hash digest
SHA256 139ac04c7f2983d790eeb07305497477bf1fb430f7a0eab61cee1c6eb0656b10
MD5 933f2485985fc6284e7db4c97bf5c3c9
BLAKE2b-256 26ce97469a8d833b8c1a24289e86fbe0a7b587830d61d1d577abaae1172c952e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page