TT:ocpTT ocpsTT trainPart: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
m (Removed redundant semconHints)
m (order of children)
(15 intermediate revisions by 4 users not shown)
Line 9: Line 9:


|parent = {{TT:Tag|ocpsTT}}
|parent = {{TT:Tag|ocpsTT}}
|childs = {{TT:Tag|times}}, {{TT:Tag|connections}}, {{TT:Tag|statistics}}, {{TT:Tag|sectionTT}}, {{TT:Tag|stopDescription}}, {{any}}
|childs = {{TT:Tag|times}}, {{TT:Tag|connections}}, {{TT:Tag|statistics}}, {{TT:Tag|sectionTT}}, {{tag|tt|alternativeSectionsTT}} {{intro|2.5}}, {{TT:Tag|stopDescription}}, {{tag|TT|originalTrackInfo}} {{intro|2.5}}, {{any}}
|maxocc=∞
|maxocc=∞
|inheritedAttributes=''None''
|inheritedAttributes=''None''
Line 30: Line 30:
* {{Attr|ocpType}}: This is a mixture of two informations describing the action of the {{TT:Doc|train}} at this {{TT:Doc|ocpTT}}. Possible values are:
* {{Attr|ocpType}}: This is a mixture of two informations describing the action of the {{TT:Doc|train}} at this {{TT:Doc|ocpTT}}. Possible values are:
:* {{Enum|stop}} The {{TT:Doc|train}} is stopping at this {{TT:Doc|ocpTT}}.
:* {{Enum|stop}} The {{TT:Doc|train}} is stopping at this {{TT:Doc|ocpTT}}.
:* {{Enum|pass}} The {{TT:Doc|train}} is ''not'' stopping at this {{TT:Doc|ocpTT}}.
:* {{Enum|pass}} The {{TT:Doc|train}} is ''not'' stopping at this {{TT:Doc|ocpTT}} and will pass.
:* {{Enum|begin}} {{Depr|2.2}} If the {{TT:Doc|trainPart}} begins at this {{TT:Doc|ocpTT}} and is not part of a longer train path, this value is used. The start of a train path should be detected by parsing the {{TT:Doc|train}}s.
:* {{Enum|begin}} {{Depr|2.2}} If the {{TT:Doc|trainPart}} begins at this {{TT:Doc|ocpTT}} and is not part of a longer train path, this value is used. The start of a train path should be detected by parsing the {{TT:Doc|train}}s.
:* {{Enum|end}} {{Depr|2.2}} If the {{TT:Doc|trainPart}} ends at this {{TT:Doc|ocpTT}} and is not part of a longer train path, this value is used. The end of a train path should be detected by parsing the {{TT:Doc|train}}s.
:* {{Enum|end}} {{Depr|2.2}} If the {{TT:Doc|trainPart}} ends at this {{TT:Doc|ocpTT}} and is not part of a longer train path, this value is used. The end of a train path should be detected by parsing the {{TT:Doc|train}}s.
Line 36: Line 36:
* {{Attr|remarks}}: This is a free attribute for further descriptions.{{human}}
* {{Attr|remarks}}: This is a free attribute for further descriptions.{{human}}


