dwww Home | Manual pages | Find package

r.li.daemon(1grass)         GRASS GIS User's Manual        r.li.daemon(1grass)

Support for landscape index calculations on raster
DESCRIPTION
       This documentation is focused on scientists and developers who wants to
       implement a new landscape index computation. Refer to the r.li  modules
       overview and g.gui.rlisetup module for user-focused documentation.

       r.li.daemon provides support for landscape index calculations on raster
       maps. It hides the management of areas,  defined  using  g.gui.rlisetup
       command.  It  is  not used like a standalone program, but its functions
       are a library used by all r.li.[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
              r.li.daemon  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:

           •   fd is the raster map descriptor

           •   par is a matrix for special parameter (like argv in main)

           •   ad is the area descriptor

           •   result is where to put the index calculation result
       This function has to return 1 on success and 0 otherwise.   This  func-
       tion type is defined using typedef named rli_func.

       2      Create  a  main for command line arguments parsing, and call the
              function
                      int calculateIndex(char *file, rli_func *f,
                                         char **parameters, char *raster, char *output);
              from the r.li library, for starting raster analysis.
              It follows the meaning of parameters:

           •   file name of configuration file created using g.gui.rlisetup

           •   f pointer to index function defined above

           •   parameters pointer to index special parameters

           •   raster name of raster to use

           •   output output file name

       Compile it using a changed Makefile based on the file  for  r.li.patch-
       density.

       Refer  to  the r.li library documentation in the source code and imple-
       mentation of r.li modules for details and examples.

NOTES
       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 sys-
       tem.  The documentation is in doxygen files.

SEE ALSO
       old r.le manual
       r.li - package overview
       g.gui.rlisetup

REFERENCES
       McGarigal, K., and B. J. Marks. 1995. FRAGSTATS: spatial pattern analy-
       sis  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 Uni-
       versity 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.

       Main index | Topics index | Keywords index | Graphical index | Full in-
       dex

       © 2003-2022 GRASS Development Team, GRASS GIS 7.8.7 Reference Manual

GRASS 7.8.7                                                r.li.daemon(1grass)

Generated by dwww version 1.14 on Mon Feb 3 07:39:37 CET 2025.