Reversible Road tagging

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Reversible Road tagging

Jack Burke-2
With the advent of new reversible freeways north and south of Atlanta, I think it's time we try to come up with a way to model the reversal schedule so that routers can begin to utilize them properly.  Note that I am referring to roads where the entire roadway reverses, not a reversible *lane* scenario (such as this one: https://osm.org/go/ZSARXLJg?layers=NG&way=129555346), although we might be able to find a solution that fits both.

Examples of reversible roads:

I 75 & I 575 Express Lanes north of Atlanta (aka the "Northwest Corridor"):

I 75 South Metro Express Lanes south of Atlanta:

the Lee Roy Selmon Crosstown Expressway elevated express lanes (separate from the dedicated one-way lanes of the expressway) in Tampa:

I seem to recall seeing mention of one more in someone's OSM diary, but I can't find it at the moment.  I'm sure there are more somewhere else in the world, too.

For now, I've been adding an opening_hours tag on the barrier nodes on the entrance lanes (and on the entrance lanes themselves) for the Atlanta express roads, mainly so that the information gets captured and is available in OSM.  I haven't touched this on the Selmon Expressway because it has a more complex reversal schedule (and the road authority seems to deviate from it quite frequently).  I have specifically avoided putting opening_hours on barrier nodes on the exit lanes, though, because you can exit even after the barriers on the entrance lanes go down.

Following the KISS principle, barrier node tagging might be the way to go, at least initially.

Barrier tagging Pros:
* Easy to implement in routing (e.g., OsmAnd's routing.xml can process a node as barrier=1 or barrier=-1 based on the opening_hours times).


Barrier tagging Cons:
* Having a hard time thinking of any.


Another way to approach this might be to utilize route relations (I know this will get several people very excited).  However, this raises the complexity level; as far as I can suss it out, we'd need a route relation for each direction, possibly with opening_hours tags in each relation, probably including the appropriate entrance ways as part of the relations, and we would have to utilize oneway=-1 in the relations that depict travel in the opposite direction of the vectors, and oneway=yes for when travel in the direction of the vector is allowed.  For example, the I 75 Express Lanes north of Atlanta would need (at least) 2 route relations.  Because of the split-configuration reversal schedule used, the Selmon Expressway express lanes would need *6*.  Maybe more, depending on how we end up modeling it.

Note that I am specifically avoiding oneway=reversible in the route relation scenario, simply because it doesn't model the situation properly within the appropriate time windows.  Also, using route relations will make it hard to capture the fact that you can still drive on the road after the entrance gates have closed (if anyone has ideas on how to do this, please speak up, because I can't figure one out).  However, route relations might be able to capture reversible lane situations where tagging barriers will not, since they typically don't exist on a simple reversible lane.


Route Relation Pros: 
* Captures a lot of information.
* Might capture reversible lane scenarios.
* Can provide a more robust representation of the routes.
* Likely to be enthusiastically supported by certain people.

Route Relation Cons: 
* AFAIK, route relations are not supported by any routing engine at all, except that OsmAnd will display the ref tags from them, and also AFAIK no one is working on doing so.
* Likely to be years before they *are* supported by routers.
* Complex; possibly beyond the capability of a phone-based router.
* Lots of people dislike oneway=-1.  Very much dislike.
* Routing issues will arise if someone enters one of the express lanes just before it closes, because then the vehicle will be traveling on a road that the router thinks is closed, and try to recalculate which could end up with an impossible route (exit at ..... when you're in a barrier separated lane and can't get to the exit).


And, it may be that we decide to start with tagging barrier nodes, with a goal of implementing it via relations over time if we can come up with a suitable method to do so.

Thoughts, comments, objections, statements of support?

--jack

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging
Reply | Threaded
Open this post in threaded view
|

Re: Reversible Road tagging

Richard Z.
On Thu, Nov 08, 2018 at 04:05:49PM -0500, Jack Burke wrote:

> Following the KISS principle, barrier node tagging might be the way to go,
> at least initially.
>
> Barrier tagging Pros:
> * Easy to implement in routing (e.g., OsmAnd's routing.xml can process a
> node as barrier=1 or barrier=-1 based on the opening_hours times).


note that OsmAnd doesn't do any time dependent routing, or at it least it
didn't do it for a very long time.

