Learn R Programming

lidR (version 3.2.3)

plot: Plot a LAS* object

Description

Plot displays a 3D interactive windows-based on rgl for LAS objects Plot displays an interactive view for LAScatalog objects with pan and zoom capabilities based on mapview. If the coordinate reference system (CRS) of the LAScatalog is non empty, the plot can be displayed on top of base maps (satellite data, elevation, street, and so on). Plot displays a LASheader object exactly like it displays a LAScatalog object.

Usage

plot(x, y, ...)

# S4 method for LAS,missing plot( x, y, color = "Z", colorPalette = "auto", bg = "black", trim = Inf, backend = "rgl", clear_artifacts = TRUE, nbits = 16, axis = FALSE, legend = FALSE, add = FALSE, voxel = FALSE, ... )

# S4 method for LAScatalog,missing plot(x, y, mapview = FALSE, chunk_pattern = FALSE, overlaps = FALSE, ...)

# S4 method for LASheader,missing plot(x, y, mapview = FALSE, ...)

Arguments

x

A LAS* object

y

Unused (inherited from R base)

...

Will be passed to points3d (LAS) or plot if mapview = FALSE or to mapview if mapview = TRUE (LAScatalog).

color

characters. The attribute used to color the point cloud. Default is Z coordinates. RGB is an allowed string even if it refers to three attributes simultaneously.

colorPalette

characters. A vector of colors such as that generated by heat.colors, topo.colors, terrain.colors or similar functions. Default is "auto" providing an automatic coloring depending on the argument color

bg

The color for the background. Default is black.

trim

numeric. Enables trimming of values when outliers break the color palette range. Every point with a value higher than trim will be plotted with the highest color.

backend

character. Can be "rgl" or "lidRviewer". If "rgl" is chosen the display relies on the rgl package. If "lidRviewer" is chosen it relies on the lidRviewer package, which is much more efficient and can handle million of points using less memory. lidRviewer is not available on CRAN yet and should be installed from github (see. https://github.com/Jean-Romain/lidRviewer).

clear_artifacts

logical. It is a known and documented issue that the 3D visualisation with rgl displays artifacts. The points look aligned and/or regularly spaced in some view angles. This is because rgl computes with single precision float. To fix that the point cloud is shifted to (0,0) to reduce the number of digits needed to represent its coordinates. The drawback is that the point cloud is not plotted at its actual coordinates.

nbits

integer. If color = RGB it assumes that RGB colours are coded on 16 bits as described in the LAS format specification. However, this is not always respected. If the colors are stored on 8 bits, set this parameter to 8.

axis

logical. Display axis on XYZ coordinates.

legend

logical. Display a gradient colour legend.

add

If FALSE normal behaviour otherwise must be the output of a prior plot function to enable the alignment of a second point cloud.

voxel

boolean or numeric. Displays voxels instead of points. Useful to render the output of voxelize_points, for example. However it is computationally demanding to render and can easily take 15 seconds for 10000 voxels. It should be reserved for small scenes. If boolean the voxel resolution is guessed automatically. Otherwise users can provide the size of the voxels. To reduce the rendering time, an internal optimization removes voxels that are not visible when surrounded by other voxels.

mapview

logical. If FALSE the catalog is displayed in a regular plot from R base.

chunk_pattern

logical. Display the current chunk pattern used to process the catalog.

overlaps

logical. Highlight the overlaps between files.

Examples

Run this code
# NOT RUN {
LASfile <- system.file("extdata", "MixedConifer.laz", package="lidR")
las <- readLAS(LASfile)

plot(las)
plot(las, color = "Intensity")

# If outliers break the color range, use the trim parameter
plot(las, color = "Intensity", trim = 150)

plot(las, color = "Classification")

# This dataset is already tree segmented
plot(las, color = "treeID")

# single file LAScatalog using data provided in lidR
ctg = readLAScatalog(LASfile)
plot(ctg)
plot(ctg, map = T, map.types = "Esri.WorldImagery")
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab