From OpenStreetMap Wiki
Jump to: navigation, search
Available languages — Tag:highway=traffic_signals
Afrikaans Alemannisch aragonés asturianu azərbaycanca Bahasa Indonesia Bahasa Melayu Bân-lâm-gú Basa Jawa Baso Minangkabau bosanski brezhoneg català čeština dansk Deutsch eesti English español Esperanto estremeñu euskara français Frysk Gaeilge Gàidhlig galego Hausa hrvatski Igbo interlingua Interlingue isiXhosa isiZulu íslenska italiano Kiswahili Kreyòl ayisyen kréyòl gwadloupéyen kurdî latviešu Lëtzebuergesch lietuvių magyar Malagasy Malti Nederlands Nedersaksies norsk norsk nynorsk occitan Oromoo oʻzbekcha/ўзбекча Plattdüütsch polski português română shqip slovenčina slovenščina Soomaaliga suomi svenska Tiếng Việt Türkçe Vahcuengh vèneto Wolof Yorùbá Zazaki српски / srpski беларуская български қазақша македонски монгол русский тоҷикӣ українська Ελληνικά Հայերեն ქართული नेपाली मराठी हिन्दी অসমীয়া বাংলা ਪੰਜਾਬੀ ગુજરાતી ଓଡ଼ିଆ தமிழ் తెలుగు ಕನ್ನಡ മലയാളം සිංහල ไทย မြန်မာဘာသာ ລາວ ភាសាខ្មែរ ⵜⴰⵎⴰⵣⵉⵖⵜ አማርኛ 한국어 日本語 中文(简体)‎ 吴语 粵語 中文(繁體)‎ ייִדיש עברית اردو العربية پښتو سنڌي فارسی ދިވެހިބަސް
Public-images-osm logo.svg highway = traffic_signals
Led traffic lights.jpg
A traffic signal for regulating circulation. Edit or translate this description.
Rendering in openstreetmap-carto
Traffic light-16.svg
Group: Highways
Used on these elements
may be used on nodesshould not be used on waysshould not be used on areasshould not be used on relations
Useful combination
Status: approved

Traffic signals, also known as traffic lights, traffic lamps, signal lights and stop lights are signalling devices positioned at road intersections, pedestrian crossings and other locations to control competing flows of traffic.


Traffic signals for cars

Key Value Element Comment
highway traffic_signals node Required. Indicates traffic signals for cars.
ref * node Reference number or code.
traffic_signals * node Additionally used to indicate special types of traffic signals.
traffic_signals:direction forward / backward node Applies only when tagging traffic signals separately for each direction. Tells whether this particular signal affects cars moving in the same direction as the way (=forward) or in the opposite direction (=backward).

Traffic signals for pedestrians

Add the following tags in addition to highway=traffic_signals for pedestrian crossings if the entire crossing is represented by a single node, or to each highway=crossing nodes if the pedestrian crossings are tagged on their own (strongly recommended).

Key Value Element Comment
crossing traffic_signals node Required. Indicates traffic signals for pedestrians.
button_operated yes / no node Used to indicate that the traffic signals need to be activated by pressing a button.
traffic_signals:sound yes / no / locate / walk node Whether there are sound signals for visually impaired people.
traffic_signals:vibration yes / no node Whether there are vibrating signals for visually impaired and deaf people.
traffic_signals:arrow yes / no node Whether there is a tactile arrow available at the traffic light pole to indicate for blind persons in which direction the pedestrian crossing leads.
traffic_signals:minimap yes / no node Whether there is a small tactile map at the traffic light pole to indicate the crossing layout for blind persons.
traffic_signals:floor_vibration yes / no node Whether there is a device that lets the floor vibrate at walk signal. Often used near homes of deaf-blind persons.
traffic_signals:floor_light yes / no node Synchronized traffic light on the ground with green, red and/or yellow lights. Generally used for people who use the smartphone.

