ClassStat: Landscape Class Statistics

View source: R/ClassStat.R

ClassStatR Documentation

Landscape Class Statistics

Description

Class-level landscape metrics

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 landscape of a species distribution or a vegetation map. Matrix can be a raster of or class "asc" (adehabitat package), "RasterLayer" (raster package) "SpatialGridDataFrame" (sp package)

cellsize

Cell size (in meters) is a single value representing the width/height of cell edges (assuming square cells)

bkgd

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"

Details

Available landscape metrics

  • class - A particular patch type from the original input matrix

  • 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 landscape 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.

  • landscape.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

  • patch.cohesion.index - measures the physical connectedness of the corresponding patch type.

Value

a data.frame with all available landscape metrics

Note

ClassStat calculates the class statistics for patch types identified in a matrix of data or in a raster of class "asc" (adehabitat packages), "RasterLayer" (raster package) or "SpatialGridDataFrame" (sp package). The class statistics are based on statistics calculated by fragstats

Author(s)

Jeremy VanDerWal (depreciated/orphaned SDMTools package) and Jeffrey S. Evans

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.

Examples

library(raster)
library(sp)
# 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) }
					
#perform connected component labelling
( ccl.mat = connected.pixels(tmat) )
image(t(ccl.mat[10:1,]),col=c("grey",rainbow(length(unique(ccl.mat))-1)))

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

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

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


jeffreyevans/landmetrics documentation built on Nov. 14, 2023, 3:13 p.m.