There’re 3 departments stores: Big C, Home Pro and Makro respectively. They have there own building area (pink polygons) with name, name:th and name:en are set as it names. They also have amenity with names as well.
I was changed those building from building=yes to shop=supermarket, but decided to change them back to building=yes later since I’m not sure how to handle these kind of buildings.
My idea is I should treat the building as ‘building’ and I should create another amenity to label that building.
Be aware that just because something is in the wiki it must not be a standard way to do. Some people create wiki pages with tons of possible values.
If you do like you did, by adding the shop=supermarket to the building outline it’s quite OK. If it would be a consent at a later time that this should be tagged building=shop then we can have a bot to fix the tagging. In the meantime in my opinion it is fine to stick to the established scheme.
If you use http://thaimap.osm-tools.org you can get a better name display than on the osm.org site. They use a quite small font for the Thai names. They also lack the name in case only the name:en is set.
If you read the discussion page you will notice that building=yes is very common, the other tags are disputed.
So for now it is fine to stick with the established scheme.
Routing is a completely different topic.
neither a building polygon nor a node is connected to the road network.
Usually the routing engine will direct you to the nearest node. There is a lot of room for optimizing the routing. For example if there is a paring space near your destination it could ask if you prefer to route to the parking space instead to the building.
Or in case a building entrance is is possible to route you accordingly in case the building is at a corner.
I suggest not to mix it with landuse.
In a country like Germany it is easy to distinguish different landuse areas. In a residential area it is often not allowed by law to run specific businesses. So you will for example not find a car repair in a resident area.
While in Thailand there are areas that are plain residential or plain industrial estate, there is no clear distinction in smaller villages. People who run a business often live in the same place.
Well I’m just a user of routing engines and not quite sure if I understand what you mean. The few routing engines I used already just route to the closest point on a street. No routing on land or places when there are no streets on them. Thus I think it doesn’t matter for routing if the name is on the land, the building, a node of the building polygon or a separate node in the building. But adding the same name to several or all of these objects adds to the index and is confusing and awesome for the user especially on small handhelds.
Imho drawing the land, the buildings and separate nodes when there are several shops is good and helpfull. But duplicating the name isn’t.