The ALTREP framework is now used to load compact representation of
non populated attributes. For example UserData
is usually
populated with zeros (not populated). Yet it takes 32 bits per point to
store each 0. It now uses 644 bits no matter the number of points if it
is not populated. This optimization is automatically applied to each
attribute that contain a single repeated value. This enables to save
approximately 30 to 40% of memory usage depending on the number of
non-populated attributes.
ScanAngleRank
attribute.
The value -128 previously triggered a false positive error (fix #54)header_update()
now populates the
Number of points by return
with 0 in absence of
ReturnNumber
read.las()
can read full waveform but
write.las()
can’t write yet. The current read mode reads
raw data without interpretation. A function
fwf_interpretation()
can parse the raw data into something
more manageable by users. Everything is experimental and prone to
modification. For example we might change our mind and read interpreted
waveform instead of raw data in the future. The format of the output of
fwf_interpretation()
may also change if we find that this
current design is not relevant. In short the FWF support is not mature
yet and we plan to provide a mature and stable API in v1.6.0.LazyData
in DESCRIPTION
Description
in DESCRIPTION
to
include format 1.4 in reading capabilities.header_create()
creates a v1.4 header if the
point source format is detected to be 6 or moreheader_create()
uses
floor(min(X|Y|Z))
instead of min(X|Y|Z)
as
offsets.header_create()
infers the scale factor from
the data instead of setting hard coded value 0.01read.lasheader()
now reads the extended variable
length record (EVLR)write.las()
now writes all GeoKeyDirectoryTag +
GeoAsciiParamsTag + GeoDoubleParamsTagwrite.las()
can now write WKT OGC CS in EVLRtinytest
instead of
testthat
header_set_epsg()
incorrectly set the epsg code when the
key 3072 is missing but the VLR is not emptyis_valid_ReturnNumber()
wrongly
triggered errors when checking if the ReturnNumber attribute is correct.
It missed errors for LAS < 1.4 and triggered wrong errors for LAS 1.4
prf > 6. #45is_empty_point_cloud()
did not
actually test what it was expected to test.is_valid_scalefactors()
does not trigger any
report for very fine scale factors such as 0.000001 that is a valid
scale of long/lat coordinates.is_valid_returnnumber()
does not complain for
ReturnNumber = 0. This is valid but not compliant to the specs.read.las(filter = "-h")
and
read.las(transform = "-h")
check_data
,
check_header
and check_data_vs_header
.is_valid_ScanAngle()
triggers an error if |a| >
196.6 instead of 180. 196.6 is the maximum writable angle but is not
compliant with the specs (#44).is_compliant_ScanAngle()
to check the
compliance of the Scan Angle.tabulate()
instead of home made
C++ code to count the return numbers..ply
files in read.las
and read.lasheader
. This is an undocumented feature not
actually intended to be used. (#39).writelax()
.read.las
and read.lasheader
modifications
in string encoding in R 3.5.0 generated issues with path containing
special characters. Native encoding is now enforced.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
.write.las
is 25% fasterread.las
when using an inappropriated filter
such as -keep_class 123.write.las
writes the epsg code in the header.Change: check_data
now checks the adequation between
the ReturnNumber
and the
NumberOfReturns
Change: readlasdata
and readlasheader
were definitively removed.
Fix: 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.
Fix: several compilation warnings on CRAN.
Fix: several compilation warnings on CRAN
Change: readlasdata
and readlasheader
were definitively removed. ### rlas v1.2.4 (Release date:
2018-06-10)
Reupload on CRAN after being 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.readlasdata
writelax
for writing LAX files.readlasdata
enable for reading several
files.lasdatareader
is twice as fast since it reads files only
oncereadlasdata()
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 Records
CRAN does not build binary packages. After exchanges with prof Bryan Ripley
Third submission
Second submission
First submission