mPerimeter: Edge length

Description Usage Arguments Value See Also Examples

View source: R/measure.operators.R

Description

Calculate the length of edges/boundaries between objects in a spatial raster.

Usage

1
mPerimeter(obj, scale = "patch", unit = "cells", layer = NULL)

Arguments

obj

[Raster*(1)]
The object to measure.

scale

[character(1)]
scale at which the area of objects should be calculated; possible values are "patch" and "class".

unit

[character(1)]
the unit the output should have. With "map" the result will be in the respective map unit and with "cells" (default) it will be the multiple of the raster cell dimension.

layer

[character(1)]
in case obj has several layers, specify here the layer for which the area of objects shall be calculated (by default, the first layer).

Value

For scale = "class" the edge length of each unique value (class) in the raster, for scale = "patch" the edge length of distinct objects per distinct values (i.e. the area of patches per class).

See Also

Other generic metrics: mAdjacency, mArea, mNumber, mValues

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
cat <- rtRasters$categorical
bin <- rBinarise(rtRasters$continuous, thresh = 40)

# the perimeter ...
# ... per landcover type
mPerimeter(obj = cat, scale = "class")

# ... of patches per landcover typ
mPerimeter(obj = cat, scale = "patch")

# ...  of certain values; from a binary raster, patches are 
# automatically determined
require(magrittr)
rBinarise(obj = cat, match = c(41, 44, 47)) %>%
  mPerimeter(scale = "patch", layer = "values_binarised")

mPerimeter(obj = bin, scale = "class")

EhrmannS/rasterTools documentation built on Sept. 4, 2019, 10:34 a.m.