GRASS logo

NAME

r.forestfrag - Computes the forest fragmentation index (Riitters et al. 2000)

KEYWORDS

raster, landscape structure analysis, forest, fragmentation index, Riitters

SYNOPSIS

r.forestfrag
r.forestfrag --help
r.forestfrag [-rtsa] input=name output=name [size=number] [pf=name] [pff=name] [window=integer] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

Flags:

-r
Set computational region to input raster map
-t
Keep Pf and Pff maps
-s
Run r.report on output map
-a
Trim the output map to avoid border effects
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog

Parameters:

input=name [required]
Name of forest raster map (where forest=1, non-forest=0)
output=name [required]
Name for output raster map
size=number
Moving window size (odd number)
Options: 3-
Default: 3
pf=name
Name for output Pf (forest area density) raster map
Proportion of area which is forested (amount of forest)
pff=name
Name for output Pff (forest connectivity) raster map
Conditional probability that neighboring cell is forest
window=integer
This option is deprecated, use the option size instead
Options: 3-

Table of contents

DESCRIPTION

r.forestfrag Computes the forest fragmentation following the methodology proposed by Riitters et al. (2000). See this article for a detailed explanation.

It follows a "sliding window" algorithm with overlapping windows. The amount of forest and its occurrence as adjacent forest pixels within fixed-area "moving-windows" surrounding each forest pixel is measured. The window size is user-defined. The result is stored at the location of the center pixel. Thus, a pixel value in the derived map refers to "between-pixel" fragmentation around the corresponding forest location.

As input it requires a binary map with (1) forest and (0) non-forest. Obviously, one can replace forest any other land cover type. If one wants to exclude the influence of a specific land cover type, e.g., water bodies, it should be classified as no-data (NA) in the input map. See e.g., blog post.

Let Pf be the proportion of pixels in the window that are forested. Define Pff (strictly) as the proportion of all adjacent (cardinal directions only) pixel pairs that include at least one forest pixel, for which both pixels are forested. Pff thus (roughly) estimates the conditional probability that, given a pixel of forest, its neighbor is also forest. The classification model then identifies six fragmentation categories as:

interior:       Pf = 1.0
patch:          Pf < 0.4
transitional:   0.4 ≤ Pf < 0.6
edge:           Pf ≥ 0.6 and Pf - Pff < 0
perforated:     Pf ≥ 0.6 and Pf - Pff > 0
undetermined:   Pf ≥ 0.6 and Pf = Pff

NOTES

EXAMPLE

In the North Carolina sample Location, set the computational region to match the land classification raster map:
g.region raster=landclass96
Then mark all cells which are forest as 1 and everything else as zero:
r.mapcalc "forest = if(landclass96 == 5, 1, 0)"
Use the new forest presence raster map to compute the forest fragmentation index with window size 7:
r.forestfrag input=forest output=fragmentation window=7
r.forestfrag output with window size 7 r.forestfrag output with window size 11

Two forest fragmentation indices with window size 7 (left) and 11 (right) show how increasing window size increases the amount of edges.

SEE ALSO

r.mapcalc, r.li

The addon is based on the r.forestfrag.sh script, with as extra options user-defined moving window size, option to trim the region (by default it respects the region) and a better handling of no-data cells.

REFERENCES

Riitters, K., J. Wickham, R. O'Neill, B. Jones, and E. Smith. 2000. Global-scale patterns of forest fragmentation. Conservation Ecology 4(2): 3. [online] URL: https://www.consecol.org/vol4/iss2/art3/

AUTHORS

Emmanuel Sambale (original shell version)
Stefan Sylla (original shell version)
Paulo van Breugel (Python version, user-defined moving window size)
Vaclav Petras (major code clean up)

SOURCE CODE

Available at: r.forestfrag source code (history)

Latest change: Thursday Feb 03 09:32:35 2022 in commit: f17c792f5de56c64ecfbe63ec315307872cf9d5c


Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

© 2003-2024 GRASS Development Team, GRASS GIS 8.3.3dev Reference Manual