GRASS logo

Note: This document is for an older version of GRASS GIS that will be discontinued soon. You should upgrade, and read the current manual page.


v.split - Splits vector lines to shorter segments.


vector, geometry, densification, node, segment, vertex


v.split --help
v.split [-nf] input=name [layer=string] output=name [length=float] [units=string] [vertices=integer] [--overwrite] [--help] [--verbose] [--quiet] [--ui]


Add new vertices, but do not split
Applies only to 'length' option
Force segments to be exactly of given length, except for last one
Applies only to 'length' option
Allow output files to overwrite existing files
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


input=name [required]
Name of input vector map
Or data source for direct OGR access
Layer number or name ('-1' for all layers)
A single vector map can be connected to multiple database tables. This number determines which table to use. When used with direct OGR access this is the layer name.
Default: -1
output=name [required]
Name for output vector map
Maximum segment length
Length units
Options: map, meters, kilometers, feet, surveyfeet, miles, nautmiles
Default: map
Maximum number of vertices in segment

Table of contents


v.split splits vector lines into shorter segments using a maximal distance between nodes. The resulting length of all segments is expected to be equal and not higher than the given length parameter.


v.split does not change the layer, nor the category information, nor the attribute table links of the original file. It just splits each line in segments and attributes the same category to all segments of the same original line. As the attribute table is linked to the features with their category as key, all segments originating from the same original line are linked to the same line in the original attribute table which is just copied to the new map.

Notes on individual segment information

When running on a map produced by v.split, will add length information for each segment in its respective attribute line, but since all the segments of the same original line share the same attribute table line, it only gets updated once.

To obtain the length of each segment, the user will have to attribute different category values to each of them. The best way to do this on a separate layer, using v.category

v.category v_split op=add layer=2 output=v_split_2
and then run the following commands on the new layer 2:
v.db.addtable v_split_2 layer=2
v.db.addcolumn map=v_split_2 column="length double precision" layer=2 map=v_split_2 type=line option=length columns=length units=meters layer=2
To link the new segments in the new layer to the original segments, use:
v.db.addcolumn map=v_split_2 layer=2 column="cat_1 int" map=v_split_2 layer=2 option=query query_layer=1 query_column=cat columns=cat_1


The examples are based on the North Carolina sample data location.

Example 1: Inserting nodes to railroad lines map

# extract one railroad line for this example
v.extract input=railroads output=myrr cats=1

# show line, category, direction (to find the beginning)
g.region vector=myrr
d.vect myrr display=shape,cat,dir

# insert nodes at a distance not longer than 1000m
v.split input=myrr output=myrr_split_1km length=1000

d.vect myrr_split_1km display=shape,topo

Note: In case that the vector line data are not polylines, generate first polylines as the second step, eg.:

# join segments into polyline input=myrr output=myrr_polylines
# regenerate categories
v.category input=myrr_polylines output=myrailroads option=add

Example 2: Inserting vertices to railroad lines map

Note: first run the two steps from example 1.
# insert vertices at a distance not longer than 1000m
v.split -n input=myrr output=myrr_split length=1000
d.vect myrr_split display=shape,topo


v.edit,,, v.segment


Radim Blazek


Available at: v.split source code (history)

Latest change: Monday Nov 18 20:15:32 2019 in commit: 1a1d107e4f6e1b846f9841c2c6fabf015c5f720d

Note: This document is for an older version of GRASS GIS that will be discontinued soon. You should upgrade, and read the current manual page.

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

© 2003-2023 GRASS Development Team, GRASS GIS 7.8.9dev Reference Manual