How to tag retail plus residential buildings?


I know a couple of buildings where the ground floor is populated with commercial content: stores/shops, supermarkets, bakeries, post offices… But everything above the ground floor consists of residential apartments. By the way, there are no offices.

A closed way representing this kind of building should be tagged as Shops building (building=retail) or Residential building (building=residential)?

I googled a bit, and there seems to be a similar question and answer at One user suggest that this building should be tagged as a landuse=retail, the other user suggests: landuse=commercial. But I do not understand the difference between these two tags.

I would be grateful for any kind of reply.
Thank you in advance.

buidling=yes and then provide details on the individual building parts.

Whether such a building is predominantly residential or retail will depend on the circumstances, e.g I would consider an older UK high street with flats above the shops as predominantly retail, but a new multi-storey block where the council insisted on retail space being retained on the ground floor might be predominantly residential. As such details can depend on motivations, I think it safer not to make the choice, and use the generic “yes”.

I think you are, again, seeking a level of precision of definition that doesn’t and can’t exist in a crowd sourced map.

(One could, of course, use “buidling=residential;retail”, but I doubt that will add much value as far as consumers are concerned.)

Thank you for the quick and detailed reply hadw

Can you please be a bit more specific on the “provide details on the individual building parts”?

What if there are no building parts, and there is only a single closed way, representing the building outline?

I didn’t know such tags exist: “key=value1;value2”. Where can I read more about these kind of tags?

Thank you for the article hadw!
I think I will listen to your and and the advice from the article and completely bypass these multiple values.

Would it be too much if I would ask for a clarification on this, please:

What happens if there is only a single building outline without any building parts?

Please accept my apologies for further disturbance.

landuse=retail is for areas where shops are opens to the general public.
landuse=commercial is for areas with other kind of bussines, financial services, import/export of goods, etc.

For your case, I would map the building outline with building=residential, and just put nodes for the shop/services in the ground floor (completing the addr:* keys and also addr:floor=0), and also map the entrance=* of the building.

Thank you for the reply muralito!

I would avoid mapping each shop with a node. At least not at the moment. This would require to get back to that city, walk to that area and write down all shops. I also do not possess a GPS device nor a mobile phone with GPS tracking, to record the locations of the shops.

At the moment, I just want to tag that this particular building (and some others in its vicinity) have shops on the ground floor and apartments above.

Does this change your reply in any way?

I agree with muralito

However, I’d suggest to use a more specific tag building=apartments


I also hope that you’ll finally start mapping in OSM and no longer have zero in the number of edits in OSM.

Thank you for the reply vvoovv!

I’ll do as you and muralito told me!

Still just to mention, that as a beginner I somehow find difficult the option of not being able to extract the building use information from the very building outline. And having to combine it with information from node tags inside that building outline.

For example: let’s say a person would like to use to select all buildings of a certain type (for example: “retail” buildings). This specific building would not be selected, as the outline will be tagged as: “building”= “apartments”/“residential”.
I’ve read on gis.stack-exchange that some GIS applications have a possibility to check for point inclusion in closed ways. So I guess with this possibility, a user who is looking for “retail” buildings would be able to select this building outline also, as there are “retail” tagged nodes (stores/shops) inside it.
But this seems like an advanced use of Openstreetmap data, and not all of us are able to do it. I certainly am not.

I googled a bit, and there seems to be one more solution OSM mailing list from 2015. It suggests the following tagging:

I quite like this solution as it enables extracting the building use information directly from the building outline, rather than performing complex point in polygon analysis in some GIS software. And it does not require semi-colon separate values.
I am just talking out loud. I am a beginner after all.

I already contributed, but not with bernard1995 account. I hope I am not violating any rules by having two of them.

That’s certainly great!

Actually, building refers to the topology of the building, not it’s use. E.g. a church that is converted to lofts is

building=church; building:use=residential.

An apartment building with shops on the ground floor and some offices for lawyers or doctors could be mapped as

building=apartment; building:use=residential;retail;commercial

This is e.g. also mentioned here on gis.stackexchange

Thank you escada.
I wasn’t aware of this building typology/use differences.
So now that you explained it to me, I guess there is no other way (if shop nodes are not used) than using the semi-colon separated values (building=apartment, building:use=residential**;retail;**commercial).

Thank you vvoovv. I hope the issue with two accounts is not a problem.

that’s no problem.

Thank you escada!