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 [-iprt] 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)
- -p
- Use dmax as percentage of line length
- -r
- Start from the end node
- -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 (start/end) or vertices only
- Options: node, start, end, vertex
- dmax=float
- Maximum distance between points in map units or percentage with -p
- Default: 100
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.
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:
-
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").
-
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.
-
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. To filter only starting/ending nodes use use=start/end.
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.
Use the -p flag to treat dmax as a percentage of each line
length. For example, to get points created for the beginning, middle and end
only, use the -p flag and set dmax so that:
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.
Use the -r flag to create points starting from the end node.
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 points (maximum limit but not an exact distance)
v.to.points input=railroads output=railroads_points dmax=200
# verify the two layers in the resulting map
v.category input=railroads_points option=report
# vector info
v.info map=railroads_points
v.to.points input=railroads output=railroads_nodes use=node
v.to.points input=railroads output=railroads_start use=start
v.to.points input=railroads output=railroads_end use=end
v.segment,
v.split,
v.to.rast,
v.to.db
Radim Blazek
Updated to GRASS 7 by Martin Landa, Czech Technical University in
Prague, Czech Republic
SOURCE CODE
Available at:
v.to.points source code
(history)
Latest change: Thursday Jan 26 14:10:26 2023 in commit: cdd84c130cea04b204479e2efdc75c742efc4843
Main index |
Vector index |
Topics index |
Keywords index |
Graphical index |
Full index
© 2003-2024
GRASS Development Team,
GRASS GIS 8.5.0dev Reference Manual