Scroll to navigation GRASS GIS User's Manual

NAME - Calculates patch density index on a raster map, using a 4 neighbour algorithm


raster, landscape structure analysis, patch index

SYNOPSIS --help input=name config=name output=name [--overwrite] [--help] [--verbose] [--quiet] [--ui]


Allow output files to overwrite existing files

Print usage summary

Verbose module output

Quiet module output

Force launching GUI dialog


Name of input raster map

Configuration file

Name for output raster map

DESCRIPTION calculates the "patch density index", the number of patches per square kilometer, as:

PD = Npatch / A


  • A:sampling area size
  • Npatch: number of patches

This index is calculated using a 4 neighbour algorithm, diagonal cells are ignored when tracing a patch.


Do not use absolute path names for the config and output file/map parameters. If the "moving window" method was selected in g.gui.rlisetup, then the output will be a raster map, otherwise an ASCII file will be generated in the folder C:\Users\userxy\AppData\Roaming\GRASS7\\output\ (MS-Windows) or $HOME/.grass7/ (GNU/Linux).

A sample area of only NULL values is considered to have zero patches, that is, the result is always ≥ 0.


To calculate patch density index on map my_map, using my_conf configuration file (previously defined with g.gui.rlisetup) and saving results in my_out, run: input=my_map conf=my_conf output=my_out

Example for Spearfish forest areas:

g.region raster=landcover.30m -p
# extract forested areas:
r.category landcover.30m
r.mapcalc "forests = if(landcover.30m >= 41 && landcover.30m <= 43, 1, null())"
# patch density (7x7 moving window defined in g.gui.rlisetup): forests conf=movwindow7 out=forests_p_dens7
r.univar forests_p_dens7
d.rast.leg forests_p_dens7 forests out=forests feature=area
d.vect forests type=boundary

Forest map (North Carolina sample dataset) example:

g.region raster=landclass96 -p
r.mapcalc "forests = if(landclass96 == 5, 1, null() )" input=forests conf=movwindow7 out=forests_patchdensity_mov7
# verify
r.univar forests_patchdensity_mov7 input=forests output=forests type=area
d.mon wx0
d.rast forests_patchdensity_mov7
d.vect forests type=boundary

SEE ALSO - package overview


McGarigal, K., and B. J. Marks. 1995. FRAGSTATS: spatial pattern analysis program for quantifying landscape structure. USDA For. Serv. Gen. Tech. Rep. PNW-351. (PDF)


Michael Shapiro - CERL (patch identification)
Markus Metz (statistics)


Available at: source code (history)

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

© 2003-2021 GRASS Development Team, GRASS GIS 7.8.6 Reference Manual

GRASS 7.8.6