IS:gradientCurve

From railML 3 Wiki
Jump to navigation Jump to search

Introduction

The term track gradient is relative elevation of the two rails along the track. This can be expressed in the distance traveled horizontally for a rise of one unit, or in terms of an angle of inclination or a percentage difference in elevation for a given distance of the track.

The allowable gradients may be based on the ruling gradient which is the maximum gradient over which a tonnage train can be hauled with one locomotive. In some countries, momentum gradient which is a steeper but shorter gradient may be allowed. This is usually when a track gradient connects to a leveled tangent track long enough and with no signal between them such that a train can build momentum to push through a steeper grade than it can without the momentum gained on the leveled tangent track.

In curved track (with or without cant), there will be curve resistance to push the trains through the curve. The allowable gradients may be reduced on curves to compensate for the extra curve resistance. The gradient should be uniform along the track [1].

Track gradient.svg
Track gradient

Documentation

Syntax

Autoexport from the XML-Schema for element IS:gradientCurve of railML® version 3.3
    
Documentation with a gradientCurve the ascent and descent of a track can be described.
Subschema infrastructure
Parents*

gradientCurves

Children

areaLocation (0..*), beginsInGeometryPoint (0..1), endsInGeometryPoint (0..1), gmlLocation (0..*), isValid (0..*), linearLocation (0..*), name (0..*), networkLocation (0..*), spotLocation (0..*)

Attributes:
  • curveType: type of vertical curve, e.g. arc or straight (obligatory; xs:string)
Possible values:
  • arc: curve, that link two (e.g. straight) elements of gradient profile of a railway track, with a constant radius that is not infinite
  • mixed: an aggregated curve with arcs and straight parts
  • straight: curve with constant infinite radius (zero curvature),

  • deltaGradient: change of gradient of the gradient curve in per mille;
    use this attribute if the gradient value of the gradient curve is not constant, but changing;
    the delta gradient shall be calculated as difference of gradient at the end and gradient at the beginning of the gradient curve (optional; xs:decimal),

  • gradient: constant gradient of the gradient curve in per mille;
    positive values indicate an upward slope (rise), negative values indicate a downward slope (fall) (optional; xs:decimal),

  • length: length of the gradient curve in metres;
    use this attribute in particular to define the arc length (optional; xs:decimal),

  • radius: radius of the gradient curve in metres;
    use negative values to describe the arc curve of a valley and use positive values to describe the arc curve of a hill (optional; xs:decimal),

  • id: the identifier of the object; this can be either of type xs:ID or UUID (obligatory; xs:ID); 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:gradientCurve of railML® version 3.2
    
Documentation vertical alignment of railway track
Subschema infrastructure
Parents*

gradientCurves

Children

areaLocation (0..*), beginsInGeometryPoint (0..1), endsInGeometryPoint (0..1), gmlLocations (0..*), isValid (0..*), linearLocation (0..*), name (0..*), networkLocation (0..*), spotLocation (0..*)

Attributes:
  • curveType: type of vertical curve, e.g. arc or straight (obligatory; xs:string)
Possible values:
  • arc: curve, that link two (e.g. straight) elements of gradient profile of a railway track, with a constant radius that is not infinite
  • mixed: an aggregated curve with arcs and straight parts
  • straight: curve with constant infinite radius (zero curvature),

  • deltaGradient: change of gradient of the gradient curve in per mille;
    use this attribute if the gradient value of the gradient curve is not constant, but changing;
    the delta gradient shall be calculated as difference of gradient at the end and gradient at the beginning of the gradient curve (optional; xs:decimal),

  • gradient: constant gradient of the gradient curve in per mille;
    positive values indicate an upward slope (rise), negative values indicate a downward slope (fall) (optional; xs:decimal),

  • length: length of the gradient curve in metres;
    use this attribute in particular to define the arc length (optional; xs:decimal),

  • radius: radius of the gradient curve in metres;
    use negative values to describe the arc curve of a valley and use positive values to describe the arc curve of a hill (optional; xs:decimal),

  • 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:gradientCurve of railML® version 3.1
    
Documentation This element is not documented in the schema!
Subschema infrastructure
Parents*

gradientCurves

Children

any (0..*), areaLocation (0..*), beginsInGeometryPoint (0..1), endsInGeometryPoint (0..1), gmlLocations (0..*), isValid (0..*), linearLocation (0..*), name (0..*), networkLocation (0..*), spotLocation (0..*)

Attributes:
  • curveType: type of vertical curve, e.g. arc or straight (obligatory; xs:string)
Possible values:
  • mixed: an aggregated curve with arcs and straight parts
  • straight: curve with constant infinite radius (zero curvature)
  • arc: curve with a constant radius that is not infinite,

  • gradient: constant gradient of the gradient curve in per million;

positive values indicate an upward slope (rise), negative values indicate a downward slope (fall) (optional; xs:decimal),

  • deltaGradient: change of gradient of the gradient curve in per million;

use this attribute if the gradient value of the gradient curve is not constant, but changing; the delta gradient shall be calculated as difference of gradient at the end and gradient at the beginning of the gradient curve (optional; xs:decimal),

  • radius: radius of the gradient curve in metres;

