IS:switchIS

From railML 3 Wiki
Jump to navigation Jump to search

Introduction

Documentation

Syntax

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

The element documentation has been changed.

The children have 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. {{syntaxhighlight lang=xml> <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>

</syntaxhighlight>

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 meters from the beginning of the element (<netElement>) and not the whole line.

The Simple Example further contains five buffer stops as part of the <functionalInfrastructure>. Four of them are located at the ends of the railway line "6869" in kilometre 0.000 and kilometre 5.000. They are of type fixedBufferStop. The fifth <bufferStop> is located on a siding track that is not part of the railway line "6869" and therefore does not have a railway line coordinate. The following code snippet summarizes the buffer stop model.

<functionalInfrastructure>
      <bufferStops>
        <bufferStop id="bus01" type="fixedBufferStop">
          <spotLocation id="bus01_sloc01" netElementRef="ne_a01" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus02" type="fixedBufferStop">
          <spotLocation id="bus02_sloc01" netElementRef="ne_a02" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus03" type="fixedBufferStop">
          <spotLocation id="bus03_sloc01" netElementRef="ne_b01" applicationDirection="normal" pos="500.0">
            <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus04" type="fixedBufferStop">
          <spotLocation id="bus04_sloc01" netElementRef="ne_b02" applicationDirection="normal" pos="450.0">
            <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus05" type="sleeperCross">
          <spotLocation id="bus05_sloc01" netElementRef="ne_b05" applicationDirection="reverse" pos="0.0">
          </spotLocation>
        </bufferStop>
      </bufferStops>
      ...
    </functionalInfrastructure>
Summary
  • Switches and buffer stops 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

Notes

Open Issues