Learn R Programming

lidR (version 4.3.0)

dsm_spikefree: Digital Surface Model Algorithm

Description

The spike-free algorithm developed by Khosravipour et al. (2016), which is based on the computation of an incremental triangulation of all returns with triangle freezing criteria (see references).

The locally adaptive spikefree algorithm by Fischer et al. 2024 adjusts the freeze distance automatically and locally depending on point density. Within the typical range of airborne laser scan densities (>1 points/m2), the original 3 parameter formula can be simplified to a linear relationship. This linear formula predicts freeze distance from local point spacing (freeze distance ~ intercept + slope*point_spacing) and can be used to adapt the degree of spike-removal to sampling density, so that data gaps are filled and canopy height estimates are consistent across point densities. By default, the point spacing is computed at a resolution of 5 m. It is recommended to apply this algorithm to first returns only and not at a point spacing > 0.7 m.

Usage

spikefree(freeze_distance, height_buffer = 0.5)

lspikefree(slope = 1.96, intercept = 1.42, height_buffer = 0.5)

Arguments

freeze_distance

freeze distance (see references). Recommended value: 3 times the pulse spacing or a little higher.

height_buffer

buffer distance (see references). Recommended value: 0.5 do not change.

slope, intercept

default values selected according to Fisher F. J. (2024). It is recommended to do not change.

References

Khosravipour, Anahita & Skidmore, Andrew & Isenburg, Martin. (2016). Generating spike-free digital surface models using LiDAR raw point clouds: A new approach for forestry applications. International Journal of Applied Earth Observation and Geoinformation. 52. 104-114. 10.1016/j.jag.2016.06.005.

Fischer, F. J., Jackson, T., Vincent, G., & Jucker, T. (2024). Robust characterisation of forest structure from airborne laser scanning—A systematic assessment and sample workflow for ecologists. Methods in Ecology and Evolution, 15, 1873–1888. https://doi.org/10.1111/2041-210X.14416

See Also

Other digital surface model algorithms: dsm_pitfree, dsm_point2raster, dsm_tin

Examples

Run this code
LASfile <- system.file("extdata", "MixedConifer.laz", package="lidR")
poi = "-drop_z_below 0 -inside 481280 3812940 481330 3812990"
las <- readLAS(LASfile, filter = poi)
col <- height.colors(50)

# Khosravipour et al. spikefree algorithm
chm <- rasterize_canopy(las, res = 0.25, spikefree(1.5))
plot(chm, col = col)

# Locally adaptive spikefree algorithm
chm <- rasterize_canopy(las, res = 0.25, lspikefree())
plot(chm, col = col)

Run the code above in your browser using DataLab