Geomorphons are idealized terrain types calculated from an elevator raster based on a moving window of a given size. The window is a torus (which can have an inner radius of 0, so can also be a circle), which allows it to identify geomorphons of a given size while ignoring ones larger or smaller. There are 10 basic geomorphons. Consult the the manual for GRASS module r.geomorphon
using grassHelp("r.geomorphon")
for more details and diagrams of each type of geomorphon. Geomorphon types include:
Flat areas: Focal area has approximately the same elevation as surrounding areas
Pits: An area is lower than all other surrounding areas
Valley: Focal area has elevation similar to two opposing side of the window but lower than the other two opposing sides
Footslope: Focal region is at the "bottom" of a slope
Hollow: A small valley/indention in the crest of a hill
Slope: Cells in the window form an approximately uniform slope
Spur: An extrusion at the foot of a hill (i.e.,, a small hill extending out from the foot of a slope)
Shoulder: The crest of a slope
Ridge: Opposite of a valley; focal area is higher than two opposing sides but approximately the same elevation as the other two opposing sides
Peak: Focal area is higher than any other in the window
Usage
# S4 method for class 'GRaster'
geomorphons(
x,
inner = 0,
outer = 3,
unit = "cells",
flat = 1,
flatDist = 0,
mode = "1"
)
Arguments
- x
A single-layer
GRaster
, typically representing elevation.- inner, outer
Integer: Inner and outer radii of the torus used to identify geomorphons, in cells or meters (set by argument
unit
). The inner default value is 0 and the outer default value is 3. Theouter
radius sets the maximum size of a geomorphon that that can be identified, andinner
sets the smallest size. Ifunit
is"meters"
, the value ofouter
must be larger than the smaller dimension of any cell in the east-west and north-south directions.- unit
Character: Units of
inner
and outer; can be either"cells"
(default) or"meters"
. Partial matching is used.- flat
Numeric value >= 0: Minimum difference (in degrees) between the focal area areas around it for a geomorphon to be considered as "flat". Larger cells (i.e., ~1 km resolution or larger) require smaller values (<<1) to correctly identify flat areas. Higher values result in more areas being classified as "flat" geomorphons. The default value is 1.
- flatDist
Numeric: Distance (in meters) to correct for the effect of large distances on the diminished capacity to identify "flat" geomorphons. If the distance between the focal area and a surrounding area surpasses this distance, then the effective value of
flat
will be reduced- mode
Character: Method for implementing the zenith/line-of-site search. Partial matching is used:
"1"
(default): The "original" geomorphon mode (in GRASS moduler.geomorphon
, the "anglev1" method)"2"
: Better handling of cases with equal zenith/nadir angles (the "anglev2" method)"2d"
: As"2"
, but takes into account zenith/nadir distance ("anglev2_distance" method)
Value
A categorical GRaster
where each geomorphon is a category (see vignette("GRasters", package = "fasterRaster")
).
Examples
if (grassStarted()) {
# Setup
library(terra)
# Example data
madElev <- fastData("madElev")
# Convert a SpatRaster to a GRaster:
elev <- fast(madElev)
# Geomorphons:
geos <- geomorphons(elev)
geos
levels(geos) # levels
freq(geos) # frequencies across cells
col <- c("gray90", "red", "orange", "blue", "green", "pink", "firebrick",
"purple", "gray50", "black")
plot(geos, col = col)
}