Computes the roughness of a surface as the ratio between the area of a surface and its projected area on the ground. For each type of input the function makes a Delaunay triangulation of the points and computes the ratio between the area of the triangles and the area or the convexhull (i.e. the projected area of the triangles on the X-Y plane).
rumple_index(x, y = NULL, z = NULL, ...)
A 'RasterLayer' or a 'lasmetrics' object, or a vector of x point coordinates.
numeric. If x
is a vector of coordinates: the associated y coordinates.
numeric. If x
is a vector of coordinates: the associated z coordinates.
unused
numeric. The computed Rumple index.
# NOT RUN {
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 = las %>% grid_canopy
rumple_index(chm)
# }
Run the code above in your browser using DataLab