Dev:Border between infrastructure managers and countries

From railML 2 Wiki
Revision as of 16:07, 12 March 2024 by RailML Orga Ontology (talk | contribs) (fixed licenses)
Jump to navigation Jump to search

Real-world examples are:


The overarching objective of the EU Directive 2012/34/EU is to establish a single European railway area. Contributing to this objective is the requirement for improved cooperation of infrastructure managers and ‘cross-border agreements’ to enable seamless operations for train paths crossing borders, or ‘handover points’ (defined in [3] as “the point where legal responsibility changes between the infrastructure managers”).

The photo shows an example of a ‘handover point’ at the Germany-Czech Republic border on the Děčín to Dresden-Neustadt 6240 railway line. This line is operated by two different rail operating companies, Správa železnic (external link) in the Czech Republic and Deutsche Bahn Netz (external link) 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).

<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="500" absPos="500">..</trackEnd>
  </trackTopology>
  <trackElements>
    ..
    <ownerChange id="och01" pos="0" absPos="0" infrastructureManagerRef="ima01"/>
    ..
  </trackElements>
</track>
<track id="tr02">
  <trackTopology>
    <trackBegin id="tb02" pos="0" absPos="500">..</trackBegin>
    <trackEnd id="te02" pos="500" absPos="1000">..</trackEnd>
  </trackTopology>
  <trackElements>
    ..
    <ownerChange id="och02" pos="0" absPos="500" 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> [4].

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="500" absPos="1000">..</trackEnd>
  </trackTopology>
  <trackElements>
    ..
    <ownerChange id="och01" pos="0" absPos="0" infrastructureManagerRef="ima01"/>
    <ownerChange id="och02" pos="500" absPos="500" infrastructureManagerRef="ima02" name="Bahnverw.grenze Bad Schandau Gr"/>
    ..
  </trackElements>
</track>

References