r.li.edgedensity
Calculates edge density index on a raster map, using a 4 neighbour algorithm
r.li.edgedensity [-b] input=name config=name output=name [patch_type=string] [--overwrite] [--verbose] [--quiet] [--qq] [--ui]
Example:
r.li.edgedensity input=name config=name output=name
grass.script.run_command("r.li.edgedensity", input, config, output, patch_type=None, flags=None, overwrite=None, verbose=None, quiet=None, superquiet=None)
Example:
gs.run_command("r.li.edgedensity", input="name", config="name", output="name")
grass.tools.Tools.r_li_edgedensity(input, config, output, patch_type=None, flags=None, overwrite=None, verbose=None, quiet=None, superquiet=None)
Example:
tools = Tools()
tools.r_li_edgedensity(input="name", config="name", output="name")
This grass.tools API is experimental in version 8.5 and expected to be stable in version 8.6.
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
-b
Exclude border edges
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--qq
Very quiet module output
--ui
Force launching GUI dialog
input : str, required
Name of input raster map
Used as: input, raster, name
config : str, required
Configuration file
Used as: input, file, name
output : str, required
Name for output raster map
Used as: output, raster, name
patch_type : str, optional
The value of the patch type
It can be integer, double or float; it will be changed in function of map type
flags : str, optional
Allowed values: b
b
Exclude border edges
overwrite : bool, optional
Allow output files to overwrite existing files
Default: None
verbose : bool, optional
Verbose module output
Default: None
quiet : bool, optional
Quiet module output
Default: None
superquiet : bool, optional
Very quiet module output
Default: None
input : str | np.ndarray, required
Name of input raster map
Used as: input, raster, name
config : str | io.StringIO, required
Configuration file
Used as: input, file, name
output : str | type(np.ndarray) | type(np.array) | type(gs.array.array), required
Name for output raster map
Used as: output, raster, name
patch_type : str, optional
The value of the patch type
It can be integer, double or float; it will be changed in function of map type
flags : str, optional
Allowed values: b
b
Exclude border edges
overwrite : bool, optional
Allow output files to overwrite existing files
Default: None
verbose : bool, optional
Verbose module output
Default: None
quiet : bool, optional
Quiet module output
Default: None
superquiet : bool, optional
Very quiet module output
Default: None
Returns:
result : grass.tools.support.ToolResult | np.ndarray | tuple[np.ndarray] | None
If the tool produces text as standard output, a ToolResult object will be returned. Otherwise, None
will be returned. If an array type (e.g., np.ndarray) is used for one of the raster outputs, the result will be an array and will have the shape corresponding to the computational region. If an array type is used for more than one raster output, the result will be a tuple of arrays.
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
- e_ik :total edge length in the landscape involving patch type k
- Area: total landscape area
The unit is meters per hectare.
NOTES
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\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 consider to have 0 patches.
If area is 0 r.li.edgedensity returns NULL; this is only possible if
input raster is masked.
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 (
Markus Metz
SOURCE CODE
Available at: r.li.edgedensity source code
(history)
Latest change: Wednesday Apr 30 17:57:46 2025 in commit 633b026