I'm not sure what the correct term is, but it's a common cartographic design pattern.
I want to show the outline of built-up areas as a filled polygon beneath road and buildings layers.
In OpenStreetMap, such areas are sometimes available as landuse=residential. I suspect these will all have been traced manually.
Here's an example, this is Gibraltar. I digitzed this outline manually and clipped it to the shoreline. The "urban footprint" consists of the purple/pink areas (this was extended out to sea, then clipped to the land outline from OpenStreetMapData)
Is there a tool available in QGIS (or other FOSS GIS tools) to generate these automatically from a set of buildings?
Two approaches I've tried already…
- I tried the Concave hull plugin but only got a single area.
- I also tried a Delauney Triangulation on nodes extracted from the building outlines. I suspect if I can discard large polygons or those with very acute angles between vertices, that might work…
Best Answer
I was able to get some quite good results, with thanks to Michael Stimson for the suggestion.
I had forgotten about the "buffer out, buffer back in" trick (this can also help reduce the number of holes that need to be fixed). This involves a positive buffer (which tends to fill in gaps and holes) followed by a negative buffer (to shrink back to near original size).
Steps taken:-
The values might need to be tweaked according to the overall density of housing. Gibraltar is quite densely populated, values might need to go up elsewhere.
Finally to get the look I was after, used Geometry simplify, 20m tolerance.
This removes the "round corner" buffer artifacts, and gives a more "hand drawn" feel:-
I'd still be interested to hear of any better / other ways to do this :)