> Barrier tagging Cons:
> * Having a hard time thinking of any.

might work to some extent but I see it as important deficit that the directionality
of the road isn't modelled.. sooner or later it will cause disaster. Imagine routers
to issue commands like "turn around and follow the road in opposite direction" when the
diver missed an exit for example.
Also, just one single entry point that someone has forgotten to tag with a barrier
or has the wrong time information and the router will send kamikaze drivers in the wrong
direction into the expressway.

My thought would be to have a variable time dependent number of lanes in each
direction.

Or "oneway" with conditional restrictions
 https://wiki.openstreetmap.org/wiki/Conditional_restrictions

Richard

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging
Reply | Threaded
Open this post in threaded view
|

Re: Reversible Road tagging

yo paseopor
One little point

Untill now GPS navigation is orientative, not compulsory, obligatory or have-to-do. So instead your Osmand says you go in opposite direction, you drive, you decide. No kamikaze please.

yopaseopor
PD: conditional lanes tagging situation would be interesting with a new tag (forward/backward/reversible), for example...

lanes:forward=1
lanes:backward=1
lanes:reversible=1
reversible:forward=Mo-Su 07:00-09:00,15:30-17:30
reversible:backward=Mo-Su 9:00-15:30
reversible:closed=Mo-Su 17:30-07:00

On Thu, Nov 8, 2018 at 11:12 PM Richard <[hidden email]> wrote:
On Thu, Nov 08, 2018 at 04:05:49PM -0500, Jack Burke wrote:

> Following the KISS principle, barrier node tagging might be the way to go,
> at least initially.
>
> Barrier tagging Pros:
> * Easy to implement in routing (e.g., OsmAnd's routing.xml can process a
> node as barrier=1 or barrier=-1 based on the opening_hours times).


note that OsmAnd doesn't do any time dependent routing, or at it least it
didn't do it for a very long time.

> Barrier tagging Cons:
> * Having a hard time thinking of any.

might work to some extent but I see it as important deficit that the directionality
of the road isn't modelled.. sooner or later it will cause disaster. Imagine routers
to issue commands like "turn around and follow the road in opposite direction" when the
diver missed an exit for example.
Also, just one single entry point that someone has forgotten to tag with a barrier
or has the wrong time information and the router will send kamikaze drivers in the wrong
direction into the expressway.

My thought would be to have a variable time dependent number of lanes in each
direction.

Or "oneway" with conditional restrictions
 https://wiki.openstreetmap.org/wiki/Conditional_restrictions

Richard

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging
Reply | Threaded
Open this post in threaded view
|

Re: Reversible Road tagging

Richard Z.
On Fri, Nov 09, 2018 at 07:59:22PM +0100, yo paseopor wrote:
> One little point
>
> Untill now GPS navigation is orientative, not compulsory, obligatory or
> have-to-do. So instead your Osmand says you go in opposite direction, you
> drive, you decide. No kamikaze please.

correct, but it is not our intention to produce data that is better suited for
kamikaze drivers than normal users.. is it?

> yopaseopor
> PD: conditional lanes tagging situation would be interesting with a new tag
> (forward/backward/reversible), for example...
>
> lanes:forward=1
> lanes:backward=1
> lanes:reversible=1
> reversible:forward=Mo-Su 07:00-09:00,15:30-17:30
> reversible:backward=Mo-Su 9:00-15:30
> reversible:closed=Mo-Su 17:30-07:00

Imho conditional restrictions have everything we need, it provides perhaps a little
bit more than that and we should pick one preferred method.

https://wiki.openstreetmap.org/wiki/Conditional_restrictions#Evaluation_of_conflicting_restrictions
- mentions lanes and directional restrictions explicitly

so perhaps
lanes=0
lanes:forward:conditional=2 @ (09:00-17:00)
lanes:backward:conditional=2 @ (17:01-8:59)

I suspect there might be some places already tagged somehow similar like this
but can't find them now..

As it has not been implemented in any routers that I know about it might be
good to ask in the issue trackers of some routers if they have an idea what
would be reasonably easy to implement.

Richard

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging
Reply | Threaded
Open this post in threaded view
|

Re: Reversible Road tagging

