3

how can i findout and distinguish a corner shape in Qgis as shown in image?enter image description here

3
  • 1
    Nothing to do with GIS, but you may want to have a look at the windows "Snipping Tool", which can create screenshots quite easily. Just discovered that myself recently, and its a very nice and helpful tool.
    – til_b
    Commented Nov 10, 2014 at 10:00
  • Maybe you can find some corner features when you buffer your buildings and then intersect with the streets and find those that intersect 2+ streets. This will not find all buildings, though. Maybe it can be used to reduce the number of buildings to be tested by more sophisticated methods?
    – til_b
    Commented Nov 10, 2014 at 10:04
  • I'd be interested to hear more about how you would decide something is on a corner - that will take us partway to a solution. Does it have to have two streets? An angle equal to or sharper than 90°? As it stands, perhaps this problem needs more definition?
    – Simbamangu
    Commented Nov 10, 2014 at 10:56

1 Answer 1

1

I think there could be a few methods. Here's a few ideas that might work:

  1. You could dissolve your building shapes and then use the Douglas_Reduction option from the v.generalize tool in the processing toolbox. You will have to play with the maximal tolerance to get the right value and that will depend on your data and its resolution, but you will need to set it comparatively high to reduce "false positives". Once you have the simplified shape, convert the vertices to points (Vector->Geometry Tools->Extract nodes). Finally use the points to select from the original polygons (Vector->Research Tools->Select by location).
  2. Convert your buildings to centroids (Polygon Centroids in Processing Toolbox). Convert the points to lines (you may need to dissolve your buildings and convert to single part then ascribe a unique id for each dissolved set which you pass to your you points with a spatial join so that the lines are only created for contiguous buildings). Then calculate the angle between consecutive points to find ones which pass a threshold of 'cornerness' (75 degrees? you decide). See this thread for help with the angles.
  3. If you have addresses with house numbers, dissolve your buildings and give them ids which you spatial join back to your original data so you can idenitfy contiguous blocks. Order your data by street name and house number (you can use MMQGIS to make the order permanent), then look for a sudden change in street name (i.e. where the name of the street is different to the row above).

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