IS:topology

From railML 3 Wiki
Jump to: navigation, search

Introduction

Documentation

Syntax

Autoexport from the XML-Schema for element IS:topology of railML® version 3.2
Documentation container element for topology model
Subschema infrastructure
Parents* infrastructure
Children netElements (1..1), netRelations (0..1), networks (1..1)
Attributes:
None
*Notice:
Elements may have different parent elements. As a consequence they may be used in different contexts.
Please, consider this as well as a user of this wiki as when developing this documentation further.
Aspects that are only relevant with respect to one of several parents should be explained exclusively in the documentation of the respective parent element.

Autoexport from the XML-Schema for element IS:topology of railML® version 3.1
Documentation container element for topology model
Subschema infrastructure
Parents* infrastructure
Children netElements (1..1), netRelations (0..1), networks (1..1)
Attributes:
None
*Notice:
Elements may have different parent elements. As a consequence they may be used in different contexts.
Please, consider this as well as a user of this wiki as when developing this documentation further.
Aspects that are only relevant with respect to one of several parents should be explained exclusively in the documentation of the respective parent element.

Semantics

Best Practice / Examples

The structure of a railway track network is described by its topology. Topology defines how the tracks are connected with each other at switches and crossings and how the railway stations or operational points are connected via railway lines. Since all trains run on rails (tracks) and all relevant infrastructure elements are somehow situated in a defined relation on or next to the track, topology provides the basis for the location of static and dynamic elements in railways. Further, topology defines the possible ways of movement within the railway track network. The following figure shows how the railway track network is reduced to a microscopic and a more abstract mesoscopic topology model:

Topo bild.pdf

Microscopic Topology

The micro topology contains nine <netElement> objects, which are connected with each other by eleven <netRelation> objects. Altogether, the microscopic topology level network contains 20 <networkResource> objects. To better understand these concepts, the objects have human-readable IDs and references; it is strongly advised to use a generic number once applied to an actual project. The railML file shall look like this:

<infrastructure id="is_01">
    <topology>
      <netElements>
        <netElement id="ne_a01">
          <relation ref="nr_a01a02"/>
          <relation ref="nr_a01a03"/>
        </netElement>
        <netElement id="ne_a02">
          <relation ref="nr_a01a02"/>
          <relation ref="nr_a02a03"/>
        </netElement>
        <netElement id="ne_a03">
          <relation ref="nr_a01a03"/>
          <relation ref="nr_a02a03"/>
          <relation ref="nr_a03x01"/>
        </netElement>
        <netElement id="ne_b01">
          <relation ref="nr_b01b03"/>
          <relation ref="nr_b01b04"/>
        </netElement>
        <netElement id="ne_b02">
          <relation ref="nr_b02b04"/>
          <relation ref="nr_b02b05"/>
        </netElement>
        <netElement id="ne_b03">
          <relation ref="nr_b01b03"/>
          <relation ref="nr_b03b04"/>
          <relation ref="nr_x01b03"/>
        </netElement>
        <netElement id="ne_b04">
          <relation ref="nr_b01b04"/>
          <relation ref="nr_b02b04"/>
          <relation ref="nr_b03b04"/>
          <relation ref="nr_b04b05"/>
        </netElement>
        <netElement id="ne_b05">
          <relation ref="nr_b02b05"/>
          <relation ref="nr_b04b05"/>
        </netElement>
        <netElement id="ne_x01">
          <relation ref="nr_a03x01"/>
          <relation ref="nr_x01b03"/>
        </netElement>
      </netElements>
 
      <netRelations>
        <netRelation id="nr_a01a02" positionOnA="1" positionOnB="1" navigability="None">
          <elementA ref="ne_a01"/>
          <elementB ref="ne_a02"/>
        </netRelation>
        <netRelation id="nr_a01a03" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_a01"/>
          <elementB ref="ne_a03"/>
        </netRelation>
        <netRelation id="nr_a02a03" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_a02"/>
          <elementB ref="ne_a03"/>
        </netRelation>
        <netRelation id="nr_b01b03" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b01"/>
          <elementB ref="ne_b03"/>
        </netRelation>
        <netRelation id="nr_b01b04" positionOnA="0" positionOnB="0" navigability="None">
          <elementA ref="ne_b01"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b02b04" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b02"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b02b05" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b02"/>
          <elementB ref="ne_b05"/>
        </netRelation>
        <netRelation id="nr_b03b04" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_b03"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b04b05" positionOnA="1" positionOnB="1" navigability="None">
          <elementA ref="ne_b04"/>
          <elementB ref="ne_b05"/>
        </netRelation>
        <netRelation id="nr_a03x01" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_a03"/>
          <elementB ref="ne_x01"/>
        </netRelation>
        <netRelation id="nr_x01b03" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_x01"/>
          <elementB ref="ne_b03"/>
        </netRelation>
      </netRelations>
   
      <networks>
        <network id="nw01">
          <level id="lv0" descriptionLevel="Micro">
            <networkResource ref="ne_a01"/>
            <networkResource ref="ne_a02"/>
            <networkResource ref="ne_a03"/>
            <networkResource ref="ne_b01"/>
            <networkResource ref="ne_b02"/>
            <networkResource ref="ne_b03"/>
            <networkResource ref="ne_b04"/>
            <networkResource ref="ne_b05"/>
            <networkResource ref="ne_x01"/>
            <networkResource ref="nr_a01a02"/>
            <networkResource ref="nr_a01a03"/>
            <networkResource ref="nr_a02a03"/>
            <networkResource ref="nr_b01b03"/>
            <networkResource ref="nr_b01b04"/>
            <networkResource ref="nr_b02b04"/>
            <networkResource ref="nr_b02b05"/>
            <networkResource ref="nr_b03b04"/>
            <networkResource ref="nr_b04b05"/>
            <networkResource ref="nr_a03x01"/>
            <networkResource ref="nr_x01b03"/>
          </level>
        </network>
      </networks>
    </topology>
  </infrastructure>

