OpenRailwayMap/Signals in Italy

This is a proposal for a tagging scheme for Italian railway signals, mainly for RFI network, might also apply to Ferrovienord network.
Signalling
All italian railway signals should have the following generic tags:
railway=signal
railway:signal:direction=(
depending on how the way is mappedforward
/backward
/both
)railway:signal:position=(
depending on how the way is mappedleft
/right
/bridge
/in_track
)
Additionally, signals can also have:
railway:position:exact=123.456
where 123.456 is an example. This is the point where the signal is located compared to the kilometric progressive of the railway.railway:position=123.5
where 123.5 is an example. This is the approximate position of the signal.
Signal Types
Main Signals (1ª categoria)

1st category signals with one to three lights, additionally can have startup (avvio), advancement (avanzamento), direction indicators, letters, left arrow, rappel or speed triangle.
The main signals should be tagged as follow:
Necessary:
railway:signal:main=(
according to the number of lights. Do not confuse this with the possible states, each light can show different colors.IT:1V
/IT:2V
/IT:3V
)railway:signal:main:form=light
As all main signals nowadays are light signals.
Optional:
railway:signal:main:states=*
please indicate all the possible states of the signals using the "-" to separate different lights and ";" to separate the states. Use the "R" for red, "Y" for yellow anf "G" for green starting from the upper light. Use (•) for blinking and (•-•) for for blinking simultaneously and (•)-(•) for blinking alternating. (Example: "G;R-G;R-Y;R-(Y)")
railway:signal:main:shape=(
round
/square
/no
)ref=*
: signal identifier. For PBA the "PBA" can be omitted(?)
railway:signal:main:lit_letter=*
if the signal has luminous letters indicator, insert the list of possible letters should be added, use (•) for blinking, if not known add "yes". (Example: "A;(A)")
railway:signal:main:arrow=(no/yes)
if the signal has an arrow on top indicate yes, usually lit when on green state and are used only on right side signals. (default no)railway:signal:main:function=entry/exit/block
to indicate the function of the signals, "protezione" are entry, "partenza" are exit, "blocco" are block. Internal and external signals are still entry or exit depending if they are "partenza" or "protezione"railway:signal:main:caption=*
use thi field for other indications below the signal

Substitute signals
railway:signal:main:substitute_signal=IT:AVA
"Avanzamento" signal should be tagged in this way. This signal is composed pairs of blue horizontal lights that can be off, still or blinking depending on the situation. They are used to indicate that a (entry) red non permissing signal, can be passed after calling the circulation agent and under some limitations.railway:signal:main:substitute_signal=IT:AVV
"Avvio" this signal is composed pairs of white horizontal lights that can be off, still or blinking depending on the situation. They are used to indicate that a red (exit) non permissing signal, can be passed after calling the circulation agent and under some limitations.railway:signal:main:substitute_signal=IT:P
Permissive signal indicator, after calling the circulation agent and getting the permission the red (block) signal can be passed with some limitations.
Avanzamento and Avvio can be present on the same signal, add both with ";" as separator in between.
Speed indicators
Speed indicators complementary to main signals should be tagged as follows and in the same node of the main signal.
Triangle
railway:signal:speed_limit=IT:TRI
railway:signal:speed_limit:form=sign
railway:signal:speed_limit:speed=(30/60)
speed limit indicated by the triangle (empty=30).
Rappel
Panel that lights on horizontal bars to indicate max speed of the itinerary
railway:signal:speed_limit=IT:RAP
railway:signal:speed_limit:form=light
railway:signal:speed_limit:speed=(30;60/30;60;100)
speed limit given the max number of rappels, 1 rappel = 30;60; 1 or 2 rappels = 30;60;100. 30 is always included because no rappel means max 30 km/h.
Route indicators
Route indicators are panels under the main signal that indicates with a number the itinerary. Should be tagged in the same node of the main signal.
railway:signal:route=IT:ROUTE
railway:signal:route:form=light
railway:signal:route:states=*
Add all the numbers of itineraries allowed separated by ";".
Distant Signals (Avviso)

