GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7. Go directly to the new manual page here

NAME - Performs network maintenance.


vector, networking, maintenance

SYNOPSIS help [-c] input=name [points=name] [output=name] [operation=string] [alayer=integer] [nlayer=integer] [thresh=float] [--overwrite] [--verbose] [--quiet]


Assign unique categories to new points
For operation 'nodes'
Allow output files to overwrite existing files
Verbose module output
Quiet module output


Name of input vector map
Name of input point vector map
Required for operation 'connect'
Name for output vector map
Operation to be performed
Options: nodes,connect,report,nreport
Default: nodes
nodes: new point is placed on each node (line end) if doesn't exist
connect: connect still unconnected points to vector network by inserting new line(s)
report: print to standard output {line_category start_point_category end_point_category}
nreport: print to standard output {point_category line_category[,line_category...]}
Arc layer
A single vector map can be connected to multiple database tables. This number determines which table to use.
Default: 1
Node layer
A single vector map can be connected to multiple database tables. This number determines which table to use.
Default: 2
Required for operation 'connect'. Connect points in given threshold.

DESCRIPTION is used for network preparation and maintenance. Its main use is to create a vector network from vector lines (arcs ) and points (nodes) by creating nodes from intersections in a map of vector lines (node operator), by connecting a vector lines map with a points map (connect operator), and by creating new lines between pairs of vector points (arcs operator).

A GIS network consists of topologically correct lines (arcs). That is, the lines must be connected by shared vertices where real connections exist. In GRASS GIS you also can add nodes to the network. These are specially designated vertices used for analyzing network properties or computing cost/distance measures. That is, not all vertices are treated as nodes by default. Only can use a network without nodes, they are required for all the other network modules. In GRASS, network arcs are stored in one data layer (normally layer 1) and nodes are stored in a different data layer (normally layer 2). offers two ways to add nodes to a network of arcs:

  1. Use the connect operation to create nodes from a vector points file and add these nodes to an existing vector network of arcs (i.e., lines/boundaries). This is useful when the goal is to analyze a set of places (points) in relation to a network--for example travel costs between places. Only points within the thresh (threshold) distance to a line/boundary will be connected as network nodes.
  2. Create nodes and arcs from a vector line/boundary file using the node operation. This is useful if you are mostly interested in the network itself and thus you can use intersections of the network as start and end points. Nodes will be created at all intersections of two or more lines. For an arc that consists of several segments connected by vertices (the typical case), only the starting and ending vertices are treated as network nodes.

While the arcs created with will retain any attribute information associated with the input vector line/boundary file in data layer 1, nodes created and stored in data layer 2 will not have any associated attribute information.

For nodes created using the connect operation (method 1 above), the nodes can be reconnected to the attribute table of the input vector points file using the attribute table manager ("manage layers" tab) or by running v.db.connect.

For nodes created using the nodes operation (method 2 above), it is possible to create an attribute table for the new nodes in layer 2 using the attribute table manager and connect it to layer 2 ("manage layers" tab) or to create a table with v.db.addtable, connect it to layer 2 with v.db.connect, and update the new table with cat values with

Once a vector network has been created, it can be analyzed in a number of powerful ways using the suite of* modules. The shortest route between two nodes, following arcs, can be computed (, as can the shortest route that will pass through a set of nodes and return to the starting node ( Least cost routes through the network can be calculated on the basis of distance only or on the basis of distance weighted by an attribute associated with each arc (for example, travel speed along a network segment). A network can be divided into concentric zones of equal travel cost around one or more nodes ( or subdivided so that each node is surrounded by a zone in which all arcs can be reached with the same travel costs as all arcs surrounding each other node ( In addition to the modules listed above, the GRASS vector networking suite includes numerous other modules for analysis of network costs and connectivity. These include:,,,,,,,,, and


For a vector map prepared for network analysis in GRASS, nodes are represented by the grass-internal geometry type node and arcs by the geometry type line. If vector editing is required to modify the graph, wxGUI vector digitizer or v.edit can be used. See also the Linear Referencing System available in GRASS GIS.


The examples are North Carolina dataset based.

Create nodes globally for all line ends and intersections: input=streets_wake output=streets_node operation=nodes
Merge in nodes from a separate map within given threshold: input=streets_wake points=firestations out=streets_net \
      operation=connect thresh=500
For generating network for given vector point map is required input file in format:
[category of edge] [category of start node] [category of end node] points=geodetic_swwake_pts output=geodetic_swwake_pts_net \
      operation=arcs file=- << EOF
> 1 28000 28005
> 2 27945 27958
> 3 27886 27897


wxGUI vector digitizer, v.edit,,,,,,,,,,,,,


Radim Blazek, ITC-irst, Trento, Italy
Martin Landa, FBK-irst (formerly ITC-irst), Trento, Italy and CTU in Prague, Czech Republic (operation 'connect' and 'arcs')
Markus Metz: important fixes and improvements

Last changed: $Date: 2013-05-23 13:01:55 -0700 (Thu, 23 May 2013) $

Main index - vector index - Full index

© 2003-2016 GRASS Development Team