Mesoscopic Topology

The mesoscopic/macroscopic topology implements the line view of the railway network. All tracks within an operational point are grouped together. The same is done for all the tracks that belong to one section of line between the operational points. This means for our simple example: the macro topology contains three <netElement> objects connected with each other by two <netRelation> objects. Altogether, the mesoscopic topology level network contains five <networkResource> objects. The aggregation between microscopic and mesoscopic topology levels is realized via element collections. In particular, the mesoscopic <netElement> object references the microscopic <netElement> objects as element parts. The railML syntax for resulting mesoscopic topology shall look like this:

 <infrastructure id="is_01">
    <topology>
      <netElements>
        ...
        <netElement id="ne_a11">
          <relation ref="nr_a11x11"/>
          <elementCollectionUnordered id="ne_a11_ecu01">
            <elementPart ref="ne_a01"/>
            <elementPart ref="ne_a02"/>
            <elementPart ref="ne_a03"/>
          </elementCollectionUnordered>
        </netElement>
        <netElement id="ne_b11">
          <relation ref="nr_x11b11"/>
          <elementCollectionUnordered id="ne_b11_ecu01">
            <elementPart ref="ne_b01"/>
            <elementPart ref="ne_b02"/>
            <elementPart ref="ne_b03"/>
            <elementPart ref="ne_b04"/>
            <elementPart ref="ne_b05"/>
          </elementCollectionUnordered>
        </netElement>
        <netElement id="ne_x11">
          <relation ref="nr_a11x11"/>
          <relation ref="nr_x11b11"/>
          <elementCollectionOrdered id="ne_x11_ecu01">
            <elementPart ref="ne_x01"/>
          </elementCollectionOrdered>
        </netElement>
      </netElements>
 
      <netRelations>
        ...
        <netRelation id="nr_a11x11" positionOnA="0" positionOnB="0" navigability="Both">
          <elementA ref="ne_a11"/>
          <elementB ref="ne_x11"/>
        </netRelation>
        <netRelation id="nr_x11b11" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_x11"/>
          <elementB ref="ne_b11"/>
        </netRelation>
      </netRelations>
   
      <networks>
        <network id="nw01">
          ...
          <level id="lv1" descriptionLevel="Meso">
            <networkResource ref="ne_a11"/>
            <networkResource ref="ne_b11"/>
            <networkResource ref="ne_x11"/>
            <networkResource ref="nr_a11x11"/>
            <networkResource ref="nr_x11b11"/>
          </level>
        </network>
      </networks>
    </topology>  
  </infrastructure>

When the railway track network topology modelling is finished, the next step is to define a linear referencing system that can be used to provide a spatial dimension to the topology elements.

Additional Information

Notes

Open Issues