NAME
v.voronoi - Creates a Voronoi diagram constrained to the extents of the current region from an input vector map containing points or centroids.
KEYWORDS
vector,
geometry,
triangulation,
skeleton
SYNOPSIS
v.voronoi
v.voronoi --help
v.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: -1
- output=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.25
- thin=float
- Maximum dangle length of skeletons
- Applies only to skeleton extraction. Default = -1 will extract the center line.
- Default: -1
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.
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.generalize method=douglas.
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:
Voronoi diagram for hospitals in North Carolina
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:
Voronoi diagram for urban areas in North Carolina
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) and center line (red) for urban areas in North Carolina
Steve J. Fortune, (1987). A Sweepline Algorithm for
Voronoi Diagrams, Algorithmica 2, 153-174
(DOI).
g.region,
v.delaunay,
v.hull
James Darrell McCauley, Purdue University
GRASS 5 update, improvements:
Andrea Aime, Modena, Italy
GRASS 5.7 update: Radim Blazek
Markus Metz
SOURCE CODE
Available at:
v.voronoi source code
(history)
Latest change: Monday Feb 27 13:45:25 2023 in commit: a82501dc85294207e8e58437c3ec7f1056465ed4
Main index |
Vector index |
Topics index |
Keywords index |
Graphical index |
Full index
© 2003-2024
GRASS Development Team,
GRASS GIS 8.3.3dev Reference Manual