[Tagging] Relations (was directions)
Nathan Edgars II
neroute2 at gmail.com
Tue Aug 9 16:56:09 BST 2011
On 8/9/2011 10:44 AM, Serge Wroclawski wrote:
> Relations are overused in OSM, and it causes a huge amount of
> difficulty in spreading mapping.
> I am often editing relations that other people make; they're often
> broken. They're broken because it's hard to make them correctly, and
> fixing a relation isn't easy- you have to break the objects apart,
> check their roles, check their construction, and reassemble the
> Relations make the map hard to work with.
> Let's take your example. Let's say I find a road need to be split and
> fixed because of construction. Now I have to worry about the relations
> on that road, and check each and every segment that's created.
> I'll tell you that many mappers won't do that, which means that the
> relations won't be right. What's left is bad data. It's like an
> abandoned wiki.
> The more I fix other's data, the more clear these problems appear.
I agree completely with this. Relations need to be used sparingly,
redundantly wherever possible (e.g. ref/rcn_ref/etc. tags on ways for
route relations), and it should be easy to find and fix errors.
It might be useful if the API and editing software treated relations
'transparently' as tags, kind of like Potlatch 1 does. Any request to
the API for an object would also return a list of the relation IDs it is
a part of, the role it has, and the tags of the relation (but not all
the members). (Would this significantly increase processing or
downloading time? If so, maybe the tags on the relation could be
dropped.) Uploading an object would also require this information, or a
conflict would be created. JOSM needs better relation conflict
management. I find that most relation breaking is due to splitting or
joining ways without updating relation membership for various reasons,
such as JOSM not knowing the relation is there or a mapper ignoring a
conflict because it's too hard to fix.
As for the direction a sign faces, perhaps an alternate plan would be to
map the sign as a way (this is, after all, correct in a micromapping
sense) and define which side has the text (or if both sides have text,
which text is on which side).
More information about the Tagging