1
<!-- meta page description: Landscape structure analysis package overview -->
4
The <em>r.li</em> suite is a toolset for multiscale analysis of
5
landscape structure. It aims at implementing metrics as found in
6
external software for quantitative measures of landscape structure like
7
FRAGSTATS (McGarigal and Marks 1995).
9
The <em>r.li</em> suite offers a set of patch and diversity indices.
10
It supports analysis of landscapes composed of a mosaic of
11
patches, but, more generally, the modules work with any two-dimensional
12
raster map whose cell values are integer (e.g., 1, 2) or floating point
13
(e.g., 1.1, 3.2) values. The <em>g.gui.rlisetup</em> module has options for
14
controlling the shape, size, number, and distribution of sampling
15
areas used to collect information about the landscape structure.
16
Sampling area shapes can be the entire map or a moving
17
window of square, rectangular or circular shape. The size of
18
sampling areas can be changed, so that the landscape can be analyzed
19
at a variety of spatial scales simultaneously. Sampling areas may be
20
distributed across the landscape in a random, systematic, or
21
stratified-random manner, or as a moving window.
23
The <em>r.li</em> modules can calculate a number of measures that produce
24
single values as output (e.g. mean patch size in the sampling area),
25
as well as measures that produce a distribution of values as output
26
(e.g. frequency distribution of patch sizes in the sampling area). The
27
results are stored as raster maps.
31
The general procedure to calculate an index from a raster map is two-fold:
34
<li>run <em>g.gui.rlisetup</em>: create a configuration file selecting
35
the parts of raster map to be analyzed. This file allows re-running
36
an analysis easily. It is stored on Windows in the directory <tt>C:\Users\userxy\AppData\Roaming\GRASS7\r.li\</tt>, on GNU/Linux in
37
<tt>$HOME/.grass7/r.li/</tt>. <!-- TODO: and Mac OSX? -->
39
<li>run one or more of the <em>r.li.<b>[index]</b></em> modules (e.g.,
40
<em>r.li.<b>patchdensity</b></em>) to calculate the selected index
41
using on the areas selected on configuration file.
45
The <em>r.li.daemon</em> source code has a "main" function front-end
46
which can be run, but it is only a template for development of new
52
Calculate a patch density index on the entire 'geology' raster map
53
in the Spearfish sample dataset, using a 5x5 moving window:
55
<!-- TODO: update to new wxGUI: -->
58
<li> CREATE A NEW CONFIGURATION FILE
61
<div class="code"><pre>
64
<li> The main <em>g.gui.rlisetup</em> window is displayed, click on "New"
65
<li> The new configuration window is now displayed, enter the
66
configuration file name (e.g., "my_conf", do not use absolute paths)
68
Now the new configuration window is displayed.
69
Enter the configuration file name (e.g., "my_conf", do not use absolute paths)
70
and the name of raster map (e.g., "geology").
71
The other fields are not needed for this configuration.
72
<li> Click on "Setup sampling frame", select "Whole map layer" and click "OK"
73
<li> Click on "Setup sampling areas", select "Moving window" and click "OK"
74
<li> Click on "Use keyboard to enter moving window dimension"
75
<li> Select "Rectangle" and enter 5 in the "height" and "width" fields
76
<li> Click on "Save settings"
77
<li> Close the <em>g.gui.rlisetup</em> window
80
<li> CALCULATE PATCHDENSITY INDEX
82
<li> set the region settings to the "<tt>geology</tt>" raster map:
83
<div class="code"><pre>
84
g.region raster=geology -p
87
<li> run <em>r.li.patchdensity</em>:
88
<div class="code"><pre>
89
r.li.patchdensity input=geology conf=my_conf out=patchdens
94
The resulting patch density is stored in "<tt>patchdens</tt>" raster map.
96
You can verify the result for example with contour lines:
97
<div class="code"><pre>
98
r.contour in=patchdens out=patchdens step=5
103
Note that if you want to run another index with the same area
104
configuration, you don't have to create another configuration file.
106
You can also use the same area configuration file on another map. The
107
program rescale it automatically. For instance if you have selected a
108
5x5 sample area on 100x100 raster map, and you use the same
109
configuration file on a 200x200 raster map, then the sample area is
116
<li> <a href="r.li.daemon.html">r.li.daemon</a>: job launch daemon (not visible to the user)</li>
117
<li> <a href="g.gui.rlisetup.html">g.gui.rlisetup</a>: Configuration editor for r.li.'index'</li>
120
<b>Patch indices</b>:
122
<li>Indices based on patch number:
124
<li> <a href="r.li.patchdensity.html">r.li.patchdensity</a>: Calculates patch density index on a raster map, using a 4 neighbour algorithm</li>
125
<li> <a href="r.li.patchnum.html">r.li.patchnum</a>: Calculates patch number index on a raster map, using a 4 neighbour algorithm</li>
128
<li>Indices based on patch dimension:
130
<li> <a href="r.li.mps.html">r.li.mps</a>: Calculates mean patch size index on a raster map, using a 4 neighbour algorithm</li>
131
<li> <a href="r.li.padcv.html">r.li.padcv</a>: Calculates coefficient of variation of patch area on a raster map</li>
132
<li> <a href="r.li.padrange.html">r.li.padrange</a>: Calculates range of patch area size on a raster map</li>
133
<li> <a href="r.li.padsd.html">r.li.padsd</a>: Calculates standard deviation of patch area a raster map</li>
136
<li>Indices based on patch shape:
138
<li> <a href="r.li.shape.html">r.li.shape</a>: Calculates shape index on a raster map</li>
141
<li>Indices based on patch edge: <!-- border? -->
143
<li> <a href="r.li.edgedensity.html">r.li.edgedensity</a>: Calculates edge density index on a raster map, using a 4 neighbour algorithm</li>
146
<li>Indices based on patch attributes:
148
<li> <a href="r.li.cwed.html">r.li.cwed</a>: Calculates contrast Weighted Edge Density index on a raster map</li>
149
<li> <a href="r.li.mpa.html">r.li.mpa</a>: Calculates mean pixel attribute index on a raster map</li>
154
<b>Diversity indices</b>:
156
<li> <a href="r.li.dominance.html">r.li.dominance</a>: Calculates dominance diversity index on a raster map</li>
157
<li> <a href="r.li.pielou.html">r.li.pielou</a>: Calculates Pielou eveness index on a raster map</li>
158
<li> <a href="r.li.renyi.html">r.li.renyi</a>: Calculates Renyi entropy on a raster map</li>
159
<li> <a href="r.li.richness.html">r.li.richness</a>: Calculates richness diversity index on a raster map</li>
160
<li> <a href="r.li.shannon.html">r.li.shannon</a>: Calculates Shannon diversity index on a raster map</li>
161
<li> <a href="r.li.simpson.html">r.li.simpson</a>: Calculates Simpson diversity index on a raster map</li>
165
<h2>ADDING NEW INDICES</h2>
167
New indices can be defined and implemented by any C programmer, without
168
having to deal with all basic functions (IO etc.). The computing
169
architecture and the functions are clearly separated, thus allowing an
170
easy expandability. Every index is defined separately, placed in a
171
directory along with its Makefile for compiling it and a file
172
<module_name>.html which describes the index including a simple
178
McGarigal, K., and B. J. Marks. 1995. FRAGSTATS: spatial pattern
179
analysis program for quantifying landscape structure. USDA For. Serv.
180
Gen. Tech. Rep. PNW-351
181
(<a href="http://www.fs.fed.us/pnw/pubs/gtr_351.pdf">PDF</a>).
186
Claudio Porta and Lucio Davide Spano, students of Computer Science,
187
University of Pisa (Italy).<br>
188
Commission from Faunalia Pontedera (PI)
190
Partially rewritten by Markus Metz
193
<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>