[Tagging] Super-keys are evil
frederik at remote.org
Tue Feb 24 19:02:09 UTC 2015
On 02/23/2015 02:43 AM, Kurt Blunt wrote:
> Right now, tags serve two distinct purposes. There are attribute tags
> like name=Wall Street, and there are category tags like
> amenity=parking or aeroway=helipad.
This works for many things but not all; the border can be blurred. You
will not be able to fit every key into your "category or attribute" schema.
> Many tags don't even make sense. What does highway=track mean? Is it
> a highway that acts as a track? A track is clearly not a type of
> highway. A track is just a track.
And if you travel along a dark track in the night then you might be
robbed by a highwayman.
> A contributor is left to feel like
> an idiot for not understanding the logic behind this system.
Woe betide all who mistake highway=unclasssified for a street that lacks
> For these reasons, I believe there is a case to be made for an
> overhaul of category tags. My personal opinion is that we should get
> rid of super-keys altogether and instead promote all categories to
> keys with empty values: "amenity"="reception_desk" becomes
> "reception_desk"="", "highway"="track" becomes "track"="",
> "aerialway"="gondola" becomes "gondola"="", "barrier"="city_wall"
> becomes "city_wall"="", "historic"="city_gate" becomes
> "city_gate"="", "sport"="volleyball" becomes "volleyball"="", etc.
And power=line becomes line="" and barrier=line becomes, uh, wait a minute.
It is not so simple, even leaving aside the fact that many programs
would simply dismiss your empty values.
> Now, I don't actually think such an overhaul is currently feasible
> given the massive burden it would put on the database system.
> However, it might be something to think about for the future.
I think that in theory what you call "super keys" is a good thing to
have because it gives you a layered level of understanding. For example,
if someone tags
then you have a chance to understand "this is a natural feature" (and
not man-made) even if you don't know what a lake is; you can understand
"this is a lake" (and not a reservoir) even if you don't know what a
turlough is; or you're so much into water bodies that you can actually
understand the full message.
If the tag was instead the space-saving
then you'd be stumped without recourse to the giant tag dictionary that
explains to your renderer that something tagged turlough="" should
perhaps be drawn in a blue-ish colour.
Matter in a nutshell: Certainly the way we use these "super tags" has a
lot of historical baggage but I don't think it is a stupid idea per se,
*especially* if your goal is (like you're claiming yours to be) making
tags easy for mappers.
Frederik Ramm ## eMail frederik at remote.org ## N49°00'09" E008°23'33"
More information about the Tagging