Difference between revisions of "IS:track"

From wiki.railML.org
Jump to: navigation, search
[checked revision][checked revision]
(Warning about use of deprecated track type stationTrack in Best practice)
Line 82: Line 82:
{{Outdated|date=version 2.4|topic=The track type "''stationTrack''" has been declared as deprecated|user=[[User:Thomas Nygreen|Thomas Nygreen]] ([[User talk:Thomas Nygreen|talk]]) 14:10, 2 December 2019 (CET)}}
The referenced tracks are defined under {{IS:Tag|tracks}}. They are marked as "stationTrack" 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">

Revision as of 15:13, 2 December 2019


Scheme description / Schemenbeschreibung / Description du schéma

Position of track in the XML-Tree / Position von track im XML-Baum / position de track dans l’aborescence XML

Multiplicity / Anzahl / Multiplicité


Semantics / Bedeutung / Sémantique

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 / Attributs de 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:

Missinginformation.png In this article there is information missing with respect to the description of the track types, as this shall follow the updated defintions given below.. Please help improving the railML® wiki by filling the gaps. Possibly, you will find further details on the discussion pageCoordination (talk) 22:22, 1 October 2018 (CEST)
  • mainTrack: This is a regular track a of line used for frequent passenger and freight transport.
    Deutschland: durchgehendes Hauptgleis; üblicherweise 1 bei eingleisigen und 2 bei zweigleisigen Strecken
  • secondaryTrack: This is a track not frequently used (e. g. loops for overtaking and/or crossing in stations).
    Deutschland: Nebengleis
  • connectingTrack: This is a transfer track from one to another track e. g. in branches, points or cross overs.
    Deutschland: Verbindungsgleis
  • sidingTrack: This is a siding.
    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.
  • 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.
  • unknown The preferred driving direction of the track is not known.
  • none There is no preferred driving direction for the track.
Note.png 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 / Contraintes syntactiques

  • 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 (_)
  • mainDir optional
  • type optional

Semantic Constraints / Semantische Beschränkungen / Contraintes semantiques

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 / Bonnes pratiques & exemples

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):

    <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"/>
        <trackRef ref="tr01"/>
        <trackRef ref="tr02"/>
      <propOther status="operational"/>
      <geoCoord coord="52.1234 15.6789" epsgCode="urn:ogc:def:crs:EPSG::4326"/>
      <designator register="RL100" entry="OAR"/>
Outdated.png Part of the article content is outdated since version 2.4. The track type "stationTrack" has been declared as deprecated. Please update this article to reflect recent events or newly available information. Possibly, you will find further details on the discussion pageThomas Nygreen (talk) 14:10, 2 December 2019 (CET)

The referenced tracks are defined under <tracks>. They are marked as "stationTrack" and their begin and end reference the OCP ocp01:

    <track id="tr01" code="401" name="1" type="stationTrack">
        <trackBegin pos="0" id="tr01_tb">
          <macroscopicNode ocpRef="ocp01"/>
        <trackEnd pos="450" id="tr01_te">
          <macroscopicNode ocpRef="ocp01"/>
          <platformEgde id="pe01" code="X1" name="1 West" pos="0" />
    <track id="tr02" code="402" name="2" type="stationTrack">
        <trackBegin pos="0" id="tr02_tb">
          <macroscopicNode ocpRef="ocp01"/>
        <trackEnd pos="450" id="tr02_te">
          <macroscopicNode ocpRef="ocp01"/>
  • 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:

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



øvrige spor
not used Bane NOR (prior Jernbaneverket) differentiates between track type on:
within stations
open line section
Germany Durchgehendes Hauptgleis nicht-durchgehendes Hauptgleis Gleisverbindung 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 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, Dutch flag.png)
Czechia Hlavní kolej Spojovací kolej Kolejová spojka Manipulační koleje not used SŽDC
source: Dopravní a návěstní předpis (D1) (external link, Czech flag.png)

Notes / Anmerkungen / Notes

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.

Open issues / Offene Punkte/Pedenzen / Questions ouvertes

Not yet described. / Noch nicht beschrieben. / Pas encore décrit.