Proposed features/traffic signals=crossing on demand

From OpenStreetMap Wiki
Jump to navigation Jump to search
Status: Canceled (inactive)
Proposed by: Lukas458
Tagging: traffic_signals=crossing_on_demand
Applies to: node
Definition: Adds a new value for traffic_signals=* to make it possible to mark those highway=traffic_signals, which do only control a (pedestrian) crossing. Without needing to have look at any crossing=traffic_signals, because combinations can be misleading often.

Rendered as: no rendering
Drafted on: 2020-04-12
RFC start: 2020-04-13


traffic_signals=crossing_on_demand is an under-tag of highway=traffic_signals and indicates that the highway=traffic_signals-node(s) is/are controlling only a (mostly pedestrian) crossing, which is usually activated on demand only, and not a junction or something else (so traffic lights on „free route“ are meant). They are often also found on "_link"-ways. It's important for car routers, because concerning the penalty a car/vehicle router has to put on a highway=traffic_signals node, they can distiguish between

  • those traffic lights are only then red when a pedestrian appears and wants to cross
  • and those traffic lights which are more probably red and you might to have longer there, because they are controlling (also) a junction (or something else).


Here a Mapilary picture:
Please have a look at the very right upper traffic signal. It's default mode is "off" because it only controls the pedestrian crossing at the link-way, not the junction. In german this is called "Schlummerampel". You also can see that the more left traffic signals for pedestrians, which are leading over the junction, are button_operated, too. So, the button_operated-Key has nothing to do with whether the traffic signals are controlling a crossing only or also a junction or whatever.

Image Tagging
Single pedestrian crossing with traffic lights, crossing not separately mapped from the lane-traffic lights
Traffic signals no intersection.png
Single pedestrian crossing with traffic lights, crossing separately mapped from the lane-traffic lights
Traffic signals no intersection pedestrian separate.png

What's the difference between highway=traffic_signals + crossing=traffic_signals + button_operated=yes?

The difference is that traffic signals which control a junction but a crossing too, can have buttons for pedestrians as well as traffic signals which do only control a crossing. At least in Germany it is like this. With looking at button_operated, you cannot clear whether the traffic lights are controlling a crossing only or a crossing and a junction or something else, too.

What's the difference between using highway=traffic_signals + crossing=traffic_signals just on the same node to express that's a crossing-only traffic signal?

Please note that highway=traffic_signals + crossing_traffic_signals is used on the same node not only when it's a "crossing only"-traffic signal. Please just have a look at - these traffic lights are controlling the crossing as well as the nearby junction, and they are mapped not wrong. There's just one node together for the lane traffic lights and the crossing. But you cannot concluse that traffic lights which are mapped like this do only control a crossing.

Explanation why this information on traffic lights is needed

We have to clear some things first before we can answer this question.

  • 1. For car routers, it's not possible to count all highway=traffic_signals (with passing traffic_signals:direction, of course) AND all crossing=traffic_signals, because highway=traffic_signals and crossing=traffic_signals can be very nearby and can belong together – they can, but they don't have to. So, if a car router would take all highway=traffic_signals AND all crossing=traffic_signals into account, it would count many sets double. Because you can have one set of traffic lights where you appear, but you're driving for example along two pedestrians crossings after the one traffic light for your car. That's the reason why car routers have to count only the highway=traffic_signals on their route. Surely, some of them are on the same node as crossing=traffic_signals, but not all of them are, and that is also correct like this. In some cases the same traffic light controls the pedestrian crossing and the lane-traffic, in some others not.

  • 2. When you as a router go along the route and looking only for the highway=traffic_signals on your route, you cannot find out what the traffic signals are controlling: a junction or just a crossing? Looking at the distance to the next crossing=traffic_signals or at whether they are used together on the same node is also not possible, because after a highway=traffic_signals, there can come a crossing=traffic-signals on a node nearby, but the last highway=traffic_signals can control a (also nearby) junction nevertheless.

  • 3. Looking at the point where the highway=traffic_signals are (junction point or not junction point) is also not possible, because traffic lights which are controlling a junction, in OSM can be mapped on the stop lines as well, espcially when one road of the intersection has dual carriageways.
  • 4. Looking at the crossing=traffic_signals which ones hava a button_operated=yes and which one a button_operated=no is also not possible, because first I already described that it is not useful to look at the crossing=traffic_signals (see above), and second also at those traffic lights, which control a pedestrian crossing AND a junction, there can be buttons for the pedestrians at the crossing, even though the highway=traffic_signals would turn red sometime to let the other lane direction cross the intersection, so these two things have nothing to do with each other.

So in conclusion, traffic_signals=crossing_on_demand makes it easy to mark all traffic lights which do only control a crossing, with fitting into the existing traffic_signals=*-tagging scheme.

See Also


Please use the Talk:Proposed_features/traffic_signals=crossing_on_demand for discussion.