Changelog¶
Version 2.5.0 (23/07/2023)¶
Added¶
Added optional CLI. It can be installed using the
cliextra (pip install laspy[cli]). It hasinfo,compress,decompress,convertandcopc querycommands.Added a
prefer_wktoption toLasHeader.parse_crs(true by default) to prefer (or not) WKT VLR over Geotiff VLR in case both are present in the file.
Fixed¶
laspy.open will now properly close the opened file if an exception is raised.
Wavepackets’s
return_point_wave_locationis now properly returned as as float32 and not an uint32.parse_crsproperly checks that ProjectedCRSGeoKey/GeodeticCRSGeoKey is in range of EPSG code before using pyproj to parse it.Missing
super.__init__()inCopcHierarchyVlr.Copc no longer include the hierarchy page twice
A LasHeader with a custom
creation_date/datewill no longer be reset todate.todayupon writing.
Version 2.4.1 (20/02/2022)¶
Fixed¶
Removed spurious
printin copc.py and compression.py
Version 2.4.0 (11/02/2022)¶
Added¶
read_evlrsoption (default true) tolaspy.open,laspy.LasReader.__init__andlaspy.LasHeader.read_fromWhich allows to skip reading the EVLRs when opening a file. This can be useful when opening a LAS file from a non seekable source / where seeking is expensive as reading EVLRs requires seeking to the end of the file.Selective decompression feature that allows to select in a LAS 1.4 (fmt >= 6 && <= 10) which fields should be decompressed allowing to save time by decompressing only the fields that are needed. Works with LAZ and COPC files.
Changed¶
The internal point reader is lazily created when the first point is actually read
Fixed¶
LasAppender when input file’s last chunk is complete
Handle redundant CSs in GeoKeyDirectoryVlr
Version 2.3.0 (25/10/2022)¶
Changed¶
EVLRs are now read during the file opening part.
EVLRs are now part of the
LasHeaderclass, but are still accesible viaLasReader.evlrsor `LasData.evlrs.
Fixed¶
Fixed CRS parsing on fiels with both
GeoKeyDirectoryVlrandWktCoordinateSystemVlrand the first one is emptyLasHeader.parse_crsalso looks for the CRS VLRs in the EVLRs of the file.Fixed
LasHeader.generating_softwareandLasHeader.system_idbeing limited to 31 bytes instead of 32.Fixed
laspy.convertto ensure the returngLasData.evlrsis aVlrlistand no simply alist
Version 2.2.0 (29/06/2022)¶
Added¶
Added support for querying COPC LAZ files via a new class
CopcReader.Added new optional feature to support adding CRS / SRS to a LAS file from a
pyproj.CRSas well as reading the CRS / SRS information from a LAS file to apyproj.CRS.
Fixed¶
Fixed support for stream / source that are not
seekable.
Changed¶
Support for Python3.6 removed.
Version 2.2.0 beta 1 (14/06/2022)¶
Added¶
Added support for querying COPC LAZ files via a new class
CopcReader.
Fixed¶
Fixed support for stream / source that are not
seekable.
Version 2.2.0 beta 0 (03/05/2022)¶
Added¶
Added new optional feature to support adding CRS / SRS to a LAS file from a
pyproj.CRSas well as reading the CRS / SRS information from a LAS file to apyproj.CRS.
Changed¶
Support for Python3.6 removed.
Version 2.1.2 (18/02/2022)¶
Fixed¶
Fixed
LasHeader.update(thus fixingLasData.update_header) computation of x,y,z mins and maxsFixed regression introduced in 2.1.0 where changing the
header.scalesand/orheader.offsetson aLasDatanewly created and then settingxyorzwould produce incorrect result.
Version 2.1.1 (23/01/2022)¶
Fixed¶
Fixed regression introduced in 2.1.0 where setting the x, y or z value would not properly set the corresponding X, Y or Z value.
Fixed
LasData.change_scalingsetting the header’soffsetsand/orscalestoNoneif the corresponding optionnal argument was not given to thechange_scalingmethod. The header will now correctly keep the corresponding value unchanged.
Version 2.1.0 (09/01/2022)¶
Added¶
Added a better error message when reading empty files
Added a new
xyzattribute toLasDatathat returns x, y, z as a new numpy array or sets the x, y, z from an arrayAdded
LasData.remove_extra_dimandLasData.remove_extra_dimsto allow the removal of extra dimensions (only)
Changed¶
Minimum
lazrsversion updated to 0.4.0 to bring support for LAZ with variable size chunks (used in COPC files). thelaszipbackend already supported variable size chunks LAZ.Improved assigning to multiple dimensions at once (
las[['x', 'y', 'z']] = ...)laspywill no longer raise encoding errors when reading files for which the header’sgenerating_softwareorsystem_identifieras well as the vlr’sdescriptionis notasciiencoded as the spec mandates. However, an encoding error will be raised when writing such files.LasData.__getitem__will now return aLasDatawhen indexing with slice or numpy array.assert isinstance(las[[1, 2, 3, 4]], laspy.LasData)
Fixed¶
Fix
PackedPointRecord.__len__when array has no dimFix scaled extra byte creation when the offsets/scales given to
ExtraBytesParamwhere of typelistortupleFix
ScaledArrayViewto allow indexing withlistornumpy.array.
Version 2.0.3 (16/09/2021)¶
Fixed¶
Fix function that parses geotiff VLRs
Fix handling of points with ‘unregistered’ extra bytes (PR #158)
Fix to handle empty LAS/LAZ more robustly
Version 2.0.2 (23/07/2021)¶
Changed¶
Update minimum lazrs version which allows to:
Fix Appending in LAZ files.
Improve memory usage when reading/writing. (issue #152)
Fixed¶
Fix
system_identifierreading by ignoring non ascii characters instead of erroring ,(issue #148, PR #149).Fix
LasData.change_scalingmethod.
Version 2.0.1 (29/06/2021)¶
Fixed¶
Fix
.min.maxmethods of array viewsShip the tests as part of the source distribution (But they won’t be installed with
pip install)
Version 2.0.0 (15/06/2021)¶
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
laszippython bindings (and not laszip-cli) orlazrs
Added ability to read and write LAS/LAS in
stream/chunkedmode.Changed laspy to support the reading and writing of LAS/LAZ data from and to
file-objectsandbytesDropped support for python2.7, python3.6+ is supported.
Version 1.7.0 (13/03/2020)¶
Version 1.6.0 (11/10/2018)¶
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 (5/12/2017)¶
Bug fixes #67, #75, b02b40900b5
Allow usage of
laszip-cliwhen working with LAZ files #77