Learn R Programming

SDMTools (version 1.1-221)

ClassStat: Landscape Class Statistics

Description

ClassStat calculates the class statistics for patch types identified in a matrix of data or in a raster of class 'asc' (SDMTools & adehabitat packages), 'RasterLayer' (raster package) or 'SpatialGridDataFrame' (sp package).

Usage

ClassStat(mat, cellsize = 1, bkgd = NA, latlon = FALSE)

Arguments

mat
a matrix of data with patches identified as classes (unique integer values) as e.g., a binary lanscape of a species distribution or a vegetation map. Matrix can be a raster of class 'asc' (adehabitat package), 'RasterLayer' (raster package) or 'SpatialGridDataFrame' (sp package)
cellsize
cell size (in meters) is a single value representing the width/height of cell edges (assuming square cells)
bkgd
the background value for which statistics will not be calculated
latlon
boolean value representing if the data is geographic. If latlon == TRUE, matrix must be of class 'asc', 'RasterLayer' or 'SpatialGridDataFrame'

Value

a data.frame listing
class
a particular patch type from the original input matrix (mat).
n.patches
the number of patches of a particular patch type or in a class.
total.area
the sum of the areas (m2) of all patches of the corresponding patch type.
prop.landscape
the proportion of the total lanscape represented by this class
patch.density
the numbers of patches of the corresponding patch type divided by total landscape area (m2).
total.edge
the total edge length of a particular patch type.
edge.density
edge length on a per unit area basis that facilitates comparison among landscapes of varying size.
landscape.shape.index
a standardized measure of total edge or edge density that adjusts for the size of the landscape.
largest.patch.index
largest patch index quantifies the percentage of total landscape area comprised by the largest patch.
mean.patch.area
average area of patches.
sd.patch.area
standard deviation of patch areas.
min.patch.area
the minimum patch area of the total patch areas.
max.patch.area
the maximum patch area of the total patch areas.
perimeter.area.frac.dim
perimeter-area fractal dimension equals 2 divided by the slope of regression line obtained by regressing the logarithm of patch area (m2) against the logarithm of patch perimeter (m).
mean.perim.area.ratio
the mean of the ratio patch perimeter. The perimeter-area ratio is equal to the ratio of the patch perimeter (m) to area (m2).
sd.perim.area.ratio
standard deviation of the ratio patch perimeter.
min.perim.area.ratio
minimum perimeter area ratio
max.perim.area.ratio
maximum perimeter area ratio.
mean.shape.index
mean of shape index
sd.shape.index
standard deviation of shape index.
min.shape.index
the minimum shape index.
max.shape.index
the maximum shape index.
mean.frac.dim.index
mean of fractal dimension index.
sd.frac.dim.index
standard deviation of fractal dimension index.
min.frac.dim.index
the minimum fractal dimension index.
max.frac.dim.index
the maximum fractal dimension index.
total.core.area
the sum of the core areas of the patches (m2).
prop.landscape.core
proportional landscape core
mean.patch.core.area
mean patch core area.
sd.patch.core.area
standard deviation of patch core area.
min.patch.core.area
the minimum patch core area.
max.patch.core.area
the maximum patch core area.
prop.like.adjacencies
calculated from the adjacency matrix, which shows the frequency with which different pairs of patch types (including like adjacencies between the same patch type) appear side-by-side on the map (measures the degree of aggregation of patch types).
aggregation.index
computed simply as an area-weighted mean class aggregation index, where each class is weighted by its proportional area in the landscape.
lanscape.division.index
based on the cumulative patch area distribution and is interpreted as the probability that two randomly chosen pixels in the landscape are not situated in the same patch
splitting.index
based on the cumulative patch area distribution and is interpreted as the effective mesh number, or number of patches with a constant patch size when the landscape is subdivided into S patches, where S is the value of the splitting index.
effective.mesh.size
equals 1 divided by the total landscape area (m2) multiplied by the sum of patch area (m2) squared, summed across all patches in the landscape.
patch.cohesion.index
measures the physical connectedness of the corresponding patch type.

Details

The class statistics are based on statistics calculated by fragstats http://www.umass.edu/landeco/research/fragstats/fragstats.html.

References

McGarigal, K., S. A. Cushman, M. C. Neel, and E. Ene. 2002. FRAGSTATS: Spatial Pattern Analysis Program for Categorical Maps. Computer software program produced by the authors at the University of Massachusetts, Amherst. Available at the following web site: www.umass.edu/landeco/research/fragstats/fragstats.html

See Also

PatchStat, ConnCompLabel

Examples

Run this code
#define a simple binary matrix
tmat = { matrix(c( 0,0,0,1,0,0,1,1,0,1,
                   0,0,1,0,1,0,0,0,0,0,
                   0,1,NA,1,0,1,0,0,0,1,
                   1,0,1,1,1,0,1,0,0,1,
                   0,1,0,1,0,1,0,0,0,1,
                   0,0,1,0,1,0,0,1,1,0,
                   1,0,0,1,0,0,1,0,0,1,
                   0,1,0,0,0,1,0,0,0,1,
                   0,0,1,1,1,0,0,0,0,1,
                   1,1,1,0,0,0,0,0,0,1),nr=10,byrow=TRUE) }

#do the connected component labelling
ccl.mat = ConnCompLabel(tmat)
ccl.mat
image(t(ccl.mat[10:1,]),col=c('grey',rainbow(length(unique(ccl.mat))-1)))

#calculate the patch statistics
ps.data = PatchStat(ccl.mat)
ps.data

#calculate the class statistics
cl.data = ClassStat(tmat)
cl.data

#identify background data is 0
cl.data = ClassStat(tmat,bkgd=0)
cl.data

Run the code above in your browser using DataLab