These signals are on poles painted with alternating white and black horizontal stripes, they can only have maximum 2 lights and only of green or yellow lights. They announce the state of the following 1st category signal.
Necessary:
railway:signal:distant=(
according to the number of lights. Do not confuse this with the possible states, each light can show different colors.IT:1V
/IT:2V
)railway:signal:distant:form=light
As all distant signals nowadays are light signals.
Optional:
railway:signal:distant:states=*
please indicate all the possible states of the signals using the "-" to separate different lights and ";" to separate the states. Use the "Y" for yellow anf "G" for green starting from the upper light. Use (•) for blinking and (•+•) for for blinking simultaneously and (•)+(•) for blinking alternating. (Example: "G; Y-F; (Y-G); (Y)-(G)").
ref=*
: signal identifier. For PBA the "PBA" can be omitted(?)
Combined Signals
Combined signals (Accoppiati) should be tagged as main signals as only the possible states might differ from main signals, just changing "main" with "combined". Combined signals can be recognized by the yellow vertical line on the distance tables in the approach to the signal.
Follow the tagging of optional features of the "main" category
Level Crossing Signals
-
Main level crossing protection
-
Distant level crossing protection
On single track lines some level crossings (PLA) are protected with special signals, commonly referred as "Christmas tree" (Albero di Natale) that are composed by two signals, one distant and a main one.
In other cases normal one light signals with a panel indicating the level crossings protected is used.
Level Crossing Main
railway:signal:crossing=(IT:CT/IT:1V)
IT_CT is used for christmass tree signal, IT:1V for normal signals protecting only level crosssings (PL indication below)railway:signal:crossing:form=light
Indicates that it is a light signal.
Level Crossing Distant
railway:signal:crossing_distant=(IT:D_CT/IT:1V)
railway:signal:crossing_distant:form=light
Indicates that it is a light signal.
Level crossing signs
railway:signal:crossing_info=IT:PL
railway:signal:crossing_info:form=sign
railway:position:exact=*
add the position indicated in the sign
Departure indicators (Indicatori di partenza)
-
Railway departure indicator
-
Italian railway departure indicator lit with main signal on background
In some stations where the main signal is difficoult to see, it's possible to also have a departure indicators, composed of 2 vertical white lights that turn on when the main signal state allows the train to pass it. The train can pass this signal even if not lit.
railway:signal:departure=IT:PAR
railway:signal:departure:form=light
Substitute signals
This signal can be paired with itinerary indicators or startup signals
railway:signal:departure:substitute_signal=IT:AVV
if the signal has startup (avvio) indicators, two horizontal blue lights. (default no)
Route indicators
Route indicators are panels under the departure signal that indicates with a number the itinerary. Should be tagged in the same node of the departuresignal.
railway:signal:route=IT:ROUTE
railway:signal:route:form=light
railway:signal:route:states=*
Add all the numbers of itineraries allowed separated by ";".
Speed Limits

Speed limit signals should be tagged as follows:
railway:signal:speed_limit=(IT:1R/IT:2R/IT:3R)
with the number indicating the number of speed ranks represented.
railway:signal:speed_limit:speed=*
enter the speed limit in a list separed by ";" beginning with rank A. (Example: "140;160;180")
railway:signal:speed_limit:arrow=(left/right)
if the signal has an arrow pointing to the track that is signalling, add the direction of the arrow.railway:signal:speed_limit:form=sign
Speed Limits Distant
railway:signal:speed_limit_distant=(IT:1R/IT:2R/IT:3R)
with the number indicating the number of speed ranks represented.
railway:signal:speed_limit_distant:speed=*
enter the speed limit in a list separed by ";" beginning with rank A. (Example: "140;160;180")
railway:signal:speed_limit_distant:distance=(1/2)
if the signal is a distant signal enter the number of stripes that indicate the distance, if it is not a distant signal do not use this tag.
railway:signal:speed_limit_distant:arrow=(left/right)
if the signal has an arrow pointing to the track that is signalling, add the direction of the arrow.railway:signal:speed_limit_distant:form=sign
Remember that speed reduction is only effective after an adequate distance, check FL. Increase of speed is immediatly effective.
Halt Signal