* {{Attr|trainReverse}}: This is true if the {{TT:Doc|train}} changes its direction of travel at this station which is often shown by a '<->' sign in printouts. For indicating that the {{RS:Doc|formation}} starts in reversed order, you will have to set the attribute {{Attr|orientationReversed}} in the {{TT:Doc|formationTT}}. If the train reverses at an intermediate station and restarts in reversed order, you will have to build a new {{TT:Doc|trainPart}} with  
* {{Attr|trainReverse}}: This is true if the {{TT:Doc|train}} changes its direction of travel at this station which is sometimes shown by a sign "&harr;" in printouts for passengers. For indicating that the {{RS:Doc|formation}} starts in reversed order, you will have to set the attribute {{Attr|orientationReversed}} in the {{TT:Doc|formationTT}}. If the train reverses at an intermediate station and restarts in reversed order, you will have to build a new {{TT:Doc|trainPart}} with  
** {{Attr|trainReverse}} set at the last {{TT:Doc|ocpTT}} of the previous {{TT:Doc|trainPart}} and  
** {{Attr|trainReverse}} set at the last {{TT:Doc|ocpTT}} of the previous {{TT:Doc|trainPart}} and  
** {{Attr|trainReverse}} set at the first {{TT:Doc|ocpTT}} and the attribute {{Attr|orientationReversed}} set in the {{TT:Doc|formationTT}} of the new {{TT:Doc|trainPart}}.
** {{Attr|trainReverse}} set at the first {{TT:Doc|ocpTT}} and the attribute {{Attr|orientationReversed}} set in the {{TT:Doc|formationTT}} of the new {{TT:Doc|trainPart}}.
Line 49: Line 49:
* {{Attr|offset}}: This describes the offset of the stopping point in relation to the place on a {{IS:Doc|track}} referenced by {{Attr|ocpRef}} in metres. The default value is zero (no offset).
* {{Attr|offset}}: This describes the offset of the stopping point in relation to the place on a {{IS:Doc|track}} referenced by {{Attr|ocpRef}} in metres. The default value is zero (no offset).


* {{Attr|shuntingTime}}: This is the shunting time used inside a station in case the train is shunted there.  
* {{Attr|shuntingTime}}: {{Depr|2.5}} This is the shunting time used inside a station in case the train is shunted there.  


