Skip to contents

Total core area (Core area metric)


lsm_c_tca(landscape, directions = 8, consider_boundary = FALSE, edge_depth = 1)



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


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


Logical if cells that only neighbour the landscape boundary should be considered as core


Distance (in cells) a cell has the be away from the patch edge to be considered as core cell




$$TCA = \sum_{j = 1}^{n} a_{ij}^{core} * (\frac{1} {10000})$$ where here \(a_{ij}^{core}\) is the core area in square meters.

TCA is a 'Core area metric' and equals the sum of core areas of all patches belonging to class i. A cell is defined as core area if the cell has no neighbour with a different value than itself (rook's case). In other words, the core area of a patch is all area that is not an edge. It characterises patch areas and shapes of patches belonging to class i simultaneously (more core area when the patch is large and the shape is rather compact, i.e. a square). Additionally, TCA is a measure for the configuration of the landscape, because the sum of edges increase as patches are less aggregated.

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




TCA >= 0


Increases, without limit, as patch areas increase and patch shapes simplify. TCA = 0 when every cell in every patch of class i is an edge.


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:

See also


landscape <- terra::rast(landscapemetrics::landscape)
#> # A tibble: 3 × 6
#>   layer level class    id metric  value
#>   <int> <chr> <int> <int> <chr>   <dbl>
#> 1     1 class     1    NA tca    0.0076
#> 2     1 class     2    NA tca    0.0089
#> 3     1 class     3    NA tca    0.0234