[GIS] Split polygons into equal areas within each region

qgissplitting

I've a set of regions within a city. I'd like to split each region into five subregions and then get the centroid of each one of them.

I know how to make a vector grid, but the problem I have is that the generated points are not taking into account the regions, they're only related to the general map.

I have this:

original map split by regions

And I want to split each region in five equal size areas. Something like this:

some regions with splitted areas

I'd like to build a visualization similar to this one: http://bl.ocks.org/mbostock/8814734. In order to accomplish that, I need to split each region, because the original ones are pretty big.

Best Answer

Ok, I had a go at this using existing tools for QGIS...


  1. Download/enable the Buffer by percentage plugin from:

    Plugins > Manage and Install Plugins...
    

    This creates buffers for each of your features.


  1. Run this plugin on your layer and use the Buffer area percentage option. Enter 20 (for 20%), save the output and run it again for 40, 60, and 80.

    Here is an example layer:

    Example

    And here is running the plugin:

    Running buffer plugin

    And here are the results of the plugin (it will help to add the percentage value in the name as we will use this to identify the layers):

    Results of plugin


  1. Now we need to run this really ugly model (or you can download it and copy it to your /.qgis2/processing/models folder):

    Model

    When you run it, you will need to enter the correct layers according to parameter (hence why we need to include the % value in the name):

    Model parameters


  1. The output should hopefully have split your features into five equal parts. I tested this on several areas and calculated the area using the Field Calculator with the expression $area. Although it might not look attractive to what you wanted in your image, it does seem to split the features equally...

    Final results

Related Question