I'm trying to generate a Voronoi Diagram in QGIS 2.14.3 from 16 points. The result looks very strange, at least compared to what I expected.

enter image description here

For me, at least the two yellow highlighted split are obviously wrong. Does someone have an explanation for this behavior ?

Here are the 16 points :

"POINT (4.616802896102054 50.540018121412622)",
"POINT (4.646875846926302 50.642015060434289)",
"POINT (4.718454633277445 50.570514079992584)",
"POINT (4.726381624905923 50.501916819793777)",
"POINT (4.799356173659588 50.628133417570531)",
"POINT (4.639422440325101 50.578215643187526)",
"POINT (4.828948568235209 50.563167227029183)",
"POINT (4.682225234179667 50.663124405744512)",
"POINT (4.659898437539998 50.537243089147125)",
"POINT (4.732298562392174 50.668010450773224)",
"POINT (4.661428287060009 50.697466516169037)",
"POINT (4.707994689146962 50.583146316587346)",
"POINT (4.726181439670776 50.501290814172144)",
"POINT (4.806070406476279 50.547520785507032)",
"POINT (4.746002620409352 50.603671297687562)",
"POINT (4.76016478345398 50.680441419477447)"


Here is the Voronoi Diagram if I compute it on same points converted in EPSG:4326.

enter image description here

  • 1
    Share your 16 points so that others can make comparative tests. You can add them as WKT into your question so they are easy to copy-paste forward.
    – user30184
    Commented Feb 14, 2018 at 10:45
  • 4
    Doesn't seem obvious to me. Why is that obviously wrong? Commented Feb 14, 2018 at 10:46
  • I suppose that the hypothesis was that distance from the left-hand and right-hand points should be equal to any point on the line between. Obviously that is not the case in the image. I do not know the theory well enough to say if it is possible when there are more points in the play.
    – user30184
    Commented Feb 14, 2018 at 10:54
  • @rbrudbary - Have you tried using the GRASS tool v.voronoi tool from the Processing Toolbox and see if the results are similar?
    – Joseph
    Commented Feb 14, 2018 at 11:00
  • Are you using point data in Projected CRS or Geographic CRS?
    – ahmadhanb
    Commented Feb 14, 2018 at 11:04

3 Answers 3


I ran the Voronoi in: Belge 1972 / Belgian Lambert 72 EPSG:31370:

enter image description here

Also in EPSG:4326:

enter image description here

Your issue is that you are showing the 31370 Voronois in WGS84, which looks off.

  • Hum, interesting. But which one is correct ?
    – rbrudbary
    Commented Feb 14, 2018 at 11:43
  • 3
    I suppose that both are correct. After reprojection the points are located a bit differently compared to each other and therefore the shapes of the polygons are different as well. The right question is probably "What is your aim?". Your initial problem may be due to running the process with on-the-fly reprojecting on. This is not the only case when it leads to trouble so better not to use OTF when doing any critical processing.
    – user30184
    Commented Feb 14, 2018 at 12:02
  • I agree both are correct. Although the 31370 is probably more correct. Calculating area distances in degrees does not make much sense for a local analysis. Commented Feb 14, 2018 at 12:23
  • So if I understand well, the 31370 Diagram is based on "meters distance" and the 4326 is based on "degrees distance". If so, the 31370 is probably the "most correct" diagram...
    – rbrudbary
    Commented Feb 14, 2018 at 12:49
  • Meters, on the International 1924 spheroid, in the Reseau National Belge 1972 datum. Vs degrees on the WGS 84 spheroid. Although for Belgium I would use ETRS89 / Belgian Lambert 2008: epsg.io/3812 Commented Feb 14, 2018 at 13:52

The base of the voronoi tessalation is a triangulation between the points. The edges of this triangulation are cut on half distance between two points. This is the position where the edge of the tessalation cells go through. So, everything is fine in the picture. However, the algorithm choosed some triangulations i wouldn't have chosen on a first look:

Triangulation edges for two points

Trying to estimate the underlying triangulation, the smaller red connection isn't used, instead the longer red connection is used. This depends on the underlying algorithm.


I haven't checked the coordinates but I have some experience with Voronoi plots, and yours looks just like mine did when my axes were not to the same scale. For example, I had a plot with X and Y each going from 0-1000 but X was plotted on the screen over 10cm and Y over 12cm. The diagram was calculated correctly, but the picture got skewed when drawn on screen.

This happens easily with plotting software, and yours may have a config to make sure the axes are on the same scale to get a better image.

I believe this is the case for you too, since not just the two lines you highlighted, but every line in your picture looks off. They are not drawn with correct angles between the points.

Edit: looking at the numbers.

Your plot has points on the edge of each side, which indicates that it sets the min- and max- value of the axes according to the min- and max coordinate values given.

We have (rounded)
X: min 4.616 max 4.828 (diff 0.212) Y: min 50.501 max 50.697 (diff 0.196)

Your plot is about 577*536 pixels big. For x we have: 577 / 212 = 2.72 pix per unit For y we have: 536 / 196 = 2.73 pix per unit

These ratios are almost identical, which surprised me since I was expecting a difference between them to explain the skewness of the plot.

Reshaping the plot to 60% width, the Voronoi lines look about right to me. I'm still not sure what's wrong with the original. Maybe something with geographical projections that I don't know about. I have only done this with mathematical data, unrelated to geographics.

enter image description here

Your Answer

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

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