From railML 2 Wiki
Jump to: navigation, search


Scheme description / Schemenbeschreibung / Description du schéma

Position of speedChange in the XML-Tree / Position von speedChange im XML-Baum / position de speedChange dans l’aborescence XML

Multiplicity / Anzahl / Multiplicité


Semantics / Bedeutung / Sémantique

A <speedChange> defines a track element in which position the maximum allowed speed on a track changes. The maximum allowed speed is given in km/h. (introduced with version 2.3): If the <speedChange> is used to model the end of a temporary speed restriction zone without specifying the ongoing maximum allowed speed, the vMax parameter shall be assigned the value "end". For versions before railML 2.3, the end of a temporary speed restriction shall be modeled with the "virtual" speed value "999.9".
Please, be aware of the semantic constraint(s)!

Attributes of speedChange / Attribute von speedChange / Attributs de speedChange

  • id: XML-file-wide unique, machine-interpretable identity, required for later referencing that element internally. For a detailed explanation see Dev:identities.
    XML-Datei-weit eindeutige, maschineninterpretierbare Identität, die für die spätere interne Referenzierung dieses Elements erforderlich ist. Für eine detaillierte Erklärung siehe Dev:identities.
  • code (introduced with version 2.1): Machine-interpretable string (e.g. an abbreviation) used for identification of the object across exchange partners, usecase specific uniqueness constraints may apply. Please see our description of the differences between id, code and human-readable identifiers.
    Maschineninterpretierbare Zeichenkette (z.B. Abkürzung), die zur Identifizierung des Objekts auch bei Austauschpartnern verwendet wird, wobei spezifische Eindeutigkeitsbeschränkungen gelten können. Bitte beachten Sie unsere Erläuterung zu den Unterschieden zwischen id, code and menschenlesbaren Kennzeichnungen.
  • name: Established, human-readable short string, giving the object a name. Not intended for machine interpretation, please see our notice on human interpretable data fields.
    Etablierte, menschenlesbare kurze Zeichenkette, die das Objekt benennt. Nicht zur maschinellen Interpretation bestimmt, siehe Hinweise zu menschenlesbaren Datenfeldern.
  • description: Human-readable, more detailed description as addition to the name. It should give additional explanations or hints to the contents of this element. Not intended for machine interpretation, please see our notice on human interpretable data fields.
    Menschenlesbare, detailliertere Beschreibung als Ergänzung zu name. Sie soll zusätzliche Erläuterungen oder Hinweise auf den Inhalt dieses Elements geben. Nicht zur maschinellen Interpretation bestimmt, siehe Hinweise zu menschenlesbaren Datenfeldern.
  • xml:lang (introduced with version 2.1): This is a unique identifier of language. It uses basically the language standard IETF BCP 47 (external link) which may be different to ISO 639-1 (external link) or ISO 639-2 (external link). For mapping hints see relation to other standards (external link).
    This defines the language used for name and description. Use <additionalName> to provide a name and/or description in other languages.
  • pos: This is the position on a track defined as distance from its start (trackBegin) regardless the "absolute mileage" in @absPos.
    Das ist die Position des Elements auf einem Track i.S. der realen Entfernung zum trackBegin. Sie ist damit unabhängig von der mit absPos modellierten Strecken-Kilometrierung.
Note.png For an explanation of the differences between @pos and @absPos see <mileageChange>
  • absPos: This is the position on a track as absolute mileage/chainage.
    Das ist die Position des Elements im Referenzsystem der Strecken-Kilometrierung.
Note.png For an explanation of the differences between @pos and @absPos see <mileageChange>
  • absPosOffset (deprecated with version 2.1): The semantics of this attribute aren't very clear. It seems to be redundant to the definitions with mileageChanges in "overlapping regions".
  • dir: This defines the validity of speedChange along the track. Possible values are:
  • up This denotes the direction from the <trackBegin> to the <trackEnd> (increasing relative position values).
  • down This goes opposite to up (decreasing relative position values).

Missinginformation.png In this article there is information missing with respect to the attribute semantics. Please help improving the railML® wiki by filling the gaps. Possibly, you will find further details on the discussion pageFerri Leberl (talk) 19:19, 15 January 2017 (CET)
  • trainCategory (deprecated with version 2.1) This is a category name for trains. Use the new attribute etcsTrainCategory (see below) instead. Don't confuse with <category>!
  • etcsTrainCategory: the international train category number as specified [on page 45 in ERA_ERTMS_040001 "Assignment of values to ETCS variables" on page 45 in ERA_ERTMS_040001 "Assignment of values to ETCS variables"] (external link) v1.21 from 2016-10-20 (section A.6.2: NC_TRAIN: INTERNATIONAL CATEGORY TO WHICH BELONGS THE TRAIN). The current version can be found on (external link)
  • profileRef: reference to a speedProfile
  • status
  • vMax: maximum allowed speed in km/h (or (introduced with version 2.3): the end of a restriction)
  • trainRelation (introduced with version 2.2) Reference to the part of the train from where the speed change is valid. Normally, a speed change with a speed that is higher than the permitted speed in the section before will be valid only after the end of the train has passed the speed change. On the contrary, a speed change with a speed value that is lower than the permitted speed in the section before applies already when the head of train passes the speedChange. If the attribute is not given, it means that the information is not known. See notes for further information.
  • mandatoryStop: (introduced with version 2.2) specifying the speedChange as a mandatory stop point, e.g. in front of a level crossing. If the mandatory stop point is physically visualized by a signal/panel, the attribute signalised shall be set to true. Further, the related <signal> shall reference the <speedChange>.
  • signalised (introduced with version 2.2) Indicates whether the speed aspect is shown next to the track by a signal or panel (=true/1) or not (=false/0). For speed changes which are printed in a "Driver's timetable" only but not shown at track-site, use false/0. This is aimed to be used to create special caution for speed changes which are not shown at track-side by special 'highlighting' e. g. in the Driver's timetable. In the meaning of 'on the safe side' this may also apply to speed changes with no proper pre-signalisation (since the pre-signalisation is normally more important than the signalisation at the actual beginning of a speed restriction). A speed change is treated as not pre-signalised if there is at least one route at which a train can pass the speed change decreasing and did not pass any pre-signalisation for the speed reduction a proper braking distance before.

