openstreetmap / iD

🆔 The easy-to-use OpenStreetMap editor in JavaScript.
https://www.openstreetmap.org/edit?editor=id
ISC License
3.37k stars 1.21k forks source link

Preset Hotel override amenity=restaurant #10448

Closed Nekzuris closed 2 months ago

Nekzuris commented 2 months ago

I've noticed a potentially damaging issue: if an element has the tag amenity=restaurant and you select the hotel preset to make it a Hotel-Restaurant (very common in some places), the tag amenity=restaurant is removed.

If that's considered a feature, there should be a preset for Hotel-Restaurant.

iD 2.30.2

maro-21 commented 2 months ago

This is not a bug. The hotel and the restaurant are separate objects. Even technically the two tags cannot be on the same node or way, because amenity= can only have one value.

Hotel-restaurants do not exist in the real world either. Two separate points should be added. Because I can go to the restaurant without being a guest of the hotel.

Nekzuris commented 2 months ago

Yeah not a bug, probably desirable behavior in most cases. Should be a different preset.

You're wrong about the incompatibility because a restaurant is an amenity, while a hotel is tagged as tourism=hotel.

Hotel-restaurants do not exist in the real world either.

I don't know about your country, but that's obviously wrong in France. Just because you can be a customer of one and not the other doesn't mean they are two different things. It's the same building, same name, same staff, same address, same company, etc. I used to map them with two nodes, but it was pointed out to me that it was a duplicate, and both can be merged without any conflicting tags.

The French wiki recommends this tagging practice.

maro-21 commented 2 months ago

It's the same building, same name, same staff, same address, same company, etc.

Yes, they do, but in OSM it's a different feature.

I always map restaurants in hotels separately. This is even advisable because the restaurant probably has different opening hours and dozens of tags that the hotel doesn't have, such as cuisine, delivery, takeaway, diet:vegetarian and other.

Nekzuris commented 2 months ago

This makes sense for big hotels where the restaurant is just one part of it.

But for smaller facilities where the restaurant is the main activity on the first floor and there are a few rooms upstairs, one point (or way) makes more sense to me. The different opening hours can be tagged with opening_hours:kitchen, other tags don't cause any problems. There are already thousands mapped like this in Europe and it works well for data consumers looking for restaurants or hotels. And I think many are simply mapped as restaurants because the combination with tourism=hotel or guest_house is not well documented, and the iD presets encourage making a choice.