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.
-
1Perhaps if you explained the underlying problem you are trying to address someone might have a different solution that fills your needs.– LlavesFeb 7, 2022 at 17:54
-
+1 good question with possible generic solutions. Perhaps post 2, one for arcmap and one for qgis.– FelixIPFeb 7, 2022 at 21:51
1 Answer
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.