I am trying to create a base map layer of a district in Leipzig, Germany. It should consist of building shapes and addresses and house numbers so my team can add the data we are currently collecting. They have certain values in a excel sheet with referenced addresses.

I downloaded OSM data from Geofabrik. However, this data also doesn't have all addresses.

This is the data I have in QGIS. Houses with building numbers are colored. I just don't understand how the online OSM map has all the adresses and the one I downloaded from Geofabrik don't.

The same view in online OSM

Could you point me to a direction please? I have tried several approaches such as downloading the whole GIS data for Saxony from Geofabrik, using overpass-turbo to query addresses but it seems that the map sometimes stores the address in nodes and sometimes in ways. How could I combine them?


This problem has nothing to do with geocoding. Your issue is, as you already discovered, that OSM does not have one definitive way to store addresses. Addresses are stored in 3 ways:

  • On single nodes (point objects in a GIS)
  • On closed ways / multipolygon relations (polygon objects in a GIS)
  • On unclosed ways (line objects in a GIS). For line objects, the address is usually an address range as defined by the "addr:interpolation" tag. This latter option is rare, and I think not (much) used in Germany.

To display them, you have two options:

  • Use the labelling options of QGIS to both label single nodes and closed ways / multipolygon relations using the e.g. "addr:housenumber" tag, this is essentially what the default openstreetmap-carto rendering does.
  • Convert all buildings to centroids with an appropriate tool in QGIS, and merge the layer with the node / point based one, and use this derived layer for your analysis / display.

Please note that, depending on the tool you used to convert your buildings for use in QGIS, buildings defined as multipolygons may be lost. Some tools still do not support multipolygons! This will also mean that addresses defined on them will be lost. Check in your data if there are buildings with holes, and compare with the default rendering. If they are missing, you really need to look for a better import / conversion tool that does handle MPs.


Thanks to Marcus I made some more research and found out the following:

I combined the nodes and ways in QGIS 3 using the "Join Attributes by Location" tool under "Vector" -> "Data Management Tools". Now I have both the points' addresses and the vectors'.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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