-
-
Notifications
You must be signed in to change notification settings - Fork 395
Description
General
Affected tag(s) to be modified/added: highway=traffic_signals, highway=stop, highway=give_way, junction=uncontrolled
Question asked: What form of traffic control is present at this intersection?
Or maybe more naturally: How does traffic wait at this intersection?
This quest should be limited to the United States and probably Canada. In these countries, there is no concept of a priority road and virtually every intersection has traffic lights, stop signs, yield signs, or the equivalent markings (“intersection control devices”). It should be limited to intersections where these tags are absent (and not on a nearby node representing a stopping point).
Checklist
Checklist for quest suggestions (see guidelines):
- 🚧 To be added tag is established and has a useful purpose
- Three of these tags are de facto established and uncontroversial.
junction=uncontrolledis rarer because it’s rarer in the real world. - Many renderers, including those used in turn-by-turn navigation, mark the locations of traffic lights, and some also mark the locations of stop signs and yield signs: Add intersection signals along current route. mapbox/mapbox-navigation-ios#4185 ZeLonewolf/openstreetmap-americana#796.
- Many routers apply a penalty to each traffic light or stop sign. Though small, this penalty adds up over successive blocks to contribute significantly to a short route. It also allows car routers to favor through streets more than stop-and-go neighborhood streets, where through traffic poses a safety hazard to cyclists and a nuisance to residents.
- Ideally, a navigation application would use these tags to tell the user how many more blocks to go before the next turn, because many users don’t find distances very intuitive on surface streets: Count the blocks until the next turn mapbox/mapbox-navigation-ios#426. “Blocks” are normally defined as controlled intersections, such as signalized intersections in urban areas. This is a major part of “natural-language guidance” in navigation systems, but OSM-based routers are currently unable to rely on these counts because of sparse coverage.
- These tags will make it easier for mappers to classify pedestrian crossings as
crossing=traffic_signalsversus something else.
- Three of these tags are de facto established and uncontroversial.
- 🤔 Any answer the user can give must have an equivalent tagging (Quest should not reappear to other users when solved by one)
- Any intersection would have one of these four configurations. If there is no intersection control, then it’s
junction=uncontrolled.
- Any intersection would have one of these four configurations. If there is no intersection control, then it’s
- 🐿️ Easily answerable by any pedestrian from the outside but a survey is necessary
- A pedestrian can easily spot an intersection control device, whether in the form of a signal, sign, or marking. It would be convenient or a pedestrian to survey the intersection while waiting to cross the street.
- While it is often possible to identify intersection control using aerial imagery, there are many factors preventing intersection control from being mapped. For example, even in high-resolution orthoimagery, a stop sign is sometimes indiscernible because the imagery was captured at a time of day when the stop sign’s shadow is too short. Many intersections are covered by trees, and a stop bar marking may be covered by a traveling vehicle. In some places, stop bar markings are rarely painted on the roadway.
- Although an observer on the ground can easily distinguish a stop sign from a diamond-shaped warning sign, it is much more difficult to distinguish the two shapes from aerial imagery. Similarly, it can be difficult to distinguish a conventional traffic light from an intersection control beacon, which has a similar shape but is merely a warning about a stop sign. I have personally mistagged many intersections as having traffic signals or stop signs before catching my mistake using street-level imagery.
- 💤 Not an overwhelming percentage of quests have the same answer (No spam)
- Overall, I think there will be a healthy mix of traffic lights and stop signs/markings, with relatively fewer yield signs/markings. Traffic lights are installed at a minority of intersections in the U.S., but they correlate to populated areas and roads with high traffic volume. In some cities, mappers have historically focused on mapping traffic lights without mapping stop signs, so stop signs will dominate the quests there. In very rural areas, stop signs will also dominate,1 but uncontrolled intersections are more likely and noteworthy from a safety perspective.
- Even when all the intersections in a neighborhood are stop-controlled, they aren’t necessarily all-way stops, so there will be variety in determining which directions are affected.
- 🕓 Applies to a reasonable number of map data (Worth the effort)
- Intersections are very common everywhere, but in many places, intersection control is rarely tagged. There are an estimated 15.8 million intersections in the U.S., including 272,000 signalized intersections. However, OSM has mapped only 576,171
highway=stopnodes and 451,187highway=traffic_signalsnodes – a figure that undoubtedly includes many redundant stop bar nodes at three- and four-way intersections.
- Intersections are very common everywhere, but in many places, intersection control is rarely tagged. There are an estimated 15.8 million intersections in the U.S., including 272,000 signalized intersections. However, OSM has mapped only 576,171
Ideas for implementation
Element selection:
The wiki has an example query for road intersections. It’s a slow join over a large area with lots of roads, but over a smaller area, it should be possible to query for intersections in a more reasonable time.
The query should exclude any intersection node tagged highway=traffic_signals/stop/give_way or junction=uncontrolled. Due to the stop bar mapping style, it should also look for these tags on the adjacent nodes of inbound ways. Intersection control also applies to ramps and roundabout approaches, so there’s no need to exclude highway=*_link ways.
Intersections between dual carriageways could make it more difficult to distinguish between fully-tagged and undertagged intersection nodes. I’m also uncertain how to tag an all-way stop between dual carriageways, because of the preference for tagging the intersection nodes instead of the stop bars. Perhaps as a first iteration, the quest could conservatively omit any intersection involving two or more one-ways, or any closely-spaced pair of intersection nodes.
Metadata needed:
Proposed UI:
The quest’s icon could be a composition including a traffic light, stop sign, and yield sign.
The quest unfortunately requires multiple questions, because of how the global community prefers to model intersection control that doesn’t affect all inbound ways. The quest’s flow could look like this:
- Show the intersection and ask if there are: a) traffic lights (
highway=traffic_signals), b) stop signs or markings (highway=stop), c) yield signs or markings (highway=give_way), or d) none of the above (junction=uncontrolled).- If (a) or (d), tag the intersection node.2
- If (b) or (c), ask if it is an all-way stop / all-way yield.
- If it is, show a map or diagram of the intersection and ask which inbound ways need to stop or yield. Tag or create a nearby node along each affected way, behind any
highway=crossingnode.3 Addstop=minororgive_way=minorand the appropriatedirection. - If it isn’t, tag the intersection node and add
stop=allorgive_way=all.
- If it is, show a map or diagram of the intersection and ask which inbound ways need to stop or yield. Tag or create a nearby node along each affected way, behind any
Footnotes
-
According to OSM, most counties in Nebraska lack any traffic lights. Or do they? (See comments.) ↩
-
Or create a
highway=traffic_signalsnode on each inbound way? Both styles are valid and supported to some extent by data consumers, but different mappers have different preferences. ↩ -
How far back should it be? Would it be possible to ask the user where the stop bar or unmarked stopping point is? Or maybe that’s for an armchair mapper to deal with? ↩