IS:switchIS

From railML 3 Wiki
Jump to navigation Jump to search
Double switch crossing © Mihai Lazăr (Source; Unsplash License)

Introduction

Documentation

Syntax

Autoexport from the XML-Schema for element IS:switchIS of railML® version 3.3
Documentation Used to describe switches. A switch is a unit of a railway track network used to direct vehicles from one track to another track.
Subschema infrastructure
Parents* switchesIS
Children areaLocation (0..*), designator (0..*), elementState (0..*), gmlLocation (0..*), isValid (0..*), leftBranch (1..1), linearLocation (0..*), locationReference (0..1), name (0..*), networkLocation (0..*), rightBranch (1..1), spotLocation (0..*), straightBranch (2..2), turningBranch (1..2), typeDesignator (0..*)
Attributes:
  • basedOnTemplate: reference to a generic switch (optional; xs:IDREF),

  • belongsToParent: reference to the one an only parent switch of this switch (to be used at switch crossings)

    - if some information exists in parent and child, then information in child overwrites it in child

    - if some information exists only in parent, then child inherits this information from parent (optional; xs:IDREF),

  • branchCourse: defines the switch branching track route (as seen from begin of switch, application direction) (optional; xs:string)
Possible values:
  • left: This branch is merging from the left or is diverging leftward from the track.
  • right: This branch is merging from the right or is diverging rightward from the track.,

  • continueCourse: defines the switch main track route (as seen from begin of switch, application direction) (optional; xs:string)
Possible values:
  • left: This branch is merging from the left or is diverging leftward from the track.
  • right: This branch is merging from the right or is diverging rightward from the track.,

  • type: type of the switch (optional; xs:string)
Possible values:
  • doubleSwitchCrossing: It is a point where two tracks cross each other and enable trains to move from one track to the other. It is used to guide a train from one straight track to another as well as going straight across. It allows going in eight directions.
  • switchCrossingPart: a switch being a part of a switch crossing
  • insideCurvedSwitch: has two curved branches directing in the same direction (either left or right) with one branch having a bigger radius than the other.
  • ordinarySwitch: a switch with a straight branch and a curved branch.
  • outsideCurvedSwitch: has two curved branches directing in different directions (left and right). The value of the radius may be similar with both branches.
  • singleSwitchCrossing: It is a point where two tracks cross each other and enable trains to move from one track to the other. It is combination of a simple crossing, switch and connecting tracks used to guide a train from one straight track to another as well as going straight across. It allows going in 6 directions.,

  • id: the identifier of the object; this can be either of type xs:ID or UUID (obligatory; xs:ID); compare: Dev:Identities
*Notice:
Elements may have different parent elements. As a consequence they may be used in different contexts.
Please, consider this as well as a user of this wiki as when developing this documentation further.
Aspects that are only relevant with respect to one of several parents should be explained exclusively in the documentation of the respective parent element.


 

