[Tagging] Relations (was directions)
osm at tobias-knerr.de
Wed Aug 10 09:47:24 BST 2011
Simone Saviolo wrote:
> Ok, but there are use cases where simple things don't suffice. In the
> case at hand, for example, using something like direction=forward
> doesn't work in all the use cases. And using direction=<angle in
> degrees> is in no way simpler (can you figure a newcomer trying to work
> out the angle? What's the reference? Should I use degrees, decimal
> degrees, radians? Should I use minutes and seconds for the fractional
> part (the horror)? Should I be content with something like direction=225
> or be more precise and use direction=221,32? You know what, nevermind,
> I'll use Streetview instead).
Now, *this* is something that can be abstracted away by tools much more
easily than relations. The unit issue has already been neatly solved by
editors such as Potlatch 2, and I can imagine how I would design a nice
dialog for editing tags with angular values. I have no idea how to even
approach a similarly user-friendly editing tool for direction relations.
(If you are really into GUIs, you could even build some kind of "rotate
node" feature into the editor that lets you rotate the
traffic-sign/bench/... icon, where the rotation represents the direction
A major advantage of tags compared with relations is that they don't
affect other objects, which has all sorts of benefits (object history
easier to understand, no unexpected side effects when I move a node of
the road, ...). Tag-based solutions also cope better with the absence of
editor support: If my editor doesn't have the nice visual "rotate node"
feature, I will have somewhat a harder time editing the direction tag,
but it does in no way affect my ability to edit any other tag. Editing
anything remotely associated with a relation (even if the edit is not
related to the purpose of the relation!) is annoying.
Relations should therefore be avoided in favor of tags if possible. And
I'm far from convinced that relations are necessary in the particular
example that started this thread.
-- Tobias Knerr
More information about the Tagging