## DESCRIPTION

r.surf.area Calculates area of regular 3D triangulated points (centers of cells) in current region by adding areas of triangles. Therefore, area of a flat surface will be reported as (rows + cols -1)*(area of cell) less than area of flat region due to a half row and half column missing around the perimeter.

## NOTE

This calculation is heavily dependent on data resolution (think of it as a fractal shoreline problem, the more resolution the more detail, the more area, etc). This program uses the CURRENT GRASS REGION, not the resolution of the map. This is especially important for surfaces with `NULL` values and highly irregular edges. The program does not [currently] attempt to correct for the error introduced by this edge effect.

This version actually calculates area twice for each triangle pair, keeping a running minimum and maximum area depending on the direction of the diagonal used.

Reported totals are:
1. "Plan" area of `NULL` values within the current GRASS region
2. "Plan" area within calculation region (rows-1 * cols-1 * cellarea)
3. Average of the minimum and maximum calculated 3d triangle area within this region
4. "Plan" area within current GRASS region (rows * cols * cellarea)
5. Scaling of calculated area to current GRASS region (see NOTE)

## NOTES

r.surf.area works best when the surface being evaluated extends to the edges of the current GRASS region and the cell resolution is small. Surfaces which are especially long and thin and have highly irregular boudaries will tend to have underestimated surface areas. Setting a high cell resolution (small area) will greatly reduce this impact, but will cause longer processing times.

## SEE ALSO

r.surf.idw, r.surf.idw2, r.surf.fractal, r.surf.gauss, r.volume, v.to.rast, r.slope.aspect, g.region

## AUTHOR

Bill Brown, USACERL December 21, 1994

Modified for floating point rasters and `NULL` values by Eric G. Miller (October 17, 2000)

Last changed: $Date: 2003/05/06 15:49:06 $