lasdecimate

0th

Percentile

Thin LiDAR data

Thin LIDAR data randomly removes a given proportion of pulses to reach specific pulse densities

Usage
lasdecimate(.las, density, homogenize = TRUE, res = 5)
Arguments
.las

An object of the class LAS

density

numeric. The expected density

homogenize

logical. If TRUE, the algorithm tries to homogenize the pulse density to provide a uniform dataset. If FALSE the algorithm will reach the pulse density over the whole area.

res

numeric. Cell size to compute the pulse density.

Details

lasdecimate is designed to produce output datasets that have uniform pulse densities throughout the coverage area. For each cell, the proportion of pulses that will be retained is computed using the actual pulse density and the desired pulse density. If the required pulse density is greater than the actual pulse density it returns an unchanged set of points (it cannot increase the pulse density). If homogenize = FALSE is selected, it randomly removes pulses to reach the required pulse density over the whole area (see area). The cell size must be large enough to compute a coherent local pulse density i.e., in a 2 pulse/m^2 dataset, 25 square meters would be feasible; however, an extent too small to thin (e.g. <1 square meter) would not be feasible because pulse density does not have meaning at this scale.

Value

It returns a LAS object.

Aliases
  • lasdecimate
Examples
# NOT RUN {
LASfile <- system.file("extdata", "Megaplot.laz", package="lidR")
lidar = readLAS(LASfile, select = "xyztP")

# By default the method is homogenize = TRUE
thinned = lidar %>% lasdecimate(1, res = 5)
lidar   %>% grid_density %>% plot
thinned %>% grid_density %>% plot

# Method homogenize = FALSE enables a global pulse density to be reached
thinned = lidar %>% lasdecimate(1, homogenize = FALSE)
thinned %>% summary
thinned %>% grid_density %>% plot
# }
Documentation reproduced from package lidR, version 1.3.0, License: GPL-3

Community examples

Looks like there are no examples yet.