Autoexport from the XML-Schema for element IS:overCrossing of railML® version 3.3 | |
| Description | structure, where something crosses over the railway line. From constructional point of view an over crossing can be a bridge or a tunnel. |
| Subschema | infrastructure |
| Parents* | |
| Children |
name (0..*), isValid (0..*), areaLocation (0..*), linearLocation (0..*), spotLocation (0..*), gmlLocation (0..*), networkLocation (0..*), designator (0..*), typeDesignator (0..*), elementState (0..*), crossesElement (0..*), allowedLoadingGauge (0..*), length (0..*), tunnelResistance (0..1) |
Attributes:
| |
| *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. | |
IS:overCrossing
Introduction
-
Overcrossing at St. Gallen railway station (
) -
The northern end of the emergency-stop Sedrun railway station (
) in the eastern tube of Gotthard_Base_Tunnel (
). » Read more.Here starts a left turn. Switzerland, Sep 15, 2016. (26/26) SBB (link to the railML® website) - Gotthard Base Tunnel (
) GBT. The northern end of the emergency-stop Sedrun railway station (
) in the eastern tube. (26/26)
Documentation
Syntax
Autoexport from the XML-Schema for element IS:overCrossing of railML® version 3.2 | |
| Description | An over crossing describes a crossing, where something crosses over the railway line. From constructional point of view an over crossing can be a bridge or a tunnel. |
| Subschema | infrastructure |
| Parents* | |
| Children |
name (0..*), isValid (0..*), areaLocation (0..*), linearLocation (0..*), spotLocation (0..*), gmlLocations (0..*), networkLocation (0..*), designator (0..*), external (0..*), typeDesignator (0..*), crossesElement (0..*), allowedLoadingGauge (0..*), length (0..*) |
Attributes:
| |
| *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:overCrossing of railML® version 3.1 | |
| Description | An over crossing describes a crossing, where something crosses over the railway line. From constructional point of view an over crossing can be a bridge or a tunnel. |
| Subschema | infrastructure |
| Parents* | |
| Children |
name (0..*), isValid (0..*), areaLocation (0..*), linearLocation (0..*), spotLocation (0..*), gmlLocations (0..*), networkLocation (0..*), designator (0..*), external (0..*), crossesElement (0..*), allowedLoadingGauge (0..*), length (0..*), any (0..*) |
Attributes:
| |
| *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. | |
Changes 3.1→3.2
There exists an overview of all changes between railML® 3.1 and railML® 3.2 on page Dev:Changes/3.2.
The children have been changed.
The attributes have been changed.
Changes 3.2→3.3
There exists an overview of all changes between railML® 3.2 and railML® 3.3 on page Dev:Changes/3.3.
The element documentation has been changed.
The children have been changed.
The attributes have been changed.
Semantics
Some basic modelling rules:
- It is possible to refer to an arbitrary number of <crossesElement> from one xCrossing (link to the railML® website)
- the constructional realization (bridge or tunnel) of the xCrossing is implemented as attribute and shall not be included in the name of the <functionalInfrastructure>
- if "something" crosses under the railway track/line, it shall be named an <underCrossing>
- if "something" crosses over the railway track/line, it shall be named an <overCrossing>
- if "something" crosses the railway track/line at same level (usually only roads, streets and ways), it shall be named <levelCrossingIS>
Best Practice / Examples
General approach
| Example |
in railML® 3 a railway <track> crossing another railway <track> via a bridge can be modelled using the elements <overCrossing> and <underCrossing> [1].
Assume that in the following example, as in the image above, <track> A passes over <track> B (whereas A and B shall be the IDs of <netElement>).
<overcrossing id="ocr1" constructionType="bridge"> <spotLocation netElementRef="B" ... /> <crossesElement type="railway" ref="A" ... /> </overcrossing> ... <underCrossing id="ucr1" constructionType="bridge"> <spotLocation netElementRef="A" ... /> <crossesElement type="railway" ref="B" ... /> </underCrossing>
Tunnel on a single- vs. double-track line
Introduction
| Variant | Variant1 | Variant2a | Variant2b | Variant3 |
|---|---|---|---|---|
| Modelling | 1 tunnel ; 1 areaLocation | 1 tunnel ; 2 linearLocation (per track) | 2 tunnels + 1 parent tunnel ; 2 linearLocation (per tunnel) | 1 tunnel ; 1 linearLocation |
Please see real world example of:
- variant 1 at Tatenice (external link)
- variant 2 at NBS Erfurt – Leipzig (external link).
- variant 3 at Tunnel Füllbach (external link)
Code examples
Overview
| Variant1 vs Variant2a | Variant2a vs Variant2b | Variant2b vs Variant3 | Variant1 vs Invalid variant |
Variant 1
<overCrossing id="ov01" constructionType="tunnel">
<areaLocation id="ov01_aloc01">
<associatedNetElement netElementRef="x0.4" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
<associatedNetElement netElementRef="x0.5" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</areaLocation>
<areaLocation id="ov01_aloc02">
<associatedNetElement netElementRef="x1.4" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
<associatedNetElement netElementRef="x1.5" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</areaLocation>
<areaLocation id="ov01_aloc03">
<associatedNetElement netElementRef="x2.2" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</areaLocation>
</overCrossing>
Variant 2a
<overCrossing id="lc01" constructionType="tunnel">
<linearLocation id="lc01_lloc01"
applicationDirection="both">
<associatedNetElement netElementRef="x0.4" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01"
measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01"
measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc01_lloc02"
applicationDirection="both">
<associatedNetElement netElementRef="x0.5" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01"
measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01"
measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc01_lloc03"
applicationDirection="both">
<associatedNetElement netElementRef="x1.4" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01"
measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01"
measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc01_lloc04"
applicationDirection="both">
<associatedNetElement netElementRef="x1.5" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01"
measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01"
measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc01_lloc05"
applicationDirection="both">
<associatedNetElement netElementRef="x2.2" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01"
measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01"
measure="10250.0"/>
</associatedNetElement>
</linearLocation>
</overCrossing>
Variant 2b
<overCrossing id="lc01" belongsToParent="lc03" constructionType="tunnel">
<linearLocation id="lc01_lloc01" applicationDirection="both">
<associatedNetElement netElementRef="x0.4" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc01_lloc03" applicationDirection="both">
<associatedNetElement netElementRef="x1.4" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc01_lloc05" applicationDirection="both">
<associatedNetElement netElementRef="x2.2" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
</overCrossing>
<overCrossing id="lc02" belongsToParent="lc03" constructionType="tunnel">
<linearLocation id="lc02_lloc02" applicationDirection="both">
<associatedNetElement netElementRef="x0.5" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc02_lloc04" applicationDirection="both">
<associatedNetElement netElementRef="x1.5" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc02_lloc05" applicationDirection="both">
<associatedNetElement netElementRef="x2.2" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
</overCrossing>
<overCrossing id="lc03" constructionType="tunnel"/>
Variant 3
<overCrossings>
<overCrossing id="lc01" constructionType="tunnel">
<linearLocation id="lc01_lloc01" applicationDirection="both">
<associatedNetElement netElementRef="x0.4" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc01_lloc03" applicationDirection="both">
<associatedNetElement netElementRef="x1.4" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc01_lloc05" applicationDirection="both">
<associatedNetElement netElementRef="x2.2" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
</overCrossing>
Invalid variant
<overCrossing id="lc01" constructionType="tunnel">
<linearLocation id="lc01_lloc01" applicationDirection="both">
<associatedNetElement netElementRef="x0.4" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
<associatedNetElement netElementRef="x0.5" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc01_lloc02" applicationDirection="both">
<associatedNetElement netElementRef="x1.4" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
<associatedNetElement netElementRef="x1.5" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
<linearLocation id="lc01_lloc03" applicationDirection="both">
<associatedNetElement netElementRef="x2.2" keepsOrientation="true">
<linearCoordinateBegin positioningSystemRef="lps01" measure="7950.0"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="10250.0"/>
</associatedNetElement>
</linearLocation>
</overCrossing>
Additional Information
-
Overcrossing in Paris
Notes
See photos in <crossesElement> for sharpening the conceptualization (understanding) of the definition of this element.
Additional Information
|
Semantics section was requested by [tickets 1].
Examples were reviewed by the coordinator (link to the railML® website) of the Infrastructure subschema on 2025-11-11.
Open Issues
References
- ↑ Modelling of bridges railML® forum post (link to the railML® website)




