Scroll to navigation GRASS GIS User's Manual

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


raster, landscape structure analysis, patch index

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


Exclude border edges

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

The value of the patch type
It can be integer, double or float; it will be changed in function of map type

DESCRIPTION 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,


  • 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.


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).

If the input raster map contains only NULL values then consider to have 0 patches.
If area is 0 returns NULL; this is only possible if input raster is masked.


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: 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: 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())" 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() )" input=forests conf=movwindow7 out=forests_edgedensity_mov7
# verify
r.univar forests_edgedensity_mov7 input=forests output=forests type=area
d.mon wx0
d.rast forests_edgedensity_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)


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


Available at: source code (history)

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

© 2003-2020 GRASS Development Team, GRASS GIS 7.8.5 Reference Manual

GRASS 7.8.5