Relation:traffic_mirror
| Description |
|---|
| This relation groups elements that can be used by a navigation system to provide useful information about a traffic mirror. |
| Status: approved |
| Tools for this tag |
A traffic mirror relation is a relation that groups the following:
- a traffic mirror (element with
, tagged as amirror
highway=traffic_mirror), - the place on a road where the traffic mirror starts to become usable for a moving vehicle (element with
),from
- the place on a road where the traffic mirror stops being usable for a moving vehicle (element with
),to
- one or more other road sections that can be seen through the mirror (elements with
)visible
with the intention of making this information available for driver information through a navigation system.
Tags
The relation is tagged as follows:
| Key | Value | Presence | Comment |
|---|---|---|---|
type |
traffic_mirror |
! Required | Defines this relation as a traffic mirror relation. |
description |
text |
‽ Important | Human-readable text that can be shown to users. The text should contain information about the mirror that is not given by relation members or by attributes of the mirror.
This tag is required, if for any reason the relation does not contain all relevant "visible" members. In this case, the description shall describe what can be seen through the mirror. If all relevant "visible" members are later added to the relation, redundant information shall be deleted from the "description" tag. (In this case, the information can be moved to a "note" tag, if it might be helpful for other mappers.) |
Members
| Role | Refers to | Recurrence | Comment |
|---|---|---|---|
|
! 1 | Node at the position of a mirror, typically tagged with highway=traffic_mirror.
| |
|
! 1 | Node from where a driver can typically start using the mirror. If the mirror is used to allow view from a street into a priority street, this is the node tagged with highway=stop, highway=give_way or simply where the vehicle typically stops and the driver starts using the mirror. In the case of a dead-angle mirror, this is the node used for tagging the stop line, which is typically a node already tagged with highway=traffic_signals.
Note: The usage of "from" and "to" nodes is similar to those in a enforcement relation and different from the "from" and "to" ways in a turn restriction relation. | |
|
! 1 | Node where it stops making sense to look at the mirror. In the case of a mirror that provides view of a priority street, this is typically the node that connects the way with the "from" node and the way of priority street. In the case of a mirror in a curve or a dead-angle mirror, this is a node on the road next to the mirror.
Note: Unlike a enforcement relation, where the "to" member is only needed if an enforcement device is placed in a way such that it differently affects vehicles going to different directions, the relevance of a mirror typically does not depend on the direction where the vehicle goes after passing the junction or curve. In the traffic mirror relation, the "to" node is mandatory because no "device" node exists that could be used to identify relevant vehicles based on their travel direction. | |
|
! 1+ | All ways (or nodes) that a driver sees when using the mirror.
An exact limit for the visible section of a street is difficult to define as it depends on the height of the driver, the height of their sitting position over the road and their capability of seeing small objects in the mirror. Therefore it typically does not make sense to try to be precise and cut down an existing way. However, future splits of a long way by other people could leave it ambiguous whether a member is actually visible or not. The usefulness of the mirror also rarely extends beyond the next intersection even if the way is visible. Sometimes, especially if the visible street has been cut up into very short ways close to the mirror, there can be more than one If the "visible" members of the relation aren't sufficient to describe what can be seen in the mirror, use |
Confidence check for tagging
- The relation is tagged with
type=traffic_mirror. - The relation has the following members:
- The
member is tagged withmirror
highway=traffic_mirrorand relevant attributes. - Bidirectional mirrors are part of two relations - one for each viewing direction.
Migration from legacy tagging
The mirror node is tagged with highway=traffic_mirror. If it isn't part of a traffic mirror relation yet, add it as a member.
mirror
Legacy relations of type=traffic_mirror can be migrated to the new specification as follows:
- The
member might be missing. In that case, it has to be added by looking for an appropriate node.from
- The
andto
members from the legacy relations are used in the same way as specified here.mirror
- Legacy relations don't have
members. They have to be added like they would be for a new relation.visible
- If only a single legacy relation exists for multiple mirrors on the same pole or a bidirectional mirror, then one or more additional relations have to be added. Each mirror needs its own relation. A bidirectional mirror needs two relations, one relation for each viewing direction.
While you are at it, it is recommended to also check that the attributes of the traffic mirror are correct and up-to-date, and the and from
members are in the correct place.
to
Examples
Simple example
This simple example is based on the relation https://www.openstreetmap.org/relation/18783095.
A traffic mirror is placed at a junction to allow the driver of a vehicle to see other vehicles that have priority (coming from the right in a country where vehicles drive on the right side of the road).
The relation itself is tagged with type=traffic_mirror and the following members are added:
: Node tagged withmirror
highway=traffic_mirror: Node at the approximate position on the street from where the mirror typically starts to be useful. (In this example, no stop or give-way node exists that could be used as a "from" member.)from
: Junction nodeto
: Visible way to the right of the junction (from the perspective of the driver)visible
Two mirrors in same place
This advanced example is based on the relations https://www.openstreetmap.org/relation/18617969 and https://www.openstreetmap.org/relation/21279627 .
In this example, two mirrors (for looking left and right) are mounted to a single pole located opposite the exit of a supermarket's parking lot. Additionally, a stop sign exists at the exit.
- Relation #1

