Cost surfaces are used a a precomputed solution of the shorten path problem on raster
maps. To compute the cost surface we can use the Dijkstra's algorithm. On a raster
GIS a network connecting every cell with all their neighbour is assumed. For any
given cell we can consider only four neighbour, eight (Queen) or sixteen (Knight).
GRASS support Queen and Knight patterns.
One important topic is how we represent unit cost. The Dijkstra's algorithm work with
a graph associating cost to edges. Usually GIS systems use a map to store unit cost,
this implies that the problem is isotropic. But real problems are often anisotropic:
usually the cost to move from cell A to cell B is not the same of moving from cell B
to cell A. This happen when you are walking, using a machine or building a channel.
Moreover, the cost for crossing cell A following a north-south path may be completely
different of that of doing it using a east-west one.
In this work we propose a method to compute anisotropic cost surfaces. The method has
been implemented on Grass as two new modules: r.acost and r.adrain. The paper explain
the method, the implementation on Grass and evaluate them on a practical case.
1.Cost surfaces
Brief description of cost surface fundamental and computation
2.Anisotropic cost surfaces
Previous work on computing anisotropic cost surfaces
Description of the proposed approach
Justification of the need for a new drain function
Computation of directional costs
3.Grass implementation
Overall structure of the modules r.adrain and r.acost
4.Applications
Example of use for roads and channel design
5.Evaluation
Performance
Influence of the number of directions on the results |