[GRASS-user] [GRASSLIST:1159] Surface area of a DEM

Glynn Clements glynn at gclements.plus.com
Fri Jul 21 06:11:48 EDT 2006


[Resending to grassuser list; my original reply went to the Baylor
list, which bounced as I'm no longer subscribed there.]

Jonathan Greenberg wrote:

> I'd like to estimate the surface area of each cell in a DEM (r.surf.area
> seems to just give you the value for the entire dem, no?) -- by surface area
> I am referring to the "true" ground area as opposed to the planar projected
> ground area (which is constant for all cells) -- flat areas the area = the
> planar projected area (e.g. a 30m cell that is flat has 900m2 of surface
> area, but an inclined slope will have > 900m2).  Is there a grass module to
> do this, or any recommendation on how to calculate this?  Thanks!

r.slope.aspect will produce a slope map in either percentage or
degrees, from which you can compute the scale factor of each cell as
either sqrt(1+k^2) (where k is percent/100) or 1/cos(angle). Those
values can then be summed with e.g. "r.statistics method=sum".

Note that it doesn't matter as to the direction of the slope; a
30-degree N-S slope produces the same result as a 30-degree NE-SW
slope.

Also note that any slope calculation based upon a DEM will inevitably
be an approximation, on top of the fact that the DEM will be an
approximation. [In fact, if the terrain has fractal dimension, the
notion of surface area becomes entirely meaningless.]

-- 
Glynn Clements <glynn at gclements.plus.com>





More information about the grass-user mailing list