TT:connection

From railML 2 Wiki
Jump to navigation Jump to search


connection
 


Scheme description / Schemenbeschreibung

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

Multiplicity / Anzahl

[0..∞]

Semantics / Bedeutung

The Element connection describes any connection between this train and another one. It is important to note that <connection> shall not be used for modelling train splitting and coupling nor circulations.
Two use cases can be distinguished: usage of the <connection> in an operation context and usage in a scheduling context; In an operational context the <connection> is used to provide the necessary information for connection management. This means that the connection is focused on a specific train with information that allows to decide if the connection can be kept considering the operational state, for example forecasted delays of the feeder or the connector. In a scheduling context the <connection> may be used to encode information that allows the planning system to determine possible connections to the enclosing <trainPart>. This means that no specific train is provided in this use case.
To determine whether an attribute must be specified or can be omitted, the respective use case must be taken into account. Please refer to the section 'Best Practice' for a detailed description.


Das Element connection beschreibt Anschlussbeziehungen zwischen diesem und einem anderen Zug. Flügelungen und Umlaufübergänge werden aber dabei nicht betrachtet.
Es lassen sich zwei Anwendungsfälle unterscheiden: die Verwendung von <connection> in einem betrieblichen Kontext und die Verwendung in einem planerischen Kontext; In einem betrieblichen Kontext wird <connection> verwendet, um die notwendigen Informationen für das Anschlussmanagement bereitzustellen. Das bedeutet, dass der Anschluss auf einen bestimmten Zug ausgerichtet ist und Informationen enthält, die es ermöglichen zu entscheiden, ob der Anschluss unter Berücksichtigung des Betriebszustands, bspw. der prognostizierten Verspätung des Zubringers, gehalten werden kann. In einem Planungskontext kann <connection> verwendet werden, um Informationen zu kodieren, die es dem Planungssystem ermöglichen, mögliche Anschlüsse für den <trainPart> zu bestimmen. Das bedeutet, dass in diesem Anwendungsfall kein bestimmter Zug angegeben wird.
Um zu bestimmen, ob ein Attribut angegeben werden muss oder weggelassen werden kann, muss der jeweilige Anwendungsfall berücksichtigt werden. Eine ausführliche Beschreibung finden Sie im Abschnitt 'Best Practice'.

 
Please, be aware of the semantic constraint(s)!

