knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
This is a technical documentation of how landscape metrics are understood in rasterTools
. This includes both metrics as defined in FRAGSTATS [@mcgarigal_fragstats_2015], where the majority of landscape metrics are collected, but also other references that have not been included in FRAGSTATS. The basic principle is fixed, but the documentation is currently still work in progress, feel free to participate!
Many landscape metrics can be measured at different levels/scales of the landscape. Landscapes are visualised in the form of maps and these are stored in a gridded format, a socalled raster, in most GIS software.
rasterTools
, their values can be the basis for analysing what is depicted by the map.Essentially, landscape metrics are equations that relate different aspects or characteristics of the landscape in a certain way to eachother. If we break down landscape metrics in a systematic way, we find that there is a rather small set of relatively basic metrics at the core of all landscape metrics. In rasterTools
, these are called generic metrics and they describe:
1) the area of the landscape, 2) the area, number and perimeter of classes and dissimilarities between classes, 3) the area, number and perimeter of patches and distance maps focussed on each patch and 4) the adjacency matrix and the values of cells.
A second group of landscape metrics, which are called derived metrics in rasterTools
, are are a combination of several generic and potentially other derived metrics. Landscape metrics are computed in the measure()
function, where they are specified as named list. Each derived metric contains terms (generic metrics) and an equation, in which the relation between the different terms is given.
list(myMetric = list(operator = "mMetric", scale = "patch")) # generic metric list(term1 = list(operator = "mMetric1", scale = "class"), # derived metric term2 = list(operator = "mMetric2", scale = "landscape"), myMetric = "term1 / term2 * 100")
An algorithm to be used in measure()
can also contain several derived metrics, which makes sense when several derived metrics depend on a similar set of generic metrics:
myMetrics <- list(a_c = list(operator = "mArea", scale = "class"), a_l = list(operator = "mArea", scale = "landscape"), a_p = list(operator = "mArea", scale = "patch"), mCPA = "a_c / a_l * 100", mLPI = "max(a_p) / a_l * 100")
The following graph shows the relationship of all metrics defined in @mcgarigal_fragstats_2015. This is followed by a section outlining details about the generic metrics and a list containing details and the equations of derived metrics.
1) Area and Edge 2) Shape 3) Core Area 4) Contrast 5) Aggregation (Dispersion, Interspersion, Subdivision, Isolation) 6) Diversity
Description: Number of objects.
Level of measurement: Patch, Class
mNumber(obj, scale = "patch", layer = NULL)
Unit: $n$ per map
Range: $0 ≤ x < \infty$
Interpretation:
Limitations: Number of cells in the raster.
Employed in the derived metrics: Patch Density
Reference: -
Description: Area of objects.
Level of measurement: Patch, Class, Landscape
mArea(obj, scale = "patch", unit = "cells", layer = NULL)
Unit: $m^2$
Range: $0 ≤ x < \infty$
Interpretation: The area covered by specific objcets can be a very basic measure of landscapes, for instance as 'habitat amount', patch size effect.
Limitations: Spatial resolution and the number of cells of the raster.
Employed in the derived metrics: Edge Density, Patch Density, Largest Patch Index, Perimeter-Area ratio, Shape Index, Fractal Dimension, Class Proportion of the Landscape, Disjunct Cores Density, Core Area Proportion
Reference: @turner_landscape_2001, @leitao_measuring_2006, @mcgarigal_fragstats_2015
Description: The enclosing perimeter of objects. Amount and distribution of edges informs many landscape metrics with respect to the patch-matrix model of landscapes.
Level of measurement: Patch, Class, Landscape
mPerimeter(obj, scale = "patch", unit = "cells", layer = NULL)
Unit: $m$
Range: $0 ≤ x < \infty$
Interpretation:
Limitations: Spatial resolution of the raster. Moreover, the perimeter in a raster map is typically larger than in the real world, where edges are typically not a sequence of corners.
Employed in the derived metrics: Edge Density, Perimeter-Area ratio, Shape Index, Fractal Dimension
Reference: @turner_landscape_2001, @mcgarigal_fragstats_2015
Description: Not a metric itself, this is a table of the frequency with which different pairs of values appear side by side in the raster. Of interest are 'like adjacencies', adjacencies between cells with the same value, and general adjacencies between each value and all of the values. Adjacencies can be counted based on single count (only cells to the right and bottom of the focal cell) or double count (additionally also cells to the left and top of the focal cell).
Level of measurement:
mAdjacency(obj, type = "like", count = "double", layer = NULL)
Unit: $n$
Range: $0 ≤ x < \infty$
Interpretation:
Limitations: Spatial resolution of the raster.
Employed in the derived metrics: Percentage of Like Adjacencies
Reference: @mcgarigal_fragstats_2015
Description:
Level of measurement:
mValues(...)
Unit:
Range:
Interpretation:
Limitations: -
Employed in the derived metrics:
Reference:
Description: Second-order statistic of metric variation. This comprises mean, area-weighted mean, median, range, standard deviation, coefficient of variation, minimum, maximum or quantiles.
Level of measurement: Patch, Class, Landscape
mMetrics(...)
Unit: depending on the measured metric
Range: depending on the measured metric
Interpretation: depending on the chosen statistic
Limitations: depending on the measured metric
Employed in the derived metrics: -
Reference: @mcgarigal_fragstats_2015
Description: Proportion of the landscape window occupied by classes.
Level of measurement: Class
Internal name: class proportional area (CPA)
\begin{equation} CPA = \frac{A_C}{A_L} \cdot 100 \end{equation} with $A_{C}$ = Area of a class, $A_L$ = Area of the landscape
list(a_c = list(operator = "mArea", scale = "class"), a_l = list(operator = "mArea", scale = "landscape"), mCPA = "a_c / a_l * 100")
Unit: $\%$
Range: $0 < CPA ≤ 100$
Interpretation: CPA approaches 0 (100) when the respective class becomes increasingly rare (frequent).
Limitations:
Employed in the derived metrics: -
Reference: @mcgarigal_fragstats_2015
Description: Proportion of the landscape window occupied by the largest patch.
Level of measurement: Landscape
Internal name: largest patch index (LPI)
\begin{equation} LPI = \frac{max(A_{P})}{A_L} \cdot 100 \end{equation} with $max(A_{P})$ = Area of the largest patch, $A_L$ = Area of the landscape
list(a_l = list(operator = "mArea", scale = "landscape"), a_p = list(operator = "mArea", scale = "patch"), mLPI = "max(a_p) / a_l * 100")
Unit: $\%$
Range: $0 < LPI ≤ 100$
Interpretation: LPI approaches 0 (100) when the largest patch is increasingly small (large). It is thus a measure of dominance.
Limitations:
Employed in the derived metrics: -
Comment: To derive the largest patch index at class scale from a categorical raster, i.e. the area covered by the largerst patch per class, first segregate the categorical raster per class and then use mLPI
on the segregated elements. This is necessary, because determining patches from a categorical raster may be arbitrary, for instance when a forest patch consists of the classes deciduous and mixed forest.
Reference: @mcgarigal_fragstats_2015
Description: Mean distance between each cell of a patch and its centroid.
Level of measurement:
Internal name: radius of gyration (RG)
\begin{equation} RG = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description: Length of edges per hectare of the landscape window.
Level of measurement: Class, Landscape
Internal name: density of edges (DE)
\begin{equation} DE = \frac{P_{X}}{A_L} \cdot 10000 \end{equation} with $P_{X}$ = Perimeter of a patch or class, $A_L$ = Area of the landscape
list(p_c = list(operator = "mPerimeter", scale = "class"), a_l = list(operator = "mArea", scale = "landscape"), mDE = "p_c / a_l * 10000")
Unit: $m\,ha^{-1}$
Range: $0 < DE ≤ \infty$
Interpretation: Higher values indicate higher spatial heterogeneity and possible fragmentation of the focal habitat type.
Limitations:
Employed in the derived metrics:
Reference:
Description: Ratio of the perimeter per area of each patch.
Level of measurement: Patch, Class, Landscape
Internal name: perimeter per area ratio (PAR)
\begin{equation} PAR = \frac{P_P}{A_P} \cdot 10000 \end{equation} with $P_P$ = Perimeter of a patch, $A_P$ = Area of a patch
list(p_p = list(operator = "mPerimeter", scale = "patch"), a_p = list(operator = "mArea", scale = "patch"), mPAR = "p_p / a_p * 10000")
Unit: $m\,ha^{-2}$
Range: $0 < PAR ≤ \infty$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description: Percent of the adjacencies per class that are like adjacencies.
Level of measurement: Class
Internal name: percentage of like adjacencies (PLA)
\begin{equation} PLA = \frac{G_{ii}}{G_{ik}} \cdot 100 \end{equation} with $G_{ii}$ = like Adjacencies based on double count, $G_{ik}$ = all (incl. like) Adjacencies based on double count
list(g_ii = list(operator = "mAdjacency"), g_ik = list(operator = "mAdjacency", type = "pairedSum"), mPLA = "g_ii / g_ik * 100")
Unit: $\%$
Range: $0 < PLA ≤ 100$
Interpretation:
Limitations: Lower values indicate higher disaggregation, where 0 means that each patch is a single cell. Hiher values indicate higher aggregation, where 100 means that the complete landscape is filled with this patch.
Employed in the derived metrics:
Reference:
Description: Number of patches per hectare of the landscape window.
Level of measurement: Class, Landscape
Internal name: density of patches (DP)
\begin{equation} DP = \frac{N_P}{A_L} \cdot 10000 \end{equation} with $N_P$ = Number of patches, $A_L$ = Area of the landscape
list(n_p = list(operator = "mNumber", scale = "patch"), a_l = list(operator = "mArea", scale = "landscape"), mDP = "n_p / a_l * 10000")
Unit: $n\,ha^{-1}$
Range: $0 < DP ≤ \infty$
Interpretation: Higher values indicate higher spatial fragmentation of a particular class.
Limitations:
Employed in the derived metrics:
Reference: @leitao_measuring_2006
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: contiguity index (CII)
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: area of the core (AC)
\begin{equation} AC = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: proportion of core area (PCA)
\begin{equation} PCA = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: number of disjunct cores (NDC)
\begin{equation} NDC = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: density of disjunct cores (DDC)
\begin{equation} DDC = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: area of the ecotone (AE)
\begin{equation} AE = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: edge contrast index (ECI)
\begin{equation} ECI = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: nearest neighbour distance (NND)
\begin{equation} NND = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: proximity index (PI)
\begin{equation} PI = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: related circumscribing circle (RCC)
\begin{equation} RCC = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: shape index (SHAPE)
\begin{equation} SHI = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name: similarity index (SIMI)
\begin{equation} SIMI = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Description:
Level of measurement:
Internal name:
\begin{equation} PLP = \end{equation} with $$ = , $$ =
someRCode(...)
Unit: $$
Range: $$
Interpretation:
Limitations:
Employed in the derived metrics:
Reference:
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.