Voronoi Polygons Generator
Generate Voronoi/Thiessen polygons from points
What Are Voronoi Polygons?
Voronoi polygons, also called Thiessen polygons, partition a plane into regions based on proximity to a set of input seed points. Each region contains exactly the area closer to its seed point than to any other seed. Voronoi diagrams are one of the most elegant and useful constructions in computational geometry and have been rediscovered repeatedly across fields: mathematicians call them Voronoi diagrams after Georgy Voronoi, meteorologists call them Thiessen polygons after Alfred H. Thiessen, and crystallographers call them Wigner-Seitz cells. In GIS they are the standard tool for converting a sparse point network into a continuous coverage surface.
The Voronoi Polygons Generator on gis.tools produces a Voronoi diagram GIS output from any point layer you drop in. Upload GeoJSON, KML, GPX, Shapefile, or CSV with lat/lon columns and the tool computes Thiessen polygons for each point in your browser. Because all processing happens client-side, you can build a Voronoi polygons generator workflow on confidential data without any cloud round-trip. This Thiessen polygons tool is commonly used in hydrology, epidemiology, telecommunications, retail analysis, and wildlife biology whenever you need to assign every location in a region to its closest observation station, store, tower, or resource.
Voronoi diagrams have a beautiful duality with Delaunay triangulation: the edges of Voronoi polygons are the perpendicular bisectors of the edges of the Delaunay triangulation of the same input points. One structure can always be computed from the other.
How Voronoi Polygons Are Constructed
Classical construction of Voronoi polygons proceeds in three steps:
- Compute the Delaunay triangulation of the input points
- For each Delaunay edge, compute its perpendicular bisector
- Follow the bisectors to their mutual intersections, forming the Voronoi polygon boundaries
This approach is used by tools like ArcGIS's Create Thiessen Polygons, QGIS's Voronoi algorithm, and SAGA-GIS's Thiessen Polygons tool. Modern web libraries like d3-delaunay and Turf.js (turf.voronoi) implement fast sweep-line or incremental variants that run in O(n log n) time and scale to millions of points.
Bounding Extent
Voronoi polygons are infinite at the edges of the point set β the outermost regions extend forever. To produce a finite output, the tool clips the diagram to a bounding polygon, typically the convex hull of the points with some padding, or a user-supplied boundary.
Attribute Preservation
Each Voronoi polygon inherits the attributes of its seed point. This means you can immediately style the Voronoi map with the Categorical Styling tool to show which point "owns" each region.
Key Parameters and Options
Bounding Extent
Choose how to bound the diagram: automatic (bounding box of input points plus margin), convex hull, or a custom polygon you provide.
Buffer Margin
How much to pad the bounding box beyond the point extent. A small margin prevents edge polygons from being unreasonably narrow.
Tolerance for Coincident Points
Voronoi diagrams are undefined for exactly coincident points. The tool merges points within a small tolerance to avoid degenerate cases.
Practical Applications
Rainfall and Weather Station Coverage
Meteorologists use Thiessen polygons to compute area-weighted average rainfall from a network of gauges. Each gauge's rainfall value is assumed to apply to its entire polygon, producing a coverage surface without interpolation. This is the original Thiessen polygon use case from Thiessen's 1911 paper.
Nearest Facility Assignment
Urban services like fire stations, hospitals, schools, and fire hydrants benefit from Voronoi coverage analysis. The polygon around each facility represents the service area that is closest to that facility. Layer the Voronoi result with population grids to estimate how many people each facility serves.
Telecommunications Coverage
Cell tower coverage can be approximated as a Voronoi diagram (assuming equal tower power and flat terrain) where each tower serves its own polygon. The tower planner can see which areas are "owned" by each tower and identify gaps.
Retail Trade Areas
Retailers use Voronoi polygons around store locations as a first approximation of trade area boundaries, then refine with drive-time isochrones.
Wildlife Territory Estimation
Ecologists use Voronoi polygons from animal observations or camera trap locations to delineate territorial boundaries for species with spatial exclusion behavior.
Soil and Borehole Interpolation
Geotechnical engineers assign each soil-boring sample to its Voronoi polygon, producing a simple stepped surface model before moving to more sophisticated interpolation.
Epidemiology and Disease Cluster Analysis
Public health departments can use Voronoi polygons around clinics to compute per-polygon case rates, producing a quick coverage map for outbreak response.
Political District Analysis
Voronoi diagrams around polling places can be used as baseline catchment areas for voter access studies.
Step-by-Step Workflow in gis.tools
- Open the Voronoi Polygons Generator
- Drag in a point layer (GeoJSON, Shapefile, KML, GPX, or CSV with lat/lon)
- Preview the points on the map
- Choose the bounding extent (auto, convex hull, or custom polygon)
- Adjust the buffer margin if needed
- Click "Generate Voronoi"
- Inspect the Voronoi polygons β each carries the seed point's attributes
- Optionally style by a categorical attribute with the Categorical Styling tool
- Export as GeoJSON, KML, or Shapefile
Worked Example
A meteorologist has 42 rainfall stations across a state and needs to compute area-weighted mean annual rainfall. She loads the station points (each with an annual_mm attribute) into the Voronoi Polygons Generator, accepts the default bounding box, and clicks Generate. The output is 42 polygons, each tagged with the station's annual rainfall value. She feeds the polygon layer into the Area Calculator to compute each polygon's area, then computes the weighted average in a spreadsheet. The result is a valid Thiessen-method rainfall estimate for the state.
Common Pitfalls and Gotchas
- Coincident points break the algorithm. Dedupe with De-duplication Tool first.
- Unbounded edge polygons: without a bounding extent, edge polygons have infinite area. The tool clips to a bounding box automatically, but pick a sensible margin.
- CRS matters: for accurate area and shape, compute the diagram in an equal-area projection, not in WGS84 degrees.
- Voronoi assumes Euclidean distance β it doesn't account for road networks, barriers, or travel time. Use Isochrone Generator for true network-based catchments.
- Very uneven point density produces a mix of tiny and huge polygons, making visualization difficult. Consider a density-based alternative.
- Ties: points exactly equidistant from a location are rare in practice but can create topology ambiguities.
- Polygon boundary precision can produce sliver polygons at the bounding extent; clean up with Polygon Overlap Checker if needed.
Tips for Best Results
- Reproject points to an equal-area CRS with the EPSG Reprojector & Coordinate Converter before generating the diagram for accurate area output
- Use De-duplication Tool to merge near-coincident points
- Clip the result to a meaningful boundary (state line, watershed, service footprint) with the GIS Clip Tool (Clip Layer by Polygon)
- Compare Voronoi results to network-based isochrones β straight-line Voronoi often overstates reach
- Add a computed area column so downstream analysis has the magnitude available
Comparison with Other GIS Approaches
ArcGIS Pro offers Create Thiessen Polygons in the Analysis toolbox. QGIS has Voronoi Polygons under Vector > Geometry Tools. PostGIS has ST_VoronoiPolygons. d3-delaunay and Turf.js offer fast browser implementations. The gis.tools version uses efficient sweep-line algorithms and handles most practical workloads (tens of thousands of points) in seconds. The main trade-off is that desktop tools offer more post-processing options (merging ties, computing densities).
Performance Considerations
Voronoi construction is O(n log n) and scales to millions of points. The bottleneck on very large inputs is usually rendering the output polygons, not computing them.
Data Privacy and Browser-Based Processing
Point data (cell tower locations, client addresses, patient home coordinates) is often highly sensitive. The Voronoi Polygons Generator processes everything in your browser, so nothing is uploaded or stored.
Related GIS Concepts
Delaunay triangulation is the geometric dual of the Voronoi diagram and is computed by the same underlying algorithms. Power diagrams (weighted Voronoi) give each point a weight and produce polygons biased toward heavier points β useful for modeling uneven resource distribution. Multiplicatively weighted Voronoi diagrams scale boundaries by relative weights. Ordinary kriging and IDW interpolate continuous surfaces from point data rather than producing discrete polygons.
Frequently Asked Questions
What's the difference between Voronoi polygons and Thiessen polygons?
Nothing β they are two names for the same construction.
How do I compute a Voronoi diagram in GIS?
Drop point data into the tool, set the bounding extent, and click Generate.
Can I weight points so some polygons are larger?
Standard Voronoi gives equal weight to all points. For weighted Voronoi you need a specialized tool; the gis.tools generator uses unweighted Voronoi by default.
Why are my edge polygons so huge?
Without a bounding extent they would be infinite. The tool clips to a bounding box; make it tighter to reduce edge polygon size.
Can I use Voronoi for drive-time analysis?
No β Voronoi uses straight-line distance. Use the Isochrone Generator for true travel-time catchments.
Related Tools on gis.tools
Related Tools
View All ToolsGIS Clip Tool (Clip Layer by Polygon)
Clip features to a polygon boundary
GeoprocessingRoute Along Network
Find shortest path through a user-provided network
GeoprocessingPolygon Overlap Checker
Detect slivers and overlaps between polygons
GeoprocessingErase / Difference Tool
Remove parts of features that overlap with another layer
GeoprocessingHex Grid & Fishnet Grid Generator
Generate hexagonal or rectangular grid over an extent
GeoprocessingPolygon to Lines Converter
Convert polygon boundaries to line features
Geoprocessing100% client-side processing - your data stays private and never leaves your device