Proposed features/Railway Signals
|This proposal is outdated. Nowadays railway signals are tagged using the OpenRailwayMap tagging schemes for each country. See OpenRailwayMap#Country-specific tagging for details.|
Whit this proposal I propose a common tagging scheme for railway signals.
railway=signal for nodes has been proposed with Proposed features/Railway, they also introduces ref=*
I know this is special, but on the other hand OSM is a good base for railway simulations, railway maps, and other railway stuff, so railway-interested people want to add this information to the map to use it later on or draw special maps. For this, there should be a common way to map it.
This proposal may contain old information and needs to be updated.
For current ideas see DE:OpenRailwayMap.
I propose this practice to allow mappers to include a usable signal mapping convention. Signals for railways are also signs on the side of the track that cannot change state.
There are two ways to map a signal:
- Place the signal on the way it belongs to. The signal is assumed to be standing on the default side of the track (right/left) and pointing in the direction of the track. There is no relation needed. This is good for most default cases.
- Place the signal next to the track, at the position it is standing (normal 1.5–2m from the middle of the track). The signal has a relation to the track it is for which states the direction it is pointing at.
For most renderers, the positioning is not important, since the positions are close enough together. But for visualization or building maps for train simulation programs, it is important to know which direction the signal is facing and where it is standing.
The railway=signal node
All signals should be a node with
railway=signal, which may have some more attributes:
|ref||*||The number of the signal. It is usually written on the signal. Also covered by Proposed features/Railway|
|signal:purpose||main||A normal signal. It makes the train stop or drive like a traffic light.
|signal:purpose||distance/approach||A distance signal (BE) or approach signal (AE) that displays the state of the next main signal. In the relation, the next signal should be added with a "for"-role
|signal:purpose||combined||A main signal that also displays the next signal state.
|signal:purpose||crossing||A special signal that states if the traffic lights for the level crossing have been activated and the train may pass that crossing
|signal:purpose||direction||A Signal that displays the direction the train will drive. |
For trams, this is normally just a light with < and >, for railways, it is a Sign with a letter on it (Zs2) and also the sign next to the junction.
|signal:purpose||whistle||A whistle sign
|signal:purpose||speed_limit||The signal only sets a speed limit. If it does other things, do not use this but the other value.
|signal:purpose||speed_limit_advance||A speed limit sign will come
|signal:purpose||stop||Stop here. In Germany a white sign with a H on it. For trams, sometimes a white line on the ground. The stop can be added with a for-role
|signal:purpose||station_advance||A station will come, start to break here.
|signal:exact_type||country-dependent||The official type of the signal for that country. |
For Germany, this could be hp, vr, ks, tram (for tram signals) and others.
|signal:states||a list||A List of possible states, they are country-dependent. All possible signal states should be mapped (which can be seen by the lights the signal has). |
For Germany e.g.: hp0, hp1, hp2, ...
|signal:form or||semaphore||A signal that uses mechanical elements to display it's state.|
|signal:form or||light||A signal that uses lamps|
|signal:form or||sign||A normal sign that cannot change state.|
|signal:height||normal | height in meters of centre of main signal||The height of the signal. low and normal depends on exact_type|
|signal:deactivated||yes, no||States that the signal is deactivated. In Germany, marked by a white cross.|
|signal:speed_limit||yes|unknown|speed||The signal gives a speed limit. Use unknown, if the actual value is unknown, end if it is an end-of-speed-limit sign (normally with temporary=yes), and use yes if it is a dynamic speed signal. Otherwise, use the speed in km/h. You should also note a value if it is not displayed but given by a previous sign (in Germany, when a speed limit starts with an A sign)|
|signal:speed_limit:temporary||no||Set this to yes if it is a temporary speed limit.|
|signal:speed_limit:form||see signal:form||the form of the signal.|
|signal:speed_limit_advance||like speed limit||The signal states that there is a speed limit coming.|
|signal:speed_limit_advance:form||like speed limit||the form of the signal.|
|signal:speed_limit_advance:temporary||no||Set this to yes if it is a temporary speed limit.|
The form tag may be omitted for signals where the form is given by the type.
The signals may be placed on the track or beside the track. If they are paced beside the track, they must be in a relation with the track.
See also:  Thanks to rurseekatze for his many hints and ideas.
These are some common German signals.
|main||hp or hp_block¹||hp0, hp1||light||A Hp light signal that is used for blocks on the tracks.|
|main||hp or hp_leafe¹||hp0, hp1, hp2, sh2||light||A hp signal that is used inside stations.|
¹It has to be discussed if the exact shape of the signal lights are defined by the states the signal may have or by the exact_type-tag.
The signal relation
A signal is not just standing there, it has a special meaning and belongs to a track. Therefore, for each signal there is a signal relation.
The relation has only one key:
type=signal (or type=signaling?)
There are a lot of different railway signals. Since I live in Germany, I mostly know German signals, but also some other European signalling system.
What this proposal does not cover
- Speed limit mapping for railway tracks.
- Dynamic signalling systems that do not have visible signals
Feel free to discuss this page, or just edit it.
I know that many names could be better, but I have no better Ideas, so feel free to suggest tags/values.
Maybe it would also be possible to remove the advance.signals and just add an advance-tag and a advance-role to the signal relation.
Sorry for the probably many English mistakes, since I am not a native speaker.
I just realized that the proposal at DE:OpenRailwayMap (in German) is also focused on German infrastructure. It seems that that proposal is much more extensive and evaluated, and it is not only focused on signals but railway infrastructure in general. --Rohieb 17:07, 3 August 2012 (BST)
- You're right, the tagging proposal of the OpenRailwayMap contains more aspects of the railway infrastructure and offers a more detailled[sic] tagging of signals. I think this proposal is in a way replaced by the OpenRailwayMap tagging because it is better for a detailled[sic] tagging, whereas this proposal is only good for a very general tagging. --rurseekatze 11:33, 4 August 2012 (BST)