# Converting point sets to polygon boundaries?

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:

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:

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).

• 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 Nov 3, 2012 at 3:46
• 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
• What precisely do you mean by "spacing maximizes the margins"? The answer to that determines the solution. Nov 4, 2012 at 20:51

you can create Voronoi plogyons

Which would result in this

Then create a mask from Delauney triangulation process

And then clip the Voronoi polygons layer with it.

Would that be good enough?

• 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! 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:

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

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

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

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). 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) 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. Mar 26, 2020 at 15:00