CO:positioning: Difference between revisions

From railML 3 Wiki
Jump to navigation Jump to search
[unchecked revision][checked revision]
Line 157: Line 157:
=={{Additional Information}}==
=={{Additional Information}}==
==={{Notes}}===
==={{Notes}}===
;References
<references />
==={{Open issues}}===
==={{Open issues}}===

Revision as of 14:16, 19 September 2021

Introduction

Documentation

Syntax

Autoexport from the XML-Schema for element CO:positioning of railML® version 3.2
Documentation This is the top level element for railML3 positioning and coordinate systems model.
Subschema common
Parents* common
Children geometricPositioningSystems (0..1), linearPositioningSystems (0..1), screenPositioningSystems (0..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 CO:positioning of railML® version 3.1
Documentation This is the top level element for railML3 positioning and coordinate systems model.
Subschema common
Parents* common
Children geometricPositioningSystems (0..1), linearPositioningSystems (0..1), screenPositioningSystems (0..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

Positioning Systems

A positioning system provides a coordinate reference system for the spatial identification of objects. Almost all railway infrastructure components have such a spatial identification, either in a global context with their GPS coordinates or in a railway line context with a relative position along a railway track or line. Apart from infrastructure elements, railway vehicles and trains may also have a (dynamic) spatial identification. Although not being modelled with this first version of railML 3.x, the location of these moving objects is defined based on the same coordinate reference systems. Thus, positioning systems are not specific for infrastructure and consequently shall be modelled in the <common> domain:

  <common id="co_01">
    <positioning>
      ...
    </positioning>
  </common>

Associated Positioning System

The railway network topology defined by the <netElement> objects needs to be linked with a positioning reference system. In particular, every <netElement> object must have a child element <associatedPositioningSystem>. It is used to locate infrastructure elements within the topology network.

For the mesoscopic topology, it is recommended to use the classic railway line positioning system consisting of a line identifier and a kilometre value. The Simple Example railway line has a length of five kilometres. As a first step, we define the kilometre values for the borders of the operational points. The location of the entrance signal has been chosen to define these borders. Consequently, the operational point defined by the mesoscopic non-linear <netElement> “a11” spans from kilometre 0.000 to kilometre 0.700. At the other end of the line, the operational point defined by the mesoscopic non-linear <netElement> "b11" covers the area from kilometre 4.300 to kilometre 5.000. The railway line between the two operational points is modelled as linear <netElement> "x11" starting in kilometre 0.700 and ending in kilometre 4.300. The following figure depicts the relevant kilometre values.

COpositioning.pdf

The railML implementation foresees a separation between the definition of the coordinate reference system and the coordinates themselves. At first, we define the linear coordinate reference system defined by the classic railway line positioning system: The railway line has the name "6869" and it ranges from kilometre 0.0 to kilometre 5.0.

  <common id="co_01">
    ...  
    <positioning>
      <linearPositioningSystems>
        <linearPositioningSystem id="lps01" units="m" startMeasure="0.0" endMeasure="5000.0" linearReferencingMethod="absolute">
          <name name="railway line 6869 mileage" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </linearPositioningSystem>
      </linearPositioningSystems>
    </positioning>
  </common>
Please note

Although the attribute @units allows you to define any possible unit for measuring your linear coordinates, it is strongly recommended to use SI unit "m" for meters. The values fixed in attributes @startMeasure and @endMeasure must be given in the defined unit.

At second, we list the coordinates linked with the borders of our mesoscopic topology <netElement> objects by using the child element <associatedPositioningSystem>. Each coordinate then references the linear positioning system that has been defined before.

  <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>
          <associatedPositioningSystem id="ne_a11_aps01">
            <intrinsicCoordinate id="ne_a11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="0.0" positioningSystemRef="lps01"/>
              <linearCoordinate measure="700.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
         </associatedPositioningSystem>
        </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>
          <associatedPositioningSystem id="ne_b11_aps01">
            <intrinsicCoordinate id="ne_b11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="4300.0" positioningSystemRef="lps01"/>
              <linearCoordinate measure="5000.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_x11">
          <relation ref="nr_a11x11"/>
          <relation ref="nr_x11b11"/>
          <elementCollectionUnordered id="ne_x11_ecu01">
            <elementPart ref="ne_x01"/>
          </elementCollectionUnordered>
          <associatedPositioningSystem id="ne_x11_aps01">
            <intrinsicCoordinate id="ne_x11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="700.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_x11_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate measure="4300.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
      </netElements>
      ...
    </topology>  
  </infrastructure>
Please note
  1. The <linearPositioningSystem> like any other positioning system is defined in the <common> domain, and referenced from elements in <infrastructure> domain.
  2. The <associatedPositioningSystem> is only connected to <netElement> objects. The connecting <netRelation> objects are dimensionless and therefore have neither a length nor coordinates.
  3. A <netElement> may have more than one <associatedPositioningSystem>. They are either types of linear or geometric positioning systems and need to be defined under the <positioning> element in the <common> container.

Linear Positioning System

A linear positioning system is a positioning system where a "line of reference" together with a single number allows defining a location within a railway network (cp. [1]). The "line of reference" is represented with a line or track number and a start mileage/kilometre, and an end mileage/kilometre.

In the Simple Example, the line reference system providing the kilometre values along the line is modelled as a linear positioning system.

Geometric Positioning System

A schematic positioning system defines a schematic, geographic or geodetic coordinate reference system, which is used to position <netElement> instances or other railway infrastructure element instances (cp. [1]). A geometric positioning system can often be defined via its EPSG code (cf. [2]).

No geometric coordinate systems are being used within the Simple Example because the described line from Bf Arnau to Bf Cstadt is purely artificial and not located anywhere on the earth's surface.

Length of Topology elements

Extending the pure topology concept of RailTopoModel, railML 3.1 allows to define <netElement> elements with a certain length. This extension is based on the assumption that railML topology is used for describing either a track or a line network. In any case, it describes something that has a spatial dimension. Consequently, linear <netElement> instances shall have a length of their physical implementation.

This means for the Simple Example: <netElement> objects that model tracks on microscopic level should have the physical length of the tracks (in meters). The related source code looks like this:

    <topology>
      <netElements>
        <netElement id="ne_a01" length="500.0">
          ...
        </netElement>
        <netElement id="ne_a02" length="500.0">
          ...
        </netElement>
        <netElement id="ne_a03" length="200.0">
          ...
        </netElement>
        <netElement id="ne_b01" length="500.0">
          ...
        </netElement>
        <netElement id="ne_b02" length="450.0">
          ...
        </netElement>
        <netElement id="ne_b03" length="200.0">
          ...
        </netElement>
        <netElement id="ne_b04" length="50.0">
          ...
        </netElement>
        <netElement id="ne_b05" length="200.0">
          ...
        </netElement>
        <netElement id="ne_x01" length="3600.0">
          ...
        </netElement>
        ...
      </netElements>
      ...
    </topology>

Additional Information

Notes

References
  1. 1.0 1.1 The Railway Technical Website: Infrastructure. (external link, visited on November 27th 2017)
  2. tutorialspoint: XML Tutorial. (external link, visited on April 23rd 2019)

Open Issues