I'm trying to convert sets of points to their respective polygon boundaries. I think this is something like a Voronoi diagram or Convex Hull, but not quite. I'm sure there's a technical term for it, but I'm a beginner to GIS.

It's probably best illustrated with the following image:

enter image description here

So, given 4 sets of points (each set in its own colour), what are the four polygons surrounding each respective set of points such that the spacing between polygons maximizes the margins and all the polygons meet together?

Here's a simplified example with 3 points:

  • A,43.656943,-79.393928,blue
  • B,43.66663,-79.402682,green
  • C,43.656447,-79.408004,green

You'll have to view the following graphic for it to make sense: enter image description here

Essentially, each point has a colour and you expand a buffer of a certain distance out from it to start.

The hard part is when there's a collision with other points (their boundaries) and where to compute that boundary. The result is a set of polygons (one for each colour/set).

  • 1
    Can you post some sample data? That way we could test solutions :)
    – R.K.
    Nov 3, 2012 at 1:58
  • I added an example above. I hope that helps.
    – DFx
    Nov 3, 2012 at 2:30
  • possible duplicate of Thiessen polygons in QGIS
    – blah238
    Nov 3, 2012 at 3:46
  • 1
    Okay I think what I have to do, is take all points of all colours and perform Voronoi on them. After that, merge the resulting polygons together which have the same colours. At the end I should have my set of polygons (one for each colour). I'm not sure how to do that exactly in QGIS though...
    – DFx
    Nov 3, 2012 at 4:15
  • 2
    What precisely do you mean by "spacing maximizes the margins"? The answer to that determines the solution.
    – whuber
    Nov 4, 2012 at 20:51

2 Answers 2


From your point layer

enter image description here

you can create Voronoi plogyons

enter image description here

Which would result in this

enter image description here

Then create a mask from Delauney triangulation process

enter image description here

enter image description here

And then clip the Voronoi polygons layer with it.

enter image description here

Would that be good enough?

You can also try combining your Delauney triangulation mask with a buffer of your point layer

enter image description here

and use that to clip your Voronoi polygons instead

enter image description here

  • 6
    You could also just run a DISSOLVE (from the Vector->Geoprocessing menu) on your Delauney or Voronoi polygons to give you the merged polygons you are trying to represent. Nov 3, 2012 at 5:01
  • +1 - beat me to it ... nice thinking on the merged buffer, and with the @RyanDalton's dissolve suggestion this should answer the original question!
    – Simbamangu
    Nov 3, 2012 at 5:27

Voronoi polygons with a dissolve will give you the first part. Starting with your points, each set should have its own unique identifier ('col' in this example). Three col values with a set of points: enter image description here

Vector|Geometry tools|Voronoi Polygons with a 20% buffer gives you the 'boundary between points': enter image description here

Using 'col' as the dissolve variable with Vector|Geoprocessing tools|Dissolve gives you merged polygons around each set of points: enter image description here

Vector|Geoprocessing tools|Convex hulls can give you a convex boundary around your points, which you can use to clip the dissolved boundaries: enter image description here enter image description here

However, from your first example you seem would need to clip with a concave hull (plus some buffer distance?); concave hull is a function I've been unable to find; PostGIS does have the function.

  • Awesome - thanks this is a great answer. I'm just giving it to R.K. because of the more in depth instructions, but I really appreciate it!
    – DFx
    Nov 3, 2012 at 13:10
  • @DFx - no worries, would be curious to see what method you end up with finally (perhaps edit your original question with the full solution sometime).
    – Simbamangu
    Nov 3, 2012 at 13:47
  • @Simbamangu i can understand your answer but i have a small doubt in this.When i try to convert the polygons based on color it is converting but only as a single color polygon .what is the mistake with this?
    – Arun
    Aug 14, 2013 at 7:41
  • Arun - you probably chose to dissolve only on geometry, not on a specific field. Or you simply didn't style the resulting layer. (I know the question is 2+ years old, but maybe others have it, too)
    – til_b
    Nov 11, 2016 at 14:21
  • UPDATE for QGIS 3.+ That worked for me as well. As dissolve i had to use the GDAL-Dissolve.
    – Velester
    Mar 26, 2020 at 15:00

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.