I have a shapefile polygon which is 13 acres. I want to divide it for 3, 4 and 6 acres polygons.

Is there any plugin or something which I can divide the original polygon?

I use Qgis 2.18.5 enter image description here

I added a photo how I want to divide

  • Anybody can help me to solve this problem? – Lassus Apr 24 '17 at 13:35
  • Have you tried the Polygon Splitter plugin? You can find it marked as experimental in versions 2.18.x. – Cezar B Apr 24 '17 at 19:59

This is an approach by hand and some Python code (for using in the QGIS Python console).

  1. Create the Oriented minimum bounding box for the acre layer (search for it in the Processing Toolbox) and save the temporary layer to a shape file like measure.shp. In my case the acre layer is called acre. Then you can move the new feature with the Move Feature tool until you think the overlap could be the area of interest you want.

    enter image description here

  2. Then open your QGIS Python console and paste following code in it:

    acre_lyr = QgsMapLayerRegistry.instance().mapLayersByName('acre')[0]
    measure_lyr = QgsMapLayerRegistry.instance().mapLayersByName('measure')[0]
    for a in acre_lyr.getFeatures():
        for b in measure_lyr.getFeatures():
            if a.geometry().intersects(b.geometry()):
                intersection = a.geometry().intersection(b.geometry())
                print intersection.area()

    The output should be something like this (in my case):

  3. If I want a new polygon (field) with an area of 600m² I have to move the measure feature a little bit to the north. Afterwards I paste my Python code one more time and check the output (=area). I do this until I approximately have an area of 600m². If I want to be very accurate I have to zoom several steps in and move the feature in very small steps.

  4. Then you can clip the acre layer with the measure layer to get the new polygon with 600m².

  5. To get a next new part (say 200m²) from the acre polygon you have to calculate the difference between the clip and acre layer first (temporary Layer is called "Difference"). If you have save the outputs to a temporary layer you have to change the value 'acre' to 'Difference'in the the Python code.

    enter image description here

    Green is the Difference and red the Clip.

  6. Do steps 1-3 with the Difference layer without using a new bounding box ...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.