The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Terrain derivatives are scale-sensitive. Resolution, smoothing, CRS, and focal window size affect slope, aspect, BPI, TPI, curvature, rugosity, and surface-area style metrics. The examples use reduced Hole-in-the-Wall bathymetry from the southwest Puerto Rico shelf margin near La Parguera, Puerto Rico.
bathy <- read_bathy(blueterra_example("hitw"))
prepared <- prepare_bathy(bathy, depth_range = c(-220, -25), smooth = TRUE)Slope and aspect describe local orientation. Aspect is circular, so northness and eastness convert it into two linear components that can be summarized in tables or used as predictors.
orientation <- derive_metric_stack(
prepared,
metrics = c("slope", "aspect", "northness", "eastness")
)
names(orientation)
#> [1] "slope_deg" "aspect_deg" "northness" "eastness"
terra::global(orientation[["slope_deg"]], c("min", "mean", "max"), na.rm = TRUE)
#> min mean max
#> slope_deg 10.63308 50.87477 81.67002plot_metric(
orientation,
"slope_deg",
bathy = prepared,
contours = TRUE,
contour_interval = 25,
title = "Slope Over Hillshade"
)These metrics describe local relief variability. Their values change with grid resolution and focal-window size, so windows should be chosen to match the feature scale being interpreted.
structure_metrics <- derive_metric_stack(
prepared,
metrics = c("roughness", "tri", "rugosity", "surface_area_ratio")
)
names(structure_metrics)
#> [1] "roughness" "tri" "rugosity_vrm_3x3"
#> [4] "surface_area_ratio"
terra::global(structure_metrics[["tri"]], c("min", "mean", "max"), na.rm = TRUE)
#> min mean max
#> tri 1.047873 4.929997 21.57846
terra::global(structure_metrics[["surface_area_ratio"]], c("min", "mean", "max"), na.rm = TRUE)
#> min mean max
#> surface_area_ratio 1.017471 1.954173 6.902548plot_metric(
structure_metrics,
"rugosity_vrm_3x3",
bathy = prepared,
contours = TRUE,
contour_interval = 25,
title = "Rugosity Over Hillshade"
)Surface-area ratio is derived from slope and should be interpreted as a local raster-cell surface approximation, not as a measured benthic surface area.
plot_metric(
structure_metrics,
"surface_area_ratio",
bathy = prepared,
contours = TRUE,
contour_interval = 25,
title = "Surface-Area Ratio Over Hillshade"
)BPI and TPI compare a cell with its neighborhood. For elevation-like negative bathymetry, positive BPI means a cell has a higher stored value than its neighborhood, which usually means shallower terrain. For positive-depth rasters, interpretation reverses unless the sign convention is converted first.
fine_bpi <- derive_bpi(prepared, window = 3)
broad_bpi <- derive_bpi(prepared, window = 11)
tpi <- derive_tpi(prepared)
multi_bpi <- derive_multiscale_bpi(prepared, windows = c(3, 7, 11))
names(multi_bpi)
#> [1] "bpi_3x3" "bpi_7x7" "bpi_11x11"
terra::global(fine_bpi, c("min", "mean", "max"), na.rm = TRUE)
#> min mean max
#> bpi_3x3 -5.548068 0.005683195 5.581367
terra::global(broad_bpi, c("min", "mean", "max"), na.rm = TRUE)
#> min mean max
#> bpi_11x11 -24.95 -0.02859849 29.15818
terra::global(tpi, c("min", "mean", "max"), na.rm = TRUE)
#> min mean max
#> tpi -6.241576 -0.01349438 6.279038plot_metric(
fine_bpi,
bathy = prepared,
contours = TRUE,
contour_interval = 25,
title = "Fine-Scale BPI Over Hillshade"
)curvature <- derive_curvature(prepared)
terra::global(curvature, c("min", "mean", "max"), na.rm = TRUE)
#> min mean max
#> curvature -17.33103 0.03551389 17.26391The curvature layer is a Laplacian-style local index based on a four-neighbor kernel. It is useful as a compact measure of local convexity or concavity, but it is not profile curvature or plan curvature.
plot_metric(
curvature,
bathy = prepared,
contours = TRUE,
contour_interval = 25,
title = "Local Curvature Over Hillshade"
)These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.