DOKK / manpages / debian 10 / grass-doc / r.li.patchdensity.1grass.en
r.li.patchdensity(1grass) Grass User's Manual r.li.patchdensity(1grass)

r.li.patchdensity - Calculates patch density index on a raster map, using a 4 neighbour algorithm

raster, landscape structure analysis, patch index

r.li.patchdensity
r.li.patchdensity --help
r.li.patchdensity 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

r.li.patchdensity calculates the "patch density index", the number of patches per square kilometer, as:

PD = Npatch / A

with:

  • 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\r.li\output\ (MS-Windows) or $HOME/.grass7/r.li/output/ (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:

r.li.patchdensity 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):
r.li.patchdensity forests conf=movwindow7 out=forests_p_dens7
r.univar forests_p_dens7
d.rast.leg forests_p_dens7
r.to.vect 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() )"
r.li.patchdensity input=forests conf=movwindow7 out=forests_patchdensity_mov7
# verify
r.univar forests_patchdensity_mov7
r.to.vect input=forests output=forests type=area
d.mon wx0
d.rast forests_patchdensity_mov7
d.vect forests type=boundary

r.li - package overview
g.gui.rlisetup

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)

Last changed: $Date: 2014-12-19 22:17:36 +0100 (Fri, 19 Dec 2014) $

Available at: r.li.patchdensity source code (history)

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

© 2003-2019 GRASS Development Team, GRASS GIS 7.6.0 Reference Manual

GRASS 7.6.0