[OSM-dev] Super-relations or not

Peter Budny peterb at gatech.edu
Fri Oct 29 17:05:40 BST 2010

Andy Allan <gravitystorm at gmail.com> writes:

> On Fri, Oct 29, 2010 at 2:45 AM, Peter Budny <peterb at gatech.edu> wrote:
>> That doesn't work; there are cases where it's ambiguous.  If you look at
>> [1], US-278 runs along North Avenue (bottom) and Ponce de Leon Avenue
>> (top), connected by Monroe Drive (left) and Piedmont Avenue (right).
>> The problem is that North Ave and Ponce de Leon are both oneway=no,
>> while Monroe and Piedmont are oneway=yes.  So unless you run a routing
>> algorithm over the relation, you can't figure out just from the oneway
>> tags that US-278 westbound doesn't include North Avenue (which you would
>> otherwise assume from it being oneway=no).
> Someone, somewhere, has messed this up good an proper. I can't find
> the origins of this discussion to figure out where it's arisen from
> though.
> The situation you describe is easily dealt with using Route Relation
> roles "forward" and "backward" as per cycle routes, or bus routes, or
> every other route relation. See for example
> http://www.openstreetmap.org/?lat=51.88888&lon=0.89395&zoom=17&layers=00B0FTF
> It's clearly documented here:
> http://wiki.openstreetmap.org/wiki/Relation:route#Members and rendered
> on multiple maps. However, I see from elsewhere that people are making
> route relations in the US and filling the memberships with "west" and
> "south" and suchlike and then finding this causes problems. My advice
> is to stick to the route relation member roles that work for every
> other type of route, and if people reeeeaaaaalllly want to have
> separate routes for I5 East and I5 West then feel free (something that
> hasn't seemed necessary elsewhere) - but don't put the words "east" or
> "west" in the ref, add an additional tag to the relation for "overall
> direction" or something.
> But please, stick with the forward/backward stuff for route relations
> roles, it works well.

Okay, let's presume for a minute that blank/forward/backward is the
correct method.  I'll grant that it does have its advantages, such as
for the scenario I described.

However, when I look at
http://ra.osmsurround.org/analyze.jsp?relationId=78041 (in Belarus)
http://ra.osmsurround.org/analyze.jsp?relationId=93920 (in Canada),
the display is meaningless.  It hasn't bothered to connect the
forward/backward ways to the ways with no role, so it's totally unclear
what's going on.

If you want this to be the standard way of tagging things, then we NEED
to get the tools up to spec.  I also noticed that Potlatch doesn't
change the role from forward to backward when you reverse a way.  (JOSM
does the right thing, though.)

My argument for super-relations is that they pretty much work NOW.  You
don't have to look at the roles... one relation contains one direction,

P.S. I don't know why people haven't complained about this more.  Maybe
because most of the route relations are on motorways, which are almost
universally dual-carriageway.  In the US where lots of minor roads are
signed as routes, and routes are sometimes discontiguous, I think the
issues [will] stand out a little more.

P.P.S. Why do I see so many route relations where a way has been added
more than once, sometimes up to 5 times, with the same role?  What is
that supposed to mean?
Peter Budny  \
Georgia Tech  \
CS PhD student \

More information about the dev mailing list