TT:times ocpTT ocpsTT trainPart

From railML 2 Wiki
Revision as of 18:21, 14 July 2022 by RailML Coord Timetable (talk | contribs) (Moved TT:011 to best practivce as decided in TT developer meeting)
Jump to navigation Jump to search

{{ElementDocu| elementName = times

|semantics = The Element <times> describes arrival and departure times of a train with their scope.

Das Element <times> beschreibt Ankunfts- und Abfahrtszeiten eines Zuges und ihre Interpretation.

|parent = <ocpTT> |childs=None |minocc=0 |maxocc=∞ |inheritedAttributes=None |ownAttributes =

Possible values are:
  • actual recorded arrival and departure times
  • calculated times from a simulation tool
  • published times that the passengers get on written sheets or online
  • scheduled times for operational purposes
  • earliest acceptable arrival and/or departure time (used to express a wish of a customer at a very early planning stage of a new timetable)
  • latest acceptable arrival and/or departure time (used to express a wish of a customer at a very early planning stage of a new timetable)
  • expected (introduced with version 2.5) forecast times based on realtime data
  • 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.
🗒️ Not to be confused with <train>@scope, that distinguishes different paths / alternative slots of a train.
🗒️ Not to be confused with <train>@processStatus, that describes the scope in relation to a process of train path ordering.
  • arrival: Moment at which the train ends its movement and gets to a halt at the parent <ocpTT>; usually called arrival time.
    • If this attribute is set at the first <ocpTT> of a <trainPart> that is also the first of the <trainPartSequence> of all <train>s it belongs to, it shall describe an "arrival from outside of the scope of the railML file": It expresses that the train arrives at that first <ocpTT> at the given time, but the railML file does not express from where the train arrives nor whether it arrives as a train movement at all or rather as a shunting movement.
  • departure: departure or run-through (passing) time;
    • normally specified at all except the very last station of the last trainPart (section) of a train:
    • If this attribute is set at the last <ocpTT> of a <trainPart> that is also the last of the <trainPartSequence> of all <train>s it belongs to, it shall describe "departure to outside of the scope of the railML file": It expresses that the train departs at that last <ocpTT> at the given time, but the railML file does not express to where the train departs nor whether it departs as a train movement at all or rather as a shunting movement.
  • xs:anyAttribute: This provides an extension point for non-railML® attributes in a foreign namespace. How to use it?
    (introduced with version 2.2)

|semcon=

Private-cloud-icon.png Semantic Constraint "TT:010":
 

@scope='earliest' and 'latest' are not intended to encode supplement times, as this is redundant to <ocpTT>.<sectionTT>.<runTimes>@operationalReserve, @additionalReserve, @minimalTime.
@scope='earliest' und 'latest' sind nicht zur Abbildung von Fahrzeitzuschlägen zu verwenden, da dies redundant zu <ocpTT>.<sectionTT>.<runTimes>@operationalReserve, @additionalReserve, @minimalTime ist.


 
Proposed on June 19th 2019
Approved on October 15th 2020
Discuss this semantic constraint
Please, recognize our guidelines on semantic constraints

Private-cloud-icon.png Semantic Constraint "TT:012":
 

When @scope='actual' is used, then the operating period and/or timetable period specified at the trainpart level shall refer to only one operating day. Like this the operating day to which the actual times refer is defined.
Wenn @scope= 'actual' verwendet wird, bezieht sich die operating period und/oder timetable period des train(part) auf nur einen einzelnen Betriebstag. Es muss so festgelegt werden, auf welchen Betriebstag sich die erfassten Ist-Zeiten beziehen.


 
Proposed on June 19th 2019
Approved on June 2nd 2022
FIXME: add Link to discussion!
Please, recognize our guidelines on semantic constraints

Private-cloud-icon.png Semantic Constraint "TT:014":
 

@arrival is not to be specified if the attribute ocpType of the parent <ocpTT> has the value pass - use departure for run-through (passing) times; This is in line with the definition of @arrival as the moment at which the train ends its movement and gets to a halt at the parent <ocpTT>.


 
Proposed on June 19th 2019
Approved on June 2nd 2022
FIXME: add Link to discussion!
Please, recognize our guidelines on semantic constraints

Private-cloud-icon.png Semantic Constraint "TT:015":
 

At the first <ocpTT> of a <trainPart> that is not the first one of the <trainPartSequence>, the attribute @arrival is optional. If it is set anyway, then, for consistency reasons, the value of @arrival of the regarding <ocpTT> must be identical for both this <trainPart> and the preceding one.


 
Proposed on June 19th 2019
Approved on June 2nd 2022
FIXME: add Link to discussion!
Please, recognize our guidelines on semantic constraints

Private-cloud-icon.png Semantic Constraint "TT:016":
 

At the last <ocpTT> of a <trainPart> that is not the last one of the <trainPartSequence>, the attribute @departure is optional. If it is set anyway, then, for consistency reasons, the value of @departure of the regarding <ocpTT> must be identical for both this <trainPart> and the subsequent one.


 
Proposed on October 09th 2020
Approved on June 2nd 2022
FIXME: add Link to discussion!
Please, recognize our guidelines on semantic constraints

|example =

Semantics and restrictions of the attribute scope

Consistency expectations

In general it is expected that all <times> instances of the same @scope are consistent with each other. "consistent with each other" in this context means, that the times following the path of the train are continuously increasing. The reason for this is that it is assumed that all <times> instances of the same @scope are semantically linked. However, there are use cases where this may not apply. For example <times> with the @scope earliest or latest may encode inconsistencies as described below. Also for published <times> it is known that in some cases consistency is broken. In some use cases this can also happen in other @scopes, for example if railML is used as a means of transferring data from a planning system to a visualization with the express purpose of viewing inconsistencies graphically. It is acceptable practice though to refuse importing of such data in reading programs if such use case is excluded. A appropriate error reporting is advised in this case.

Im Allgemeinen wird erwartet, dass alle <times>-Instanzen desselben @scope miteinander konsistent sind. "Miteinander konsistent" bedeutet in diesem Zusammenhang, dass die Zeiten, dem Zuglauf folgend, kontinuierlich ansteigen. Der Grund dafür ist, dass angenommen wird, dass alle <times>-Instanzen desselben @scope semantisch miteinander verbunden sind. Es gibt jedoch Anwendungsfälle, auf die dies nicht zutrifft. Zum Beispiel <times> mit dem @scope earliest oder latest kodieren möglicherweise Inkonsistenzen, wie beispielsweise unten beschrieben. Auch für published <times> ist bekannt, dass in einigen Fällen die Konsistenz gebrochen wird. In einigen Anwendungsfällen kann dies auch in anderen @scopes vorkommen, z.B. wenn railML als Mittel zur Übertragung von Daten aus einem Planungssystem in eine Visualisierung mit dem ausdrücklichen Zweck verwendet wird, Inkonsistenzen grafisch darzustellen. Es ist jedoch akzeptierte Praxis, den Import solcher Daten in Leseprogrammen zu verweigern, wenn ein solcher Anwendungsfall ausgeschlossen ist. In diesem Fall wird eine entsprechende Fehlermeldung empfohlen.

scope values 'earliest' and 'latest'

As just explained it is in general assumed that the <times> specified for earliest and latest at one <ocpTT> should be consistent with each other. Accordingly the times specified for earliest (taking into account @arrivalDay and @departureDay) must be earlier than those specified for latest. Only in very rare cases this assumption is broken. For example in strategic planning it may be necessary to communicate impossibilities that result from various dependencies in order for the receiving system to adjust accordingly to avoid those impossibilities.

{{{1}}}