Skip to contents

Mean of related circumscribing circle (Shape metric)

Usage

lsm_c_circle_mn(landscape, directions = 8)

Arguments

landscape

A categorical raster object: SpatRaster; Raster* Layer, Stack, Brick; stars or a list of SpatRasters.

directions

The number of directions in which patches should be connected: 4 (rook's case) or 8 (queen's case).

Value

tibble

Details

$$CIRCLE_{MN} = mean(CIRCLE[patch_{ij}])$$ where \(CIRCLE[patch_{ij}]\) is the related circumscribing circle of each patch.

CIRCLE_MN is a 'Shape metric' and summarises each class as the mean of the related circumscribing circle of all patches belonging to class i. CIRCLE describes the ratio between the patch area and the smallest circumscribing circle of the patch and characterises the compactness of the patch.

Because the metric is based on distances or areas please make sure your data is valid using check_landscape.

Units

None

Range

CIRCLE_MN > 0

Behaviour

Approaches CIRCLE_MN = 0 if the related circumscribing circle of all patches is small. Increases, without limit, as the related circumscribing circles increase.

References

McGarigal K., SA Cushman, and E Ene. 2023. FRAGSTATS v4: Spatial Pattern Analysis Program for Categorical Maps. Computer software program produced by the authors; available at the following web site: https://www.fragstats.org

Baker, W. L., and Y. Cai. 1992. The r.le programs for multiscale analysis of landscape structure using the GRASS geographical information system. Landscape Ecology 7: 291-302.

Based on C++ code from Project Nayuki (https://www.nayuki.io/page/smallest-enclosing-circle).

Examples

landscape <- terra::rast(landscapemetrics::landscape)
lsm_c_circle_mn(landscape)
#> # A tibble: 3 × 6
#>   layer level class    id metric    value
#>   <int> <chr> <int> <int> <chr>     <dbl>
#> 1     1 class     1    NA circle_mn 0.525
#> 2     1 class     2    NA circle_mn 0.504
#> 3     1 class     3    NA circle_mn 0.634