Connected components labeling to derive patches in a landscape.
get_patches(landscape, class, directions, to_disk, return_raster)# S3 method for RasterLayer
get_patches(
landscape,
class = "all",
directions = 8,
to_disk = getOption("to_disk", default = FALSE),
return_raster = TRUE
)
# S3 method for RasterStack
get_patches(
landscape,
class = "all",
directions = 8,
to_disk = getOption("to_disk", default = FALSE),
return_raster = TRUE
)
# S3 method for RasterBrick
get_patches(
landscape,
class = "all",
directions = 8,
to_disk = getOption("to_disk", default = FALSE),
return_raster = TRUE
)
# S3 method for stars
get_patches(
landscape,
class = "all",
directions = 8,
to_disk = getOption("to_disk", default = FALSE),
return_raster = TRUE
)
# S3 method for list
get_patches(
landscape,
class = "all",
directions = 8,
to_disk = getOption("to_disk", default = FALSE),
return_raster = TRUE
)
# S3 method for matrix
get_patches(
landscape,
class = "all",
directions = 8,
to_disk = getOption("to_disk", default = FALSE),
return_raster = FALSE
)
Raster* Layer, Stack, Brick or a list of rasterLayers.
Either "all" (default) for every class in the raster, or specify class value. See Details.
The number of directions in which patches should be connected: 4 (rook's case) or 8 (queen's case).
Logical argument, if FALSE results of get_patches are hold
in memory. If true, get_patches writes temporary files and hence, does not hold everything in memory.
Can be set with a global option, e.g. option(to_disk = TRUE)
. See Details.
If false, matrix is returned
List
Searches for connected patches (neighbouring cells of the same class i).
The 8-neighbours rule ('queen's case) or 4-neighbours rule (rook's case) is
used. Returns a list with raster. For each class the connected patches have
the value 1 - n. All cells not belonging to the class are NA
.
Landscape metrics rely on the delineation of patches. Hence, get_patches
is
heavily used in landscapemetrics. As raster can be quite big, the fact that
get_patches
creates a copy of the raster for each class in a landscape becomes
a burden for computer memory. Hence, the argument to_disk allows to
store the results of the connected labeling algorithm on disk. Furthermore,
this option can be set globally, so that every function that internally uses
get_patches
can make use of that.
Vincent, L., Soille, P. 1991. Watersheds in digital spaces: an efficient algorithm based on immersion simulations. IEEE Transactions on Pattern Analysis and Machine Intelligence. 13 (6), 583-598
# NOT RUN {
# check for patches of class 1
patched_raster <- get_patches(landscape, class = 1)
# count patches
length(raster::unique(patched_raster[[1]]))
# check for patches of every class
patched_raster <- get_patches(landscape)
# }
Run the code above in your browser using DataLab