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) orlazrs
- 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
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.2.tar.gz
(596.4 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13c25d5565d429e944884ecc2667fcd5ea4a71e66078dfb2708eb080561594f4 |
|
MD5 | b0d553c1f63adec6b0efda9d22cf8508 |
|
BLAKE2b-256 | 3b9bd86a08a2e4e80a294cb5b1adb4a5487c91483f67e3b93114fcdef1941614 |