Last chance! 50% off unlimited learning
Sale ends in
Creates a digital surface model (DSM) using several possible algorithms. If the user provides a normalised point cloud, the output is indeed a canopy height model (CHM).
grid_canopy(las, res, algorithm)
An object of class LAS or LAScatalog.
numeric. The resolution of the output Raster
. Can optionally be a RasterLayer
.
In that case the RasterLayer
is used as the layout.
A RasterLayer
containing a numeric value in each cell. If the RasterLayer
s
are written on disk when running the function with a LAScatalog
, a virtual raster mosaic is
returned (see gdalbuildvrt)
This section appears in each function that supports a LAScatalog as input.
In lidR
when the input of a function is a LAScatalog the
function uses the LAScatalog processing engine. The user can modify the engine options using
the available options. A careful reading of the
engine documentation is recommended before processing LAScatalogs
. Each
lidR
function should come with a section that documents the supported engine options.
The LAScatalog
engine supports .lax
files that significantly improve the computation
speed of spatial queries using a spatial index. Users should really take advantage a .lax
files,
but this is not mandatory.
Supported processing options for a LAScatalog
in grid_*
functions (in bold). For
more details see the LAScatalog engine documentation:
chunk size: How much data is loaded at once. The chunk size may be slightly modified internally to ensure a strict continuous wall-to-wall output even when chunk size is equal to 0 (processing by file).
chunk buffer: This function guarantees a strict continuous wall-to-wall output. The
buffer
option is not considered.
chunk alignment: Align the processed chunks. The alignment may be slightly modified internally to ensure a strict continuous wall-to-wall output.
progress: Displays a progress estimate.
output files: Return the output in R or write each cluster's output in a file.
Supported templates are {XLEFT}
, {XRIGHT}
, {YBOTTOM}
, {YTOP}
,
{XCENTER}
, {YCENTER}
{ID}
and, if chunk size is equal to 0 (processing
by file), {ORIGINALFILENAME}
.
select: The grid_*
functions usually 'know' what should be loaded
and this option is not considered. In grid_metrics this option is respected.
filter: Read only the points of interest.
# NOT RUN {
LASfile <- system.file("extdata", "MixedConifer.laz", package="lidR")
las <- readLAS(LASfile)
col <- height.colors(50)
# Points-to-raster algorithm with a resolution of 1 meter
chm <- grid_canopy(las, res = 1, p2r())
plot(chm, col = col)
# Points-to-raster algorithm with a resolution of 0.5 meters replacing each
# point by a 20-cm radius circle of 8 points
chm <- grid_canopy(las, res = 0.5, p2r(0.2))
plot(chm, col = col)
# Basic triangulation and rasterization of first returns
chm <- grid_canopy(las, res = 0.5, dsmtin())
plot(chm, col = col)
# Khosravipour et al. pitfree algorithm
chm <- grid_canopy(las, res = 0.5, pitfree(c(0,2,5,10,15), c(0, 1.5)))
plot(chm, col = col)
# }
Run the code above in your browser using DataLab