The QGIS project I'm working on has two base maps imported from the web; Google Maps and OpenStreetMap. Is there a way to designate an area on the map, either using the polygon tool or something else, and then automatically count the buildings within that area on the map?

  • 1
    base map are usually image (jpg or png) so you wont be able to extract information from them (there are vector tile base map where you may be able the extract the building and even the building type if the information is present but it wont be straightforward and by nature tile cut object so the count wont be accurate). On the other hand openstreetmap data can be easily queried with the overpass turbo wizzard (wiki.openstreetmap.org/wiki/Overpass_turbo/Wizard)
    – J.R
    Commented Jan 11 at 15:36
  • Welcome to GIS SE. As a new user, please take the Tour, which emphasizes the importance of asking One question per Question. Please Edit your Question to ask only one question.
    – Vince
    Commented Jan 11 at 16:57

1 Answer 1


You can try QuickOSM plug-in for QGIS:



With the plugin you can download / extract data from OSM to your project as Points / Lines ... and afterwards use it as any other data in your QGIS project.


use google api places

Also, is there a way to differentiate residential buildings/houses from commercial buildings/shops?

This is only possible if you find a tag that make this distinction and much more important someone has tagged it.


You can predict urban morphology by values as height, area, perimeter and data from OSM etc... but therefore you don't get a plugin, this has to be done by coding.

A Python library could be:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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