Syntactic Constraints / Syntaktische Beschränkungen / Contraintes syntactiques

Please, be aware of the semantic constraint(s)!

  • id: xs:ID (external link), required
    a string, starting with a letter (a..zA..Z) or an underscore (_),
    followed by a non-colonized and non-spaced string consisting of letters, digits, points (.), dashes (-) or underscores (_)
  • description: xs:string (external link), optional
  • pos: tLengthM (xs:decimal (external link), 6 fraction digits, length value measured in meter); required; must be greater than or equal to zero, less than or equal to the track's length
  • absPos: xs:decimal (external link), 6 fraction digits, length value measured in meter; optional
  • absPosOffset: xs:decimal (external link), 6 fraction digits, length value measured in meter; optional
  • dir: xs:string (external link), generic type for more constrained direction statements: enumeration up, down; derived from tLaxDirection; optional
  • trainCategory: xs:string (external link); optional
  • etcsTrainCategory: xs:integer (external link); optional
  • profileRef: tGenericRef (xs:IDREF (external link)); optional
  • status: xs:string (external link); optional
  • vMax: tSpeedKmPerHour (xs:decimal (external link), 5 digits and 1 fraction digit with minimum value 0, speed value measured in km/h); required
(introduced with version 2.3): union of tSpeedKmPerHour and the enumeration value of "end"
  • trainRelation: tTrainRelation (union of (restriction of xs:string (external link), tOtherEnumerationValue)); optional; enumeration: "headOfTrain" / "midOfTrain" / "endOfTrain"
  • mandatoryStop: xs:boolean (external link); optional
  • signalised: xs:boolean (external link); optional

Semantic Constraints / Semantische Beschränkungen / Contraintes semantiques

Private-cloud-icon.png Proposed Semantic Constraint "IS:001":
trainRelation: Allways define this attribute!
Proposed on April 11th 2019
FIXME: add Link to discussion!
Please, recognize our guidelines on semantic constraints

Best practice & Examples / Empfohlene Anwendung & Beispiele / Bonnes pratiques & exemples

Not yet described. / Noch nicht beschrieben. / Pas encore décrit.

Notes / Anmerkungen / Notes

General information on positioning

Positive pos values describe the distance from the track's begin. The track length is derived from the pos value in <trackEnd>.

The absolute mileage refered to by absPos is usually found on technical drawings of the track layout or on mileage posts next to the track.

Relationships between overlapping speed changes
Beziehungen zwischen sich überlagernden Geschwindigkeitswechseln
Relations entre les changements de vitesse qui se chevauchent

All speed changes are to be understood to act independently from each other: A speed change at the front of a train does not affect the speed changes still 'under' the train. The lowest of all speed changes currently valid for a train is relevant. This explains why there is no trainRelation="headOfTrainIfDecreasingAndEndOfTrainIfIncreasing" enumeration value. If the speed changes come closer than the length of the train (which may always be the case), the train has to maintain several speed restrictions. If the train passes an increasing speed change (valid for headOfTrain) with its front but has not yet passed a lower increasing speed change (valid for endOfTrain) with its end, the lower speed still has to be maintained - in spite of the new speed change being valid for head of train. But anyway, the train has also to remember the new speed, so it cannot ignore the new speed change.

This is only another (but less obvious) variant of the very common case where a train is in one speed restriction with it’s end and already in a next speed restriction with it’s front, so never enjoying the raised speed between both restrictions - a case which all drivers of the world must handle.

Mandatory braking Betriebsbremsung

In the railML ticket #227 (link to the railML® website) the implementation of a "mandatory braking" attribute has been discussed. In the end it was decided not to add a new parameter to <speedChange>, because the final speed after braking is not specified. Users looking for a way to model mandatory braking sections for the beginning should think of choosing a user-specific extension under <trackElements> and come up with new suggestions for railML 3.x if needed.

Open issues / Offene Punkte/Pedenzen / Questions ouvertes

Not yet described. / Noch nicht beschrieben. / Pas encore décrit.