IS:line

From railML 3 Wiki
Jump to navigation Jump to search

Introduction

Documentation

Syntax

Autoexport from the XML-Schema for element IS:line of railML® version 3.2
Documentation A line is a sequence of one or more line sections forming a route, which connects operational points and which may consist of several tracks used for regular railway operation.
Subschema infrastructure
Parents* lines
Children areaLocation (0..*), beginsInOP (0..1), designator (0..*), endsInOP (0..1), external (0..*), gmlLocations (0..*), isValid (0..*), length (0..*), lineCombinedTransportCode (0..*), lineLayout (0..1), lineOperation (0..1), linePerformance (0..1), lineTrafficCode (0..*), linearLocation (0..*), name (0..*), networkLocation (0..*), spotLocation (0..*), typeDesignator (0..*)
Attributes:
  • basedOnTemplate: reference to a generic line (section) (optional; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • belongsToParent: reference to the (one and only) parent line (section)

    - if some information exists in parent and child, then information in child overwrites it in child

    - if some information exists only in parent, then child inherits this information from parent (optional; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • infrastructureManagerRef: reference to the infrastructure manager who owns the line (section) (see common/organizationalUnits) (optional; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • lineCategory: the category of the line according to the EU regulation EN 15528 (A, B1, B2, C2, ..., E5; other national values are also possible) (optional; xs:string; patterns: other:w{2,})
Possible values:
  • A: axle load: 16.0 t, meter load: 5.0 t/m
  • B1: axle load: 18.0 t, meter load: 5.0 t/m
  • B2: axle load: 18.0 t, meter load: 6.4 t/m
  • C2: axle load: 20.0 t, meter load: 6.4 t/m
  • C3: axle load: 20.0 t, meter load: 7.2 t/m
  • C4: axle load: 20.0 t, meter load: 8.0 t/m
  • D2: axle load: 22.5 t, meter load: 6.4 t/m
  • D3: axle load: 22.5 t, meter load: 7.2 t/m
  • D4: axle load: 22.5 t, meter load: 8.0 t/m
  • D4xL: only valid for locomotives
  • E4: axle load: 25.0 t, meter load: 8.0 t/m
    only valid for freight cars
  • E5: axle load: 25.0 t, meter load: 8.8 t/m
    only valid for freight cars,

  • lineType: this attribute is for distinguishing between main line and branch lines (optional; xs:string)
Possible values:
  • branchLine: A branch line is a railway line which branches off a more important through route, usually a main line. These lines have mainly local traffic only, lower speeds and lower equipment criteria.
  • mainLine: A main line is an important section of a railway network, which connects cities or hubs and does serve high(er) speed passenger, larger cargo or suburban trains. Normally these lines are equipped with signals, train protection systems and allow higher speeds and axle loads,

  • id: the identifier of the object; this can be either of type xs:ID or UUID (obligatory; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}); compare: Dev:Identities
*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:line of railML® version 3.1
Documentation A line is a sequence of one or more line sections forming a route, which connects operational points and which may consist of several tracks used for regular railway operation.
Subschema infrastructure
Parents* lines
Children any (0..*), areaLocation (0..*), beginsInOP (0..1), designator (0..*), endsInOP (0..1), external (0..*), gmlLocations (0..*), isValid (0..*), length (0..*), lineCombinedTransportCode (0..*), lineLayout (0..1), linePerformance (0..1), lineTrafficCode (0..*), linearLocation (0..*), name (0..*), networkLocation (0..*), spotLocation (0..*)
Attributes:
  • infrastructureManagerRef: reference to the infrastructure manager who owns the line (section) (see common/organizationalUnits) (optional; xs:IDREF; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • lineCategory: the category of the line according to the EU regulation EN 15528 (A, B1, B2, C2, ..., E5; other national values are also possible) (optional; xs:string; patterns: other:w{2,})
Possible values:
  • E5: axle load: 25.0 t, meter load: 8.8 t/m

only valid for freight cars

  • E4: axle load: 25.0 t, meter load: 8.0 t/m

only valid for freight cars

  • D4xL: only valid for locomotives
  • D4: axle load: 22.5 t, meter load: 8.0 t/m
  • D3: axle load: 22.5 t, meter load: 7.2 t/m
  • D2: axle load: 22.5 t, meter load: 6.4 t/m
  • C4: axle load: 20.0 t, meter load: 8.0 t/m
  • C3: axle load: 20.0 t, meter load: 7.2 t/m
  • C2: axle load: 20.0 t, meter load: 6.4 t/m
  • B2: axle load: 18.0 t, meter load: 6.4 t/m
  • B1: axle load: 18.0 t, meter load: 5.0 t/m
  • A: axle load: 16.0 t, meter load: 5.0 t/m,

  • lineType: this attribute is for distinguishing between main line and branch lines (optional; xs:string)
Possible values:
  • branchLine: A branch line is a railway line which branches off a more important through route, usually a main line. These lines have mainly local traffic only, lower speeds and lower equipment criteria.
  • mainLine: A main line is an important section of a railway network, which connects cities or hubs and does serve high(er) speed passenger, larger cargo or suburban trains. Normally these lines are equipped with signals, train protection systems and allow higher speeds and axle loads,

  • belongsToParent: reference to the (one and only) parent line (section) (optional; xs:IDREF; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • basedOnTemplate: reference to a generic line (section) (optional; xs:IDREF; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • id: the identifier of the object; this can be either of type xs:ID or UUID (obligatory; xs:ID; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}); compare: Dev:Identities
*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

The children have changed.

The attributes have been changed.

Semantics

Private-cloud-icon.png Proposed Semantic Constraint "IS:006":
 
each line with own mileage should always be associated with its own <linearPositioningSystem>, i.e. Advanced example of railML has three lines with their own mileages, thus should have thee <linearPositioningSystem>s.

Compare #xxx


 
Proposed on February 26th 2021
Discuss this semantic constraint
Please, recognize our guidelines on semantic constraints


Best Practice / Examples

The Simple Example contains one railway line, which connects the two operational points defined in the previous section. This railway line is specified as being a main line, and its line category according to the EU regulation EN 15528 is set to "other:CE". Further, the two operation control points are referenced by the line. Like the operational point, a <line> can have several names given in the child element <name>.

  <infrastructure id="is_01">
    <functionalInfrastructure>
      <lines>
        <line id="lin01" lineCategory="other:CE" lineType="mainLine" infrastructureManagerRef="im_01">
          <name name="Malý příklad železniční tratě" language="cz"/>
          <name name="Kleine Beispielstrecke" language="de"/>
          <name name="Simple Example railway line" language="en"/>
          <name name="Ejemplo Simple de Linea Ferroviaria" language="es"/>
          <name name="Petit Exemple Ligne Ferroviaire" language="fr"/>
          <name name="Semplice Esempio di Stazione/Linea Ferroviaria" language="it"/>
          <name name="Små eksempel på jernbanelinjen" language="no"/>
          <name name="Lilla Exempellinjen" language="se"/>
          <beginsInOP ref="opp01"/>
          <endsInOP ref="opp02"/>
        </line>
      </lines>
      ...
    </functionalInfrastructure>
  </infrastructure>

The railway line is owned by the infrastructure manager referenced via the attribute @infrastructureManagerRef. The infrastructure manager is a typical organizational unit in railways and can be found in the <common> section. The attribute <infrastructureManager>@code points to a value in the railML codelist InfrastructureManagers.xml where many national and regional infrastructure managers are listed. If you cannot find the infrastructure manager that is of interest to you in the list, please contact railML.org so that it can be easily added to the code list.

  <common id="co_01">
    <organizationalUnits>
      <infrastructureManager id="im_01" code="SZDC"/>
    </organizationalUnits>
  </common>

The railway line is connected with the line positioning reference system via a <linearLocation> element. Since the line spans over three mesoscopic <netElement> objects, the <linearLocation> contains three <associatedNetElement> child elements, which provide the reference to the topology layer. Please note, that in the specific example the anchor locations on the <netElement> objects are not given by the “intrinsic coordinates”, but by linear coordinates of positioning system “lps01” referenced by the child elements <linearCoordinateBegin> and <linearCoordinateEnd>. All three <netElement> objects are fully covered by the <line>. The resulting description of the railway line looks like this:

      <lines>
        <line id="lin01" lineCategory="other:CE" lineType="mainLine" infrastructureManagerRef="im_01">
          ...
          <linearLocation id="lin01_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="0.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_x11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_b11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="5000.0"/>
            </associatedNetElement>
          </linearLocation>
          ...
        </line>
      </lines>

Suppose you want to make use of the intrinsic coordinates instead. In that case, you may leave out the linear positioning coordinates. Due to the linking of both coordinate systems in the <topology>, one coordinate can be derived from the other by calculation. The <netElement> instances "a11" and "b11" are non-linear and therefore have only an intrinsic coordinate "0". The intrinsic coordinates of linear <netElement> "x11" range from "0" to "1". The resulting source code contains the same information about the location of the <line> like the previous code snippet:

      <lines>
        <line id="lin01" lineCategory="other:CE" lineType="mainLine" infrastructureManagerRef="im_01">
          ...
          <linearLocation id="lin01_lloc01" applicationDirection="both">
            <associatedElement netElementRef="ne_a11" intrinsicCoordBegin="0" intrinsicCoordEnd="0" keepsOrientation="true"/>
            <associatedElement netElementRef="ne_x11" intrinsicCoordBegin="0" intrinsicCoordEnd="1" keepsOrientation="true"/>
            <associatedElement netElementRef="ne_b11" intrinsicCoordBegin="0" intrinsicCoordEnd="0" keepsOrientation="true"/>
          </linearLocation>
          ...
        </line>
      </lines>

The child element <lineLayout> can be used to describe the general layout of the line, e.g. characterising it as a single track line. The child element <linePerformance> is a container element to collect performance parameters of the railway line, e.g. the maximum line speed. Further, you may reference <loadingGauge> elements that define the allowed loading gauge on the railway line. The maximum allowed axle load or meterload is another line performance parameter that is not modelled in the Simple Example. The resulting code snippet for the <line> looks like this:

  <lines>
        <line id="lin01" lineCategory="other:CE" lineType="mainLine" infrastructureManagerRef="im_01">
          <name name="Malý příklad železniční tratě" language="cz"/>
          <name name="Kleine Beispielstrecke" language="de"/>
          <name name="Simple Example railway line" language="en"/>
          <name name="Ejemplo Simple de Linea Ferroviaria" language="es"/>
          <name name="Petit Exemple Ligne Ferroviaire" language="fr"/>
          <name name="Semplice Esempio di Stazione/Linea Ferroviaria" language="it"/>
          <name name="Små eksempel på jernbanelinjen" language="no"/>
          <name name="Lilla Exempellinjen" language="se"/>
          <linearLocation id="lin01_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="0.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_x11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_b11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="5000.0"/>
            </associatedNetElement>
          </linearLocation>
          <beginsInOP ref="opp01"/>
          <endsInOP ref="opp02"/>
          <lineLayout numberOfTracks="single"/>
          <linePerformance usablePlatformLength="200" maxSpeed="80">
            <allowedLoadingGauge ref="log01"/>
          </linePerformance>
        </line>
      </lines>
Please note

The <linePerformance>, like any other elements with measurement attributes, has a specific unit given by its datatype. (i.e. @maxSpeed uses the km/h unit) The datatype of all attributes can be pulled out from the schema on railML.org.

Additional Information

Notes

Open Issues