I have certain hubs (coloured yellow) in a district (coloured light blue). I need to find polygons indicating the closest hub to every point in the district.

The voronoi polygons that I obtained using QGIS are coloured brown in the image. However, I need the voronoi polygons to fill the outer boundary as I need the polygons to fill the entire district.

enter image description here

Adding a buffer region while making the voronoi polygons and then using the intersect function to crop the polygons to the district boundary gives me wrong polygons as shown by the following image:

enter image description here

How do I generate the voronoi polygons that I require?

  • 1
    Unless they have fixed it, qgis doesn't create the proper voronoi if buffered. see the link here gis.stackexchange.com/questions/11866/… – user681 Sep 4 '13 at 16:43
  • have you tried the rdeldir tool in GME? spatialecology.com/gme/rdeldir.htm – mwil Sep 4 '13 at 19:33
  • 2
    @Dan is right: every bit of the lower figure is wrong (the line segments should bisect the points at their sides but most of them don't). A workaround is to place four artificial points far beyond the extent of the polygon (at corners of a large bounding box) and include them in the Voronoi polygon calculation, then intersect the result with the polygon. – whuber Sep 4 '13 at 20:13
  • If you have ArcMap, the implementation I provided will do this, otherwise, include some "points at infinity" as Bill suggests – user681 Sep 4 '13 at 21:20

I think I may have a solution to your problem. Through the Sextante plugin you can access modules from a program called SAGA GIS. In the Points module is a tool called Thiessen Polygons. This is another name for Voronoi polygons. This tool should work for you. I just tried it out on a set of rain gauges and get the exact same coverage area that ArcGIS and grass (v.voronoi) give me. So I feel pretty confident in the output at least. I hope this helps.

  • I couldn't find the Thiessen Polygons tool in the Points module in the QGIS Geoprocessing Toolbox. However I found dominoc925.blogspot.com.au/2013/07/… described how to do it using SAGA GIS directly which works great. – AndrewHarvey Mar 13 '17 at 12:09

As a summary of the previous comments...

Add points to infinity and then use the cut function. This video shows it pretty clearly:


Hope this helps someone!

  • The procedure explained in the video is wrong. As shown by the second picture in the question, adding a buffer region and then using intersect gives inaccurate polygons. – shreyasgm Feb 1 '17 at 17:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.