Write the point cloud in LAS or LAZ or PCD files at any step of the pipeline (typically at the end). Unlike other stages, the output won't be written into a single large file but in multiple tiled files corresponding to the original collection of files.
Arguments
- ofile
character. Output file names. The string must contain a wildcard * so the wildcard can be replaced by the name of the original tile and preserve the tiling pattern. If the wildcard is omitted, everything will be written into a single file. This may be the desired behavior in some circumstances, e.g., to merge some files.
- filter
the 'filter' argument allows filtering of the point-cloud to work with points of interest. For a given stage when a filter is applied, only the points that meet the criteria are processed. The most common strings are
Classification == 2"
,"Z > 2"
,"Intensity < 100"
. For more details see filters.- keep_buffer
bool. The buffer is removed to write file but it can be preserved.
- max_depth
integer. Maximum depth of the hierarchy. Default is NA meaning that is auto computes
- density
character. Can be 'sparse', 'normal' or 'dense'. It controls the point density per octant. With 'sparce' each Octree octant is subdivided into 64 x 64 x 64 cells which mean that the density of point is light. Normal is 128, dense is 256.
- binary
boolean. Write binary or ascii PCD files.
Details
write_las
can write a COPC LAZ file simply by naming the output file with the ".copc.laz" extension.
However, users must be cautious. Writing COPC is not optimized for memory usage and requires two copies
of the point cloud in memory to ensure proper sorting and writing. If the user cannot afford to keep
two copies of the point cloud in RAM, they should use a more specialized writer such as Untwine (PDAL)
or lascopcindex (LAStools).write_copc
is a wrapper around write_las
, with a few extra arguments to control the COPC format.write_pcd
cannot merge multiple files into one bigger file yet. It cannot write a subset of the file
either yet.
Examples
f <- system.file("extdata", "Topography.las", package="lasR")
read <- reader()
tri <- triangulate(filter = keep_ground())
normalize <- tri + transform_with(tri)
pipeline <- read + normalize + write_las(paste0(tempdir(), "/*_norm.las"))
exec(pipeline, on = f)
#> [1] "/tmp/Rtmp6sJlWc/Topography_norm.las"