r.li.patchdensity(1)
π¦ r.li.patchdensity (1) π¦
hiii bestie, welcome to the GRASS GIS User's Manual page for r.li.patchdensity(1) β it's giving landscape-structure-analysis main character energy and honestly? we're obsessed. let's get into it π
β¨ NAME β¨
r.li.patchdensity β Calculates patch density index on a raster map, using a 4 neighbour algorithm
π·οΈ KEYWORDS π·οΈ
raster, landscape structure analysis, patch index
π SYNOPSIS π
r.li.patchdensity
r.li.patchdensity --help
r.li.patchdensity input=name config=name output=name [--overwrite]
[--help] [--verbose] [--quiet] [--ui]
π© Flags π©
--overwriteβ Allow output files to overwrite existing files (yes, it will simply replace what's there, no cap)--helpβ Print usage summary--verboseβ Verbose module output (it will yap, affectionately)--quietβ Quiet module output (shhh era)--uiβ Force launching GUI dialog
π§ Parameters π§
input=name[required] β Name of input raster mapconfig=name[required] β Configuration fileoutput=name[required] β Name for output raster map
π DESCRIPTION π
r.li.patchdensity calculates the "patch density index", which is literally 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. so like, only the up/down/left/right besties count as neighbours, diagonals don't get a vote π
πΈ NOTES πΈ
Do not use absolute path names for theconfigandoutputfile/map parameters. just don't, bestie, it's not the vibe.
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\GRASS8\r.li\output\ (MS-Windows) or $HOME/.grass8/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. no negatives here, we don't do that π
π EXAMPLES π
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
π SEE ALSO π
r.li - package overview, g.gui.rlisetup
π REFERENCES π
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)
π AUTHORS π
- Michael Shapiro - CERL (patch identification)
- Markus Metz (statistics)
π SOURCE CODE π
Available at: r.li.patchdensity source code (history)
Accessed: Saturday Jan 17 05:40:54 2026
Main index | Raster index | Topics index | Keywords index | Graphical index | Full index
and that's the whole page, bestie β every flag, every path, every β₯ 0, all of it, fr fr. π«Ά
this lil legend runs on GRASS 8.4.2, and the manual itself is the GRASS GIS 8.4.2 Reference Manual, Β© 2003-2025 GRASS Development Team. source + version + date all accounted for, periodt. β¨π π
π¦ where this page comes from
- fedora 44: grass 8.4.2-4.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms