Proposed features/Relation:type=route instruction

From OpenStreetMap Wiki
Jump to navigation Jump to search
Status: Abandoned (inactive)
Proposed by: pov
Tagging: type=route_instruction
Rendered as: hidden
Drafted on: 2009-01-21
RFC start: 2009-01-24

The proposal is to provide guiding instructions at intersections besides what can be deduced from the topology itself.


Topology itself is not sufficient to provide satisfactory driving instructions.

For instance, topology wise, those two intersections are identical, but instructions should be different.

Discussion showed that using the lane number is sufficient to make the difference in this case.

Route instruction Branching-exit.png Route instruction Branching-right-lane.png
english take the next exit to the right stay on the right lane
german Ausfahrt rechts nehmen Auf der rechten Spur bleiben
french prenez la prochaine sortie à droite serrez à droite

This example also clearly shows that instructions must be stored in a language agnostic format.

Remember that not on all countries all exits go to the same direction.

Here's another more complex example. Where topology is not sufficient.

Route instruction Branching-A15.png you can see it [here], it's the junction from A 15 to both A 86 going east and west and N 135.

Destination Instructions based on topology Instructions corresponding to real life
A turn slightly right, then turn slightly right stay on the rightmost lane
B turn slightly right, then turn slightly left stay on the two middle lanes
C turn slightly left stay on the leftmost lane

Applies to

Multiple ways.

Usage Tags and Values


Key Required Value Discussion
type required route_instruction
to_n_instruction required possible values :
  • straight_ahead “straight ahead”
  • right_turn “turn right”
  • left_turn “turn left”
  • exit “take the next exit”
  • right_exit “take the next exit at right”
  • left_exit “take the next exit at left”
  • right_lane “stay right”
  • middle_lane “stay in the middle”
  • left_lane “stay left”
  • follow_main_road ”stay on the main road”
  • none no instruction, it's obvious to follow that direction without instructions

The lane values can be suffixed by a colon and a number if more than one lane are grouped, like this left_lane:2 which means in English “the two leftmost lane”, if no value is specified no value should be assumed and more generic instruction should be used like “stay left”, “stay in the middle”

n is an integer which is the number assigned to the member way in the relation
to_n_directional_sign optional free text value used to reproduce the signs shown on the street to aid guiding
to_n_phonetic_direction optional This is an help to pronunciation of the directions (for tts software) and must be expressed in either [IPA] or [X-SAMPA] as declared in the to_n_phonetic_direction_format
to_n_phonetic_direction_format optional Defines which format was used to represent the phonetic direction. Can be either IPA or X-SAMPA, with IPA being the default value if this tag is not used.


Way or Node Role Quantity Discussion
way from one the way that is about to be left
way to_n one or more the ways that are about to be entered. These ways are not required to have any common nodes with the from node, there could be a another way in between. n is an integer, ways should be numbered in ascending order starting from one for clarity


Example a

Route instruction Branching-exit.png Routing Instructions Branching-ways.png


  • type=route_instruction
  • to_1_direction=none
  • to_2_direction=exit


  • from=way A
  • to_1=way B
  • to_2=way C

Example b

Route instruction Branching-right-lane.png Routing Instructions Branching-ways.png


  • type=route_instruction
  • to_1_direction=left_lane:2
  • to_2_direction=right_lane:1


  • from=way A
  • to_1=way B
  • to_2=way C

Example c

Route instruction Branching-A15.png Routing Instructions Branching-A15-ways.png

Note here that there's no instruction for way C, this is not a mistake.


  • type=route_instruction
  • to_1_direction=left_lane:1
  • to_1_directional_sign=Asniere
  • to_1_phonetic_direction=aɲɛʁ
  • to_2_direction=middle_lane:2
  • to_3_direction=right_lane:1


  • from=way A
  • to_1=way B
  • to_2=way D
  • to_3=way E


Due to changes in Query-to-map this Template does not work anymore. You can use Template:Osm-query2. Please replace or delete this use of Osm-query template.


Use the discussion page