Toolset for multiscale analysis of landscape patch structure
DESCRIPTION
r.pi (raster patch index) provides various functions to analyse spatial attributes of a landscape. It has a focus on patch-based indices but delivers class-based indices as well. r.le and its successor r.li provide landscape indices.
A list with a short description of the r.pi modules can be found below. More in depth description of a certain module (commands, flags, options) can be found in the respective folder (like r.pi.graph). The functions/algorithms of the modules are not yet very extensive but will be expanded in the future. Please submit any bug/feature you might encounter to improve the functionality.
The program will interactively query the user for input, output and options (GUI). However the module can be also run from the terminal prompt (CLI) and might be implemented in e.g. a bash-script.
It is highly recommended to read the help pages or e.g the overview documents of Fragstats to get a better impression of problems, possibilities and caveats.
General and Connectivity Indices
- r.pi.index: Calculations of basic indices (area, SHAPE etc.)
- r.pi.enn: Area, SHAPE and distance to n-th Euclidean Nearest Neighbor
- r.pi.fnn: Area, SHAPE and distance to n-th Functional Nearest Neighbor
- r.pi.grow: Size and suitability based region growing
- r.pi.odc: Area and distance to omnidirectional n-th Nearest Neighbors
- r.pi.neigh: Extraction of values of patches in defined buffer region
- r.pi.prox: Calculation of Proximity and Modified Proximity Index for patches in buffer region
- r.pi.graph: Various connectivity indices within the Graph Theory
- r.pi.graph.pr: Graph Theory - iterative removal (patch relevance analysis)
Individual-based dispersal models
- r.pi.searchtime: Searchtime and Immigration rate
- r.pi.searchtime.mw: Individual-based dispersal model for connectivity analysis (time-based) using moving window
- r.pi.energy: Immigration, Migration and successfull emigration rate
- r.pi.searchtime.mw: Related to r.pi.searchtime but using a Moving Windows approach
Patch-Relevance
- r.pi.enn.pr: Patch relevance for Euclidean nearest neighbor patches
- r.pi.searchtime.pr: Relevance of patches for maintenance of searchtime
- r.pi.energy.pr: Relevance of patches for maintenance of immigration rate
- r.pi.graph.red: Graph Theory - decreasing distance threshold option
- r.pi.graph.dec: Graph Theory - successive criteria-based deletion of patches
Neutral Landscape Model
- r.pi.nlm: Generation of a neutral landscape (fractal)
- r.pi.nlm.stats: Statistical analysis of landscapes based on permutation of neutral landscapes
- r.pi.nlm.circ: Generation of a neutral landscape (circular)
Various modules
- r.pi.corearea: Calculation of core area based on costmatrix
- r.pi.csr.mw: Complete Spatial Randomness analysis on moving window.
- r.pi.prob.mw: Probability of two random points being in the same patch
- r.pi.rectangle: Generation of rectangles based on coordinate points
- r.pi.import: Import of values to corresponding patches
- r.pi.export: Export of values from patches
- r.pi.lm: Linear regression analysis for patches
- r.pi.corr.mw: Moving window correlation between two raster maps
EXAMPLES
Calculation of the SHAPE-Index
Input can be generated by r.pi.nlm, for example:
# generate random landscape with 50% cover
r.pi.nlm output=NLM_in landcover=50 sharpness=0.5
# use the class 1 of the above generated landscape for computation of SHAPE-Index
r.pi.index input=NLM_in keyval=1 output=NLM_in.shape method=shape
Calculation of the distance to the first and 10th Nearest Neighbor
Input generated by r.pi.nlm, for example:
# generate random landscape with 50% cover
r.pi.nlm output=NLM_in landcover=50 sharpness=0.5
# first NN
r.pi.index input=NLM_in keyval=1 output=NLM_in.enn1 method=ENN
# 10th NN
r.pi.enn input=NLM_in output=NLM_in.enn10 method=distance number=10
# 1-10th NN
r.pi.enn input=NLM_in output=NLM_in.enn10 method=distance number=1-10
NOTE
The maximum number of patches that can be queried at one time depend on the module and might also be influenced by the resolution.
SEE ALSO
r.pi.corr.mw, r.pi.energy, r.energy.pr, r.pi.enn, r.pi.enn.pr, r.pi.neigh, r.pi.fnn, r.pi.nlm.circ, r.pi.nlm, r.nlm.stats, r.pi.corearea, r.pi.csr.mw, r.pi.export, r.pi.graph, r.pi.graph.dec, r.pi.graph.pr, r.pi.graph.red, r.pi.grow, r.pi.import, r.pi.index, r.pi.lm, r.pi.odc, r.pi.prob.mw, r.pi.rectangle, r.pi.searchtime, r.pi.searchtime.pr, r.pi.searchtime.mw
REFERENCE
- Wegmann, M., Leutner, B. F., Metz, M., Neteler, M., Dech, S., & Rocchini, D. (2018). r. pi: A grass gis package for semi‐automatic spatial pattern analysis of remotely sensed land cover data. Methods in Ecology and Evolution, 9(1), 191-199. https://doi.org/10.1111/2041-210X.12827
Disclaimer
This software is released under the GPL license, hence also the limitation of liability. This software was designed for a certain project and its research questions. Its nomenclature might not be concordant with other software packages. Moreover its capabilities are yet limited and can not be compared to such of e.g. Fragstats, however every user is invited to extend, modify or fix the functionality of r.pi as long as the new code comply with the GPL.
AUTHORS
Programming: Elshad Shirinov
Scientific concept: Martin Wegmann
Department of Remote Sensing
Remote Sensing and Biodiversity Unit
University of Wuerzburg, Germany
Port to GRASS GIS 7: Markus Metz
Documentation improvements: Markus Neteler
SOURCE CODE
Available at: r.pi source code
(history)
Latest change: Thursday Mar 20 21:36:57 2025 in commit 7286ecf