GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7, available here. And see the new manual page here


libgrass_rli - landscape index support library

DESCRIPTION provides support for landscape index calculations on raster maps. It hides the management of areas, defined using command. It is not used like a standalone program, but its functions are a library used by all[index] commands.
This description is a tutorial for new index definition.

The developer has only to focus on a unique area, like in mathematical definitions, and has to write a C implementation of it.
The areas are defined using a struct called area_des and it members are explained in the source code (doxygen) documentation.

To write a new index only two steps are needed:

  1. Define a function and insert its declaration on file index.h in folder, which contains all index declarations. This function must be of this kind:
            int index(int fd, char ** par, area_des ad, double * result)

    where: This function has to return 1 on success and 0 otherwise.

  2. Create a main for command line arguments parsing, and call the function
            int calculateIndex(char * file, int f(int, char** area_des, double *), char **parameters, char *raster, char *output);

    from the library, for starting raster analysis.
    It follows the meaning of parameters:
Compile it using a changed Makefile based on the file for


Using GRASS library function to access raster rows can slow down moving windows execution. It is recommended to use
RLI_get_cell_row(int, int, area_des)
RLI_get_fcell_row(int, int, area_des)
RLI_get_dcell_row(int, int, area_des)

to use an ad hoc build memory management developed to speed up the system. The documentation is in doxygen files.


old r.le manual - package overview


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)


Claudio Porta and Lucio Davide Spano, students of Computer Science University of Pisa (Italy).
Commission from Faunalia Pontedera (PI)
Rewritten from "r.le.setup" by William L. Baker
Various bug fixes by Markus Metz
This program is free software under the GPL (>=v2) Read the COPYING file that comes with GRASS for details.

Last changed: $Date: 2014-08-17 11:39:21 -0700 (Sun, 17 Aug 2014) $

Main index - Raster index - Full index