From: Nathan Edgars II <nerou...@gmail.com> > There's been no standard way of tagging state highways since before I > joined at the beginning of this year.
Nor has there been in my four years here. Hell, I was the one who wrote the wiki suggestion to use the USPS state abbreviations. I am completely and utterly stunned that it is still there. One of my four OSM WTFs is overloading the REF tag's value with so much information. We should be "key rich", not "REF value rich". The *keys* should have the "meat", not the *values*: network:country[us]:state[ks] = 10 // renderer sees this and renders a sunburst network:country[us]:state[md] = 26 // renderer sees this and renders a white rectangle These tags are simply applied to all of the ways that comprise the route. No complicated relations (the second of my four OSM WTFs) necessary. Need all of the ways for a route? It's a simple database query: SELECT * WHERE key = 'network:country[us]:state[md]' AND value = '26'. If you have a state with different classes of networks, you just extend this idea: network:country[us]:state[va]:primary = 7 // renderer sees this and renders a guitar pick thingie network:country[us]:state[va]:secondary = 606 // renderer sees this and renders a circle If you have a way that is on two networks, you just give it both tags: network:country[us]:unitedStatesHighway = 40 network:country[us]:interstate = 70 Oh, yeah: this also gets rid of those asinine arguments about, say, whether there should be a hyphen in the REF tag between the "I" and the digits in interstate designations. Don't like the hyphen? Knock yourself out, and create a *renderer* that shows "I 95" when it encounters network:country[us]:interstate=95. Prefer hyphens? Or a shield? Whatever. The point is, that's the domain of the *renderer*, not the *metadata*. Moving on, if you have a way that comprises two networks of the same class, you hit OSM's third WTF, which is the inability to have two tags with the same key: network:country[us]:unitedStatesHighway = 50 network:country[us]:unitedStatesHighway = 301 So as a workaround, you have to use the infamous semicolon: network:country[us]:unitedStatesHighway = 50;301 _______________________________________________ Talk-us mailing list Talk-us@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-us