Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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.

UPDATE

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.

UPDATE 2

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

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

1 Answer 1

up vote 7 down vote accepted

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 at:

Geoprocessing website for ArcGIS 10

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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