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 ReturnNumberread.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 DESCRIPTIONDescription 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 testthatheader_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.LASlibLASlibScanAngle 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.readlasdatawritelax 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 TRUEreadlasheader() is now able to read the Variable Length RecordsCRAN does not build binary packages. After exchanges with prof Bryan Ripley
Third submission
Second submission
First submission