(back ref. Recycling quest ignores `recycling:*=only` · Issue #6724 · streetcomplete/StreetComplete · GitHub)
I would refer to Key:payment:* wiki for reference, as it has been having a similar issue long ago. There were two competing schemes invented:
-
one is similar to what is suggested here
payment:visa=only. Unfortunately:- it only would work good if all data consumers understand
onlyvalue[1], and - it breaks down if e.g. shop accepts
visaandmastercardbut nothing else
- it only would work good if all data consumers understand
-
another solution is separate catch-all payment:others=no which solves both of those problems (without introducing new ones
)(e.g. you can do
payment:visa=yes+payment:mastercard=yes+payment:others=no; and data consumers who do not understand that:otherswill still show bothvisaandmastercardas supported).That method is also more inline to how other popular parts of OSM work (e.g.
access=no+foot=yes+bicycle=yesallows only pedestrians and bicycles are allowed, but nothing else)
Is there a reason we should avoid
onlyhere?
As noted above, unless only value is supported by majority of data consumers processing recycling:* keys (which is unlikely as that values is neither documented nor widely used), using only would create more problems than improvements.
- Is explicitly tagging all the
=novalues the preferred approach?
At least for recycling_type=container, I’d wager that =no is implied default for most – i.e. only values specified as =yes exist, and nothing else.
TL;DR: unless people disagree, given that there already is some usage of recycling:others=no, and it is technically superior solution, I’d suggest working on documenting that usage on the wiki (like it is documented for payment:others=no) - and using it, of course.
i.e. mapper has to choose whether it is more important to them for “data consumers which support this tag will know that Visa is the only allowed payment” vs. “data consumers which do not support this tag will incorrectly claim that Visa is not supported” ↩︎