R: Rumple index of roughness

rumple_index {lidR} | R Documentation

## Rumple index of roughness

### Description

Computes the roughness of a surface as the ratio between its area and its projected area on the ground. If the input is a gridded object (raster) the function computes the surfaces using Jenness's algorithm (see references). If the input is a point cloud the function uses a Delaunay triangulation of the points and computes the area of each triangle.

### Usage

    rumple_index(x, y = NULL, z = NULL, ...)

### Arguments

`x` | A 'RasterLayer' or a vector of x point coordinates.
`y` | numeric. If `x` is a vector of coordinates: the associated y coordinates.
`z` | numeric. If `x` is a vector of coordinates: the associated z coordinates.
`...` | unused

### Value

numeric. The computed Rumple index.

### References

Jenness, J. S. (2004). Calculating landscape surface area from digital elevation models. Wildlife Society Bulletin, 32(3), 829–839.

### Examples

    x <- runif(20, 0, 100)
    y <- runif(20, 0, 100)

    # Perfectly flat surface, rumple_index = 1
    z <- rep(10, 20)
    rumple_index(x, y, z)

    # Rough surface, rumple_index > 1
    z <- runif(20, 0, 10)
    rumple_index(x, y, z)

    # Rougher surface, rumple_index increases
    z <- runif(20, 0, 50)
    rumple_index(x, y, z)

    # Measure of roughness is scale-dependent
    rumple_index(x, y, z)
    rumple_index(x/10, y/10, z)

    # Use with a canopy height model
    LASfile <- system.file("extdata", "Megaplot.laz", package="lidR")
    las <- readLAS(LASfile)
    chm <- grid_canopy(las, 2, p2r())
    rumple_index(chm)

[Package lidR version 3.2.2 Index]