## NAME

r.li - Landscape structure analysis package overview.

## KEYWORDS

raster, landscape structure analysis, overview, landscape metrics, landscape pattern, landscape analysis

## DESCRIPTION

The r.li suite is a toolset for multiscale analysis of landscape structure. It aims at replacing the r.le suite of modules through a client-server, multiprocess implementation. External software for quantitative measures of landscape structure is for example FRAGSTATS (McGarigal and Marks 1995).

The r.li suite offers a set of patch and diversity indices. It supports analysis of landscapes composed of a mosaic of patches, but, more generally, the modules work with any two-dimensional raster map whose cell values are integer (e.g., 1, 2) or floating point (e.g., 1.1, 3.2) values. The r.li.setup module has options for controlling the shape, size, number, and distribution of sampling areas used to collect information about the landscape structure. Sampling area shapes can be the entire map or a moving window of square, rectangular or with circular shape. The size of sampling areas can be changed, so that the landscape can be analyzed at a variety of spatial scales simultaneously. Sampling areas may be distributed across the landscape in a random, systematic, or stratified-random manner, or as a moving window.

The r.li modules can calculate a number of measures that produce single values as output (e.g. mean patch size in the sampling area), as well as measures that produce a distribution of values as output (e.g. frequency distribution of patch sizes in the sampling area). The results are stored as raster maps.

The general procedure to calculate an index from a raster map is two-fold:

1. run r.li.setup: create a configuration file selecting the parts of raster to analyze.
2. run r.li.'index' (e.g., r.li.patchdensity) for calculate the selected index using on the areas selected on configuration file.

## NOTE

Also the r.li.daemon has a main function and it can be run, but it is only a template for development of new indices. The function itself has no meaning, it can be used only for debug.

## EXAMPLE

To calculate a patch density index on a whole 'geology' raster map in the Spearfish region, using a 5x5 moving window, follow this procedure:

1. CREATE A NEW CONFIGURATION FILE
   1. run

                  r.li.setup

   2. The main r.li.setup window is displayed, click on "New"
   3. Now it is displayed the new configuration window, enter the configuration file name (e.g., "my_conf", do not use absolute paths) and the name of raster map (e.g., "geology"). The other fields are not needed for this configuration.
   4. Click on "Setup sampling frame", select "Whole maplayer" and click "OK"
   5. Click on "Setup sampling areas", select "Moving window" and click "OK"
   6. Click on "Use keyboard to enter moving window dimension"
   7. Select "Rectangle" and enter 5 on "heigth" and "width" fields
   8. Click on "Save settings"
   9. Close r.li.setup window
2. CALCULATE PATCHDENSITY INDEX
   1. set region settings to geology raster map:

          	g.region rast=geology -p

   2. run r.li.patchdensity:

                  r.li.patchdensity map=geology conf=my_conf out=patchdens

The resulting patch density is stored in "patchdens" raster map. You can verify the result for example with contour lines:

    r.contour in=patchdens out=patchdens step=5
    d.rast patchdens
    d.vect -c patchdens

Note that if you want to run another index with the same area configuration, you don't have to create another configuration file. You can also use the same area configuration file on another map. The program rescale it automatically. For instance if you have selected a 5x5 sample area on 100x100 raster map, and you use the same configuration file on a 200x200 raster map, then the sample area is 10x10.

## SEE ALSO

Core modules:
- r.li.daemon: job launch daemon
- r.li.setup: Configuration editor for r.li.'index'
Patch indices:

- Indices based on patch number:

- r.li.patchdensity: Calculates patch density index on a raster map, using a 4 neighbour algorithm
- r.li.patchnum: Calculates patch number index on a raster map, using a 4 neighbour algorithm

- Indices based on patch dimension:

- r.li.mps: Calculates mean patch size index on a raster map, using a 4 neighbour algorithm
- r.li.padcv: Calculates coefficient of variation of patch area on a raster map
- r.li.padrange: Calculates range of patch area size on a raster map
- r.li.padsd: Calculates standard deviation of patch area a raster map

- Indices based on patch shape:

- r.li.shape: Calculates shape index on a raster map

- Indices based on patch edge:

- r.li.edgedensity: Calculates edge density index on a raster map, using a 4 neighbour algorithm

- Indices based on patch attributes:

- r.li.cwed: Calculates contrast Weighted Edge Density index on a raster map
- r.li.mpa: Calculates mean pixel attribute index on a raster map
Diversity indices:
- r.li.dominance: Calculates dominance diversity index on a raster map
- r.li.pielou: Calculates Pielou eveness index on a raster map
- r.li.renyi: Calculates Renyi entropy on a raster map
- r.li.richness: Calculates richness diversity index on a raster map
- r.li.shannon: Calculates Shannon diversity index on a raster map
- r.li.simpson: Calculates Simpson diversity index on a raster map

## ADDING NEW INDICES

New indices can be defined and implemented by any C programmer, without having to deal with all basic functions (IO etc.). The computing architecture and the functions are clearly separated, thus allowing an easy expandability. Every index is defined separately, placed in a directory along with its Makefile for compiling it and a file description.html which describes the index including a simple example of use.

## 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

Claudio Porta and Lucio Davide Spano, students of Computer Science University of Pisa (Italy).
Commission from Faunalia Pontedera (PI)

Last changed: $Date: 2011-11-08 12:29:50 +0100 (Tue, 08 Nov 2011) $

Main index - raster index - Full index