I have a layer of polygons depicting response boundaries, I would like to break each of these polygons into a number of sub-polygons. As this is for an exploratory project, the polygons themselves can be relatively random.

I have tried using Random Points and Voronoi Polygons to create a new mesh of smaller areas, however I need the sub-polygons to fit exactly within their parent polygon for each individual polygon (no sub-polygon should cross 2 parent polygons).

I have looked at Sub-dividing a polygon into smaller polygons, which seems relevant but I couldn't see how it applies, and Splitting large number of polygons at same time into smaller polygons? seems to do pretty much what I want, except my second layer is a polygon layer and the borders of the polygons do not match.

I am using QGIS, but also have access to SAGA GIS if that works better.

  • Can you intersect the Voronoi polygons with the boundaries to create smaller areas? I would do this with a fishnet but I like regularity. Have a look at gis.stackexchange.com/questions/18453/… if that's not for you can you put in a picture showing what you're after. Commented Feb 19, 2015 at 5:22
  • Thanks - with a bit of manipulation this will work. I just needed to add some additional space outside of my response boundaries before forming the voronoi polygons so that the entire response boundary ends up within one of the new polygons formed by the intersect.
    – Esme_
    Commented Feb 19, 2015 at 23:50
  • Fill the bounding box of the dataset with random points, create a Voronoi layer and then intersect - that way everything is covered. The only problems you will have is when a Voronoi edge is similar to an input polygon edge which will result in slivers and in-out-in situations. A quick review of the Voronoi polygons and you should be able to merge where the boundaries are similar. Commented Feb 19, 2015 at 23:53

1 Answer 1


Michael's solution above gives the answer

  1. Include additional polygons around the borders of the response boundaries of interest (this is to ensure that all areas of the response boundary are contained within one of the created sub-polygons) (or the bounding box)
  2. Use Vector -> Research Tools -> Random Points for the ResponseBoundaries layer
  3. Vector -> Geometry Tools -> Voronoi Polygons to create a layer of smaller polygons
  4. Vector -> Geoprocessing Tools -> Intersect

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.