If you find this document usefull, please consider ordering a printed hardcopy!
Subsections
1 Network analysis
In general, network analyses are based on vector topology.
Various network analysis modules are available because GRASS is a
topological GIS which has been supplemented by DGLib
(Directed Graph Library):
- Shortest-Path-Analysis (d.path and v.net.path)
- Subnets within a vector network (v.net.alloc)
- Minimum-Steiner-Tree-Problem (v.net.steiner)
- Travelling-Salesman-Problem (v.net.salesman)
- Cost analysis (v.net.iso)
As an example the optimization of hospital catchment areas
is explained in chapter 12.
The shortest distance between two given points can be determined
in two different ways. By default, the length of the vectors is
used as cost source. Other attributes of the vectors like information about the
speed limit on the road or information about the
road status can be
used for calculating a path. Cost information can also be assigned to both vector
directions. Attributes of the nodes (e.g. cycle times of the
traffic lights at a crossroad) can also be considered.
d.path
d.path directly calculates the
shortest distance between two given points on the GRASS monitor.
During this process the module is controlled via the mouse and directly
displays the result on the current vector map displayed on screen.
This module has only been designed for the entry of two points -
the start and end point. If additional points are supposed to
be used and/or the resulting map is supposed to be saved, the module
v.net.path must be used.
v.net.path
v.net.path works similarly to
d.path but needs more parameters. Another
difference is that it generates a new vector map containing the results. Thus, this module allows the user to save the generated pathes separately in vector datasets.
A possible application of this module is the calculation of the
shortest paths based on a roadnet. The free FRIDA-dataset
(17) of the city of Osnabrueck is available as
a sample dataset. The following command will find the shortest
path between point 40 and point 71.
echo "1 40 71" | v.net.path mygraph out=mypath
For the use of driving-directions the attribute columns ''forward'' and ''backwards'' can be
included in the calculation.
The map mypath is created
as the output map which contains the shortest path between the given
points.
The module v.net.alloc can calculate subnetworks within a
given vector network. For example, this can be used to
to calculate the scope of several police stations within a city. This kind of information could
then be used to adapt them to a particular situation. This application is also explained in detail in chapter 12.
The Minimum Steiner Tree describes the optimal connection of nodes
within a network (star). The following example should help to make this clear:
Lets say: Several hospitals distributed in a city need new
network cables for telemedicine services. The target is to lay
the necessary cable as good as possible along the available
roads so that only few cable is needed and all hospitals are
connected to the new cable network. The GRASS module
v.net.steiner is available for these tasks.
This question contains the determination of a perfect route
between different points (excursion). For instance, the hospitals
distributed in a city which are supposed to be visited by a
pharmarceutical company representative. The GRASS module v.net.salesman
calculates the perfect path for the traveler - which could be either the shortest path by distance or time.
v.net.salesman in=hospital_net out=pharmarepresentative ccats=40-215
The GRASS module v.net.iso creates cost analysis on a
vector network. This means a calculation of iso-distances which
can be considered as a calculation of concentrical distances
around a point. Thus, "run-length" (e.g. for sewage channel
systems) can be calculated based on the vector length or other
attributes.
If you find this document usefull, please consider ordering a printed hardcopy!
© 2005, GDF Hannover bR - Solutions for spatial data analysis and remote sensing
Last modified: 29-08-2005