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=signalrailway:signal:direction=(according to the direction of the way.forward/backward/both)railway:signal:position=(left/right/in_track)
Additionally, signals can also have:
railway:position:exact=123.456where 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.5where 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=lightAs 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:avvio=(no/yes)if the signal has startup (avvio) indicators, two horizontal blue lights. (default no)
railway:signal:main:ava=(no/yes)if the signal has advancement (avanzamento) indicators, two horizontal white lights. (default no)
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:pan_letter=*if the signal has a panel with a letter on it, insert the letter indicated. (Not for INT or EST, for those please use ref)
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:rappel=(no/yes)if the signal has the rappel indicators indicate yes, rappels help to remember the max speed allowed in a switch. (default no)
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_TRIrailway:signal:speed_limit:form=signrailway: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_RAPrailway:signal:speed_limit:form=lightrailway: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_ROUTErailway:signal:route:form=lightrailway: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=lightAs 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)").
railway:signal:distant:shape=(round/square/no)
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.
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_1VIT_CT is used for christmass tree signal, IT_1V for normal signalsrailway:signal:crossing:form=lightIndicates that it is a light signal.
Level Crossing Distant
railway:signal:crossing_distant=IT_D_CTrailway:signal:crossing_distant:form=lightIndicates that it is a light signal.
Level crossing signs
railway:signal:crossing_info=IT_PLrailway:signal:crossing_info:form=signrailway: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_PARrailway:signal:departure:form=light
This signal can be paired with itinerary indicators or startup signals
railway:signal:departure:avvio=(no/yes)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_ROUTErailway:signal:route:form=lightrailway: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
.png)
Halt signal is used to indicate the stopping position of a railway halt that does not have light signalling.
railway:signal:stop=IT_HALTrailway: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_HALTrailway:signal:stop_distant:form=signrailway: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
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_MARrailway: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_MANrailway:signal:shunting:form=lightref=*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_PLIMrailway:signal:shunting:form=sign
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 the way)
railway:signal:position=right
railway:signal:main=IT_3V
railway:signal:main:shape=square
railway:signal:main:form=light
railway:signal:main:states=(R;...)
railway:signal:main:arrow=yes
railway:signal:main:avvio=yes
railway:signal:speed_limit=IT_RAP
railway:signal:speed_limit:form=light
railway:signal:speed_limit:speed=30;60;100
ref=INT N2
Example 1b
railway=signal
railway:signal:direction=forward/backward (depending on the way)
railway:signal:main=IT_3V
railway:signal:shape=circular
railway:signal:main:states=(R;R-Y;Y;G;...)
railway:signal:main:avvio=yes
railway:signal:speed_limit=IT_RAP
railway:signal:speed_limit:form=light
ref=INT N2
Example 2

railway=signal
railway:signal:direction=forward/backward (depending on the way)
railway:signal:distant=IT_2V
railway:signal:distant:shape=circular
railway:signal:main:states=(V;Y;...)