Dev:Reversing trains and formations: Difference between revisions
[checked revision] | [checked revision] |
mNo edit summary |
David Lichti (talk | contribs) (Update to railML 3) |
||
Line 1: | Line 1: | ||
This article explains basic concepts | This article explains basic concepts of handling formation orientation within the timetable subschema. | ||
{{deu|Dieser Artikel erklärt | {{deu|Dieser Artikel erklärt die grundlegenden Konzepte des Umgangs mit der Fahrtrichtung von Zügen im Timetable-Subschema.}} | ||
== Reversing trains and formations == | == Reversing trains and formations == | ||
In the {{TT:Tag|timetable}} scheme, there are two attributes concerning | In the {{TT:Tag|timetable}} scheme, there are two elements or attributes concerning the running direction of a train formation: {{TT:Tag|activityTrainReverse}} and {{TT:Tag|formationInformation}}.{{Attr|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 {{TT:Tag| | === Concerning the meaning of {{TT:Tag|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 [[wikipedia:Headshunt|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 {{TT:Tag|formationInformation}}.{{Attr|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 {{TT:Tag|formationInformation}}.{{Attr|orientationReversed}} set to <code>true</code> is equivalent to a reference to a formation with all identical properties except for: | |||
=== Concerning the meaning of {{TT:Tag| | |||
* the {{RS:Tag|trainOrder}}.{{Attr|orderNumber}} are in reversed order. | |||
* the {{RS:Tag|trainOrder}}.{{Attr|orientation}} (if present) have the opposite value. | |||
This may be useful when the train has an {{TT:Tag|activityTrainReverse}}. But it may also be relevant in other cases. | |||
==== Example ==== | |||
Consider a train with the following formation: | |||
runs all day between | <syntaxhighlight lang="xml"> | ||
<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> | |||
</syntaxhighlight> | |||
It runs all day between the stations Arnau and Cstadt.<ref>railML.org Simple Example: [https://www.railml.org/en/user/exampledata.html]</ref> For one direction, referencing <code>fm-1</code> would be fine: | |||
<syntaxhighlight lang="xml"> | |||
<formationInformation formationRef="fm-1"/> | |||
</syntaxhighlight> | |||
But the {{TT:Tag|operationalTrainSectionPart}} for the return journey would have to reference the following formation: | |||
=== | <syntaxhighlight lang="xml"> | ||
<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> | |||
</syntaxhighlight> | |||
Instead of this near-duplicate, it could also reference the original formation <code>fm-1</code> itself, but with {{TT:Tag|formationInformation}}.{{Attr|orientationReversed}} set to <code>true</code>. So, the following are equivalent: | |||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
< | <formationInformation formationRef="fm-2"/> | ||
<formationInformation formationRef="fm-1" orientationReversed="true"/> | |||
</syntaxhighlight> | |||
Please note: None of the trains do ever change their running direction during a single run. | |||
=== Semantical Relationship === | |||
There is a certain correlation between {{TT:Tag|activityTrainReverse}} and {{TT:Tag|formationInformation}}.{{Attr|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 {{Attr|orientationReversed}}. | |||
* ... | |||
There is another way to change the orientation of the formation of a whole train without {{TT:Tag|formationInformation}}.{{Attr|orientationReversed}}: If there is one {{TT:Tag|operationalTrainSectionPart}} for each vehicle, and no vehicle has a {{RS:Tag|trainOrder}}.{{Attr|orientation}} attribute: | |||
<syntaxhighlight lang="xml"> | |||
<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> | |||
</syntaxhighlight> | |||
Then the entire formation could be reversed by reversing the order of the {{TT:Tag|operationTrainSectionPart}}s: | |||
<syntaxhighlight lang="xml"> | |||
<operationalTrainSection> | |||
<operationTrainSectionPart><formationInformation formationRef="fm-1-4"/></operationTrainSectionPart> | |||
<operationTrainSectionPart><formationInformation formationRef="fm-1-3"/></operationTrainSectionPart> | |||
3 | <operationTrainSectionPart><formationInformation formationRef="fm-1-2"/></operationTrainSectionPart> | ||
<operationTrainSectionPart><formationInformation formationRef="fm-1-1"/></operationTrainSectionPart> | |||
</operationalTrainSection> | |||
</syntaxhighlight> | |||
=== Additional notes === | === 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 {{TT:Tag|formationTT}}.{{Attr|orientationReversed}} set to <code>true</code>. | |||
* It is | * The order of the vehicles in a formation is defined by increasing {{TT:Tag|trainOrder}}.{{Attr|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 {{TT:Tag|formationTT}}.{{Attr|orientationReversed}} is set to <code>true</code>, which reverses the entire vehicle order. | ||
* It is not forbidden to use {{TT:Tag|formationInformation}}.{{Attr|orientationReversed}} with a formation of one single vehicle, even if that vehicle does not have an orientation. | |||
= References = | |||
[[Category:GeneralDescription]] | [[Category:GeneralDescription]] | ||
[[category:Timetable Concept]] | [[category:Timetable Concept]] |
Revision as of 13:31, 8 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.