Skip to contents

Get boundary cells of patches

Usage

get_boundaries(
  landscape,
  consider_boundary = FALSE,
  edge_depth = 1,
  as_NA = FALSE,
  patch_id = FALSE,
  return_raster = TRUE
)

Arguments

landscape

SpatRaster or matrix.

consider_boundary

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

edge_depth

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

as_NA

If true, non-boundary cells area labeld NA.

patch_id

If true, boundary/edge cells are labeled with the original patch id.

return_raster

If false, matrix is returned.

Value

List with SpatRaster or matrix

Details

All boundary/edge cells are labeled 1, all non-boundary cells 0. NA values are not changed. Boundary cells are defined as cells that neighbour either a NA cell or a cell with a different value than itself. Non-boundary cells only neighbour cells with the same value than themself.

Examples

landscape <- terra::rast(landscapemetrics::landscape)
class_1 <- get_patches(landscape, class = 1)[[1]][[1]]

get_boundaries(class_1)
#> [[1]]
#> class       : SpatRaster 
#> dimensions  : 30, 30, 1  (nrow, ncol, nlyr)
#> resolution  : 1, 1  (x, y)
#> extent      : 0, 30, 0, 30  (xmin, xmax, ymin, ymax)
#> coord. ref. :  
#> source(s)   : memory
#> name        : lyr.1 
#> min value   :     0 
#> max value   :     1 
#> 
get_boundaries(class_1, return_raster = FALSE)
#> [[1]]
#>       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
#>  [1,]    1   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#>  [2,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#>  [3,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#>  [4,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#>  [5,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#>  [6,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#>  [7,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#>  [8,]    1   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#>  [9,]    1   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#> [10,]    1    1   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#> [11,]    1   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#> [12,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#> [13,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#> [14,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#> [15,]    1    1   NA   NA   NA   NA   NA   NA   NA    NA    NA     1     1
#> [16,]    1    0    1    1    1   NA   NA   NA   NA    NA     1     0     0
#> [17,]    1    1    0    0    0    1   NA   NA   NA    NA     1     0     0
#> [18,]   NA   NA    1    0    0    0    1   NA    1     1     0     0     0
#> [19,]   NA   NA    1    0    0    0    0    1    0     0     0     0     0
#> [20,]   NA   NA   NA    1    0    0    0    0    0     0     0     0     1
#> [21,]   NA   NA   NA   NA    1    1    1    1    0     0     0     1     1
#> [22,]   NA   NA   NA   NA   NA   NA   NA   NA    1     1     1    NA    NA
#> [23,]   NA   NA   NA   NA   NA   NA   NA   NA    1    NA    NA    NA    NA
#> [24,]   NA   NA   NA   NA   NA   NA   NA    1   NA    NA    NA    NA    NA
#> [25,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#> [26,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#> [27,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA     1    NA
#> [28,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#> [29,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA    NA    NA
#> [30,]   NA   NA   NA   NA   NA    1   NA   NA   NA    NA    NA    NA    NA
#>       [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25]
#>  [1,]    NA    NA    NA    NA    NA    NA    NA    NA    NA     1    NA    NA
#>  [2,]    NA    NA    NA    NA    NA    NA    NA    NA     1     1    NA    NA
#>  [3,]    NA    NA    NA    NA    NA    NA    NA     1     0     0     1     1
#>  [4,]    NA    NA     1     1     1     1     1     0     0     0     0     1
#>  [5,]     1     1     0     0     0     0     0     0     0     0     1    NA
#>  [6,]     1     0     0     0     0     0     0     0     0     1    NA    NA
#>  [7,]    NA     1     0     0     0     0     0     0     0     1    NA    NA
#>  [8,]    NA    NA     1     0     1     1     0     0     0     0     1    NA
#>  [9,]    NA    NA     1     1    NA    NA     1     0     1     1    NA    NA
#> [10,]    NA    NA    NA    NA    NA    NA    NA     1    NA    NA    NA    NA
#> [11,]    NA    NA    NA    NA    NA     1     1     1    NA    NA    NA    NA
#> [12,]    NA    NA    NA    NA     1     0     1    NA    NA    NA    NA    NA
#> [13,]    NA    NA    NA    NA     1     0     1    NA    NA    NA    NA    NA
#> [14,]    NA    NA     1     1     0     1     1    NA    NA    NA    NA    NA
#> [15,]     1    NA    NA     1     1    NA    NA    NA    NA    NA    NA    NA
#> [16,]     0     1    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
#> [17,]     1    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
#> [18,]     1    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
#> [19,]     1    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
#> [20,]    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
#> [21,]    NA     1    NA    NA     1     1    NA    NA    NA    NA    NA    NA
#> [22,]    NA     1     1     1     0     0     1    NA    NA    NA    NA    NA
#> [23,]    NA     1     0     1     1     1     1    NA    NA    NA    NA    NA
#> [24,]    NA    NA     1    NA    NA    NA    NA    NA    NA    NA    NA    NA
#> [25,]    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
#> [26,]    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
#> [27,]    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
#> [28,]    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
#> [29,]    NA    NA    NA    NA    NA    NA     1    NA    NA    NA    NA    NA
#> [30,]    NA    NA    NA    NA    NA    NA    NA     1     1    NA    NA    NA
#>       [,26] [,27] [,28] [,29] [,30]
#>  [1,]    NA    NA    NA    NA    NA
#>  [2,]    NA    NA    NA    NA    NA
#>  [3,]    NA    NA    NA    NA    NA
#>  [4,]    NA    NA    NA    NA    NA
#>  [5,]    NA    NA    NA    NA    NA
#>  [6,]    NA    NA    NA    NA    NA
#>  [7,]    NA    NA    NA    NA    NA
#>  [8,]    NA    NA    NA    NA    NA
#>  [9,]    NA    NA    NA    NA    NA
#> [10,]    NA    NA    NA    NA    NA
#> [11,]    NA    NA    NA    NA    NA
#> [12,]    NA    NA    NA    NA    NA
#> [13,]    NA    NA    NA    NA    NA
#> [14,]    NA    NA    NA    NA    NA
#> [15,]    NA    NA    NA    NA    NA
#> [16,]    NA    NA    NA    NA    NA
#> [17,]    NA    NA    NA    NA    NA
#> [18,]    NA    NA    NA    NA    NA
#> [19,]    NA    NA    NA    NA    NA
#> [20,]    NA    NA    NA    NA    NA
#> [21,]    NA    NA    NA    NA    NA
#> [22,]    NA    NA    NA    NA    NA
#> [23,]    NA    NA    NA    NA    NA
#> [24,]    NA    NA    NA    NA    NA
#> [25,]    NA    NA    NA    NA    NA
#> [26,]    NA    NA    NA    NA    NA
#> [27,]    NA     1    NA    NA    NA
#> [28,]     1     1    NA    NA    NA
#> [29,]     1     1    NA    NA    NA
#> [30,]    NA    NA    NA    NA    NA
#>