[GRASSLIST:7896] Slope and Aspect Algorithms in GRASS

Dylan Beaudette dylan at iici.no-ip.org
Sun Aug 14 21:53:31 EDT 2005


After reading a recent publication on the pros/cons of various algorithms for 
calculating slope and aspect from gridded data [1], I became very curious 
about which algorithms are implemented in some of the r.* and v.* commands . 
A link to the science direct webpage and article text is included at the 
bottom: note the long URL.

For example, the following commands can generate slope and aspect maps:

According to the publication [1] , there are a number of ways in which slope 
and aspect can be calculated (pages 4 - 6) : i.e. "three-point plane" , "four 
closest neighbors" , "eight neighbors unweighted" ...

According to the paper, the "eight neighbors unweighted" algorithm, was the 
most robust (at least when tested with a Monte Carlo style error analysis) 
for slope, aspect, and topographic index calculations.

I looked through the source for r.slope.aspect, and could not determine which 
method was being used.

Do any of the developers know which algorithms are used for the various 
commands mentioned above to calculate slope and aspect values?

I think that it would be a good idea to:
1. document the slope/aspect algorithms being used in the various r.* commands
2. add some code to allow for different algorithms to be used (maybe just in 


1. Lynn D. Raaflaub and Michael J. Collins, The effect of error in gridded 
digital elevation models on the estimation of topographic parameters, 
Environmental Modelling & Software, In Press, Corrected Proof, Available 
online 27 April 2005, .

Dylan Beaudette
Soils and Biogeochemistry Graduate Group
University of California at Davis

More information about the grass-user mailing list