v3.1.2
lidR v3.1.2 (Release date: 2021-03-11)
- New: the class
LASheader
has a new slot@EVLR
for the extended variable length records.print()
has been extended to display EVLR. While this change is compatible withrlas <= 1.3.9
it is only used with version ofrlas >= 1.4.0
. - New: algorithm
lowest()
fordecimate_points()
- Fix: usban outside the range of representable values of type 'char' for spatial indexes built with 0 point.
- Fix: build failure with GCC 4.x
- Fix:
catalog_apply()
now works with cluster planplan(cluster)
meaning that it can be used on HPC e.g. with MDPI. We took advantage of this bug to better detect the parallel strategy used and disable or not OpenMP. WhenlidR
is not able to figure out if the strategy involves multiple machines or multiple cores of a single machine, then a warning is thrown and OpenMP is disabled by security.The parallel evaluation strategy was no recognized and lidR does not know if OpenMP should be disabled. OpenMP has been disabled by security. Use options(lidR.check.nested.parallelism = FALSE) and set_lidr_threads() for a fine control of parallelism.
- Fix: incorrect offset computation in
spTransform()
have for consequences to make the function failing with error:Non quantizable value outside the range of representable values of type 'int'
. - Fix: attribution of a WKT string with
projection()
when using an epsg code as input (projection(las) <- 12345
). - Fix: partial processing mode now respects the raster alignment when processed by file
- Fix:
readLAScatalog()
now reads the WKT CRS of LAS files format 1.4. To support both EPSG and WKT the table of attribute of aLAScatalog
now has a column namedCRS
that replace former columnEPSG
. - Fix:
print()
for aLAScatalog
now prints the CRS exactly likeprint
forLAS
. - Doc: documentation of
options(lidR.check.nested.parallelism = FALSE)
was missing. Information can now be found in?lidR-package
and?lidR-parallelism
- Enhance: in
catalog_apply()
iflidR.check.nested.parallelism = FALSE
it now respects the input ofset_lidr_thread()
instead of the output ofget_lidr_threads()
. For example ifset_lidr_thread(0)
it now propagates the information 0 (all cores) instead of the output ofget_lidr_thread()
which might be e.g. 4 on the master worker but might be different on the slave workers. Similarlyset_lidr_thread(20)
will request 20 cores to the workers even ifget_lidr_thread()
returns 4 on the local machine. - Enhance:
set_lidr_thread()
accepts inputs < 1 such as 0.5 or 0.25 to mean 'half' or 'quarter' of available cores. - Enhance:
grid_density()
now returns 0 for pixels with 0 points instead ofNA
which make more sense and corresponds to what should be expected.