r.li.edgedensity(1)

πŸ’– r.li.edgedensity(1) πŸ’–

okay so bestie, welcome to the r.li.edgedensity(1) page from the GRASS GIS User's Manual β€” yes it's a mouthful, no we're not skipping any of it, and yes you're gonna understand all of it by the end. pinky promise 🫢


✨ NAME ✨

r.li.edgedensity β€” calculates the edge density index on a raster map, using a 4 neighbour algorithm. it's giving landscape-forensics energy fr fr πŸ’…


🏷️ KEYWORDS 🏷️

raster, landscape structure analysis, patch index


🌸 SYNOPSIS 🌸

r.li.edgedensity
r.li.edgedensity --help
r.li.edgedensity [-b] input=name config=name output=name [patch_type=string] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

πŸŽ€ Flags πŸŽ€

  • -b β€” exclude border edges. like, don't count the edges that live on the border, okay? boundaries stay out of it πŸ™…β€β™€οΈ
  • --overwrite β€” allow output files to overwrite existing files (let it eat, respectfully)
  • --help β€” print usage summary
  • --verbose β€” verbose module output (the module becomes a yapper, affectionately)
  • --quiet β€” quiet module output (the module becomes mysterious ✨)
  • --ui β€” force launching GUI dialog

πŸ¦‹ Parameters πŸ¦‹

  • input=name [required] β€” name of input raster map
  • config=name [required] β€” configuration file
  • output=name [required] β€” name for output raster map
  • patch_type=string β€” the value of the patch type. it can be integer, double or float; it will be changed in function of map type. so it's flexible, it's versatile, it's whatever the map needs it to be πŸ’β€β™€οΈ

πŸ‘‘ DESCRIPTION πŸ‘‘

r.li.edgedensity calculates:

  • the density of all edges of patch type k , or
  • the density of all edges in the sampling area if k is not specified,

with:

  • k: patch type
  • m: number of patch types
  • n: number of edge segments of patch type k
  • eik : total edge length in the landscape involving patch type k
  • Area: total landscape area

the unit is meters per hectare. iconic unit choice, no notes πŸ’…


πŸ™ˆ NOTES πŸ™ˆ

do not use absolute path names for the config and output file/map parameters. just don't. 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).

if the input raster map contains only NULL values then r.li.edgedensity considers it to have 0 patches.

if area is 0, r.li.edgedensity returns NULL; this is only possible if the input raster is masked. so like, mask it and suddenly it's giving nothing. be aware 🫠


πŸ”₯ EXAMPLES πŸ”₯

to calculate the edge 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.edgedensity input=my_map conf=my_conf output=my_out

to calculate edge density index of patch_type 34, using "my_conf" configuration file and on map "my_map", saving results in "my_out" file run:

r.li.edgedensity input=my_map conf=my_conf output=my_out patch_type=34

Forest map (Spearfish sample dataset) example:

g.region raster=landcover.30m -p
r.mapcalc "forests = if(landcover.30m >= 41 && landcover.30m <= 43,1,null())"
r.li.edgedensity input=forests conf=movwindow7 out=forests_edgedens_mov7
r.univar forests_edgedens_mov7

Forest map (North Carolina sample dataset) example:

g.region raster=landclass96 -p
r.mapcalc "forests = if(landclass96 == 5, 1, null() )"
r.li.edgedensity input=forests conf=movwindow7 out=forests_edgedensity_mov7
# verify
r.univar forests_edgedensity_mov7
r.to.vect input=forests output=forests type=area
d.mon wx0
d.rast forests_edgedensity_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 🧚

  • Serena Pallecchi, student of Computer Science University of Pisa (Italy).
  • Commission from Faunalia Pontedera (PI), Italy (www.faunalia.it)
  • Markus Metz

πŸ’œ SOURCE CODE πŸ’œ

available at: r.li.edgedensity source code (history)

accessed: Saturday Jan 17 05:40:52 2026

main index | raster index | topics index | keywords index | graphical index | full index

Β© 2003-2025 GRASS Development Team, GRASS GIS 8.4.2 Reference Manual


and that's the whole page bestie, you ate it, every last flag and path and unit survived the vibe check πŸ’–βœ¨ this was the r.li.edgedensity(1) page, GRASS 8.4.2, accessed Saturday Jan 17 05:40:52 2026 β€” go touch some raster, ily, bye πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from