Autoexport from the XML-Schema for element IS:switchIS of railML® version 3.2
Documentation Used to describe switches. A switch is a unit of a railway track network used to direct vehicles from one track to another track.
Subschema infrastructure
Parents* switchesIS
Children areaLocation (0..*), designator (0..*), external (0..*), gmlLocations (0..*), isValid (0..*), leftBranch (0..1), linearLocation (0..*), locationReference (0..1), name (0..*), networkLocation (0..*), rightBranch (0..1), spotLocation (0..*), straightBranch (0..2), turningBranch (0..2), typeDesignator (0..*)
Attributes:
  • basedOnTemplate: reference to a generic switch (optional; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • belongsToParent: reference to the one an only parent switch of this switch (to be used at switch crossings)

    - if some information exists in parent and child, then information in child overwrites it in child

    - if some information exists only in parent, then child inherits this information from parent (optional; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • branchCourse: defines the switch branching track route (as seen from begin of switch, application direction) (optional; xs:string)
Possible values:
  • left
  • right,

  • continueCourse: defines the switch main track route (as seen from begin of switch, application direction) (optional; xs:string)
Possible values:
  • left
  • right,

  • type: type of the switch (optional; xs:string)
Possible values:
  • doubleSwitchCrossing: It is a point where two tracks cross each other and enable trains to move from one track to the other. It is used to guide a train from one straight track to another as well as going straight across. It allows going in eight directions.
  • switchCrossingPart: a switch being a part of a switch crossing
  • insideCurvedSwitch
  • ordinarySwitch
  • outsideCurvedSwitch
  • singleSwitchCrossing: It is a point where two tracks cross each other and enable trains to move from one track to the other. It is combination of a simple crossing, switch and connecting tracks used to guide a train from one straight track to another as well as going straight across. It allows going in 6 directions.,

  • id: the identifier of the object; this can be either of type xs:ID or UUID (obligatory; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}); compare: Dev:Identities
*Notice:
Elements may have different parent elements. As a consequence they may be used in different contexts.
Please, consider this as well as a user of this wiki as when developing this documentation further.
Aspects that are only relevant with respect to one of several parents should be explained exclusively in the documentation of the respective parent element.


 

Autoexport from the XML-Schema for element IS:switchIS of railML® version 3.1
Documentation This element is not documented in the schema!
Subschema infrastructure
Parents* switchesIS
Children any (0..*), areaLocation (0..*), designator (0..*), external (0..*), gmlLocations (0..*), isValid (0..*), leftBranch (0..1), linearLocation (0..*), name (0..*), networkLocation (0..*), rightBranch (0..1), spotLocation (0..*), straightBranch (0..2), turningBranch (0..2)
Attributes:
  • belongsToParent: reference to the one an only parent switch of this switch (to be used at switch crossings) (optional; xs:IDREF; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • type: type of the switch (optional; xs:string)
Possible values:
  • doubleSwitchCrossing
  • insideCurvedSwitch
  • ordinarySwitch
  • outsideCurvedSwitch
  • singleSwitchCrossing,

  • continueCourse: defines the switch main track route (as seen from begin of switch, application direction) (optional; xs:string)
Possible values:
  • right
  • left,

  • branchCourse: defines the switch branching track route (as seen from begin of switch, application direction) (optional; xs:string)
Possible values:
  • right
  • left,

  • basedOnTemplate: reference to a generic switch (optional; xs:IDREF; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • id: the identifier of the object; this can be either of type xs:ID or UUID (obligatory; xs:ID; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}); compare: Dev:Identities
*Notice:
Elements may have different parent elements. As a consequence they may be used in different contexts.
Please, consider this as well as a user of this wiki as when developing this documentation further.
Aspects that are only relevant with respect to one of several parents should be explained exclusively in the documentation of the respective parent element.


 


Changes 3.1→3.2

There exists an overview of all changes between railML® 3.1 and railML® 3.2 on page Dev:Changes/3.2.

The element documentation has been changed.

The children have been changed.

The attributes have been changed.

Changes 3.2→3.3

There exists an overview of all changes between railML® 3.2 and railML® 3.3 on page Dev:Changes/3.3.

The children have been changed.

The attributes have been changed.

Semantics

Best Practice / Examples

The Simple Example contains three switches: one in station Bf Arnau and two more in the station Bf Cstadt. Their locations in the form of line coordinates, as well as their names, are marked in the following figure:

SwitchIS.pdf

Please note: The switch is an element that is relevant in both domains: infrastructure and interlocking. Consequently, the implementation of the switch results in two elements: <switchIS> and <switchIL>. On this page, we only speak about the infrastructure representation of the switch.

In the following code snippet three <switchIS> elements have been listed as part of the <functionalInfrastructure>. Besides their names and line positions, further information is given, e.g. about the allowed speed on the branches of the switches. Please note that each switch branch (<leftBranch> and <rightBranch>) references a <netRelation> element and thus builds the connection between the functional switch model and the track network topology. Consequently, the <switchIS> element alone cannot be used for deriving the railway track network but has to be interpreted together with the underlying topology layer.

<functionalInfrastructure>
      ...  
      <switchesIS>
        <switchIS id="swi01" continueCourse="right" branchCourse="left" type="ordinarySwitch">
          <name name="68W02" language="en"/>
          <spotLocation id="swi01_sloc01" netElementRef="ne_a03" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_a02a03" branchingSpeed="60" joiningSpeed="60" radius="-500"/>
          <rightBranch netRelationRef="nr_a01a03" branchingSpeed="80" joiningSpeed="80" radius="0"/>
        </switchIS>
        <switchIS id="swi02" continueCourse="left" branchCourse="right" type="ordinarySwitch">
          <name name="69W03" language="en"/>
          <spotLocation id="swi02_sloc01" netElementRef="ne_b03" applicationDirection="normal" pos="200.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_b01b03" branchingSpeed="80" joiningSpeed="80" radius="0"/>
          <rightBranch netRelationRef="nr_b03b04" branchingSpeed="40" joiningSpeed="40" radius="300"/>
        </switchIS>
        <switchIS id="swi03" continueCourse="right" branchCourse="left" type="ordinarySwitch">
          <name name="69W04" language="en"/>
          <spotLocation id="swi03_sloc01" netElementRef="ne_b02" applicationDirection="normal" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4550.0"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_b02b05" branchingSpeed="60" joiningSpeed="60" radius="0"/>
          <rightBranch netRelationRef="nr_b02b04" branchingSpeed="40" joiningSpeed="40" radius="300"/>
        </switchIS>
      </switchesIS>
      ...
    </functionalInfrastructure>
Please note
  1. To provide information about the allowed speed at switches and crossings, please use the attributes <*branch>@speedBranching and <*branch>@speedJoining. Don't define these speeds with extra (line) speed changes.
  2. The switch's track continue course (attribute @continueCourse), which describes the mainly used switch branch, does not have to be identical with the switch's default course (attribute @defaultCourse), which defines the "standby position" of the switch.
  3. The attribute @pos in the element <spotLocation> refers to the relative position starting at 0 metres from the beginning of the element (<netElement>) and not the whole line.


Summary
  • Switches are usually located on the microscopic topology level.
  • The switch is represented in both domains, infrastructure and interlocking. The infrastructure-focused switch element is named <switchIS>.
  • <switchIS> instances and <bufferStop> instances are listed as part of the <functionalInfrastructure>.
  • Every switch branch references a <netRelation> element, thus connecting the functional model and the track network topology.

Additional Information

Double Switch Crossings / Single Switch Crossings

For more information on how to model double and single switch crossings please take a look at the following example: Guide on Double and Single switch crossings.

Notes

Open Issues