IS:track: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
m (Adapted example and description of platform usage related to railML-TT-Telco 2018-01-15)
No edit summary
(27 intermediate revisions by 4 users not shown)
Line 4: Line 4:
|parent = {{IS:Tag|tracks}}
|parent = {{IS:Tag|tracks}}


|childs = {{IS:Tag|additionalName|track}} {{Intro|2.1}}, {{IS:Tag|any}}, {{IS:Tag|states}}, {{IS:Tag|trackDescr}}, {{IS:Tag|trackTopology}}, {{IS:Tag|trackElements}}, {{IS:Tag|ocsElements}}, {{IS:Tag|infraAttrGroupRefs}}
|childs = {{IS:Tag|additionalName|track}} {{Intro|2.1}}, {{IS:Tag|any}}, {{statesWithLength}}, {{IS:Tag|trackDescr}} {{Depr|2.4}}, {{IS:Tag|trackTopology}}, {{IS:Tag|trackElements}}, {{IS:Tag|ocsElements}}, {{IS:Tag|infraAttrGroupRefs}}, {{tag|is|impairmentSections}} {{intro|2.5}}, {{tag|is|propPassengerInfo|track}} {{intro|2.5}}
 
|minocc=0
|maxocc=∞
|semantics =
|semantics =
A {{IS:Tag|track}} represents one of possibly multiple tracks (= "pair of rails") that make up a line. The {{IS:Tag|track}} and its child elements contain all information about the track's topology and the trackside elements associated with that track.
A {{IS:Tag|track}} represents one of possibly multiple tracks (= "pair of rails") that make up a line. The {{IS:Tag|track}} and its child elements contain all information about the track's topology and the trackside elements associated with that track.
Line 18: Line 19:


|ownAttributes =
|ownAttributes =
* {{Attr|type}}: This is a classification of the track. Possible values are:
* {{Attr|type}}: This is a classification of the track. Possible values are:  
:* {{Enum|mainTrack}}: This is a regular track a of line used for frequent passenger and freight transport. <br/> {{Deu|Deutschland: durchgehendes Hauptgleis; üblicherweise 1 bei eingleisigen und 2 bei zweigleisigen Strecken}}
:* {{Enum|mainTrack}}: A main track is either an open track between operational points or the extension of an open track within an operational point. It typically connects stations and is used for planned train journeys (trains in commercial operation or trains being moved between operational points).<br/> {{Deu|Deutschland: durchgehendes Hauptgleis; üblicherweise 1 bei eingleisigen und 2 bei zweigleisigen Strecken}}
:* {{Enum|secondaryTrack}}: This is a track not frequently used (e. g. loops for overtaking and/or crossing in stations). <br/> {{Deu|Deutschland: Nebengleis}}
:* {{Enum|secondaryTrack}}: A secondary track is a track used for planned train journeys running in commercial operation or trains being moved between operational points, but it is not an open track between operational points or the extension of an open track.<br/> {{Deu|Deutschland: Nebengleis}}
:* {{Enum|connectingTrack}}: This is a transfer track from one to another track e. g. in branches, points or cross overs. <br/> {{Deu|Deutschland: Verbindungsgleis}}
:* {{Enum|connectingTrack}}: Connecting tracks are typically very short and connect other tracks. Examples are short track sections connecting two tracks where switches allow to move from one track to the other. <br/> {{Deu|Deutschland: Verbindungsgleis}}
:* {{Enum|sidingTrack}}: This is a siding. <br/> {{Deu|Deutschland: Abstellgleis}}
:* {{Enum|sidingTrack}}: Siding tracks are tracks that are not used for planned train journeys, except at the start and end of a train journey if the train is shunted to or from a parking spot. <br/> {{Deu|Deutschland: Abstellgleis}}
:* {{Enum|stationTrack}}: This is a track in a station, possibly with platforms. <br/> {{Deu|Deutschland: Bahnhofsgleis (Hauptgleis im Bahnhof)}}
:* {{Enum|stationTrack}}: {{depr|2.4}}This is a track in a station, possibly with platforms. <br/> {{Deu|Deutschland: Bahnhofsgleis (Hauptgleis im Bahnhof)}}
:* {{OtherEnum
:* {{OtherEnum
|notes_en =
|notes_en =
Line 29: Line 30:
}}
}}


