R: Digital Surface Model Algorithm

dsmtin {lidR} | R Documentation

## Digital Surface Model Algorithm

### Description

This function is made to be used in grid_canopy. It implements an algorithm for digital surface model computation using a Delaunay triangulation of first returns with a linear interpolation within each triangle.

### Usage

    dsmtin(max_edge = 0)

### Arguments

`max_edge` | numeric. Maximum edge length of a triangle in the Delaunay triangulation. If a triangle has an edge length greater than this value it will be removed to trim dummy interpolation on non-convex areas. If `max_edge = 0` no trimming is done (see examples).

### See Also

Other digital surface model algorithms: `p2r()`, `pitfree()`

### Examples

    LASfile <- system.file("extdata", "MixedConifer.laz", package="lidR")
    las <- readLAS(LASfile)
    col <- height.colors(50)

    # Basic triangulation and rasterization of first returns
    chm <- grid_canopy(las, res = 1, dsmtin())
    plot(chm, col = col)

    ## Not run:
    # Potentially complex concave subset of point cloud
    x = c(481340, 481340, 481280, 481300, 481280, 481340)
    y = c(3812940, 3813000, 3813000, 3812960, 3812940, 3812940)
    las2 = clip_polygon(las,x,y)
    plot(las2)

    # Since the TIN interpolation is done within the convex hull of the point cloud
    # dummy pixels are interpolated that are strictly correct according to the interpolation method
    # used, but meaningless in our CHM
    chm <- grid_canopy(las2, res = 0.5, dsmtin())
    plot(chm, col = col)

    # Use 'max_edge' to trim dummy triangles
    chm = grid_canopy(las2, res = 0.5, dsmtin(max_edge = 3))
    plot(chm, col = col)

    ## End(Not run)

[Package lidR version 3.2.2 Index]