Paul Johnson-3
In reply to this post by yo paseopor
Are we talking a 1 lane or a 3 lane road?  Because that looks like it's describing a 3 lane road.  

On Fri, Nov 9, 2018 at 1:00 PM yo paseopor <[hidden email]> wrote:
One little point

Untill now GPS navigation is orientative, not compulsory, obligatory or have-to-do. So instead your Osmand says you go in opposite direction, you drive, you decide. No kamikaze please.

yopaseopor
PD: conditional lanes tagging situation would be interesting with a new tag (forward/backward/reversible), for example...

lanes:forward=1
lanes:backward=1
lanes:reversible=1
reversible:forward=Mo-Su 07:00-09:00,15:30-17:30
reversible:backward=Mo-Su 9:00-15:30
reversible:closed=Mo-Su 17:30-07:00

On Thu, Nov 8, 2018 at 11:12 PM Richard <[hidden email]> wrote:
On Thu, Nov 08, 2018 at 04:05:49PM -0500, Jack Burke wrote:

> Following the KISS principle, barrier node tagging might be the way to go,
> at least initially.
>
> Barrier tagging Pros:
> * Easy to implement in routing (e.g., OsmAnd's routing.xml can process a
> node as barrier=1 or barrier=-1 based on the opening_hours times).


note that OsmAnd doesn't do any time dependent routing, or at it least it
didn't do it for a very long time.

> Barrier tagging Cons:
> * Having a hard time thinking of any.

might work to some extent but I see it as important deficit that the directionality
of the road isn't modelled.. sooner or later it will cause disaster. Imagine routers
to issue commands like "turn around and follow the road in opposite direction" when the
diver missed an exit for example.
Also, just one single entry point that someone has forgotten to tag with a barrier
or has the wrong time information and the router will send kamikaze drivers in the wrong
direction into the expressway.

My thought would be to have a variable time dependent number of lanes in each
direction.

Or "oneway" with conditional restrictions
 https://wiki.openstreetmap.org/wiki/Conditional_restrictions

Richard

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging
_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging
Reply | Threaded
Open this post in threaded view
|

Re: Reversible Road tagging

Paul Johnson-3
In reply to this post by Richard Z.
On Fri, Nov 9, 2018 at 2:06 PM Richard <[hidden email]> wrote:
On Fri, Nov 09, 2018 at 07:59:22PM +0100, yo paseopor wrote:
> One little point
>
> Untill now GPS navigation is orientative, not compulsory, obligatory or
> have-to-do. So instead your Osmand says you go in opposite direction, you
> drive, you decide. No kamikaze please.

correct, but it is not our intention to produce data that is better suited for
kamikaze drivers than normal users.. is it?

Some misguided moron who thinks autonomous cars are less than 50 years away (*cough*Musk*cough*) might try using a map in such a way with unwitting customers.

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging
Reply | Threaded
Open this post in threaded view
|

Re: Reversible Road tagging

Richard Z.
In reply to this post by Paul Johnson-3
On Sun, Nov 11, 2018 at 12:27:57AM -0600, Paul Johnson wrote:
> Are we talking a 1 lane or a 3 lane road?  Because that looks like it's
> describing a 3 lane road.

looks like 1 lane to me but the example would not work for other reasons.

We could do

lanes=0
  # this is "default" for routers/apps which don't undrestand/use conditional
  # restrictions
lanes:forward:conditional=2 @ (09:00-17:00)
lanes:backward:conditional=2 @ (17:01-8:59)
  # the version for apps which do understand them

However, I am afraid that "lanes=0" won't stop most routers sending cars that
way, other kind of restriction is needed here.

That could be
access=no
access=yes @ (09:00-17:00); yes @ (17:01-8:59)
 # this two lines are needed to sort out routers/apps which don't
 # undrestand/use conditional
oneway:conditional= yes  @ (09:00-17:00); -1 @ (17:01-8:59)

In principle
oneway=reversible
oneway:conditional= yes  @ (09:00-17:00); -1 @ (17:01-8:59)

would be a much more elegant solution but again, I am afraid that
oneway=reversible isnt widespread enough to be known by most routers.

I have just added that as hypothetical example to
https://wiki.openstreetmap.org/wiki/Tag:oneway%3Dreversible

