15.3 Switches
Rail-bound vehicles use switches to change their tracks. In contrast to junctions, a switch can guide the vehicles into two directions only.
There are two different types of switches:
-
Dynamic switches split the railroad track into two tracks leading in two directions. Dynamic switches can be changed during the simulation.
-
Static switches split the railroad track into two tracks leading in two directions and have the two variants
straight
andturn
. Static switches cannot be changed during the simulation.
Switches may be placed at an arbitrary position on a main track.

Figure 141 shows the two partner switches 12
and 32
.
A side track 2
connects the two main tracks 1
and 3
.
Elements in UML model
<switch>
element
In ASAM OpenDRIVE, switches are represented by the <switch>
element within the <railroad>
element.
UML class: t_road_railroad_switch XML tag: <switch> (Multiplicity: 0..*)
Switches change the tracks for rail-bound vehicles. Switches guide the vehicles into two directions only.
Name | Type | Use | Description |
---|---|---|---|
|
string |
required |
Unique ID of the switch; preferably an integer number, see uint32_t |
|
string |
required |
Unique name of the switch |
|
required |
Either a switch can be operated (dynamic) or it is in a static position |
XML example
<railroad>
<switch name="ExampleSwitch12" id="12" position="dynamic">
<mainTrack id="1" s="1.0000000000000000e+01" dir="+"/>
<sideTrack id="2" s="0.0000000000000000e+00" dir="+"/>
<partner name="ExampleSwitch32" id="32"/>
</switch>
</railroad>
Rules
The following rules apply to switches:
-
A switch may be either dynamic or static.
Related topics
15.3.1 Main track
A main track represents the main course for rail bound traffic. A main track has the same properties as a side track. The two track types have been implemented as a convenience function to simplify the modeling of tracks entering and coming out of switches. Figure 141 shows a main track.
Elements in UML model
<mainTrack>
element
In ASAM OpenDRIVE, main tracks are represented by the <mainTrack>
element within the <switch>
element.
UML class: t_road_railroad_switch_mainTrack XML tag: <mainTrack>
Main tracks form the primary course for rail bound traffic.
Name | Type | Use | Unit | Description |
---|---|---|---|---|
|
required |
direction, relative to the s-direction, on the main track for entering the side track via the switch |
||
|
string |
required |
Unique ID of the main track, that is, the |
|
|
required |
m |
s-coordinate of the switch, that is, the point where main track and side track meet |
Rules
The following rules apply to main tracks:
-
asam.net:xodr:1.7.0:road.railroad.switch.check_switch_conn: Main tracks shall not be used to connect two switches.
Related topics
15.3.2 Side track
A side track connects two switches that are placed on main tracks. A side track has the same properties as a main track. The two track types have been implemented as convenience function to simplify the modeling of tracks entering and coming out of switches.
Figure 141 shows a side track.
Elements in UML model
<sideTrack>
element
In ASAM OpenDRIVE, side tracks are represented by the <sideTrack>
element within the <switch>
element.
UML class: t_road_railroad_switch_sideTrack XML tag: <sideTrack>
Side tracks connect two switches that are placed on main tracks.
Name | Type | Use | Unit | Description |
---|---|---|---|---|
|
required |
direction, relative to the s-direction, on the side track for after entering it via the switch |
||
|
string |
required |
Unique ID of the side track, that is, the |
|
|
required |
m |
s-coordinate of the switch on the side track |
Rules
The following rules apply to side tracks:
-
Side tracks shall be used to link two switches only.
Related topics
15.3.3 Partner switches
For convenience reasons, two switches may be declared partner switches.
This describes a connection between two switches that are linked by a side track.
These two switches need to be set consistently.
Figure 141 shows the partner switches 12
and 32
.
Elements in UML model
<partner>
element
In ASAM OpenDRIVE, partner switches are represented by the <partner>
element within the <switch>
element.
UML class: t_road_railroad_switch_partner XML tag: <partner> (Multiplicity: 0..1)
Partner switches are two consistently set switches linked by a side track.
Name | Type | Use | Description |
---|---|---|---|
|
string |
required |
Unique ID of the partner switch |
|
string |
optional |
Unique name of the partner switch |
Rules
The following rules apply to partner switches:
-
Partner switches shall be used to indicate that a side track links two switches.
-
asam.net:xodr:1.7.0:road.railroad.switch.single_switch_no_partner: Single switches do not have partner switches.
Related topics