| dsm_spikefree | R Documentation |
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.
spikefree(freeze_distance, height_buffer = 0.5)
lspikefree(slope = 1.96, intercept = 1.42, height_buffer = 0.5)
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. |
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
Other digital surface model algorithms:
dsm_pitfree,
dsm_point2raster,
dsm_tin
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.