Read and write 'las' and 'laz' binary file formats. The LAS file format is a public file format for the interchange of 3-dimensional point cloud data between data users. The LAS specifications are approved by the American Society for Photogrammetry and Remote Sensing < https://www.asprs.org/divisions-committees/lidar-division/laser-las-file-format-exchange-activities>. The LAZ file format is an open and lossless compression scheme for binary LAS format versions 1.0 to 1.3 < https://laszip.org/>.
R package to read and write .las
and .laz
binary files used to store LiDAR data.
rlas
relies on a modified version of LASlib
and LASzip
that were modified to be compatible with R
. The library can therefore be compiled into R
without any complaints from R CMD check
. It enables R users to read and write binary files commonly used to store LiDAR data. LAS version 1.0 to 1.4 are supported. Point data record format 0,1,2,3,6,7,8 are supported.
library(rlas)lasdata <- read.las("<myfile.las>")lasheader <- read.lasheader("<myfile.las>")
rlas
contains code written by both Jean-Romain Roussel and Martin Isenburg. The latter is included
for technical reasons. Details below.
LASlib
and LASzip
:
rlas
code enabling Martin Isenburg's code to be wrapped into R:
ScanAngleRank
above 90 degrees but not above 127 degrees.LASlib
LASlib
ScanAngle
was rounded to integer for LAS 1.4 prf >= 6 before to be written. With the 0.006 factor conversion this lead to unrelated values when reading back a written file.header_create()
does not generates random UUID. The UUID is set to "00000000-0000-0000-0000-000000000000"
. Dependence to uuid
has been removed.sp
, sf
and rgeos
were no longer useful. rlas
only depends on data.table + Rcpp
.read.las
when using an inappropriated filter such as -keep_class 123.write.las
writes the epsg code in the header.check_data
now check the adequation between the ReturnNumber
and the NumberOfReturns
las
format 7 was supported at the C++ level when reading a file but an old test still throw an error at the R level stating that this format was not supported.readlasdata
and readlasheader
were definitively removed.
Synthetic_flag
, Keypoint_flag
and Withheld_flag
.read.las
that replaces readlasdata
, which is now deprecated. The selection of the field to be loaded is made easier by use of string syntax instead of multiple logical parameters.read.lasheader
that replaces readlasheader
, which is now deprecated. This change was made only for naming consistency.header_*
that allows the user to make valid headers and thus properly write the las files.check_*
that check data integrity.RLASstreamer
to use rlas
at the C++ level.readlasdata
writelax
enabled for writing LAX files.readlasdata
enabled for reading several files.inst/include
to make the lib callable from other packageslasdatareader
is twice as fast since it reads files only oncereadlasdata
enables loading (or not) of the gpstime field.readlasdata()
is able to read file when LAS specifications are not respected.writelas
performs tests on the header before entering C++ code (enable to fail with informative errors).readlasdata()
gains a parameter filter
enabling use of memory-optimized streaming filters.readlasdata()
supports .lax files for faster filter (thanks to Florian de Boissieu #2)readlasdata()
are now TRUE
readlasheader()
is now able to read the Variable length record
CRAN does not build binary packages. After exchanges with prof Bryan Ripley
Third submission
Second submission
First submission