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

via-way no_straight_on breaks no_u_turn #4518

Closed
willwhite opened this issue Sep 18, 2017 · 5 comments
Closed

via-way no_straight_on breaks no_u_turn #4518

willwhite opened this issue Sep 18, 2017 · 5 comments
Labels

Comments

@willwhite
Copy link
Contributor

ron_cowan_parkway.osm.zip

This OSRM file has a no_straight_on relation:

image

This relation appears to prevent the the following no_u_turn relation from working:

image

Testing this locally, the no_straight_on relation works:

image

But the no_u_turn relation does not:

image

@MoKob
Copy link

MoKob commented Sep 19, 2017

The problem here is that the two relations together form an implicit multi-via-way restriction.

named

The not working restriction for no_uturn is conceptually the same as saying from A via B and D to F.

The no_straight_on is telling OSRM that coming from A and via B that C isn't allowed, but D sure is.
Due to the created path from the no_straight_on, we can bypass the restrictions from the no_u_turn.
To add the no_uturn restriction into the mix, we would now need to detect that A via B to D is allowed and disallow B to D and only allow B to E, making it implicitly to a multi via-way restriction (via B and D).

I would consider this bad modelling, though. Instead of two interacting via-way restrictions, a single via-way restriction can model the required restrictions.
The, in my view, better modelling would be a single via-way restriction of the form:

from B, via D, to E: only_left_on.

@MoKob
Copy link

MoKob commented Sep 19, 2017

Via-way restrictions are also tracked over #4439 as a feature-request for multiple via points.

@MoKob
Copy link

MoKob commented Sep 19, 2017

I have to correct myself. The proposed modelling wouldn't work and the original modelling is correct. The support is missing due to the implicit multi-way restriction needed. This requires an implementation of #4439 to be fixed fully.

Since no road is coming in from below, a local work-around could be to add a node-restriction d->e as only_straight_on. The additional node-restriction should work and would model correctly what we see at this intersection.

@Andygol
Copy link

Andygol commented Nov 14, 2017

According to this recommendation https://desktop.arcgis.com/en/arcmap/latest/extensions/network-analyst/turns-in-the-network-dataset.htm#GUID-5BC5E313-1444-4471-954F-9D1068FAD01A

The first or last edge (any exterior edge) in the turn cannot be an interior edge of another turn.

we have incorrectly modeled no-U-turn restrictions, where the same way plays different roles for the TRs:

  • to-way for one no-U-turn and
  • from-way for another no-U-turn,
  • via-way for no_straight_on and no_u_turn TRs

All interior ways should have only role via but in the example we have a mix of roles for one interior edge.

screencast 2017-11-14 13-42-07

for right modeling, there is required that no-U-turn TRs will have 3 via-members
screencast 2017-11-14 13-42-07

Copy link

github-actions bot commented Jul 8, 2024

This issue seems to be stale. It will be closed in 30 days if no further activity occurs.

@github-actions github-actions bot added the Stale label Jul 8, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Aug 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants