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

Ignore intermittent or stop-and-go traffic signals #4212

Open
1ec5 opened this issue Jun 28, 2017 · 7 comments
Open

Ignore intermittent or stop-and-go traffic signals #4212

1ec5 opened this issue Jun 28, 2017 · 7 comments

Comments

@1ec5
Copy link
Member

1ec5 commented Jun 28, 2017

The car profile treats any node tagged with highway=traffic_signals as a traffic light, presumably eligible for a penalty. However, not every highway=traffic_signals node would cause a car to stop for a significant amount of time. The auxiliary traffic_signals=* key provides a bit more nuance:

  • traffic_signals=blinker has the same effect as a stop sign. I’m unsure whether that means it would take as long to traverse as an ordinary stoplight.
  • traffic_signals=continuous_green by definition requires no waiting.
  • traffic_signals=blink_mode and traffic_signals=emergency normally require no waiting.
  • Even when traffic_signals=ramp_meter is activated, it has the same effect as a stop sign.
  • traffic_signals=crossing is likely for footpaths, operated on demand either by button or sensor. It should have the same effect as any other crosswalk.
  • I’m unsure what traffic_signals=tram_priority and traffic_signals=bus_priority indicate, but they might be intermittent as well.

taginfo says Valhalla supports this tag. Additionally, iD’s traffic light preset offers a combo box based on the most common values for the traffic_signals key.

/ref #3747
/cc @danpat

@willwhite
Copy link
Contributor

What impact does this have or what is the buggy behavior that you're seeing here?

@1ec5
Copy link
Member Author

1ec5 commented Jul 5, 2017

In general terms, the impact is that OSRM is penalizing for things that should carry no penalty. For example, OSRM currently incorrectly penalizes many freeway on-ramps in California due to the presence of traffic_signals=ramp_meter. However, I haven’t done any measurements to determine how big of a problem this is in practice.

@1ec5
Copy link
Member Author

1ec5 commented Jul 5, 2017

I’d imagine the fix would be pretty simple: modify this line in the profile to avoid setting result.traffic_lights if traffic_signals is set to any value other than signals.

@1ec5
Copy link
Member Author

1ec5 commented Jan 26, 2018

A fix for this issue would complement the stop sign improvements in #2652.

/cc @chaupow

@emiltin
Copy link
Contributor

emiltin commented Jan 26, 2018

It's a good idea to handle this, however i think a bigger improvement would be gained by avoiding double penalties at intersections, where multiple nodes are tagged with traffic_signal, but they change together so really should only incur the delay once. See #1250.

@1ec5
Copy link
Member Author

1ec5 commented Jan 26, 2018

I think most of the tags above would affect different roads than the ones affected by #1250 – such as freeway ramps for traffic_signals=ramp_meter – but I agree that both changes would be a significant improvement.

@ZLima12
Copy link

ZLima12 commented Jun 9, 2021

It's worth noting that traffic_signals=blinker does not necessarily mean that it's blinking red; if it blinks red, it acts as a stop sign, but if it blinks yellow, it acts as a yield sign (highway=give_way).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants