Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding restrictions at traffic islands for correct routing #2611

Closed
planemad opened this issue Jun 30, 2016 · 7 comments
Closed

Adding restrictions at traffic islands for correct routing #2611

planemad opened this issue Jun 30, 2016 · 7 comments

Comments

@planemad
Copy link

There are numerous instances of restrictions on OSM at junctions with free turns and traffic islands like this for correct routing.

screenshot 2016-06-30 18 34 27
A no right restriction added at a junction with a separate free right turn

java openstreetmap editor 2016-06-30 15-42-40

_Satellite image showing left turn lanes on the same road to the junction_

The issue here is:

  • Many of these junctions don't have any physical No Right traffic sign, that can be used to verify the restriction, and goes against the recommended practice of mapping what is visible. What is a consistent approach to mapping such restrictions?
  • There are possibly millions of such junctions with free turns and traffic islands, do they all warrant a turn restriction similar to this?
  • In this particular case, the from way has only left turn lanes, clearly indicating that a straight and right turn is not possible. Could this possibly used to influence routing instead of using turn restrictions?

cc @Andygol @maning

@danpat
Copy link
Member

danpat commented Jun 30, 2016

The problem here isn't a missing turn restriction, it's the differences in road speeds leading to a bad calculation inside OSRM.

Here are the timings for each segment that OSRM has internally:

screen shot 2016-06-30 at 7 38 16 am

From A->B, there are two choices: via the slip-road, it'll take 6.1s. Via the main road, it'll take 6.0s. There should be a turn penalty value where I've got ????, but maybe we've got a bug in OSRM here and it's not working.

It's probably just a matter of very tiny differences in time (e.g. 0.1s in this case). OSRM is pretty brutal about that -> the fastest is the fastest.

Thanks for highlighting the bad routing here. Do not add turn restrictions to fix this if they're not valid on the ground - we need to adjust the turn penalties and road speeds in OSRM for this to work properly.

@TheMarex
Copy link
Member

TheMarex commented Jul 1, 2016

Do not add turn restrictions to fix this if they're not valid on the ground - we need to adjust the turn penalties and road speeds in OSRM for this to work properly.

Well it is not quite that simple. Looking at the lane indications in the above picture they explicitly state that are are supposed to turn left. That means they imply a only-left restriction. I think it is completely valid to tag them in this case. Road markings are just one way of indicating turn restrictions.

@Andygol
Copy link

Andygol commented Jul 1, 2016

I just put here a scheme of this junction with indication of allowed movement directions
image

@MoKob
Copy link

MoKob commented Jul 1, 2016

I think it is completely valid to tag them in this case. Road markings are just one way of indicating turn restrictions.

Fully agree on that. I even use lane markings partly already to disable some turns during the graph generation.

@planemad
Copy link
Author

planemad commented Jul 5, 2016

Here's another example

screenshot 2016-07-05 15 01 45

https://www.openstreetmap.org/relation/5771246

screenshot 2016-07-05 15 06 07

@MoKob are the road intersections angles used in anyway to penalize such a turn or is a restriction necessary?

Fully agree on that. I even use lane markings partly already to disable some turns during the graph generation.

Is this something that could be used to propose some revised mapping conventions, like `avoid adding turn restrictions unnecessary if the turn lane tags can indicate what turns are restricted at the junction'?

@MoKob
Copy link

MoKob commented Jul 5, 2016

@planemad Turn angles can be penalised in the profiles via a turn_function. The penalisation should not influence whether a turn is allowed or not. If the turn is not allowed, it should be in the data. It could always be that a different route would require a significant detour, resulting in the turn still being used.

The same can be said for:

Fully agree on that. I even use lane markings partly already to disable some turns during the graph generation.

Is this something that could be used to propose some revised mapping conventions, like `avoid adding turn restrictions unnecessary if the turn lane tags can indicate what turns are restricted at the junction'?

While I try and get the maximum out of the data, heuristics should not be a reason to exclude valid mappings. If a turn is not allowed, the data should reflect so.
What I do in processing is just a heuristic to find if there might be some missing data that I can handle. Missing data remains missing data, though.

@danpat
Copy link
Member

danpat commented Aug 26, 2016

The conclusion here is that restrictions based on lane markings seem like a reasonable thing to do, and OSRM already supports that. Nothing actionable on the OSRM side here, closing.

@danpat danpat closed this as completed Aug 26, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants