DESCRIPTION computes the shortest path between each selected node and all other selected nodes. An attribute table is created and linked to layer 1 of the output map. The table contains three columns: cat, to_cat, cost. Each entry denotes the cost of the shortest path from cat to to_cat. If the cost is negative then no path exists. If points are specified by cats, layer or where parameters then the table is filled only for the selected points.

If abcolumn is not given then then the same costs are used for forward and backward arcs.

Contrary to other* modules, does not allow to use arcs and nodes from separate layers. This means that you have to put both types of features into the same layer, but with distinct category numbers in order to allow accessing specific nodes only. See the example below.


If the -a flag is set then new points are added on nodes without nodes. These points have the largest category. Precisely, the category value of each new point is larger than any of the old categories. Note that these new points are not included in the output table.


Find shortest path along roads between schools (North Carolina sample dataset):
#check cat values in arcs layer (streets_wake here):
v.category streets_wake op=report

#take the existing cat values of the points in schools_wake and add
50000 (because the cat values in streets_wake go up to just under 50000)
v.category schools_wake out=schools op=sum cat=50000

#now link the nodes with their new categories to the arcs, with node category values in layer 1 streets_wake points=schools op=connect thresh=200 out=network

#then launch your analysis indicating the cat values of the points which you want to use network cats=50000-50167 out=allpairs 

#get distance matrix allpairs



Daniel Bundala, Google Summer of Code 2009, Student
Wolf Bergenheim, Mentor
Markus Metz

Last changed: $Date$