Attributes of connection / Attribute von connection

  • trainRef: This refers to the id attribute of the associated train element.
    Used to reference the train that is the target of this connection. The role of the referenced train is defined by the attribute @connOperation (feeder, connector or both).
    Please, be aware of semantic constraint TT:017!
  • minConnTime: Specifies the minimal time between the feeder's arrival and the connector's departure that is considered necessary to realise the connection. The parameters of this estimate are unspecified and need to be agreed upon by the communicating parties. The minimal connection time is an estimate that should cover all relevant transfer profiles. It is up to the interface users to agree on what profiles (f.ex. high/limited mobility) and parameters (f.ex. peak hours, temporary elevator disruption) are relevant. The minimal connection time does not affect the arrival or departure times of the participating trains in the railML® file. A timetable may contain connections that cannot be realised according to the minimal connection time estimate. It is up to the receiver to accept or refuse such a timetable, and initiate the appropriate error handling.
  • maxConnTime: This attribute describes the maximum duration between the feeder's scheduled arrival and the departure of the connector for the connection to be considered. If the optional attribute @trainPartRef is omitted this means that trains that depart from the station defined by the enclosing <ocpTT> or the explicitly specified @ocpRef after the feeder's scheduled arrival plus the @minConnectionTime and before the feeder's scheduled arrival plus the @maxConnTime are considered as connection targets. If the attribute @trainPartRef is provided, @maxConnTime is understood as the time after the scheduled arrival of the feeder that the connector is scheduled to wait. This means that @maxConnTime implicitly specifies the maximum delay of the connector that is acceptable in order to hold this connection.
  • connType: (introduced with version 2.2) This is the connection type. Possible values are:
  • commercial Indicates that the purpose of the enclosing connection is the transfer of passengers or goods between the enclosing <trainPart> and another.
  • operational Indicates that the purpose of the enclosing connection is of an operational nature. This could for example be the transfer of staff between the enclosing <trainPart> and another.
  • connOperation: This is the connection operation. Possible values are:
  • none There is an unspecific connection to another train.
  • meet The train meets another train. Passengers/goods may change trains in both directions.
  • IsWaitingFor The train is waiting for another train. The considered train may be receiving passengers/goods from the referenced connection train. Der Zug wartet auf einen anderen Zug. Der betrachtete Zug kann Fahrgäste/Güter von dem referenzierten Zubringer-Zug erhalten.
  • IsExpectedBy The train is expected by another train. The referenced connection train may be receiving passengers/goods from the considered train. Der Zug wird von einem anderen Zug erwartet. Der referenzierte Abbringer-Zug kann Fahrgäste/Güter von dem betreffenden Zug empfangen.
  • join The train will be coupled together with another train.
    (deprecated with version 2.1) The element connection should not be used for splitting and joining of trains, use trains with 'type="commercial"' instead.
  • split This part of the train will go on as another train.
    (deprecated with version 2.1) The element connection should not be used for splitting and joining of trains, use trains with 'type="commercial"' instead.
  • turnaround The train will go on as another train.
    (deprecated with version 2.1) The element connection should not be used for splitting and joining of trains, use trains with 'type="commercial"' instead.
  • 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.
  • ocpRef: This refers to the id attribute of the associated <ocp> element.
    (introduced with version 2.2) This reference could be used in the case that the connection partner is stops at a different nearby ocp.
  • trainPartRef: This refers to the id attribute of the associated <trainPart> element.
    (introduced with version 2.2) In case the train referenced by @trainRef stops at the ocp indicated by the enclosing <ocpTT> or the @ocpRef provided here more than once, this reference to the <trainPart> of the train shall be used to resolve this ambiguity. The primary attribute for referencing a train that is included in the enclosing railML® 2 document, however, is @trainRef.
    Please, be aware of semantic constraint TT:017!
  • operatingPeriodRef: This refers to the id attribute of the associated <operatingPeriod> element.
    (introduced with version 2.3) References a reduction of the operating days of the connection compared to the operating days of the trainPart.
  • notGuaranteed (introduced with version 2.3): This indicates if the connection can not be guaranteed.
  • nonConnection (introduced with version 2.3): This indicates that no such connection should be generated or communicated, in order to lead passengers/goods transport orders to the appropriate connection.
  • samePlatform (introduced with version 2.3): This indicates if the connection is on the same platform.
  • xs:anyAttribute(introduced with version 2.2) This provides an extension point for non-railML® attributes in a foreign namespace. How to use it?

Syntactic Constraints / Syntaktische Beschränkungen

  • trainRef: xs:IDREF, optional (introduced with version 2.3) (was mandatory until version 2.2 (deprecated with version 2.2))
  • minConnTime: xs:duration, optional
  • connType: union of (restriction of xs:string, tOtherEnumerationValue); tOtherEnumerationValue is an arbitrary string starting with 'other:' followed by at minimum two characters, white space not allowed for extending railML® enumeration lists, optional
  • connOperation: union of (restriction of xs:string, tOtherEnumerationValue); tOtherEnumerationValue is an arbitrary string starting with 'other:' followed by at minimum two characters, white space not allowed for extending railML® enumeration lists, optional

Semantic Constraints / Semantische Beschränkungen

Private-cloud-icon.png Semantic Constraint "TT:017":
 
If the trainPartRef attribute is given, then there must also be a trainRef attribute, and the trainPartRef attribute must point to a train part of the train referenced by the trainRef attribute.
 
Proposed on December 15th 2022
Approved on December 15th 2022
FIXME: add Link to discussion!
Please, recognize our guidelines on semantic constraints

Best practice & Examples / Empfohlene Anwendung & Beispiele

Two use cases can be supported with the <connection> element, operational connection management and connection planning. The usage of the attributes and child elements of a connection is dependent upon the chosen use case. The following table describes the intended usage.
Mit dem Element <connection> können zwei Anwendungsfälle unterstützt werden: operatives Anschlussmanagement und Anschlussplanung. Die Verwendung der Attribute und untergeordneten Elemente einer connection ist abhängig von dem gewählten Anwendungsfall. Die folgende Tabelle beschreibt die vorgesehene Verwendung.

