v.to.points (1)
NAME
v.to.points - Creates points along input lines in new vector map with 2 layers.
KEYWORDS
vector, geometry, 3D, line, node, vertex, point
SYNOPSIS
v.to.points
v.to.points --help
v.to.points [-it] input=name [layer=string] [type=string[,string,...]] output=name [use=string] [dmax=float] [--overwrite] [--help] [--verbose] [--quiet] [--ui]
Flags:
-i
Interpolate points between line vertices (only for use=vertex)
-t
Do not create attribute table
--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
layer=string
Line layer number or name
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
type=string[,string,...]
Input feature type
Options: point, line, boundary, centroid, area, face, kernel
Default: point,line,boundary,centroid,face
output=name [required]
Name for output vector map
use=string
Use line nodes or vertices only
Options: node, vertex
dmax=float
Maximum distance between points in map units
Default: 100
DESCRIPTION
v.to.points creates points along input 2D or 3D lines, boundaries and faces. Point features including centroids and kernels are copied from input vector map to the output. For details see notes about type parameter.
The output is a vector map with 2 layers. Layer 1 holds the category of the input features; all points created along the same line have the same category, equal to the category of that line. In layer 2 each point has its unique category; other attributes stored in layer 2 are lcat - the category of the input line and along - the distance from line's start.
By default only features with category are processed, see layer parameter for details.
NOTES
The dmax parameter is the maximum limit but not an exact distance. To place points with exact distance from the beginning of the vector line the user should use v.segment.
Set layer to -1 to process features from all layers including features without category. Features will be assigned new unique categories at layer 1. Option layer=-1 should be used to convert boundaries, as in most of cases boundaries lack category values.
The type parameter is used to control which input vector geometry types to convert into points. Some caveats to consider about this parameter:
o Points and centroids can be considered as "lines" with only one node. Consequently, the result of selecting point or centroid as the type parameter is that all points/centroids get written into the output vector map. The original category numbers of the input points/centroids get written to the 'lcat' attribute in layer 2 of the output vector map. All values for along are zero in the output vector map, as only point geometry was used for input (there is no linear distance to calculate along, as each point/centroid is the start and end of its own "line").
o Boundaries are treated as lines, with points getting interpolated along the boundary perimeter according to dmax. If two adjoining polygons share a topological boundary, the boundary only gets converted to points once.
o If the type parameter is set to area, the boundary of each area is converted to points regardless of whether or not there is a topological boundary between adjacent areas. In other words, the common boundary of two adjoining areas, for example, gets converted to points twice. The centroid is not converted to a point in the output vector for type=area.
The use=vertex option is used to digitize points that fall on the line's vertices only. Parameter dmax is ignored in this case. Similarly to use=node when only line's node are used.
If the -i flag is used in conjunction with the use=vertex option, v.to.points will digitize points on the line vertices, as well as interpolate points between line vertices using dmax as the maximum allowable spacing.
To get points created for the beginning, middle and end only, use the -i flag and set dmax so that:
(length of input line / 2) <= dmax <= length of input line
Hence, if dmax is between 0.5x and 1.0x the line length, you will always get points created at exactly the beginning, middle and end of the input line.
EXAMPLE
In this example, the 'railroads' vector lines map of the North Carolina sample dataset is used to create points along the input lines:
# The North Carolina data are metric.
# 200m distance for nodes (maximum limit but not an exact distance)
v.to.points railroads output=railroads_nodes use=node dmax=200
# verify the two layers in the resulting map
v.category railroads_nodes option=report
# vector info
v.info railroads_nodes
SEE ALSO
v.segment, v.split, v.to.rast, v.to.db
AUTHOR
Radim Blazek
Updated to GRASS 7 by Martin Landa, Czech Technical University in Prague, Czech Republic
Last changed: $Date: 2016-03-10 17:47:07 +0100 (Thu, 10 Mar 2016) $
SOURCE CODE
Available at: v.to.points source code (history)
Main index | Vector index | Topics index | Keywords index | Graphical index | Full index
2003-2017 GRASS Development Team, GRASS GIS 7.2.1 Reference Manual