[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