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+.
Version 2.0
laspy 2.0 is in alpha, and ready for you to test, to install, it add --pre
to
the pip install commands (eg pip install --pre laspy
)
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 PythonHosted.
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.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) orlazrs
- Added ability to read and write LAS/LAS in
stream
/chunked
mode. - Changed laspy to support the reading and writing LAS/LAZ data from and to
file-objects
andbytes
- 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
- Bug fixes #67, #75, b02b40900b5
- Allow usage of
laszip-cli
when working with LAZ files #77
Version 1.5.0
Project details
Release history Release notifications | RSS feed
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.0a1.tar.gz
(52.2 kB
view details)
File details
Details for the file laspy-2.0.0a1.tar.gz
.
File metadata
- Download URL: laspy-2.0.0a1.tar.gz
- Upload date:
- Size: 52.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00735fddcca30b11b0fdf38c08eafe3351c189ef825e07c1c233567a4f23d9ca |
|
MD5 | 48ef8003d50b601f334e4d7d9ec9cdf3 |
|
BLAKE2b-256 | 76a7c97a374c7d6ed58e0000761b99109d34ecd5880a7ce66ba2df92a47983b2 |