v.voronoi - Creates a Voronoi diagram constrained to the extents of the current region from an input
Contents
Description
v.voronoi creates a Voronoi diagram (Thiessen polygons) from points or centroids.
The bounds of the output map are limited by the current region (see g.region).
The -a flag can be used to create a Voronoi diagram for areas.
The -s flag can be used to extract the center line of areas or skeletons of areas with thin >= 0. Smaller
values for the thin option will preserve more detail, while negative values will extract only the center
line.
Example
Voronoidiagramforpoints
This example uses the hospitals in the North Carolina dataset.
g.region -p raster=elev_state_500m
v.voronoi input=hospitals output=hospitals_voronoi
Result:
VoronoidiagramforhospitalsinNorthCarolinaVoronoidiagramforareas
This example uses urban areas in the North Carolina dataset.
g.region -p n=162500 s=80000 w=727000 e=846000 res=500
v.voronoi input=urbanarea output=urbanarea_voronoi -a
Result:
VoronoidiagramforurbanareasinNorthCarolinaSkeletonsandcenterlinesofareas
This example uses urban areas in the North Carolina dataset.
g.region -p n=161000 s=135500 w=768500 e=805500 res=500
v.voronoi input=urbanarea output=urbanarea_centerline -s
v.voronoi input=urbanarea output=urbanarea_skeleton -s thin=2000
Result:
Skeleton(blue)andcenterline(red)forurbanareasinNorthCarolinaKeywords
vector, geometry, triangulation, skeleton
Name
v.voronoi - Creates a Voronoi diagram constrained to the extents of the current region from an input
vector map containing points or centroids.
Notes
v.voronoi suffers from numerical instability, results can sometimes contain many artefacts. When creating
Voronoi diagrams for areas or skeletons for areas, it is highly recommended to simplify the areas first
with v.generalize.
Voronoi diagrams may be used for nearest-neighbor flood filling. Give the centroids attributes (start
with v.db.addcolumn), then optionally convert the result to a raster map with v.to.rast.
The extraction of skeletons and center lines with the -s flag is a brute force approach. Faster and more
accurate algorithms to extract skeletons from areas exist but are not yet implemented. In the meantime,
skeletons and center lines can be simplified with the Douglas-Peucker algorithm: v.generalizemethod=douglas.
References
SteveJ.Fortune,(1987).ASweeplineAlgorithmforVoronoiDiagrams,Algorithmica2,153-174(DOI).
See Also
g.region,v.delaunay,v.hull
Voronoi diagram (Wikipedia)
Source Code
Available at: v.voronoi source code (history)
Accessed: Friday Apr 04 01:20:40 2025
Main index | Vector index | Topics index | Keywords index | Graphical index | Full index
© 2003-2025 GRASS Development Team, GRASS GIS 8.4.1 Reference Manual
GRASS 8.4.1 v.voronoi(1grass)
Synopsis
v.voronoiv.voronoi--helpv.voronoi [-aslt] input=name [layer=string] output=name [smoothness=float] [thin=float]
[--overwrite] [--help] [--verbose] [--quiet] [--ui]
Flags:-a
Create Voronoi diagram for input areas
-s
Extract skeletons for input areas
-l
Output tessellation as a graph (lines), not areas
-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
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: -1output=name[required]
Name for output vector map
smoothness=float
Factor for output smoothness
Applies to input areas only. Smaller values produce smoother output but can cause numerical
instability.
Default: 0.25thin=float
Maximum dangle length of skeletons
Applies only to skeleton extraction. Default = -1 will extract the center line.
Default: -1