Skip to contents

Contiguity index (Shape metric)

Usage

lsm_p_contig(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

$$CONTIG = \frac{\Bigg[\frac{\sum\limits_{r=1}^z c_{ijr}}{a_{ij}}\Bigg] - 1 }{ v - 1} $$

where \(c_{ijr}\) is the contiguity value for pixel r in patch ij, \(a_{ij}\) the area of the respective patch (number of cells) and \(v\) is the size of the filter matrix (13 in this case).

CONTIG is a 'Shape metric'. It asses the spatial connectedness (contiguity) of cells in patches. CONTIG coerces patch values to a value of 1 and the background to NA. A nine cell focal filter matrix:

filter_matrix <- matrix(c(1, 2, 1,
                          2, 1, 2,
                          1, 2, 1), 3, 3, byrow = T)

... is then used to weight orthogonally contiguous pixels more heavily than diagonally contiguous pixels. Therefore, larger and more connections between patch cells in the rookie case result in larger contiguity index values.

Units

None

Range

0 >= CONTIG <= 1

Behaviour

Equals 0 for one-pixel patches and increases to a limit of 1 (fully connected patch).

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

LaGro, J. 1991. Assessing patch shape in landscape mosaics. Photogrammetric Engineering and Remote Sensing, 57(3), 285-293

Examples

landscape <- terra::rast(landscapemetrics::landscape)
lsm_p_contig(landscape)
#> # A tibble: 28 × 6
#>    layer level class    id metric value
#>    <int> <chr> <int> <int> <chr>  <dbl>
#>  1     1 patch     1     1 contig 0    
#>  2     1 patch     1     2 contig 0.333
#>  3     1 patch     1     3 contig 0.771
#>  4     1 patch     1     4 contig 0    
#>  5     1 patch     1     5 contig 0    
#>  6     1 patch     1     6 contig 0.765
#>  7     1 patch     1     7 contig 0.615
#>  8     1 patch     1     8 contig 0.167
#>  9     1 patch     1     9 contig 0.433
#> 10     1 patch     2    10 contig 0.676
#> # ℹ 18 more rows