I'm using QGIS and trying to divide a road polygons layer into smaller polygons, all having the more or less the same length as in the image below I roughly drew. Also, if the road width is above a certain limit I'd like to divide them from centreline as well. I was wondering if there is a way of doing this automatically. I know that this is a quite difficult problem to solve only with GIS tools but I wanted to ask to wider community as there is always a brighter idea out there.


  • 1
    Perhaps if you explained the underlying problem you are trying to address someone might have a different solution that fills your needs.
    – Llaves
    Feb 7, 2022 at 17:54
  • +1 good question with possible generic solutions. Perhaps post 2, one for arcmap and one for qgis.
    – FelixIP
    Feb 7, 2022 at 21:51

1 Answer 1


This is a rather broad question therefore I give here only the seeds to answer it.

The first step should be the creation of a skeleton, i.e. the line that goes in the middle of your line. There are some answers to this question (QGIS/PostGIS/SAGA GIS) here and as you tagged ArcGIS also, you can look for the "Collapse Dual Lines To Centerline" tool.

The second step consists in creating lines perpendicular to your skeleton. Again there are several ways to do it. e.g. In PostGIS you could use this with ST_MakeLine

In the last step you can use the lines that you produced to build your polygons. Draw a negative buffer on your polygons to remove the skeleton when the road isn't large enough.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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