I have been working on implementing the voronoi.py script (Bill Simon's translation of Steve Fortune's code). According to the QGIS link it is basically the same code that I am working with, but the way to generate the polygons that can extend to infinity differs between the two. In the QGIS case, I presume that some bounding rectangle is generated at some extent beyond the site point extents. In my case, I generate false site points as a circle surrounding the site points of interest. The circle points have a radius twice the diameter of the extent of the site points. The results between the two are shown in the attached figure, QGIS implementation on the left and my implementation on the right. Voronoi examples.

As one can see, the QGIS implementation produces weird polygons which have no site points (see site 473 as an example in both implementations). This is obvious wrong, but I am not sure whether my implementation is correct either. Since I don't have access to an ArcInfo license for ArcMap, I can't compare it what ArcMap generates natively and I can't see a way to a way to attach the site point shapefile for someone to test. So if anyone has any commentary on my use of an "infinity circle" to help force edge polygons versus an "infinity rectangle", I would appreciate it. Better still, if anyone is interested in testing the output on some other GIS platform I can provide the shapefile of the site points I used.

It appears part of the problem is that the polygons beyond the site points overlap, so when symbolized without a fill, then appear as distinct polygons. The following figure shows what happens when the polygon about site 473 and 415 are selected. So the original questions remain, but there is a new wrinkle.

It is a bug (or an "incompleteness"), the correct results in QGIS if a buffer of 0% is used. What still needs to be resolved is whether a dense pattern of circular "infinity points" will yield the same result as rectangular "infinity edges".

enter image description here

  • I'd love to try your point data. My tests don't show any such behavior.
    – underdark
    Jul 6, 2011 at 12:37
  • I have a zip file ready to go, contact me via email at [email protected] and I can forward it to you. I think I added a 10% buffer when running the voronoi in QGIS.
    – user681
    Jul 6, 2011 at 12:44
  • Maybe you could reformulate what is your current question (after Update 2).
    – underdark
    Jul 7, 2011 at 6:22
  • Great work. I hope you will share your code with the community somehow. Jan 2, 2014 at 23:29
  • see the link below in the Answer, I had to update since ESRI killed the original threads
    – user681
    Jan 3, 2014 at 0:20

1 Answer 1


I was able to confirm that my implementation at least compares to ArcGIS (but requires an ArcInfo license). The QGIS implementation is in error if a buffer distance is used. For those using ArcGIS with an ArcView license, the toolset for Voronoi and/or Delaunay can be found as the Triangulation Tools.

  • There were several bugs in the QGIS Voronoi code. Many fixes have been applied in QGIS 3.2.2. Would be interesting to hear if that has helped. Aug 25, 2018 at 19:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.