how can i findout and distinguish a corner shape in Qgis as shown in image?
-
1Nothing 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_bCommented 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_bCommented 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?– SimbamanguCommented Nov 10, 2014 at 10:56
Add a comment
|
1 Answer
I think there could be a few methods. Here's a few ideas that might work:
- 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
). - 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.
- 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).