Polygon Divider is a plugin for QGIS that takes a polygon and efficiently divides it into a number of 'squareish' polygons of a defined size, which is useful for a multitude of applications such as land parceling, environmental sampling, and so on.
As a simple worked example, you can take a polygon like this:
...and divide it into a number of smaller 'squareish' polygons of about 1000m2 (it would be exactly 1000m2 if the polygon happened to have an area that precisely divides by 1000):
There are two options available to the user when dividing a polygon. The above uses the absorb method, whereby all of the polygons are slightly larger than the requested size, in order to 'absorb' any odd-sized 'offcuts' that would otherwise be left behind. The other alternative would be the offcut method. An example of this is given below, in which all of the polygons would be the precise size as requested, except for the light green one at the very top, which is the 'offcut':
The choice of which is best from the above will vary depending upon the specific requirements of the user, and the simplicity of the polygon in question.
Each of the above cutting methods can be undertaken in 4 directions: left-right, right-left, bottom-top and top-bottom. Again, depending upon the shape of the specific polygon to be divided, better results might be achieved in some directions than others.
Each output polygon inherits all of the attributes from its parent, as well as the following additional attributes:
ps_id: a unique integer ID for each output polygonps_uuid: a version 4 uuidps_area: the area of the polygonps_repPointX: the X coordinate of a point guaranteed to be within the resulting polygon (not necessarily the geometric centroid, as this is not gurranteed to be within the resulting polygon)ps_repPointY: the Y coordinate of a point guaranteed to be within the resulting polygon (not necessarily the geometric centroid, as this is not gurranteed to be within the resulting polygon)
The software should work well on some quite complex polygons:
...even if they are very large:
You can also set a rotation for the cutline. In the example below, the left image (labelled b) has the rotation set to 0° and the right image (labelled c) has the rotation set to 45° (both cut in the left to right direction):
The Polygon Divider expects planar geometry (x,y coordinates) and will not divide geographical coordinates (those in degrees, e.g., WGS84).
If you want to divide a dataset that is stored in geographical coordinates (e.g., WGS84) you must save a new copy of your dataset (right click → export) using a Projected Coordinate System. I would recommend using an equal area projection (ideally a local equal area projection) to avoid distortion in the projection from affecting your results. You can either select a suitable projected CRS from the built-in selection in QGIS, or make a local equal area projection yourself using the Projection Wizard website and add it as a Custom CRS.
Please note that setting the workspace CRS or right clicking on a layer and selecting "set CRS" is not sufficient, as neither of these approaches actually transforms the dataset!
If you use the plugin in academic work, or want to learn more about how it works, please use the reference to the journal article below:
The QGIS2 (original) version of this plugin was funded by Zero Waste Scotland Ltd.. The conversion to QGIS3 was funded by Deutsche Forestservice GMBH.
Development was greatly assisted by the accepted answer to this forum post and the pyroots implementation of Brent's method.






