Water tap in supermarket

Quite a few supermarkets in my region have water taps for people to clean produce. These are generally located inside the building but outside checkout.
These can also be very useful for people searching for (drinking) water, so I have been adding these to the map whenever I find them. They are generally free to use.
Since these taps are located inside a supermarket I am unsure what the best practice to map them would be, and would be interested in your opinion:

  1. Create a seperate node within the supermarket
  2. Add man_made=water_tap to the way / node of the supermarket.

The big advantage of the former is that opening times would be shared between both the supermarket and the tap, thus we would avoid data duplication. On the other hand this approach seems to be quite rare: I could only find 3 such places worldwide.

In this case I’d try to estimate the supermarket outline and draw it as a way, then put the water as a node at its approximate position.

2 Likes

So would you add the opening times twice then?

1 Like

Yes. Please do that. The supermarket and the tap are two different objects so it’s best to keep them separate

4 Likes

I would also create a node. As a quicker alternative, adding man_made=water_tap to the supermarket looks wrong because that’s a ‘main tag’ but adding drinking_water=yes seems fine because that’s a tag that is used for adding additional information to an existing POI.

4 Likes

There’s nothing wrong with multiple features having the same value when that reflects reality accurately. The one feature principle is about a one-to-one relationship between real-world things and objects in the OSM database, not about optimizing the size of the database.

I was more concerned about two separate versions of the opening times potentially going out of sync, since the opening times of the water tap is less likely to be updated.

If this is a concern, you could set check_date:opening_hours=* to the current date. At least that would make it easier to spot if it’s outdated compared to surrounding elements.

You should probably also add an access= tag, probably =customers, assuming that they don’t want people coming in to refill their water bottle, then walk out again! :grinning:

I would not do it. The opening hours are from the supermarket, and if it is mapped as a polygon, this information can be inherited to the things that are inside, so we do not have to repeat the opening hours on every thing inside.

Do you know a renderer/map which works like this? Which is it?

Do you know a renderer/map which works like this? Which is it?

do you know a renderer that evaluates opening hours?

Generally the concept is used for addresses, e.g. by Nominatim, and it could easily be extended to opening hours or other tags (e.g. access) as well.

Navigation applications do display opening hours and even let you filter by them. Do any geocoders implement this form of inheritance even for addresses? Address inheritance is different than the spatial query that’s part of a typical reverse geocoding implementation.