Skip to content

r.li.mps

Calculates mean patch size index on a raster map, using a 4 neighbour algorithm

r.li.mps input=name config=name output=name [--overwrite] [--verbose] [--quiet] [--qq] [--ui]

Example:

r.li.mps input=name config=name output=name

grass.script.run_command("r.li.mps", input, config, output, overwrite=None, verbose=None, quiet=None, superquiet=None)

Example:

gs.run_command("r.li.mps", input="name", config="name", output="name")

grass.tools.Tools.r_li_mps(input, config, output, overwrite=None, verbose=None, quiet=None, superquiet=None)

Example:

tools = Tools()
tools.r_li_mps(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
--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
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
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.

Raises:

grass.tools.ToolError: When the tool ended with an error.

DESCRIPTION

r.li.mps (mean patch size) calculates the mean size of the patches in the sampling area as:

MPS = A / Npatch

with:

  • A:sampling area size without null cells
  • Npatch: number of patches

The unit of the mean size is hectare.

This index is calculated using a 4 neighbour algorithm, diagonal cells are ignored when tracing a patch.

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 sample area contains only NULL value cells, r.li.mps returns 0 (zero).

EXAMPLES

To calculate mean path size 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.mps input=my_map conf=my_conf output=my_out

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.mps input=forests conf=movwindow7 out=forests_mps_mov7
r.univar forests_mps_mov7

Forest map (North Carolina sample dataset) example:

g.region raster=landclass96 -p
r.mapcalc "forests = if(landclass96 == 5, 1, null() )"
r.li.mps input=forests conf=movwindow7 out=forests_mps_mov7

# verify
r.univar forests_mps_mov7
r.to.vect input=forests output=forests type=area
d.mon wx0
d.rast forests_mps_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.mps source code (history)
Latest change: Tuesday Apr 29 06:19:47 2025 in commit 12f893b