Usage table
Attribute/Child element Usage in use case 'connection planning' Usage in use case 'operational connection management'
@trainRef No usage Optional
@trainPartRef No usage Optional
@minConnTime Optional Optional
@maxConnTime Mandatory Optional
@connType Optional Mandatory
@connOperation No usage Mandatory
@ocpRef Optional Optional
@operatingPeriodRef Optional Optional
@notGuaranteed No usage Optional
@nonConnection No usage Optional
@samePlatform Optional Optional
<externalReference>/* No usage Optional
<annotationRef> No usage Optional
<announcementRef> No usage Optional

Connection Planning

In this use case the element <connection> is used to describe in which timeframe to look for relevant connected trains. In a commercial context, these could be trains that can be presented to the passenger as connections. In an operational context, these could be trains that need to be considered for controlled meetings in manual block operations. This means that the relationship described by a single <connection> element, may result in connections between the enclosing trainPart and 0..n other trains. The exact number of matching trains has to be determined by the receiver of the file if necessary. This may include trains that are not contained in the current railML® document.
@minConnTime and @maxConnTime define said timespan in which to look for connecting trains for the enclosing <trainPart>. The optional @minConnTime limits the lower border of the timeframe. If @minConnTime is not provided the scheduled arrival of the enclosing train is implied. @maxConnTime is considered mandatory in this use case as the timeframe to look for connecting trains needs to be limited. It is presumed that the @maxConnTime is larger than the @minConnTime, otherwise the resulting timeframe would be negative.
The attributes @ocpRef and @samePlatform can be used to provide different values (especially regarding the @minConnTime) for different connection target distances. @operatingPeriodRef may be used to limit application of the connection in time. Additionally <externalReference>/<information> may be used for internal operational scheduling notes.
In diesem Anwendungsfall wird das Element <connection> verwendet, um zu beschreiben, in welchem Zeitrahmen nach relevanten Zugverknüpfungen gesucht werden soll. Im kommerziellen Kontext könnten diese Züge dem Fahrgast als Anschlüsse präsentiert werden. Im operativen Kontext könnten dies relevante Fahrten für die Prüfung von Zugbegegnungen im Zugmeldebetrieb sein. Dies bedeutet, dass die Beziehung, die durch ein einzelnes <connection>-Element beschrieben wird, zu Anschlüssen zwischen dem umschließenden trainPart und 0..n anderen trains führen kann.
@minConnTime und @maxConnTime definieren die Zeitspanne, in der nach Anschlusszügen für den umschließenden <trainPart> gesucht werden soll. Das optionale @minConnTime legt die untere Grenze des Zeitrahmens fest. Wenn @minConnTime nicht angegeben wird, wird die planmäßige Ankunft des umschließenden Zuges unterstellt. @maxConnTime wird in diesem Anwendungsfall als obligatorisch angesehen, da der Zeitrahmen für die Suche nach Anschlusszügen begrenzt werden muss. Dabei wird vorrausgesetzt, dass @maxConnTime größer als @minConnTime angegeben wird, da sonst die aufgespannte Dauer negativ werden würde.
Die Attribute @ocpRef und @samePlatform können verwendet werden, um unterschiedliche Werte (insbesondere in Bezug auf die @minConnTime) für unterschiedliche Anschlusszielentfernungen zu liefern. @operatingPeriodRef kann verwendet werden, um die Anwendung des Anschlusses zeitlich zu begrenzen. Zusätzlich kann <externalReference>/<information> für interne Hinweise zur Betriebsplanung verwendet werden.

<trainPart>
  ...
  <ocpTT ocpRef="ocp1">
    ...
    <times scope="scheduled" arrival="10:00:00" departure="10:03:00"/>
    ...
    <connections>
      <connection connType="commercial" minConnTime="PT1M" maxConnTime="PT2M">
        <!-- This means that all trains that depart between 10:01:00 and 10:02:00 are considered connections to the enclosing trainPart -->
      </connection>
      <connection connType="commercial" maxConnTime="PT1M30S" samePlatform="true">
        <!-- This means that all trains that depart between 10:00:00 and 10:01:30 from the opposite track at the arrival platform of the enclosing trainPart are considered connections to the enclosing trainPart -->
      </connection>
      <connection connType="commercial" minConnTime="PT10M" maxConnTime="PT15M" ocpRef="ocp2">
        <!-- This means that all trains that depart between 10:10:00 and 10:15:00 from ocp2 are considered connections to the enclosing trainPart. The time necessary to reach ocp2 from ocp1 that is referenced by the enclosing ocpTT is given with 10 minutes. -->
      </connection>
    </connections>
    ...
  </ocpTT>
  ...
</trainPart>

Operational Connection Management

In this use case the element <connection> serves the purpose to describe a specific connection between two trains. It is used to provide information to a connection management system to track connections between trains, detect endangered connections and manage them.
In this context the @minConnTime attribute describes the transfer time from the feeder to the connector, while the @maxConnTime describes the maximum acceptable delay of the connector when waiting for the feeder. If the optional attribute @minConnTime is not provided it needs to be assumed that the transfer time to the connection partner does not matter and can be assumed zero.
The attribute @connType is considered mandatory in this use case as it plays an important role when deciding if a connection needs to be kept in case of delays or not. Using @connOperation the role of the two trains is clarified. This also clarifies the semantics of the specified attributes @minConnTime and @maxConnTime by selecting the one train as feeder and the other as connector. It is also possible that both trains are considered feeder and connector at the same time.
Using @trainRef the <train> is specified that is the other part of the connection. If the other train passes by the ocp referenced by the enclosing <ocpTT> more than once, @trainPartRef shall be used to resolve this ambiguity. @ocpRef may be used to indicate which <ocpTT> of the other train is meant if the other train doesn't actually stop at the ocp referenced by the enclosing <ocpTT>, but a nearby ocp.
The attribute @operatingPeriodRef may be used to describe connections that may vary over the timetable period. @notGuaranteed can be used to provide information about the importance of holding the described connection.
Using the sub elements <tafTapTsiTrainID> and <trainNumber> of <externalReference> an external train may be referenced. In this case @trainRef and @trainPartRef shall not be used. When referencing external trains <tafTapTsiTrainID> and <trainNumber> each may be used by themselves or together. If they are used together however it is assumed that they do not conflict with each other. It is also possible to use the element <lineNumber> to provide information to the connection management that a train of the specified line is suppose to connect to the enclosing <trainPart>. Also in this case it is assumed that if other optional means of referencing a connection partner are used, the provided information does not conflict with each other.
Additionally <externalReference>/<information> may be used to exchange internal operational remarks regarding the managed connection.

Please note that although all attributes for specifying the other connection partner are marked optional in the above table for this use case it is assumed that at least one of the possible ways of referencing a train is used.

In diesem Anwendungsfall dient das Element <connection> dem Zweck, einen bestimmten Anschluss zwischen zwei Zügen zu beschreiben. Es wird verwendet, um einem Anschlusssicherungssystem Informationen zur Verfügung zu stellen, um Anschlüsse zwischen Zügen zu verfolgen, gefährdete Anschlüsse zu erkennen und sie zu verwalten.
In diesem Anwendungsfall beschreibt das Attribut @minConnTime die Übertragungszeit vom Zubringer zum Abbringer, während das Attribut @maxConnTime die maximal akzeptable Verzögerung des Abbringers beim Warten auf den Zubringer beschreibt. Wenn das optionale Attribut @minConnTime nicht angegeben wird, muss davon ausgegangen werden, dass die Übertragungszeit zum Abbringer keine Rolle spielt und als 0 angenommen werden kann.
Das Attribut @connType wird in diesem Anwendungsfall als obligatorisch angesehen, da es eine wichtige Rolle bei der Entscheidung spielt, ob ein Anschluss im Falle von Verspätungen gehalten werden muss oder nicht. Mit @connOperation wird die Rolle der beiden Züge geklärt. Damit wird auch die Semantik der angegebenen Attribute @minConnTime und @maxConnTime bestimmt indem ein Zug als Zubringer betrachtet wird und der andere als Abbringer. Es ist allerdings auch möglich, dass beide Anschlusspartner Zugbringer und Abbringer zugleich sind.
Mit @trainRef wird der <train> angegeben, der den anderen Teil des Anschlusses darstellt. Wenn der andere train den ocp, auf den der umschließende <ocpTT> verweist, mehr als einmal passiert, wird @trainPartRef verwendet, um diese Mehrdeutigkeit aufzulösen. Das Attribut @ocpRef kann verwendet werden, um anzugeben, welcher <ocpTT> des anderen train gemeint ist, sofern der andere train nicht tatsächlich an dem ocp hält, auf den der umschließende <ocpTT> verweist, sondern an einem nahe gelegenen anderen ocp.
Das Attribut @operatingPeriodRef kann verwendet werden, um saisonal unterschiedliche Anschlüsse zu beschreiben. @notGuaranteed kann verwendet werden, um Informationen über die Wichtigkeit des Haltens des beschriebenen Anschlusses zu liefern.
Mit Hilfe der Unterelemente <tafTapTsiTrainID> und <trainNumber> von <externalReference> kann ein externer Zug referenziert werden. In diesem Fall dürfen @trainRef und @trainPartRef nicht verwendet werden. Bei der Referenzierung externer Züge können <tafTapTsiTrainID> und <trainNumber> jeweils für sich oder zusammen verwendet werden. Wenn sie zusammen verwendet werden, wird davon ausgegangen, dass sie sich nicht gegenseitig widersprechen. Es ist auch möglich, das Element <lineNumber> zu verwenden, um der Anschlussverwaltung mitzuteilen, dass ein Zug der angegebenen Linie an den umschließenden <trainPart> Anschluss haben soll. Auch in diesem Fall wird davon ausgegangen, dass bei Verwendung anderer optionaler Mittel zur Referenzierung eines Anschlusspartners die angegebenen Informationen sich nicht gegenseitig widersprechen.
Zusätzlich kann <externalReference>/<information> verwendet werden, um interne betriebliche Bemerkungen zum verwalteten Anschluss auszutauschen.

Bitte beachten Sie, dass obwohl alle Attribute, die zur Angabe eines Anschlusspartners verwendet werden können, in der oben stehenden Tabelle für diesen Use Case als optional gekennzeichnet wurden, trotzdem davon ausgegangen wird, dass eine der Möglichkeiten zum Verweis auf einen anderen Zug genutzt wird.

<trainPart id="tp1">
  ...
  <ocpTT ocpRef="ocp1">
    ...
    <times scope="scheduled" arrival="10:00:00" departure="10:03:00"/>
    ...
    <connections>
      <connection trainRef="ct01" connType="commercial" connOperation="IsExpectedBy" minConnTime="PT1M" maxConnTime="PT2M">
        <!-- This means that the enclosing train is the feeder for the connector train ct01 at the OCP ocp1. The transfer time between the two trains is estimated with 1 minute and the train ct01 is expected to wait at least one minute after the arrival of the enclosing trainPart but no longer than 10:02:00. -->
      </connection>
      <connection trainRef="ct02" trainPartRef="tp22" connType="commercial" connOperation="IsWaitingFor" maxConnTime="PT4M" samePlatform="true">
        <!-- From this description we can assume that the train ct02 passes the OCP ocp1 of the enclosing ocpTT more than once. This connection refers to the pass that is part of tp22. Train ct02 is the feeder for the enclosing trainPart. The connection is supposed to take place at the opposite track of the arrival platform of tp1 and tp1 is expected to wait for the arrival of ct02 no longer than 4 minutes after the scheduled arrival of ct02. -->
      </connection>
      <connection connType="commercial" connOperation="IsExpectedBy" minConnTime="PT9M" maxConnTime="PT13M" ocpRef="ocp2">
        <externalReference>
          <trainNumber trainNumber="4711"/>
        </externalReference>
        <!-- This means that tp1 is the feeder for the external connector train 4711 that departs from ocp2. The transfer time to reach the connector at ocp2 is estimated with 9 minutes. The connector is expected to wait for the arrival of the feeder until 10:04. If the feeder hasn't arrived by that time the connection cannot be kept due to the long transfer time. -->
      </connection>
    </connections>
    ...
  </ocpTT>
  ...
</trainPart>

Notes / Anmerkungen

Passing the same OCP more than once

If a connecting train is passing an ocp multiple times, the described connection may seem ambiguous to reading systems. If the connecting train is part of the encoding railML® the attribute @trainPartRef shall be used to clarify which ocpTT of the connecting train is meant. If the connecting train is not part of the encoding railML® the timeframe shall be used to identify the correct stop of the connecting train.
Wenn ein verbundener Zug einen Halt mehrfach anfährt, kann es zu einer Zweideutigkeit kommen. Ist der verbundene Zug Teil desrailML®, so ist das Attribut @trainPartRef zu verwenden diese Zweideutigkeit aufzulösen. Ist der Zug nicht Teil des railML®, so soll die Ankunfts- und Abfahrtszeit des verbundenen Zuges genutzt werden um den entsprechenden Halt für den Anschluss zu identifizieren.

Same platform

It is important to note that the attribute @samePlatform is meant to imply that a connecting train is departing from the opposite track of the same platform. The background for this clarification is, that there exist railway station layouts that actually have rather long distances between trains at the same platform. So the implied meaning is that the distance between the two partners of the connection with @samePlatform = 'true' is minimal.
Das Attribut @samePlatform soll implizieren, dass ein Anschlusszug am gegenüberliegenden Gleis desselben Bahnsteigs abfährt. Der Hintergrund für diese Klarstellung ist, dass es Bahnhofsanlagen gibt, bei denen die Abstände zwischen den Zügen am selben Bahnsteig tatsächlich recht groß sind. Die implizite Bedeutung ist also, dass der Abstand zwischen den beiden Partnern des Anschlusses mit @samePlatform gleich 'true' minimal ist.

Open issues / Offene Punkte/Pendenzen

Not yet described. / Noch nicht beschrieben.