v.net.components - GRASS manual
Author: GRASS Development Team
Description: v.net.components: Computes strongly and weakly connected components in the network.
Keywords: vector, network, components

## NAME

v.net.components - Computes strongly and weakly connected components in the network.

## KEYWORDS

vector, network, components

## SYNOPSIS

v.net.components
v.net.components --help
v.net.components [-a] input=name [arc_layer=string] [node_layer=string] [arc_column=name] [arc_backward_column=name] [node_column=string] output=name method=string [--overwrite] [--help] [--verbose] [--quiet] [--ui]

### Flags:

-a
  Add points on nodes
--overwrite
  Allow output files to overwrite existing files
--help
  Print usage summary
--verbose
  Verbose module output
--quiet
  Quiet module output
--ui
  Force launching GUI dialog

### Parameters:

input=name [required]
  Name of input vector map
  Or data source for direct OGR access
arc_layer=string
  Arc layer
  Vector features can have category values in different layers. This number determines which layer to use. When used with direct OGR access this is the layer name.
  Default: 1
node_layer=string
  Node layer
  Vector features can have category values in different layers. This number determines which layer to use. When used with direct OGR access this is the layer name.
  Default: 2
arc_column=name
  Arc forward/both direction(s) cost column (number)
arc_backward_column=name
  Arc backward direction cost column (number)
node_column=string
  Node cost column (number)
output=name [required]
  Name for output vector map
method=string [required]
  Type of components
  Options: weak, strong
  weak: Weakly connected components
  strong: Strongly connected components

## DESCRIPTION

v.net.components computes the weakly and strongly connected components in a network.

## NOTES

Two nodes, u and v are in the same strongly connected component if there are directed paths from u to v and from v to u. The nodes are in the same weakly connected component if, ignoring edge directions, there is a path between them.

The type of components is specified by method parameter. v.net.components creates a table and links it to layer 1. This table contains only two integer columns: cat and comp. If a point or both endpoints of a line belong to the same component then the point/line is written to the output map and appropriate information is stored in the table. If -a flag is set then new points are added on the nodes without points. These points have category numbers larger than any category used in the input map.

One-way roads can be defined by assigning a cost of -1 to the appropriate cost column (arc_column or arc_backward_column). This affects only strongly connected components. Network nodes can be closed by assigning a cost of -1 to the node cost column. All nodes with a cost < 0 can not be traversed and are end points, while all nodes with a cost ≥ 0 can be traversed. This affects both weakly and strongly connected components.

## EXAMPLES

Any road network should form a single strongly connected component. Otherwise, it is impossible to travel between some places.

    v.net.components input=roads output=roads_components method=strong

## SEE ALSO

v.net, v.category

## AUTHORS

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

## SOURCE CODE

Available at: v.net.components source code (history)

Latest change: Friday May 09 14:33:40 2025 in commit: b356c7e108fcbeca77474c8e83ebec8f1e7b3e4a

Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

© 2003-2026 GRASS Development Team, GRASS 8.6.0dev Reference Manual