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.2

  • Fix system_identifier reading by ignoring non ascii characters instead of erroring ,(issue #148, PR #149).
  • Fix LasData.change_scaling method.
  • Update minimum lazrs version which allows to:
    • Fix Appending in LAZ files.
    • Improve memory usage when reading/writing. (issue #152)

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.2.tar.gz (596.4 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: laspy-2.0.2.tar.gz
  • Upload date:
  • Size: 596.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.2.tar.gz
Algorithm Hash digest
SHA256 13c25d5565d429e944884ecc2667fcd5ea4a71e66078dfb2708eb080561594f4
MD5 b0d553c1f63adec6b0efda9d22cf8508
BLAKE2b-256 3b9bd86a08a2e4e80a294cb5b1adb4a5487c91483f67e3b93114fcdef1941614

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