Template:International Railway Signal Tagging
Signals are tagged as a point on the track. So it is clear which track they belong to. It is recommended to see country-specific tagging to use the specific tagging scheme for your country.
Important Hint: If a signal is tagged between two OSM-ways, both ways have to have the same direction. So it is possible for applications to detect the correct position.
Key | Value | Property | Description | Default value |
---|---|---|---|---|
Note: Disused and abandoned signals can be mapped by adding disused: or abandoned: . (Example: disused:railway=signal).
| ||||
railway | signal | signal | a signal | |
ref | signal designation | signal designation | The name or designation of a signal. | |
railway:position | distance value, such as 40.6 | distance | The rounded distance position of a signal. If using miles, prefix the number with mi: . |
|
railway:position:exact | distance value, such as 40.625 | exact distance | The exact (three-place) distance position of a signal. If using miles, prefix the number with mi: . |
|
railway:signal:position | left/right/bridge/overhead/in_track | location | Indicates the location of the signal in references to the track. bridge means the signal is located on a signal gantry overhead the track. left or right determines on which side of the track the signal is located, in reference to the way direction in OpenStreetMap. overhead means a signal is attached to the catenary and in_track is intended for signals in the middle of the track - such as one attached to a buffer stop. |
|
railway:signal:direction | forward/backward/both | direction of displaying | Determines how you have to drive to have a view on the signal. Values are in reference to way direction in OpenStreetMap. | |
railway:signal:catenary_mast | yes/no | catenary mast | Is the signal attached to a catenary mast? |
These tags really only describe a single signal location. The tags below can be used to specify what type of signal it is:
The tagging scheme for signals is designed to use as few tags as possible.
The tagging scheme described in the following paragraph is an abstract tagging scheme. It is a base to derive tagging schemes for each country/railway company because different countries have different signalling systems. Keys are equal between countries, only the values vary. For example, a German main signal is tagged railway:signal:main=DE-ESO:ks while an Austrian main signal is tagged railway:signal:main=AT-V2:hauptsignal. International data users can use the data without detailed knowledge of the local signalling rules while local/skilled users can also interpret the values. |
The tag structure for signals is as follows:
railway:signal:CATEGORY=TYPE
for the exact type of signal. CATEGORY is a signal category (e.g. main, speed, distant, …) of the table below. TYPE is the country-specific name of the signal or the abbreviation. When unknown, even yes
can be entered, with more specific tagging being preferred. To prevent ambiguities, the code should be prefixed with a country code according to ISO 3166-2 (e.g.: US:<name>). If no uniform naming system is in place in a country, the generic name for this signal should be used in lowercase. Example: railway:signal:main=AT:hauptsignal, railway:signal:main=DE:hp, or railway:signal:main=US:main.
You can add detailed properties of the signal by tags following this scheme:
railway:signal:CATEGORY:PROPERTY=VALUE
PROPERTY is a predefined property of the table below.
List of signal categories:
Type | Name | Description |
---|---|---|
main |
Main signal | A signal that gives the permission to enter a station, leave a station or enter the next block section of a track. A main signal controls mainline and shunting movements and indicates the clearness of a track up to the next signal. |
main_repeated |
Duplicated signal | A signal to indicate the state of the main signal. Not to be confused with a Distant signal. |
distant |
Distant signal | A distant signal is placed at braking distance from a main/combined signal and indicates the aspect of the following signal to ensure that a train can stop before reaching the main/combined signal. |
minor |
Minor signal | A signal with a lower priority than main signal. In most cases they are used inside stations to protect occupied sections or control low speed (shunting) movements. It does not require any distant signal and applies to both mainline and shunting movements. |
minor_distant |
Minor Distant signal | A Distant signal for Minor signals. |
combined |
Combined signal | A signal that combines the function of a main and a distant signal. It indicates the state of the next two block sections and is valid for all train movements. |
shunting |
Shunting signal | A signal that controls low speed shunting movements inside stations. It does not apply to mainline movements. |
crossing |
Level crossing signal | A signal that indicates that the technical equipment (lights, barriers, bells) of a level crossing is active to warn automobile drivers about an approaching train. |
crossing_distant |
Level crossing distant signal | A signal which notifies the train driver to attend a level signal which will follow. |
crossing_info |
Level crossing marker board | A signal which describes the level crossing. It is usually mounted next to the level crossing and shows information like the current position (kilometre/miles) or the crossing number. |
crossing_hint |
Level crossing announcement board | A signal which notifies about a level crossing he will reach soon. |
electricity |
Catenary signal | A signal for electric locomotives indicating when and where the pantograph or other collector needs to be lowered. (e.g.: between different electrical systems.) |
humping |
Hump yard signal | This signal controls the speed of locomotives pushing cars towards the hump. |
speed_limit |
Speed Limit indicator | A signal that displays the maximum permissible speed in a track section. |
speed_limit_distant |
Distant Speed Limit indicator | A signal indicating an upcoming speed limit change. |
whistle |
Horn signal | A signal indicating the operator should use the horn. |
ring |
Bell signal | A signal indicating the operator should use the bell. |
route |
Route indicator | A signal that indicates the set up route. |
route_distant |
Route Change Distant | A signal indicating an upcoming route indicator. |
wrong_road |
Wrong Road signal | A signal indicating the movement to a track that normally would have traffic in the oncoming direction. |
stop |
Stop post / Stop Board | In general, this signal marks a position on a track, where a train needs to stop. In most cases it indicates the position where a passenger train should stop at a platform. On branch lines with simplified operational rules, this signal may also be used to mark a position where a train has to stop to wait for a permission to proceed. |
stop_demand |
Stop-on-demand indicator | A signal at small halts that is operated by waiting passengers to visualize their demand for a stop of the next train. |
station_distant |
Upcoming Station | A signal indicating an upcoming station. |
radio |
Radio Change | A signal providing instructions on radio usage. |
departure |
Departure signal | A signal indicating that a passenger train is ready to leave the station. |
resetting_switch |
Resetting Switch signal | A signal indicating the status of a resetting switch. |
resetting_switch_distant |
Resetting Switch Distant | A signal indicating an upcoming resetting switch. |
snowplow |
Snowplow signal | A signal that give instructions to vehicles with a snowplow. In most cases they are placed to warn the crew to raise the snowplow to avoid hitting any obstructions such as level crossings or bridges. |
short_route |
Short entry indicator | A signal which shows the train driver that he has to stop earlier than usual (usual = exit signal). Used if the train drives into a dead-end signal or joins another train. |
brake_test |
Signal used for break tests | This signal supports the communication between the train driver and the personnel checking the breaks. |
fouling_point |
Clear-of-points marker/Track contact marker | A signal that indicates up to which limit a track may be occupied to avoid collisions and malfunctions of signals and switches. |
helper_engine |
Signals related to helper engines | A signal giving instructions for helper engines at steep railroad lines (e.g. in mountain areas). |
train_protection |
Signals related with train protection system topics | Signals of this category show beginning/end of railway sections with a specific or any train protection system. This category also covers the signals (usually signs) mounted along railway lines with cab signalling. This section has been replacing the old sections lzb and lzb_start since 2014. |
steam_locomotive |
Signals related to steam locomotives | Signals that give instructions to the staff of steam locomotives. |
List of signal properties:
Property | Name | Description |
---|---|---|
form |
Display/Style | The physical format of the signal: (semaphore ), (light ) or (sign ).
|
deactivated |
Signal Activity | Is the signal still operational? Either (yes ) or (no ).
|
height |
Signal Height | Height design of signal: either (dwarf ) or (normal ). Alternatively, you can specify the exact height measurement.
|
states |
Signal Aspects | For variable signals, a list of possible signal aspects, each separated by a semicolon (e.g.: clear;aproach_limited;limited_clear;approach_medium;... ).
|
shortened |
Shortened Braking Distance | Is the signal placed closer than usual to the next signal? Either (yes or no ).
|
repeated |
Repeater signal | When a main/combined signal is not visible from distance (e.g. because of track curves), a repeater is installed to repeat the aspect of the main/combined signal. Use yes to mark these signals, otherwise use no or omit this tag.
|
frequency |
Frequency | When activated, the frequency reading of the signal in Hertz (Hz). |
voltage |
Voltage | When activated, the voltage reading of the signal in Volts (V). |
speed |
Signal Speed | The displayed signal speed in Kilometers/Hour. For values in Miles/Hour, it is necessary to prefix it with mph .
|
function |
Signal Function | The exact function of the signal, such as an Entry Signal (entry ), Exit Signal (exit ), Block Signal (block ) or Intermediate Signal (intermediate ). In the past, the deprecated value between was used for intermediate signals.
|
caption |
Additional Text | Additional text specified on a signal. This tag was merged with the deprecated description , which was in use until 2014.
|
marker_light |
yes or no ). | |
only_transit |
Valid only for Passing Trains | Does the signal only apply to trains that go through the following breakpoint/station? Either (yes ) or (no ).
|
substitute_signal |
Substitute Signal | A signal added to another signal, and indicates the behaviour in cases of failures of the actual signal. Also known as caution signal. For example the train may pass the signal at low speed and must be prepared to stop at any obstacle. Either (yes ) or (no ).
|
twice |
Double Signal | Is the signal instruction to be carried out twice? Either (yes or no ).
|
type |
Subtype or order | The subtype of a signal or what has to be down at/after this signal. |
for |
Vehicle type | Specifies for which types of vehicles this signal is valid. This can be multiple units (multiple_unit ) or locomotives (locomotive ). This tag can also be used for specifying locomotive classes or the type of traction (steam, diesel, electric, ...).
|
shape |
Signal shape | Can be used to distinguish signals that are visually distinct, but have otherwise identical tagging. Used e.g. for different generations of German H/V light signals. |
For specific tagging of certain signals in a specific country, refer to the Country-specific tagging section. These pages are currently a work-in-progress.
Multiple signals at the same location
If multiple signals are placed at the same location, usually at the same pole, all information should be put on the same node.
This cannot be used if a pole has different signals for opposite directions on the same pole, as getting the tagging for each direction correct is cumbersome and parsing them correctly would require complicated code. The solution is to use 2 nodes close to each other that have the information for one direction.
There however is a shortcut tagging that can be used in some well defined cases:
- if the signal is exactly the same for both directions one can use railway:signal:direction=both
- if the signals given in both directions are of the same type, but show different aspects (this usually happens only for signs): one can add an additional :backward to the type, and override specific aspects of the signal as needed. It is important to add an explicit :backward version of the signal type tag as a marker for the parser that this is a two-sided signal.
Example for the shortcut tagging:
- railway=signal
- railway:signal:direction=forward
- railway:signal:position=right
- railway:signal:snowplow=DE-ESO:ne7
- railway:signal:snowplow:backward=DE-ESO:ne7
- railway:signal:snowplow:form=sign
- railway:signal:snowplow:height=normal
- railway:signal:snowplow:type=up
- railway:signal:snowplow:type:backward=down
This means there is a snowplow sign to the right of the track, showing "snowplow up" for the forward direction. The same signal also affects the backward direction, showing "snowplow down" in that case.
Other tags could also be overridden as needed:
- railway=signal
- railway:signal:direction=backward
- railway:signal:position=left
- railway:signal:stop=DE-ESO:ne5
- railway:signal:stop:backward=DE-ESO:ne5
- railway:signal:stop:form=sign
- railway:signal:stop:height=dwarf
- railway:signal:stop:caption=100m
- railway:signal:stop:caption:backward=200m
All tags not explicitly overridden with :backward will apply to both direction. A value cannot be "deleted" with this. One can however invert the signal direction and only add the specific tag to the other direction:
- railway=signal
- railway:signal:direction=backward
- railway:signal:position=left
- railway:signal:stop=DE-ESO:ne5
- railway:signal:stop:backward=DE-ESO:ne5
- railway:signal:stop:form=sign
- railway:signal:stop:height=dwarf
- railway:signal:stop:caption:backward=200m
The stop sign has no caption in forward direction, but the caption "200m" in opposite direction.