Changelog¶
Version 2.5.0 (23/07/2023)¶
Added¶
Added optional CLI. It can be installed using the
cli
extra (pip install laspy[cli]
). It hasinfo
,compress
,decompress
,convert
andcopc query
commands.Added a
prefer_wkt
option 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_location
is now properly returned as as float32 and not an uint32.parse_crs
properly 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
/date
will no longer be reset todate.today
upon writing.
Version 2.4.1 (20/02/2022)¶
Fixed¶
Removed spurious
print
in copc.py and compression.py
Version 2.4.0 (11/02/2022)¶
Added¶
read_evlrs
option (default true) tolaspy.open
,laspy.LasReader.__init__
andlaspy.LasHeader.read_from
Which 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
LasHeader
class, but are still accesible viaLasReader.evlrs
or `LasData.evlrs.
Fixed¶
Fixed CRS parsing on fiels with both
GeoKeyDirectoryVlr
andWktCoordinateSystemVlr
and the first one is emptyLasHeader.parse_crs
also looks for the CRS VLRs in the EVLRs of the file.Fixed
LasHeader.generating_software
andLasHeader.system_id
being limited to 31 bytes instead of 32.Fixed
laspy.convert
to ensure the returngLasData.evlrs
is aVlrlist
and 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.CRS
as 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.CRS
as 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.scales
and/orheader.offsets
on aLasData
newly created and then settingx
y
orz
would 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_scaling
setting the header’soffsets
and/orscales
toNone
if the corresponding optionnal argument was not given to thechange_scaling
method. 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
xyz
attribute toLasData
that returns x, y, z as a new numpy array or sets the x, y, z from an arrayAdded
LasData.remove_extra_dim
andLasData.remove_extra_dims
to allow the removal of extra dimensions (only)
Changed¶
Minimum
lazrs
version updated to 0.4.0 to bring support for LAZ with variable size chunks (used in COPC files). thelaszip
backend already supported variable size chunks LAZ.Improved assigning to multiple dimensions at once (
las[['x', 'y', 'z']] = ...
)laspy
will no longer raise encoding errors when reading files for which the header’sgenerating_software
orsystem_identifier
as well as the vlr’sdescription
is notascii
encoded as the spec mandates. However, an encoding error will be raised when writing such files.LasData.__getitem__
will now return aLasData
when 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
ExtraBytesParam
where of typelist
ortuple
Fix
ScaledArrayView
to allow indexing withlist
ornumpy.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_identifier
reading by ignoring non ascii characters instead of erroring ,(issue #148, PR #149).Fix
LasData.change_scaling
method.
Version 2.0.1 (29/06/2021)¶
Fixed¶
Fix
.min
.max
methods 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
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 (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-cli
when working with LAZ files #77