read.las: Read data from a .las or .laz file

Description Usage Arguments Details Value Examples

View source: R/readLAS.r


Reads data from .las or .laz files in format 1 to 4 according to LAS specifications and returns a data.table labeled according to LAS specifications. See the ASPRS documentation for the LAS file format. The optional parameters enable the user to save memory by choosing to load only the fields they need. Moreover, the function provides a streaming filter to load only the points of interest into the memory and hence avoids allocating any superfluous memory.


read.las(files, select = "*", filter = "")



array of characters


character. select only columns of interest to save memory (see details)


character. streaming filters - filter data while reading the file (see details)


Select: the 'select' argument specifies the data that will actually be loaded. For example, 'xyzia' means that the x, y, and z coordinates, the intensity and the scan angle will be loaded. The supported entries are t - gpstime, a - scan angle, i - intensity, n - number of returns, r - return number, c - classification, s - synthetic flag, k - key-point flag, w - withheld flag, u - user data, p - point source ID, e - edge of flight line flag, d - direction of scan flag, R - red channel of RGB color, G - green channel of RGB color, B - blue channel of RGB color, N - near-infrared channel. Also numbers from 1 to 9 for the extra bytes data numbers 1 to 9. 0 enables all extra bytes to be loaded and '*' is the wildcard that enables everything to be loaded from the LAS file.
Note that x, y, z are implicit and always loaded. 'xyzia' is equivalent to 'ia'.

Filter: the 'filter' argument allows filtering of the point cloud while reading files. rlas relies on the well-known LASlib library written by Martin Isenburg to read the binary files. Thus the package inherits the filter commands available in LAStools. To use these filters the user can pass the common commands from LAStools into the parameter 'filter'. Type rlas:::lasfilterusage() to display the LASlib documentation and the available filters.


A data.table


lazfile <- system.file("extdata", "example.laz", package="rlas")

lasdata <- read.las(lazfile)
lasdata <- read.las(lazfile, filter = "-keep_first")
lasdata <- read.las(lazfile, filter = "-drop_intensity_below 80")
lasdata <- read.las(lazfile, select = "xyzia")

Jean-Romain/rlas documentation built on July 16, 2018, 6:02 a.m.