Halt signal is used to indicate the stopping position of a railway halt that does not have light signalling.
railway:signal:stop=IT:HALT
railway:signal:stop:form=sign
Distant Halt Signal
Before the halt signal there is always at least one distant halt signal
railway:signal:stop_distant=IT:HALT
railway:signal:stop_distant:form=sign
railway:signal:stop_distant:distance=(1/2)
add according to the number of stripes, 1 stripe is usually at braking distance from the halt, 2 stripes is usually at least 200m from the 1 stripe signal.
Shunting Signals
-
Low shunting signal (Marmotta)
-
High Shunting signals (the hexagonal ones)
-
Shunting limit signal, can be made of stone or painted metal
Shunting signals should be tagged as follows:
Low Shunting Signals (Marmotte)
Low shunting signals (Segnali bassi di manovra, also called marmotte) are signals used in shunting operations and movements to areas where standard signaling is not available. They are ususally placed near the tracks, they have 3 lights in an L to form two aspects "|" for allowing to move forward and "-" to interdict movements.
railway:signal:shunting=IT:MAR
railway:signal:shunting:form=light/(semaphore)
semaphore to be usedonly in the few mechanical signals remaningref=*
signal identifier.
High Shunting Signals (Segnali alti di manovra)
Signal for shunting, placed near the main signals, hexagonal.
railway:signal:shunting=IT:MAN
railway:signal:shunting:form=light
ref=*
signal identifier.
Shunting Limit (Picchetto limite di manovra)
This signal is used to indicate the furthest point that can be reached while shunting, this limit should not be exceeded while shunting.
It's a pole, about 1.5m high with alternating white and black stipes.
railway:signal:shunting=IT:PLIM
railway:signal:shunting:form=sign

Milestones
Railway milestones (cippo/ cippo kilometrico) should be tagged as follows:
railway=milestone
Block sections and block type
On almost all the italian railway line there are block sections of different types, this should be tagged on the railway line. While doing so it's possible to also tag the block system.
To tag the block section it's possible to indicate the general type, being axle counters, track ciruits or no block section, so manual.
railway:block_section=(axle_counter,track_circuit,manual)
It's then possible to add the block system of the line. In Italy it's rare to find a block system that is not automatic, usually the type is BAcc or BAcf in main lines and BCA for minor lines, before adding make sure you know the type, please don't guess.
railway:block_system=(Manual,Automatic,Token,OTW)
railway:block_system:type=(telephone,BAcc,BAcf,BCA,BEM,Radio)
railway:cab_signalling=RSC4,RSC9,no
Examples
Here some examples on how to map the signals.
Example 1

Left signal is example 1a, right signal is 1b.
Example 1a
railway=signal
railway:signal:direction=forward/backward
(depending on how the way is mapped)
railway:signal:position=left/right
(depending on how the way is mapped)
railway:signal:main=IT:3V
railway:signal:main:shape=square
railway:signal:main:form=round
railway:signal:main:states=(R;...)
railway:signal:speed_limit=IT:RAP
railway:signal:speed_limit:form=light
railway:signal:speed_limit:speed=30;60;100
Example 1b
railway=signal
railway:signal:direction=forward/backward
(depending on how the way is mapped)
railway:signal:position=left/right
(depending on how the way is mapped)
railway:signal:main=IT:3V
railway:signal:shape=round
railway:signal:main:states=(R;R-Y;Y;G;...)
railway:signal:speed_limit=IT:RAP
railway:signal:speed_limit:form=light
Example 2

railway=signal
railway:signal:direction=forward/backward
(depending on how the way is mapped)
railway:signal:position=left/right
(depending on how the way is mapped)
railway:signal:distant=IT:2V
railway:signal:distant:shape=round
railway:signal:main:states=(V;Y;...)