Dev:Border between infrastructure managers and countries

From railML 2 Wiki
Revision as of 11:49, 21 March 2024 by RailML Orga Ontology (talk | contribs) (wording)
Jump to navigation Jump to search
Border between infrastructure managers Správa_železnic (Wiki banner.png) in the Czech Republic and DB InfraGO (Wiki banner.png 🇩🇪) in Germany (By Falk2/Image source/CC BY-SA 3.0)
Border between infrastructure managers ÖBB Infra (Wiki banner.png) in Austria and DB InfraGO (Wiki banner.png 🇩🇪) in Germany (By Renardo la vulpo/Image source/CC0)

The requirements for improved cooperation of infrastructure managers and ‘cross-border agreements’ enables seamless operations for train paths crossing borders, or ‘handover points’ (defined in the TAF TAP TSI[1] as “the point where legal responsibility changes between the infrastructure managers”).

The upper photo show an example of a ‘handover point’ at the Germany-Czech Republic border on Děčín–Dresden-Neustadt_railway (Wiki banner.png). This line is operated by two different rail operating companies, Správa_železnic (Wiki banner.png) in the Czech Republic and DB InfraGO (Wiki banner.png 🇩🇪) in Germany, meaning there is a change in infrastructure managers.

In the source code, shown below, there are two tracks belonging to two infrastructure managers. Ownership is represented by <ownerChange> elements. Further information is given in the <infrastructureManager> element and corresponding code list (link to the railML® website). Mileage of the border was obtained from [2].

<metadata>
  <organizationalUnits>
    <infrastructureManager id="ima01" code="DBN"/>
    <infrastructureManager id="ima02" code="SZD"/>
  </organizationalUnits>
</metadata>
..
<track id="tr01">
  <trackTopology>
    <trackBegin id="tb01" pos="0" absPos="0">..</trackBegin>
    <trackEnd id="te01" pos="11859" absPos="11859">..</trackEnd>
  </trackTopology>
  <trackElements>
    ..
    <ownerChange id="och01" pos="0" absPos="0" infrastructureManagerRef="ima01"/>
    ..
  </trackElements>
</track>
<track id="tr02">
  <trackTopology>
    <trackBegin id="tb02" pos="0" absPos="11859">..</trackBegin>
    <trackEnd id="te02" pos="500" absPos="12359">..</trackEnd>
  </trackTopology>
  <trackElements>
    ..
    <ownerChange id="och02" pos="0" absPos="11859" infrastructureManagerRef="ima02" name="Bahnverw.grenze Bad Schandau Gr"/>
    ..
  </trackElements>
</track>

It is important to ensure the correct definition of the railway tracks. Every railway track should have an <ownerChange> at the beginning of the track positioned at a zero coordinate. Additional semantic constraints apply for the <speedChange> [3].

In the example code above there are two railway tracks. Each of them has <ownerChange> positioned at the beginning. This is due to the reasoning that every track should be considered a separate system with its own properties defined. But technically one track is also enough because there is no need for the second track to represent change. See example of one track representing a "Border between infrastructure managers" below. To answer a question which example to use when, this seems to be a preference of a user. Both examples are syntactically and semantically valid and actually came from two different users of railML® 2.

<metadata>
  <organizationalUnits>
    <infrastructureManager id="ima01" code="DBN"/>
    <infrastructureManager id="ima02" code="SZD"/>
  </organizationalUnits>
</metadata>
..
<track id="tr01">
  <trackTopology>
    <trackBegin id="tb01" pos="0" absPos="0">..</trackBegin>
    <trackEnd id="te01" pos="50000" absPos="50000">..</trackEnd>
  </trackTopology>
  <trackElements>
    ..
    <ownerChange id="och01" pos="0" absPos="0" infrastructureManagerRef="ima01"/>
    <ownerChange id="och02" pos="11859" absPos="11859" infrastructureManagerRef="ima02" name="Bahnverw.grenze Bad Schandau Gr"/>
    ..
  </trackElements>
</track>

References