use negative values to describe the arc curve of a valley and use positive values to describe the arc curve of a hill (optional; xs:decimal),

  • length: length of the gradient curve in metres;

use this attribute in particular to define the arc length (optional; xs:decimal),

  • 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

There exists an overview of all changes between railML® 3.1 and railML® 3.2 on page Dev:Changes/3.2.

The element documentation has been changed.

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

Best Practice / Examples

🗒️ This is a draft.  
Timeline.svg This content is only valid for version(s) 3.2  

Figures are provided by railML.org e.V. partner Jernbanedirektoratet (link to the railML® website)

Modelling vertical alignment without curves of type arc

Modelling vertical alignment with curves of type arc

Short average gradients valid file example

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<railML xmlns="https://www.railml.org/schemas/3.2"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:gml4rail3="https://www.railml.org/schemas/3.2/gml"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        version="3.2"
        xsi:schemaLocation="https://www.railml.org/schemas/3.2 https://www.railml.org/schemas/3.2/railml3.xsd">
	<common id="co_01">
		<positioning>
			<linearPositioningSystems>
				<linearPositioningSystem id="lps01"
				                         linearReferencingMethod="absolute"
				                         startMeasure="950.0"
				                         endMeasure="3000.0"
				                         units="m">
					<isValid/>
				</linearPositioningSystem>
			</linearPositioningSystems>
		</positioning>
	</common>
	<infrastructure id="is_01">
		<topology>
			<netElements>
				<netElement id="ne_1">
					<associatedPositioningSystem id="ne_1_aps01">
						<intrinsicCoordinate id="ne_1_aps01_ic1"
						                     intrinsicCoord="0.0">
							<linearCoordinate measure="950.0"
							                  positioningSystemRef="lps01"/>
						</intrinsicCoordinate>
						<intrinsicCoordinate id="ne_1_aps01_ic2"
						                     intrinsicCoord="1.0">
							<linearCoordinate measure="1320.0"
							                  positioningSystemRef="lps01"/>
						</intrinsicCoordinate>
					</associatedPositioningSystem>
				</netElement>
				<netElement id="ne_2">
					<associatedPositioningSystem id="ne_2_aps01">
						<intrinsicCoordinate id="ne_2_aps01_ic1"
						                     intrinsicCoord="0.0">
							<linearCoordinate measure="1320.0"
							                  positioningSystemRef="lps01"/>
						</intrinsicCoordinate>
						<intrinsicCoordinate id="ne_2_aps01_ic2"
						                     intrinsicCoord="1.0">
							<linearCoordinate measure="1800.0"
							                  positioningSystemRef="lps01"/>
						</intrinsicCoordinate>
					</associatedPositioningSystem>
				</netElement>
				<netElement id="ne_3">
					<associatedPositioningSystem id="ne_3_aps01">
						<intrinsicCoordinate id="ne_3_aps01_ic1"
						                     intrinsicCoord="0.0">
							<linearCoordinate measure="1800.0"
							                  positioningSystemRef="lps01"/>
						</intrinsicCoordinate>
						<intrinsicCoordinate id="ne_3_aps01_ic2"
						                     intrinsicCoord="1.0">
							<linearCoordinate measure="3000.0"
							                  positioningSystemRef="lps01"/>
						</intrinsicCoordinate>
					</associatedPositioningSystem>
				</netElement>
			</netElements>
			<netRelations>
				<netRelation id="nr_ne_1_ne_2"
				             navigability="Both"
				             positionOnA="1"
				             positionOnB="0">
					<elementA ref="ne_1"/>
					<elementB ref="ne_2"/>
				</netRelation>
				<netRelation id="nr_ne_2_ne_3"
				             navigability="Both"
				             positionOnA="1"
				             positionOnB="0">
					<elementA ref="ne_2"/>
					<elementB ref="ne_3"/>
				</netRelation>
			</netRelations>
			<networks>
				<network id="nw01">
					<level descriptionLevel="Micro"
					       id="lv0">
						<networkResource ref="ne_1"/>
						<networkResource ref="ne_2"/>
						<networkResource ref="ne_3"/>
						<networkResource ref="nr_ne_1_ne_2"/>
						<networkResource ref="nr_ne_2_ne_3"/>
					</level>
				</network>
			</networks>
		</topology>
		<geometry>
			<gradientCurves>
				<gradientCurve id="grc1"
				               curveType="straight"
				               gradient="-10.0"
				               length="100.0">
					<linearLocation applicationDirection="both"
					                id="grc1_lloc">
						<associatedNetElement keepsOrientation="true"
						                      netElementRef="ne_1">
							<linearCoordinateBegin measure="1000.0"
							                       positioningSystemRef="lps01"/>
							<linearCoordinateEnd measure="1100.0"
							                     positioningSystemRef="lps01"/>
						</associatedNetElement>
					</linearLocation>
				</gradientCurve>
				<gradientCurve id="grc2"
				               curveType="straight"
				               gradient="-10.0"
				               length="100.0">
					<linearLocation applicationDirection="both"
					                id="grc2_lloc">
						<associatedNetElement keepsOrientation="true"
						                      netElementRef="ne_1">
							<linearCoordinateBegin measure="1100.0"
							                       positioningSystemRef="lps01"/>
							<linearCoordinateEnd measure="1200.0"
							                     positioningSystemRef="lps01"/>
						</associatedNetElement>
					</linearLocation>
				</gradientCurve>
				<gradientCurve id="grc3"
				               curveType="straight"
				               gradient="-12.0"
				               length="90.0">
					<linearLocation applicationDirection="both"
					                id="grc3_lloc">
						<associatedNetElement keepsOrientation="true"
						                      netElementRef="ne_1">
							<linearCoordinateBegin measure="1200.0"
							                       positioningSystemRef="lps01"/>
							<linearCoordinateEnd measure="1290.0"
							                     positioningSystemRef="lps01"/>
						</associatedNetElement>
					</linearLocation>
				</gradientCurve>
				<gradientCurve id="grc4"
				               curveType="straight"
				               gradient="-14.0"
				               length="80.0">
					<linearLocation applicationDirection="both"
					                id="grc4_lloc">
						<associatedNetElement keepsOrientation="true"
						                      netElementRef="ne_1">
							<linearCoordinateBegin measure="1290.0"
							                       positioningSystemRef="lps01"/>
							<linearCoordinateEnd measure="1320.0"
							                     positioningSystemRef="lps01"/>
						</associatedNetElement>
						<associatedNetElement keepsOrientation="true"
						                      netElementRef="ne_2">
							<linearCoordinateBegin measure="1320.0"
							                       positioningSystemRef="lps01"/>
							<linearCoordinateEnd measure="1370.0"
							                     positioningSystemRef="lps01"/>
						</associatedNetElement>
					</linearLocation>
				</gradientCurve>
				<gradientCurve id="grc5"
				               curveType="straight"
				               gradient="-15.0"
				               length="90.0">
					<linearLocation applicationDirection="both"
					                id="grc5_lloc">
						<associatedNetElement keepsOrientation="true"
						                      netElementRef="ne_2">
							<linearCoordinateBegin measure="1370.0"
							                       positioningSystemRef="lps01"/>
							<linearCoordinateEnd measure="1460.0"
							                     positioningSystemRef="lps01"/>
						</associatedNetElement>
					</linearLocation>
				</gradientCurve>
				<gradientCurve id="grc6"
				               curveType="straight"
				               gradient="-13.0"
				               length="100.0">
					<linearLocation applicationDirection="both"
					                id="grc6_lloc">
						<associatedNetElement keepsOrientation="true"
						                      netElementRef="ne_2">
							<linearCoordinateBegin measure="1460.0"
							                       positioningSystemRef="lps01"/>
							<linearCoordinateEnd measure="1560.0"
							                     positioningSystemRef="lps01"/>
						</associatedNetElement>
					</linearLocation>
				</gradientCurve>
				<gradientCurve id="grc7"
				               curveType="straight"
				               gradient="12.0"
				               length="100.0">
					<linearLocation applicationDirection="both"
					                id="grc7_lloc">
						<associatedNetElement keepsOrientation="true"
						                      netElementRef="ne_2">
							<linearCoordinateBegin measure="1560.0"
							                       positioningSystemRef="lps01"/>
							<linearCoordinateEnd measure="1660.0"
							                     positioningSystemRef="lps01"/>
						</associatedNetElement>
					</linearLocation>
				</gradientCurve>
				<gradientCurve id="grc8"
				               curveType="straight"
				               gradient="11.0"
				               length="100.0">
					<linearLocation applicationDirection="both"
					                id="grc8_lloc">
						<associatedNetElement keepsOrientation="true"
						                      netElementRef="ne_2">
							<linearCoordinateBegin measure="1660.0"
							                       positioningSystemRef="lps01"/>
							<linearCoordinateEnd measure="1760.0"
							                     positioningSystemRef="lps01"/>
						</associatedNetElement>
					</linearLocation>
				</gradientCurve>
				<gradientCurve id="grc9"
				               curveType="straight"
				               gradient="10.0"
				               length="100.0">
					<linearLocation applicationDirection="both"
					                id="grc9_lloc">
						<associatedNetElement keepsOrientation="true"
						                      netElementRef="ne_2">
							<linearCoordinateBegin measure="1760.0"
							                       positioningSystemRef="lps01"/>
							<linearCoordinateEnd measure="1800.0"
							                     positioningSystemRef="lps01"/>
						</associatedNetElement>
						<associatedNetElement keepsOrientation="true"
						                      netElementRef="ne_3">
							<linearCoordinateBegin measure="1800.0"
							                       positioningSystemRef="lps01"/>
							<linearCoordinateEnd measure="1860.0"
							                     positioningSystemRef="lps01"/>
						</associatedNetElement>
					</linearLocation>
				</gradientCurve>
			</gradientCurves>
		</geometry>
	</infrastructure>
</railML>


Additional Information

Notes

Open Issues