The relation itself is tagged with type=traffic_mirror and the following members are added:
: Node tagged withmirror
highway=traffic_mirror: Node tagged withfrom
highway=stop,direction=forward(ordirection=backward, as applicable): Junction nodeto
: Visible way to the right of the junctionvisible
- Relation #2

The relation itself is tagged with type=traffic_mirror and the following members are added:
: Samemirror
highway=traffic_mirrornode as in relation #1, multiple traffic mirrors on the same pole are tagged with a single node.: Samefrom
highway=stopnode as in relation #1: Same junction node as in relation #1to
: Visible way to the left of the junctionvisible
Two mirrors in different places
This advanced example of two traffic mirrors in different places of one junction is based on the relations https://www.openstreetmap.org/relation/19313347 and https://www.openstreetmap.org/relation/19313348 .
A side street is crossing a priority street. Two separate mirrors exist to see both directions of the priority street.
- Relation #1

The relation itself is tagged with type=traffic_mirror and the following members are added:
: First node tagged withmirror
highway=traffic_mirror, to the left of the junction: Node tagged withfrom
highway=stop,direction=forward(ordirection=backward, as applicable): Junction nodeto
: First visible way, to the right of the junction. (Street section between junction and traffic island.)visible
: Second visible way, to the right of the junction. (Street section beside island.)visible
- Relation #2

The relation itself is tagged with type=traffic_mirror and the following members are added:
: Second node tagged withmirror
highway=traffic_mirror, to the right of the junction. This is not the samehighway=traffic_mirrornode as in relation #1: Samefrom
highway=stopnode as in relation #1: Same junction node as in relation #1to
: Visible way, to the left of the junctionvisible
Mirror in curve
This advanced example of a bi-directional mirror located in a curve and how it is tagged using two relations is based on the relations https://www.openstreetmap.org/relation/21407466 and https://www.openstreetmap.org/relation/21407467 .
- Relation #1

The relation itself is tagged with type=traffic_mirror and the following members are added:
: Node tagged withmirror
highway=traffic_mirror.: Node on the street, approximately where one viewing direction through mirror starts to become useful.from
: Node on the street, in the curve, close to the mirror.to
: Visible way on other side of the curve, in this viewing direction.visible
- Relation #2

The relation itself is tagged with type=traffic_mirror and the following members are added:
: Samemirror
highway=traffic_mirrornode as in relation #1.: Node on the street, approximately where this other viewing direction through the mirror starts to become useful. This is not the same node as in relation #1.from
: Node on the street, in the curve, close to the mirror. In this example, this is the same node as in relation #1.to
: Visible way on other side of the curve, in this viewing direction. This is not the same way as in relation #1.visible
Simple dead-angle mirror
This example of a simple dead-angle mirror is based on the relation https://www.openstreetmap.org/relation/21279680 .
A dead-angle mirror is placed at a junction to allow the driver of a truck or bus to see bicycles and pedestrians that are located in front of or at the side of the vehicle.
The relation itself is tagged with type=traffic_mirror and the following members are added:
: Node tagged withmirror
highway=traffic_mirrorat the actual position of the mirror: Node at the stop line tagged withfrom
highway=traffic_signals,direction=forward(ordirection=backward, as applicable): Node on the road at the lateral projection of the actual position of the mirror (which is typically mounted to the same pole that also supports the traffic light at its actual position).to
: Visible way from the "to" node back to approximately one bus length or truck length behind the "from" nodevisible
Dead-angle mirror at junction with advanced stop line
This example of a dead-angle mirror at a junction with an advanced stop line is based on the relation https://www.openstreetmap.org/relation/21402812.
A dead-angle mirror is placed at a junction to allow the driver of the truck or bus to view bicycles between the advanced stop line (where bicycles stop) and the normal stop line (where the truck or bus stops) and also bicycles at the side of the vehicle.
The relation itself is tagged with type=traffic_mirror and the following members are added:
: Node tagged withmirror
highway=traffic_mirrorat the actual position of the mirror.: Node at the stop line tagged withfrom
highway=traffic_signals,direction=forward(ordirection=backward, as applicable).: Node at the advanced stop line for bicycles tagged withto
cycleway=asl,direction=forward(ordirection=backward, as applicable).: Visible way from the "to" node back to approximately one bus length or truck length behind the "from" node.visible
Rendering
The rendering of the mirror node is specified in highway=traffic_mirror.
The relation as such is not rendered, but it can be used by a navigation system. The navigation detects that a driver is about to drive through the "from" node followed by the "to" node. Before reaching the "from" node, the navigation system should make the driver aware that a traffic mirror is available to see the "visible" member(s).