The lane number could be added on top of that  - and would be very
confusing if it were variable because there would be backward/forward
lanes on top of reversible oneway..

Richard

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging
Reply | Threaded
Open this post in threaded view
|

Re: Reversible Road tagging

Paul Johnson-3
lanes=* should be the total number of lanes... if it's a one-lane road with two way traffic, I'd go with...

lanes=1
lanes:both_ways=1

On Sun, Nov 11, 2018 at 4:01 PM Richard <[hidden email]> wrote:
On Sun, Nov 11, 2018 at 12:27:57AM -0600, Paul Johnson wrote:
> Are we talking a 1 lane or a 3 lane road?  Because that looks like it's
> describing a 3 lane road.

looks like 1 lane to me but the example would not work for other reasons.

We could do

lanes=0
  # this is "default" for routers/apps which don't undrestand/use conditional
  # restrictions
lanes:forward:conditional=2 @ (09:00-17:00)
lanes:backward:conditional=2 @ (17:01-8:59)
  # the version for apps which do understand them

However, I am afraid that "lanes=0" won't stop most routers sending cars that
way, other kind of restriction is needed here.

That could be
access=no
access=yes @ (09:00-17:00); yes @ (17:01-8:59)
 # this two lines are needed to sort out routers/apps which don't
 # undrestand/use conditional
oneway:conditional= yes  @ (09:00-17:00); -1 @ (17:01-8:59)

In principle
oneway=reversible
oneway:conditional= yes  @ (09:00-17:00); -1 @ (17:01-8:59)

would be a much more elegant solution but again, I am afraid that
oneway=reversible isnt widespread enough to be known by most routers.

I have just added that as hypothetical example to
https://wiki.openstreetmap.org/wiki/Tag:oneway%3Dreversible

The lane number could be added on top of that  - and would be very
confusing if it were variable because there would be backward/forward
lanes on top of reversible oneway..

Richard

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging
Reply | Threaded
Open this post in threaded view
|

Re: Reversible Road tagging

Richard Z.
On Sun, Nov 11, 2018 at 07:59:41PM -0600, Paul Johnson wrote:
> lanes=* should be the total number of lanes... if it's a one-lane road with
> two way traffic, I'd go with...

things change somewhat when using lanes:forward:conditional and
lanes:backward:conditional - these are not likely to sum up to
a constant total number of lanes.

But thinking more about it reversible freeways can definitely not
be modeled using lanes alone.
oneway:conditional and oneway=reversible would be the cleaner
solution.

> On Sun, Nov 11, 2018 at 4:01 PM Richard <[hidden email]> wrote:
>
> > On Sun, Nov 11, 2018 at 12:27:57AM -0600, Paul Johnson wrote:
> > > Are we talking a 1 lane or a 3 lane road?  Because that looks like it's
> > > describing a 3 lane road.
> >
> > looks like 1 lane to me but the example would not work for other reasons.
> >
> > We could do
> >
> > lanes=0
> >   # this is "default" for routers/apps which don't undrestand/use
> > conditional
> >   # restrictions
> > lanes:forward:conditional=2 @ (09:00-17:00)
> > lanes:backward:conditional=2 @ (17:01-8:59)
> >   # the version for apps which do understand them
> >
> > However, I am afraid that "lanes=0" won't stop most routers sending cars
> > that
> > way, other kind of restriction is needed here.
> >
> > That could be
> > access=no
> > access=yes @ (09:00-17:00); yes @ (17:01-8:59)
> >  # this two lines are needed to sort out routers/apps which don't
> >  # undrestand/use conditional
> > oneway:conditional= yes  @ (09:00-17:00); -1 @ (17:01-8:59)
> >
> > In principle
> > oneway=reversible
> > oneway:conditional= yes  @ (09:00-17:00); -1 @ (17:01-8:59)
> >
> > would be a much more elegant solution but again, I am afraid that
> > oneway=reversible isnt widespread enough to be known by most routers.
> >
> > I have just added that as hypothetical example to
> > https://wiki.openstreetmap.org/wiki/Tag:oneway%3Dreversible
> >
> > The lane number could be added on top of that  - and would be very
> > confusing if it were variable because there would be backward/forward
> > lanes on top of reversible oneway..

Richard

_______________________________________________
Tagging mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/tagging