In QGIS, I want to discern between a number of building types, based on topology. I have data on buildings, parcels and addresses.
I'm having a hard time to discern between row/terrace, end-of-terrace and semi-detached housing. Assume, for the sake of simplicity, that all other dwelling types (detached houses, appartment buildings, non-residential, etc) have already been classified and do not complicate things further. My working definitions are currently:
- row/terrace: "at least 80% of opposite sides overlap with perimeter of another building; other sides do not overlap with perimeter of other building"
- end-of-terrace: "at least 80% of one side overlaps with perimeter of a row/terrace building; other sides do not overlap".
- semi-detached: "at most one side shares overlaps for 80% or more with perimeter of another building; if a second side shares overlap with the perimeter of another building, this overlap can be at most 50% of that side"
The latter ensures that buildings which are semi-detached in terms of living areas but that are attached to other buildings by their garages would count as semi-detached, to fit the local context of this project where such a house would be considered semi-detached.
So far so good. However, I do not know how to implement these rules in QGIS. How should I go about this?
- How do I calculate perimeter overlap?
- How do I distinguish between opposite sides of a polygon?
- How does this work for non-rectangular buildings?
Is there an easier way to achieve what I want that I'm missing?