How to map

The mapping of traffic signals is an abstraction that the particular junction or way is regulated by traffic lights.
It is not a representation of a particular device.
Thus, because traffic signals can affect routing decisions, it is important that they are attached to the ways to which they apply, and not placed beside the way.

Simple intersections

Mapnik traffic signals.png

For simple intersections, just tag the intersection node. The same applies to traffic signals which are not part of any intersection, e.g. before tunnels.

Complex intersections

Consider the following intersection:

Traffic signals example 1.png

The horizontal ways are actually one large way, represented by two one-way streets. The problem now is that traffic signals should ideally be applied to each way exactly once. As of now, there is no well established convention on how this problem should be ideally solved, but possible taggings which are currently in use are listed below.

Further discussion is welcome on the discussion page.

Tag all crossings

Traffic signals example 2.png

Add traffic signals to the common nodes in the junction. This will create two separate traffic signals for the vertical way. It is up to the routing software to count nearby signals as one for timing purposes. Many junctions are tagged this way due to simplicity.

Tag all incoming ways

Traffic signals example 3.png

Instead of putting a traffic signal on each crossing, put a traffic signal on all incoming ways of a junction. Traffic signals added to dual-ways need to be tagged with either traffic_signals:direction=forward or traffic_signals:direction=backward to indicate the affected direction. In the given example this applies to the vertical way only, as the horizontal way is mapped with one-ways anyhow.

Tagging also cycleway traffic signals

Traffic signals example 4.png

As before, put a traffic signal on all incoming ways of a junction. The difference is an extended meaning of "incoming ways".

Advanced example showing the "tag all incoming one-ways" approach, including the traffic signals of intersecting cycleways.

How to map (new)

Image Tagging
Traffic signal without intersection (e.g. before bridge), no pedestrian crossing
On way tagged with oneway=yes/-1
Traffic signals 0 oneway.png

highway=traffic_signals + crossing=no

On way tagged without oneway
Traffic signals 0.png

highway=traffic_signals + crossing=no + traffic_signals:direction=forward/backward

Pedestrian crossing without intersection
Pedestrian crossings not separately mapped
Traffic signals no intersection.png
Pedestrian crossings separately mapped
Traffic signals no intersection pedestrian separate.png
Simple intersection
Pedestrian crossings not separately mapped
Traffic signals 1 1.png

highway=traffic_signals + crossing=traffic_signals

Pedestrians crossings separately mapped
Traffic signals 1 1 pedestrian separate.png
Intersection of undivided and divided highway
Vehicle traffic sign on intersection, Pedestrian crossings not separately mapped
Traffic signals 2 1 on junction.png

highway=traffic_signals + crossing=traffic_signals

Vehicle traffic signals on intersection, pedestrian crossings separately mapped>
Traffic signals 2 1 on junction pedestrian separate.png
Vehicle traffic signals before intersection, pedestrian crossings not separately mapped
Traffic signals 2 1 before junction.png
Vehicle traffic signals before intersection, pedestrian crossings separately mapped
Traffic signals 2 1 before junction separate pedestrian.png

Named traffic signals/traffic signal systems (Japan... )

Traffic signal with name “Rokuchonome” in Sendai, Japan.

In some countries (such as Japan), people orient themselves in the local area using the names of traffic signals or traffic signal systems rather than the names of streets. While street names may also exist, they are less important for orientation. See “Named spots instead of street names” for details. Note that Korea and Nicaragua used named intersections, but these are tagged as junction=yes and reference_point=* respectively, not highway=traffic_signals.

For simple intersections (single node) or for single traffic signals on the open road (single node) simply use highway=traffic_signals together with a name=* tag.

Note: Do not use junction=yes at all if you have a named traffic signals. junction=yes is only for named junctions (which means that if a node is tagged with highway=traffic_signals + junction=yes + name=*, the tag "name" is the junction name).


See also