I have a shapefile of polygons which have an amount of population, I need to divide each of these polygons into small ones with nearly equal population. So I thought attributing points on each area inside each polygon and attributing a weight depending on its density.

After that I have to draw voronoi polygons based on the points drawn before and their weights to get these small areas that should be equally populated.

I tried to draw them in qgis but all I get is polygons with equal weights.

How to draw weighted voronoi polygons in QGIS?

  • Related post (for Arcgis, but the answer might be useful anyway): How can I create weighted Thiessen polygons?
    – ArMoraer
    May 6, 2016 at 10:25
  • @ArMoraer the thing is that I'm only using Ubuntu, I guess Arcgis isn't going to help here. I'll try with R maybe if I get somewhere I'll post it. thanks for the link May 6, 2016 at 13:19
  • If you read the answer closely, you'll see that it doesn't really rely on Arcgis-specific tools. You can do the same thing in R, as you mentioned, or in QGIS (though it may require some scripting skills if you have a lot of input points).
    – ArMoraer
    May 6, 2016 at 13:25

1 Answer 1


Thanks to ArMoraer's suggestions I made a little python script based on PyQGIS and GDAL to generate a weighted voronoi diagram from a vector layer.

Here it is on github

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.