* {{Attr|mainDir}}: This is the preferred driving direction on that track.
* {{Attr|mainDir}}: This is the preferred usage direction on that track.
:* {{Enum|up}} This track is mostly used in the track definition direction.
:* {{Enum|up}} This track is mostly used in the track definition direction.
:* {{Enum|down}} This track is mostly used opposite the track definition direction.
:* {{Enum|down}} This track is mostly used opposite the track definition direction.
:* {{Enum|unknown}} The preferred driving direction of the track is not known.
:* {{Enum|none}} There is no preferred driving direction for the track.
:* {{Enum|none}} There is no preferred driving direction for the track.
{{note|'''Please note:''' This attribute only indicates the standard direction of travel according to the operating rules or the direction of travel of a track predominantly used in regular operation. This does not allow conclusions to be drawn about the safety equipment or operational capacity of a track, especially since modern safety systems usually allow both directions of travel to be used in the same or similar way.<br>{{deu|'''Hinweis:''' Dieses Attribut gibt nur die Regelfahrtrichtung nach Betriebsregelwerk oder die im regulären Betrieb überwiegend benutzte Fahrtrichtung eines Gleises an. Rückschlüsse auf die sicherungstechnische Ausstattung oder betriebliche Kapazität eines Gleises können daraus nicht gezogen werden, vor allem auch, weil unter modernen Sicherungssystemen meist beide Fahrtrichtungen gleich oder ähnlich benutzbar sind.}}}}


