Laspy

Latest version: v2.5.4

Safety actively analyzes 682244 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

2.4.0

Added

- `read_evlrs` option (default true) to `laspy.open`, `laspy.LasReader.__init__` and `laspy.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

2.3.0

Changed

- EVLRs are now read during the file opening part.
- EVLRs are now part of the `LasHeader` class, but are still accesible
via `LasReader.evlrs` or `LasData.evlrs.

Fixed

- Fixed CRS parsing on fiels with both `GeoKeyDirectoryVlr` and `WktCoordinateSystemVlr` and the first one is empty
- `LasHeader.parse_crs` also looks for the CRS VLRs in the EVLRs of the file.
- Fixed `LasHeader.generating_software` and `LasHeader.system_id` being limited to 31
bytes instead of 32.
- Fixed `laspy.convert` to ensure the returng `LasData.evlrs` is a `Vlrlist` and
no simply a `list`

---

2.2.0

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 a `pyproj.CRS`.

Changed

- Support for Python3.6 removed.

---

2.1.2

Fixed

- Fixed `LasHeader.update` (thus fixing `LasData.update_header`) computation of x,y,z mins and maxs
- Fixed regression introduced in 2.1.0 where changing the `header.scales` and/or `header.offsets`
on a `LasData` newly created and then setting `x` `y` or `z` would produce incorrect result.

---

2.1.1

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's `offsets` and/or `scales` to `None`
if the corresponding optionnal argument was not given to the `change_scaling` method.
The header will now correctly keep the corresponding value unchanged.

---

2.1.0

Added

- Added a better error message when reading empty files
- Added a new `xyz` attribute to `LasData` that returns x, y, z as a new numpy array or sets the x, y, z from an array
- Added `LasData.remove_extra_dim` and `LasData.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](https://copc.io) files). the `laszip` 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's `generating_software` or
`system_identifier` as well as the vlr's `description` is not `ascii` encoded as the spec mandates.
However, an encoding error will be raised when writing such files.
- `LasData.__getitem__` will now return a `LasData` when indexing with slice or numpy array.
`assert isinstance(las[[1, 2, 3, 4]], laspy.LasData)`

Fixed

- Fix `PackedPointRecord.__len__` when array has no dim
- Fix scaled extra byte creation when the offsets/scales given to `ExtraBytesParam` where of type `list` or `tuple`
- Fix `ScaledArrayView` to allow indexing with `list` or `numpy.array`.

---

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.