Dev:Reversing trains and formations: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
(Update to railML 3)
No edit summary
Line 103: Line 103:
[[Category:GeneralDescription]]
[[Category:GeneralDescription]]
[[category:Timetable Concept]]
[[category:Timetable Concept]]
{{interwiki}}

Revision as of 13:38, 13 March 2023

This article explains basic concepts of handling formation orientation within the timetable subschema.

Dieser Artikel erklärt die grundlegenden Konzepte des Umgangs mit der Fahrtrichtung von Zügen im Timetable-Subschema.

Reversing trains and formations

In the <timetable> scheme, there are two elements or attributes concerning the running direction of a train formation: <activityTrainReverse> and <formationInformation>.orientationReversed. They may seem to be redundant and may possibly be mixed. This shall try to explain the difference between the two:

Concerning the meaning of <activityTrainReverse>

This indicates that the train (part) changes its running direction at the parent base itinerary point. It includes all operational actions that may be necessary to do so. Examples are:

  • reversal with identical formation, but in reversed order (if it has more than one vehicle) and vehicle orientation (if it is given).
  • reversal with the engine coupled to the other end of the formation, also known as run-around.
  • reversal with a different engine coupled to the other end of the formation.

This information is mainly intended for passenger information (systems). Some systems may, for example, show a ↔ symbol where the running direction of the train changes.

Concerning the meaning of <formationInformation>.orientationReversed

This has nothing to do with a train changing the running direction. It merely avoids the necessity of creating reversed copies of formations that run in both directions. Instead, a formation reference with <formationInformation>.orientationReversed set to true is equivalent to a reference to a formation with all identical properties except for:

  • the <trainOrder>.orderNumber are in reversed order.
  • the <trainOrder>.orientation (if present) have the opposite value.

This may be useful when the train has an <activityTrainReverse>. But it may also be relevant in other cases.

Example

Consider a train with the following formation:

<formation id="fm-1">
  <trainOrder orderNumber="1" vehicleRef="vh-1" orientation="normal"/> <!-- control car -->
  <trainOrder orderNumber="2" vehicleRef="vh-2"/>                      <!-- 2nd class carriage -->
  <trainOrder orderNumber="3" vehicleRef="vh-3"/>                      <!-- 1st class carriage -->
  <trainOrder orderNumber="4" vehicleRef="vh-4" orientation="reverse"/><!-- engine -->
</formation>

It runs all day between the stations Arnau and Cstadt.[1] For one direction, referencing fm-1 would be fine:

<formationInformation formationRef="fm-1"/>

But the <operationalTrainSectionPart> for the return journey would have to reference the following formation:

<formation id="fm-2">
  <trainOrder orderNumber="1" vehicleRef="vh-4" orientation="normal"/> <!-- engine -->
  <trainOrder orderNumber="2" vehicleRef="vh-3"/>                      <!-- 1st class carriage -->
  <trainOrder orderNumber="3" vehicleRef="vh-2"/>                      <!-- 2nd class carriage -->
  <trainOrder orderNumber="4" vehicleRef="vh-1" orientation="reverse"/><!-- control car -->
</formation>

Instead of this near-duplicate, it could also reference the original formation fm-1 itself, but with <formationInformation>.orientationReversed set to true. So, the following are equivalent:

<formationInformation formationRef="fm-2"/>
<formationInformation formationRef="fm-1" orientationReversed="true"/>

Please note: None of the trains do ever change their running direction during a single run.

Semantical Relationship

There is a certain correlation between <activityTrainReverse> and <formationInformation>.orientationReversed. But neither necessarily implies the other.

  • A reversal with an engine change may result in a completely different formation.
  • If the formation changes due to shunting, the new formation could be in reversed orientation without the train changing its running direction.
  • The exporter may choose to export reversed copies of formations, instead of using orientationReversed.
  • ...

There is another way to change the orientation of the formation of a whole train without <formationInformation>.orientationReversed: If there is one <operationalTrainSectionPart> for each vehicle, and no vehicle has a <trainOrder>.orientation attribute:

<operationalTrainSection>
  <operationTrainSectionPart><formationInformation formationRef="fm-1-1"/></operationTrainSectionPart>
  <operationTrainSectionPart><formationInformation formationRef="fm-1-2"/></operationTrainSectionPart>
  <operationTrainSectionPart><formationInformation formationRef="fm-1-3"/></operationTrainSectionPart>
  <operationTrainSectionPart><formationInformation formationRef="fm-1-4"/></operationTrainSectionPart>
</operationalTrainSection>

Then the entire formation could be reversed by reversing the order of the <operationTrainSectionPart>s:

<operationalTrainSection>
  <operationTrainSectionPart><formationInformation formationRef="fm-1-4"/></operationTrainSectionPart>
  <operationTrainSectionPart><formationInformation formationRef="fm-1-3"/></operationTrainSectionPart>
  <operationTrainSectionPart><formationInformation formationRef="fm-1-2"/></operationTrainSectionPart>
  <operationTrainSectionPart><formationInformation formationRef="fm-1-1"/></operationTrainSectionPart>
</operationalTrainSection>

Additional notes

  • The "standard" orientation can be chosen arbitrarily by the exporting software. It may be with the engine at the front, or with the engine at the end, or anything else.
  • There is no guarantee that the standard orientation of a formation is actually ever used in a railML document. It would be perfectly valid, if all references to a specific formation had <formationTT>.orientationReversed set to true.
  • The order of the vehicles in a formation is defined by increasing <trainOrder>.orderNumber. That is, the lowest order number is at the front of the train, while the highest order number is at the end of the train. Except if <formationTT>.orientationReversed is set to true, which reverses the entire vehicle order.
  • It is not forbidden to use <formationInformation>.orientationReversed with a formation of one single vehicle, even if that vehicle does not have an orientation.

References

  1. railML.org Simple Example: [1]