{{InheritRef
{{InheritRef
Line 56: Line 57:
* The OCP references the tracks that belong to the station within the sub element {{IS:Tag|propEquipment}}.
* The OCP references the tracks that belong to the station within the sub element {{IS:Tag|propEquipment}}.
* The station tracks are modelled as tracks that are not connected to each other, but that reference the OCP they belong to as {{IS:Tag|macroscopicNode}} both, in {{IS:Tag|trackBegin}} and in {{IS:Tag|trackEnd}}.
* The station tracks are modelled as tracks that are not connected to each other, but that reference the OCP they belong to as {{IS:Tag|macroscopicNode}} both, in {{IS:Tag|trackBegin}} and in {{IS:Tag|trackEnd}}.
* The station tracks should have a length (difference of {{Attr|pos}} in {{IS:Tag|trackEnd}} and {{IS:Tag|trackBegin}}) that corresponds to their usable length. If the usable length of the station track is not known or not relevant for the particular usecase, the {{Attr|pos}} attributes of {{IS:Tag|trackEnd}} and {{IS:Tag|trackBegin}} should be both set to "0".
* The station tracks should have a length (difference of {{Attr|pos}} in {{IS:Tag|trackEnd}} and {{IS:Tag|trackBegin}}) that corresponds to their usable length. If the usable length of the station track is not known or not relevant for the particular usecase, the {{Attr|pos}} attributes of {{IS:Tag|trackEnd}} and {{IS:Tag|trackBegin}} shall be both set to "0".
* Information about platforms should be represented by a separate {{IS:Tag|platformEdge}} element within the {{IS:Tag|track}} structure. The name of the platform known by the passengers (that differs from the track name) can be indicated by the attribute {{Attr|name}}, the internal name by the attribute {{Attr|code}}.
* Information about platforms shall be represented by a separate {{IS:Tag|platformEdge}} element within the {{IS:Tag|track}} structure. The name of the platform known by the passengers (that differs from the track name) can be indicated by the attribute {{Attr|name}}, the internal name by the attribute {{Attr|code}}.


[[file:railML_SimpleExample_v08_180122.png]]


The following code describes an OCP in the virtual Simple Example. The OCP (''ocp01'') references two station tracks (''tr01, tr02''):
The following code ({{rml}} 2.3) describes an OCP in the virtual Simple Example. The OCP (''ocp01'') references two station tracks (''tr01, tr02''):
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
   <operationControlPoints>
   <operationControlPoints>
Line 73: Line 75:
       <propOther status="operational"/>
       <propOther status="operational"/>
       <geoCoord coord="52.1234 15.6789" epsgCode="urn:ogc:def:crs:EPSG::4326"/>
       <geoCoord coord="52.1234 15.6789" epsgCode="urn:ogc:def:crs:EPSG::4326"/>
       <designator register="PLC" entry="DE-67543"/>
       <designator register="RL100" entry="OAR"/>
     </ocp>
     </ocp>
   </operationControlPoints>
   </operationControlPoints>
</syntaxhighlight>
</syntaxhighlight>


 
The referenced tracks are defined under {{IS:Tag|tracks}}, and their begin and end reference the OCP ''ocp01'':
The referenced tracks are defined under {{IS:Tag|tracks}}. They are marked as "stationTrack" and their begin and end reference the OCP ''ocp01'':
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
   <tracks>
   <tracks>
     <track id="tr01" code="401" name="1" type="stationTrack">
     <track id="tr01" code="401" name="1">
       <trackTopology>
       <trackTopology>
         <trackBegin pos="0" id="tr01_tb">
         <trackBegin pos="0" id="tr01_tb">
Line 97: Line 98:
       </trackElements>
       </trackElements>
     </track>
     </track>
     <track id="tr02" code="402" name="2" type="stationTrack">
     <track id="tr02" code="402" name="2">
       <trackTopology>
       <trackTopology>
         <trackBegin pos="0" id="tr02_tb">
         <trackBegin pos="0" id="tr02_tb">
Line 109: Line 110:
   </tracks>
   </tracks>
</syntaxhighlight>
</syntaxhighlight>
* The first track with the internal name "401" and the public name "1" has a platform with the internal designation "X1". The name for passengers of this platform is "1 West".  
* The first track with the internal name "401" and the public name "1" has a platform with the internal designation "X1". The name for passengers of this platform is "1 West".


* The internal name of the second track is "402", its public name is "2". It has no platform.
* The internal name of the second track is "402", its public name is "2". It has no platform.
Line 116: Line 117:
With this approach, the tracks can be considered being inside a (macroscopic) node e.g. the station. The operational identifier of the track shall be in {{Attr|code}}. Such a track inside a station does not count for the distance between two ''macroscopic'' {{IS:Doc|ocp}} elements.
With this approach, the tracks can be considered being inside a (macroscopic) node e.g. the station. The operational identifier of the track shall be in {{Attr|code}}. Such a track inside a station does not count for the distance between two ''macroscopic'' {{IS:Doc|ocp}} elements.


See [[How to define track usage of a train in stations]] for further information about the indication of station track usage.  
See [[dev:How to define track usage of a train in stations|How to define track usage of a train in stations]] for further information about the indication of station track usage.  
 
===national usage of @type===
 
The following table reflects the usage of [[#type|@type]]:


{{includeTable}}
|notes =
|notes =
All tracks in {{rml}} and the connections make up a graph. But different to many other data models, {{rml}} does NOT require points, signals and other elements to be on ''vertices'' of that graph. In {{rml}}, such elements can be located everywhere along the track (''edge'') and the number of elements a track can hold is not limited. Therefore, {{rml}} uses "long" tracks which typically cover the complete length of a line in a single {{IS:Tag|track}}.
All tracks in {{rml}} and the connections make up a graph. But different to many other data models, {{rml}} does NOT require points, signals and other elements to be on ''vertices'' of that graph. In {{rml}}, such elements can be located everywhere along the track (''edge'') and the number of elements a track can hold is not limited. Therefore, {{rml}} uses "long" tracks which typically cover the complete length of a line in a single {{IS:Tag|track}}.
Line 125: Line 127:
But to ease conversion from other data sources, it is of course possible to concatenate many "short" {{IS:Tag|track}}s to one "long" track of a line. There are no syntactical or semantical reasons why that solution would be no valid {{rml}}.
But to ease conversion from other data sources, it is of course possible to concatenate many "short" {{IS:Tag|track}}s to one "long" track of a line. There are no syntactical or semantical reasons why that solution would be no valid {{rml}}.


The attribute {{Attr|mainDir}} is usually not very useful for single-track railway lines with regular traffic in both directions. In that case, please use value "none" in order to mark that there is no preferred driving direction on that track.
The value {{enum|unknown}} of {{@|mainDir}} has been '''removed''' with version 2.5. {{enum|unknown}} has the same meaning as a missing {{@|mainDir}}. Despite the value {{enum|unknown}} still exists in older schemas, consider it deprecated retroactively.
|semcon={{semcon|Single track railway lines shall have main driving direction {{@|mainDir}}&#61;"none" if they are used in both directions|status=proposed|proposed=2019-06-17|id=IS:004}}
}}
}}

Revision as of 14:04, 14 October 2022


track
 


Scheme description / Schemenbeschreibung

Position of track in the XML-Tree / Position von track im XML-Baum

Multiplicity / Anzahl

[0..∞]

Semantics / Bedeutung

A <track> represents one of possibly multiple tracks (= "pair of rails") that make up a line. The <track> and its child elements contain all information about the track's topology and the trackside elements associated with that track.
 
Please, be aware of the semantic constraint(s)!

Attributes of track / Attribute von track

  • id: XML-file-wide unique, machine-interpretable identity, required for later referencing that element internally. For a detailed explanation see Dev:identities.
    XML-Datei-weit eindeutige, maschineninterpretierbare Identität, die für die spätere interne Referenzierung dieses Elements erforderlich ist. Für eine detaillierte Erklärung siehe Dev:identities.
  • code (introduced with version 2.1): Machine-interpretable string (e.g. an abbreviation) used for identification of the object across exchange partners, usecase specific uniqueness constraints may apply. Please see our description of the differences between id, code and human-readable identifiers.
    Maschineninterpretierbare Zeichenkette (z.B. Abkürzung), die zur Identifizierung des Objekts auch bei Austauschpartnern verwendet wird, wobei spezifische Eindeutigkeitsbeschränkungen gelten können. Bitte beachten Sie unsere Erläuterung zu den Unterschieden zwischen id, code and menschenlesbaren Kennzeichnungen.
  • name: Established, human-readable short string, giving the object a name. Not intended for machine interpretation, please see our notice on human interpretable data fields.
    Etablierte, menschenlesbare kurze Zeichenkette, die das Objekt benennt. Nicht zur maschinellen Interpretation bestimmt, siehe Hinweise zu menschenlesbaren Datenfeldern.
  • description: Human-readable, more detailed description as addition to the name. It should give additional explanations or hints to the contents of this element. Not intended for machine interpretation, please see our notice on human interpretable data fields.
    Menschenlesbare, detailliertere Beschreibung als Ergänzung zu name. Sie soll zusätzliche Erläuterungen oder Hinweise auf den Inhalt dieses Elements geben. Nicht zur maschinellen Interpretation bestimmt, siehe Hinweise zu menschenlesbaren Datenfeldern.
  • xml:lang (introduced with version 2.1): This is a unique identifier of language. It uses basically the language standard IETF BCP 47 (external link) which may be different to ISO 639-1 (external link) or ISO 639-2 (external link). For mapping hints see relation to other standards (external link).
    This defines the language used for name and description. Use <additionalName> to provide a name and/or description in other languages.
  • type: This is a classification of the track. Possible values are:
  • mainTrack: A main track is either an open track between operational points or the extension of an open track within an operational point. It typically connects stations and is used for planned train journeys (trains in commercial operation or trains being moved between operational points).
    Deutschland: durchgehendes Hauptgleis; üblicherweise 1 bei eingleisigen und 2 bei zweigleisigen Strecken
  • secondaryTrack: A secondary track is a track used for planned train journeys running in commercial operation or trains being moved between operational points, but it is not an open track between operational points or the extension of an open track.
    Deutschland: Nebengleis
  • connectingTrack: Connecting tracks are typically very short and connect other tracks. Examples are short track sections connecting two tracks where switches allow to move from one track to the other.
    Deutschland: Verbindungsgleis
  • sidingTrack: Siding tracks are tracks that are not used for planned train journeys, except at the start and end of a train journey if the train is shunted to or from a parking spot.
    Deutschland: Abstellgleis
  • stationTrack: (deprecated with version 2.4)This is a track in a station, possibly with platforms.
    Deutschland: Bahnhofsgleis (Hauptgleis im Bahnhof)
  • other:anything: Any value that does not fit any value from the previous enumeration list, fulfilling the constraint: at minimum two characters, whitespace is not allowed. Please, apply Dev:usingAny accordingly.
  • mainDir: This is the preferred usage direction on that track.
  • up This track is mostly used in the track definition direction.
  • down This track is mostly used opposite the track definition direction.
  • none There is no preferred driving direction for the track.
🗒️ Please note: This attribute only indicates the standard direction of travel according to the operating rules or the direction of travel of a track predominantly used in regular operation. This does not allow conclusions to be drawn about the safety equipment or operational capacity of a track, especially since modern safety systems usually allow both directions of travel to be used in the same or similar way.
Hinweis: Dieses Attribut gibt nur die Regelfahrtrichtung nach Betriebsregelwerk oder die im regulären Betrieb überwiegend benutzte Fahrtrichtung eines Gleises an. Rückschlüsse auf die sicherungstechnische Ausstattung oder betriebliche Kapazität eines Gleises können daraus nicht gezogen werden, vor allem auch, weil unter modernen Sicherungssystemen meist beide Fahrtrichtungen gleich oder ähnlich benutzbar sind.


  • infraAttrGroupRef: This refers to the id attribute of the associated <infraAttributes> element.
    (deprecated with version 2.2), it specifies a basic set of common parameters for the track.

Syntactic Constraints / Syntaktische Beschränkungen

  • id: xs:ID, required
    a string, starting with a letter (a..zA..Z) or an underscore (_),
    followed by a non-colonized and non-spaced string consisting of letters, digits, points (.), dashes (-) or underscores (_)
  • code: xs:string, optional
  • name: xs:string, optional
  • description: xs:string, optional
  • xml:lang: xs:language, language identification, optional
  • mainDir optional
  • type optional

Semantic Constraints / Semantische Beschränkungen

Private-cloud-icon.png Proposed Semantic Constraint "IS:004":
 
Single track railway lines shall have main driving direction @mainDir="none" if they are used in both directions
 
Proposed on June 17th 2019
FIXME: add Link to discussion!
Please, recognize our guidelines on semantic constraints

Best practice & Examples / Empfohlene Anwendung & Beispiele

Modelling of station tracks (macro view)

For modelling stations with their tracks without the need for modelling the complete track network, the following principles shall be taken into account:

  • The OCP references the tracks that belong to the station within the sub element <propEquipment>.
  • The station tracks are modelled as tracks that are not connected to each other, but that reference the OCP they belong to as <macroscopicNode> both, in <trackBegin> and in <trackEnd>.
  • The station tracks should have a length (difference of pos in <trackEnd> and <trackBegin>) that corresponds to their usable length. If the usable length of the station track is not known or not relevant for the particular usecase, the pos attributes of <trackEnd> and <trackBegin> shall be both set to "0".
  • Information about platforms shall be represented by a separate <platformEdge> element within the <track> structure. The name of the platform known by the passengers (that differs from the track name) can be indicated by the attribute name, the internal name by the attribute code.

RailML SimpleExample v08 180122.png

The following code (railML® 2.3) describes an OCP in the virtual Simple Example. The OCP (ocp01) references two station tracks (tr01, tr02):

  <operationControlPoints>
    <ocp id="ocp01" name="Bf Arnau" xml:lang="de" type="operationalName">
      <additionalName name="Adamov" xml:lang="cz" type="localName"/>
      <propOperational operationalType="station" trafficType="passenger"/>
      <propService passenger="true" service="true"/>
      <propEquipment>
        <trackRef ref="tr01"/>
        <trackRef ref="tr02"/>
      </propEquipment>
      <propOther status="operational"/>
      <geoCoord coord="52.1234 15.6789" epsgCode="urn:ogc:def:crs:EPSG::4326"/>
      <designator register="RL100" entry="OAR"/>
    </ocp>
  </operationControlPoints>

The referenced tracks are defined under <tracks>, and their begin and end reference the OCP ocp01:

  <tracks>
    <track id="tr01" code="401" name="1">
      <trackTopology>
        <trackBegin pos="0" id="tr01_tb">
          <macroscopicNode ocpRef="ocp01"/>
        </trackBegin>
        <trackEnd pos="450" id="tr01_te">
          <macroscopicNode ocpRef="ocp01"/>
        </trackEnd>
      </trackTopology>
      <trackElements>
        <platformEdges>
          <platformEgde id="pe01" code="X1" name="1 West" pos="0" />
        </platformEdges>
      </trackElements>
    </track>
    <track id="tr02" code="402" name="2">
      <trackTopology>
        <trackBegin pos="0" id="tr02_tb">
          <macroscopicNode ocpRef="ocp01"/>
        </trackBegin>
        <trackEnd pos="450" id="tr02_te">
          <macroscopicNode ocpRef="ocp01"/>
        </trackEnd>
      </trackTopology>
    </track>
  </tracks>
  • The first track with the internal name "401" and the public name "1" has a platform with the internal designation "X1". The name for passengers of this platform is "1 West".
  • The internal name of the second track is "402", its public name is "2". It has no platform.


With this approach, the tracks can be considered being inside a (macroscopic) node e.g. the station. The operational identifier of the track shall be in code. Such a track inside a station does not count for the distance between two macroscopic ocp elements.

See How to define track usage of a train in stations for further information about the indication of station track usage.

national usage of @type

The following table reflects the usage of @type:

View/edit list on the separate source page.

Country MainTrack SecondaryTrack ConnectingTrack SidingTrack StationTrack
(deprecated with version 2.4)
Other:Anything Reported by
Norway
hovedtogspor
hovedspor

togspor
-

forbindelsesspor1
-

øvrige spor
sidespor
not used Bane NOR (prior Jernbaneverket) differentiates between track type on:
within stations
open line section
Germany Durchgehendes Hauptgleis2 nicht-durchgehendes Hauptgleis Gleisverbindung/
Verbindungsgleis3
Nebengleis not used railML.org/iRFP/DB Netz
Source: Ril 408.0101A01 (external link)
Switzerland DE: Hauptgleis
Signalisiertes Gleis
FR: Voie signalée
IT: Binario segnalato
not used not used DE: Nebengleis
Nicht-signalisiertes Gleis
FR: Voie non-signalée
IT: Binario non segnalato
not used SBB Infra
Source: SBB-Vorschrift I-22211
Netherlands Hoofdspoorweg Lokaalspoorweg not used Raccordement not used ProRail
Source: Spoorwegwet (external link, 🇳🇱)
Czechia Hlavní kolej Spojovací kolej Kolejová spojka Manipulační koleje not used SŽDC
source: Dopravní a návěstní předpis (D1) (external archive link, 🇨🇿)
1 informally
2 üblicherweise eins je Strecke bei eingleisigen und zwei je Strecke bei zweigleisigen Strecken
3 sehr kurze Gleise zur Verbindung zwischen Hauptgleisen oder Haupt- und Nebengleisen ohne eigenen Nutzwert

Notes / Anmerkungen

All tracks in railML® and the connections make up a graph. But different to many other data models, railML® does NOT require points, signals and other elements to be on vertices of that graph. In railML®, such elements can be located everywhere along the track (edge) and the number of elements a track can hold is not limited. Therefore, railML® uses "long" tracks which typically cover the complete length of a line in a single <track>.

But to ease conversion from other data sources, it is of course possible to concatenate many "short" <track>s to one "long" track of a line. There are no syntactical or semantical reasons why that solution would be no valid railML®.

The attribute mainDir is usually not very useful for single-track railway lines with regular traffic in both directions. In that case, please use value "none" in order to mark that there is no preferred driving direction on that track.

The value unknown of @mainDir has been removed with version 2.5. unknown has the same meaning as a missing @mainDir. Despite the value unknown still exists in older schemas, consider it deprecated retroactively.

Open issues / Offene Punkte/Pendenzen

Not yet described. / Noch nicht beschrieben.