[OSM-dev] arbitrariness of relations [was: HEADS UP osmosis pgsql schema users]

Frederik Ramm frederik at remote.org
Tue Nov 4 00:16:38 GMT 2008


Hugh,

Hugh Barnes wrote:
> I had a very different different idea of what relations were before I looked at 
> them properly. I was disappointed to see that they just appear to be named 
> groupings. …

They are what you make them to be. The distinction is not always clear. 
A purely named grouping would be my example of "dome-roofed railway 
stations in Europe". We don't need relations for that. An example where 
we need relations and were they really express an object relationship is 
something like your "this bus stop is on this road", or also "this node 
is the entrance of this site", and turn restrictions. These are being 
used, so your disappointment expressed in

> Here's a couple of uses cases I originally thought I would use relations for, 
> before I found out they were not much more than groupings

is a bit exaggerated! However there are also in-between cases like cycle 
networks, where at first sight it may look like something is "a mere 
grouping" (of ways into a cycle route), but this is something that 
cannot be emulated by simple object tagging as one way may be a member 
of any number of cycle networks. In fact, cycle routes are what really 
pushed relations into the limelight for many mappers and I'm grateful 
for that.

> 1. A bus stop has a relationship to a road. It's not on it, and it can be 
> tricky to infer it (snap it) with routing software. So I thought I might be 
> saying "Bus-stop isAdjecentTo Road" or maybe "Bus-stop serves Road". This is 
> kind of what the left-right proposal was trying to _achieve_.

By all means, do it. You might also want to combine the various 
"platforms" that belong to a bigger bus stop into a relation.

> 2. There are several split roads in my area. I thought I'd be able to tag 
> "WayA isSameAs WayB". I guess that's more for street name searches and indexes 
> than for routing. You wouldn't necessarily want to find a street listed three 
> times in an index.

This is the ages-old "superway" idea; you would probably create a 
relation tagged with the name and highway type and make your two ways 
members of that relation. In the long run, we hope to be able to reduce 
individual object tagging in these cases to what differs from the 
relation, i.e. you could have a relation with name=Greyfriars Rd 
highway=secondary and two ways as members, one of which has no tags and 
the other just onway=true, if you want to model a street that is part 
oneway. But at the moment we would still tag both ways with name and 
highway because our data consumers aren't prepared to work with these 
kinds of relations.

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"




More information about the dev mailing list