{{InheritAnyAttribute
{{InheritAnyAttribute
Line 66: Line 66:
* {{Attr|alignment}}: {{RailMLType|tTrainAlignment}}, optional
* {{Attr|alignment}}: {{RailMLType|tTrainAlignment}}, optional
* {{Attr|offset}}: {{RailMLType|tLengthM}}, optional
* {{Attr|offset}}: {{RailMLType|tLengthM}}, optional
* {{Attr|shuntingTime}}: {{XsdType|duration}}, optional
* {{Attr|shuntingTime}}: {{XsdType|duration}}, optional {{Depr|2.5}}
|semcon=
|semcon=
{{semcon|The attribute sequence is shall be increasing according to the train path.<br/> {{Deu|Das Attribut sequence muss ansteigend entsprechend dem Zuglauf sein.}}|status=approved|proposed=2018-10-25|approved=2019-06-20|id=TT:002}}
{{semcon|The attribute sequence is shall be increasing according to the train path.<br/> {{Deu|Das Attribut sequence muss ansteigend entsprechend dem Zuglauf sein.}}|status=approved|proposed=2018-10-25|approved=2019-06-20|id=TT:002}}


|bestpractice =  
|bestpractice =  
In most cases, the {{TT:Doc|ocpTT}} references a ''macroscopic'' node ({{IS:Doc|ocp}}) within the infrastructure. Therefore the {{Attr|trackRef}} should reference to a ''macroscopic'' {{IS:Doc|track}} which could be described as track with type="''stationTrack''" being inside a node, connecting from and to the same macroscopic node.
===How to define track and platform usage in stations===


{{Deu|Meistens referenziert der {{TT:Doc|ocpTT}} einen makroskopischen Knoten {{IS:Doc|ocp}} innerhalb der Infrastruktur. Daher sollte das Attribut {{Attr|trackRef}} ebenfalls ein ''makroskopisches'' Bahnhofsgleis referenzieren. Dieses kann man als einen {{IS:Doc|track}} vom Typ ''stationTrack'' beschreiben, welcher innerhalb eines Bahnhofs, d.h. von und zu demselben makroskopischen Knoten verläuft.}}
The {{Attr|trackRef}} can reference either a ''microscopic'' {{IS:Tag|track}} inside the {{IS:Tag|ocp}} (containing a {{IS:Tag|crossSection}}) or a ''macroscopic'' station track (one where {{IS:Tag|trackBegin}} and {{IS:Tag|trackEnd}} contain {{IS:Tag|macroscopicNode}}s referencing the same {{IS:Tag|ocp}}).


<hr>
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.
 
===Train reverses in a station===


The train is stopping in Zurich (referenced {{IS:Doc|ocp}}) on track 12 (no reference here). It is stopping with its head 10 meters before actually reaching the cross section of this {{IS:Doc|ocp}}, which is assumed to be located at the buffer stop in the main hall of this station. Then the train is changing direction and leaving. In this example the train path is split into two subsequent {{TT:Doc|trainPart}}s because the position of the train (attributes {{Attr|alignment}} and {{Attr|offset}}) is different for arrival and departure.  
The train is stopping in Zurich (referenced {{IS:Doc|ocp}}) on track 12 (no reference here). It is stopping with its head 10 meters before actually reaching the cross section of this {{IS:Doc|ocp}}, which is assumed to be located at the buffer stop in the main hall of this station. Then the train is changing direction and leaving. In this example the train path is split into two subsequent {{TT:Doc|trainPart}}s because the position of the train (attributes {{Attr|alignment}} and {{Attr|offset}}) is different for arrival and departure.  
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.


<syntaxhighlight lang=xml>
<syntaxhighlight lang=xml>
Line 101: Line 101:


</syntaxhighlight>
</syntaxhighlight>
On the difference between {{TT:Doc|ocpTT}}/@{{Attr|trainReverse}} and {{TT:Doc|formationTT}}/@{{Attr|orientationReversed}}, see [[TT:Reversing_trains_and_formations | Reversing trains and formations]].<br>
See also:
* [[Dev:How_To_Reference_Infrastructure | How to reference infrastructure]]
* [[dev:How to define track usage of a train in stations|How to define track usage of a train in stations]]
===Depicting track changes===
{{Intro|2.5}}To see how to handle the case when the actual track differs from the originally scheduled track, see the description of [[TT:originalTrackInfo#Depicting_track_changes|depicting track changes]].


===Train(part)s with one <ocpTT> only===
===Train(part)s with one <ocpTT> only===
Normally, each {{TT:Tag|train}} has at least one {{TT:Tag|trainPart}} with at least two {{TT:Tag|ocpTT}}s. However, it is allowed that a {{TT:Tag|trainPart}} has only one {{TT:Tag|ocpTT}}. In this special case, what is mentioned at [[TT:times‎]] concerning {{Attr|arrival}} at first and {{Attr|departure}} at last {{TT:Tag|ocpTT}} applies at the same time: The train arrives from outside and immediately departs to outside the railML file. In very rare cases, this is used, for instance, to express only an occupation of a station track by a train which is not considered further. You can imagine a whole railML file which only expresses the station timetable of one station: All trains arrive from and depart to "nowhere". You should keep that special case in mind if you handle railML files on import.
Normally, each {{TT:Tag|train}} has at least one {{TT:Tag|trainPart}} with at least two {{TT:Tag|ocpTT}}s. However, it is allowed that a {{TT:Tag|trainPart}} has only one {{TT:Tag|ocpTT}}. In this special case, what is mentioned at [[TT:times‎]] concerning {{Attr|arrival}} at first and {{Attr|departure}} at last {{TT:Tag|ocpTT}} applies at the same time: The train arrives from outside and immediately departs to outside the railML file. In very rare cases, this is used, for instance, to express only an occupation of a station track by a train which is not considered further. You can imagine a whole railML file which only expresses the station timetable of one station: All trains arrive from and depart to "nowhere". You should keep that special case in mind if you handle railML files on import.


===Reversing trains and formations===
===Specifying shunting times===
On the difference between {{TT:Doc|ocpTT}}/@{{Attr|trainReverse}} and {{TT:Doc|formationTT}}/@{{Attr|orientationReversed}}, see [[TT:Reversing_trains_and_formations | Reversing trains and formations]].<br>
As of version 2.5 the attribute {{@|shuntingTime}} of the {{TT:Tag|ocpTT}} was declared deprecated. In order to specify a shunting time at a stop please refer to the attribute {{@|shuntingTime|TT:stopTimes}} of {{TT:Tag|stopTimes}}.
See also:
* [[TT:howToReferenceInfrastructure | How to reference infrastructure]]
* [[dev:How to define track usage of a train in stations|How to define track usage of a train in stations]]
}}
}}

Revision as of 14:32, 1 August 2022


ocpTT
 


Scheme description / Schemenbeschreibung

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

Multiplicity / Anzahl

[1..∞]

Semantics / Bedeutung

The element ocpTT describes a single point along the train path. Normally, an ocpTT belongs to a station with an arrivial and departure time. But an ocpTT could also be a blocking signal with or without passing time, or some control point on the train path. It is always referencing a certain ocp defined in the infrastructure part, providing some timetable related information for it. In the British railway timetabling system the ocpTT is called TIPLOC by Network Rail, which is a contraction of TIming Point LOCation.

Das Element ocpTT beschreibt den einzelnen Punkt im Zuglauf. Der ocpTT entspricht einem Fahrzeitmesspunkt. Ein Fahrzeitmesspunkt kann, muss aber keine Betriebsstelle sein. Meist ist ein ocpTT gleichzusetzen mit einen Bahnhof und der dortigen Ankunfts- und Abfahrtszeit. Es kann aber genauso gut ein Blocksignal mit oder ohne Durchfahrtszeit oder auch ein beliebiger Messpunkt auf der Strecke sein. Der jeweilige ocpTT verweist immer auf einen in der Infrastruktur definierten ocp und beschreibt dessen Verwendung im Fahrplan. Als Regel darf jeder ocpTT nur einmal innerhalb eines trainParts auftauchen.
 
Please, be aware of the semantic constraint(s)!

Attributes of ocpTT / Attribute von ocpTT

  • ocpRef: This refers to the id attribute of the associated ocp element.
  • trackRef: This refers to the id attribute of the associated track element.
  • sequence: (introduced with version 2.2) This number defines the order of the ocpTT elements inside a trainPart which is supposed to be chronological.
  • trackInfo: Textual description of station track for information purposes. The real track and platform information can and should be identified via the trackRef attribute.
  • ocpType: This is a mixture of two informations describing the action of the train at this ocpTT. Possible values are:
  • stop The train is stopping at this ocpTT.
  • pass The train is not stopping at this ocpTT and will pass.
  • begin (deprecated with version 2.2) If the trainPart begins at this ocpTT and is not part of a longer train path, this value is used. The start of a train path should be detected by parsing the trains.
  • end (deprecated with version 2.2) If the trainPart ends at this ocpTT and is not part of a longer train path, this value is used. The end of a train path should be detected by parsing the trains.
  • remarks: This is a free attribute for further descriptions.
💡 Please take into account our references to human-intepretable data fields.

Bitte berücksichtigen Sie unsere Hinweise zu menschen-intepretierbaren Datenfeldern.


  • trainReverse: This is true if the train changes its direction of travel at this station which is sometimes shown by a sign "↔" in printouts for passengers. For indicating that the formation starts in reversed order, you will have to set the attribute orientationReversed in the formationTT. If the train reverses at an intermediate station and restarts in reversed order, you will have to build a new trainPart with
For more information, see Reversing trains and formations.
  • alignment: This describes the alignment of the arriving train in relation to the place on a track referenced by ocpRef. Possible values are:
  • head - The head of the train (front of first vehicle) is located at the <ocp> referenced by ocpRef, possibly shifted by offset metres.
  • center - The centre of the train (mid point concerning the train length) is located at the <ocp> referenced by ocpRef, possibly shifted by offset metres.
  • rear - The end of the train (back of last vehicle) is located at the <ocp> referenced by ocpRef, possibly shifted by offset metres.
The default value for alignment is center if the attribute is not specified.
  • offset: This describes the offset of the stopping point in relation to the place on a track referenced by ocpRef in metres. The default value is zero (no offset).
  • shuntingTime: (deprecated with version 2.5) This is the shunting time used inside a station in case the train is shunted there.
  • xs:anyAttribute: This provides an extension point for non-railML® attributes in a foreign namespace. How to use it?

Syntactic Constraints / Syntaktische Beschränkungen

  • sequence: xs:positiveInteger, mandatory
  • ocpRef: xs:IDREF, mandatory
  • trackRef: xs:IDREF, optional
  • trackInfo: xs:string, optional
  • ocpType: restriction of xs:sting; stop, pass, begin (deprecated with version 2.2), end (deprecated with version 2.2)
    Optional
  • remarks: xs:string, optional
  • trainReverse: xs:boolean, optional
  • alignment: restriction of xs:string; generic type for the alignment of a train relative to some objective in the used context (head, center, rear), optional
  • offset: xs:decimal, 6 fraction digits, length value measured in meter, optional
  • shuntingTime: xs:duration, optional (deprecated with version 2.5)

Semantic Constraints / Semantische Beschränkungen

Private-cloud-icon.png Semantic Constraint "TT:002":
 
The attribute sequence is shall be increasing according to the train path.
Das Attribut sequence muss ansteigend entsprechend dem Zuglauf sein.
 
Proposed on October 25th 2018
Approved on June 20th 2019
FIXME: add Link to discussion!
Please, recognize our guidelines on semantic constraints

Best practice & Examples / Empfohlene Anwendung & Beispiele

How to define track and platform usage in stations

The trackRef can reference either a microscopic <track> inside the <ocp> (containing a <crossSection>) or a macroscopic station track (one where <trackBegin> and <trackEnd> contain <macroscopicNode>s referencing the same <ocp>).

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

Train reverses in a station

The train is stopping in Zurich (referenced ocp) on track 12 (no reference here). It is stopping with its head 10 meters before actually reaching the cross section of this ocp, which is assumed to be located at the buffer stop in the main hall of this station. Then the train is changing direction and leaving. In this example the train path is split into two subsequent trainParts because the position of the train (attributes alignment and offset) is different for arrival and departure.


  <trainPart id="...">
    <ocpsTT>
      ...
      <ocpTT sequence="35" ocpRef="_85ZUE" ocpType="stop" trackInfo="12" alignment="head" offset="-10">
        <times scope="scheduled" arrival="10:56:00.0"/>
      </ocpTT>
    </ocpsTT>
  </trainPart>
  <trainPart id="...">
    <ocpsTT>
      <ocpTT sequence="1" ocpRef="_85ZUE" ocpType="stop" trackInfo="12" alignment="rear" trainReverse="true" offset="10">
        <times scope="scheduled" departure="11:04:00.0"/>
      </ocpTT>
      ...
    <ocpsTT>
  </trainPart>

On the difference between ocpTT/@trainReverse and formationTT/@orientationReversed, see Reversing trains and formations.
See also:

Depicting track changes

(introduced with version 2.5)To see how to handle the case when the actual track differs from the originally scheduled track, see the description of depicting track changes.

Train(part)s with one <ocpTT> only

Normally, each <train> has at least one <trainPart> with at least two <ocpTT>s. However, it is allowed that a <trainPart> has only one <ocpTT>. In this special case, what is mentioned at TT:times‎ concerning arrival at first and departure at last <ocpTT> applies at the same time: The train arrives from outside and immediately departs to outside the railML file. In very rare cases, this is used, for instance, to express only an occupation of a station track by a train which is not considered further. You can imagine a whole railML file which only expresses the station timetable of one station: All trains arrive from and depart to "nowhere". You should keep that special case in mind if you handle railML files on import.

Specifying shunting times

As of version 2.5 the attribute @shuntingTime of the <ocpTT> was declared deprecated. In order to specify a shunting time at a stop please refer to the attribute @shuntingTime of <stopTimes>.

Notes / Anmerkungen

Not yet described. / Noch nicht beschrieben.

Open issues / Offene Punkte/Pendenzen

Not yet described. / Noch nicht beschrieben.