From railML 2 Wiki
Revision as of 14:57, 14 March 2024 by RailML Orga Ontology (talk | contribs) (added photo)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Scheme description / Schemenbeschreibung

Position of brigde in the XML-Tree / Position von brigde im XML-Baum

Multiplicity / Anzahl


Semantics / Bedeutung

A <brigde> [Sic!] defines a bridge as an infrastructure element and its attributes.

💡 Despite the element has been designed to describe bridges, due to a spelling error it was named brigde.
For downward compatibility reasons, this could not be fixed before railML® 3. This has no adverse effects on data exchange.

Attributes of brigde / Attribute von brigde

  • 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.
🗒️ 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.
🗒️ 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: (deprecated with version 2.5) This defines the validity of <bridge> 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).
  • unknown: <bridge> is restricted to a certain direction, but this direction is not known.
  • length Bridge's length. Note that the length is set according to national regulations or other specific calculation methods, which are not defined by railML®.
  • kind This attribute can be used e.g. for specifying a bridge, which crosses the railway track. In this case, it is suggested to define kind = "crossing".
  • meterload Weight per meter length of the train given in tonnes per meter.

Syntactic Constraints / Syntaktische Beschränkungen

  • id: xs:ID, 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 (_)
  • code: xs:string, optional
  • name: xs:string, optional
  • description: xs:string, optional
  • xml:lang: xs:language, language identification, optional

  • pos: tLengthM (xs:decimal, 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: tLengthM (xs:decimal, 6 fraction digits, length value measured in meter); optional
  • absPosOffset: xs:decimal, 6 fraction digits, length value measured in meter; optional
  • dir: xs:string, generic type for more constrained direction statements: enumeration up, down, unknown; derived from tLaxDirection; optional
  • length: xs:decimal, 6 fraction digits, length value measured in meter, optional
  • meterload: xs:decimal, generic type for load per meter values measured in ton per meter; fractionDigits 3; derived from tMeterLoad, optional

Best practice & Examples / Empfohlene Anwendung & Beispiele

Consider railML® 2.3 example of Middle Rhine Railway by GPSinfradat (link to the railML® website).

The map source is (external link). Figure’s legend:

- the green rectangle highlights the bridge feature of the openrailwaymap;

- the blue one highlights crossed element of the bridge, namely “Hattenbergstraße L424” (L424 is the road’s name), which is also the bridge’s name;

- the red one highlights the bridge on the map;

- the yellow one highlights the Mainz-Mombach station. The tr35102 track is situated on the br3510292 bridge and has the cs3510218 cross-section referring to the ocpFMM operation control point named Mainz-Mombach.

bridge over Hattenbergstraße

This code example defines a <brigde> of the Middle Rhine Railway. Note that some of the attributes are omitted.

	<track id="tr35102"
				<crossSection id="cs3510216"
					<geoCoord coord="50.001659 8.258180"
				<crossSection id="cs3510217"
					<geoCoord coord="50.010146 8.248716"
				<crossSection id="cs3510218"
					<geoCoord coord="50.022963 8.228878"
				<brigde id="br3510292"
				        name="EÜ L424 Hattenbergstraße"
					<geoCoord coord="50.013346 8.244743"
						<crossedElement id="cEBr3510292"
						                name="L424 Hattenbergstraße"
	<ocp id="ocpFMM"
	     name="Bft Mainz-Mombach"
		<propOperational operationalType="station"/>
		<propService passenger="true"/>
		<designator entry="FMM"

Notes / Anmerkungen

Though brigde/@kind is a free hand string here are some examples of usage from partners. Use "under" (i.e. naturally there is always something under the bridge. However per definition of brigde/@kind use "crossing" if it is railway that is under your bridge) for communicating "topological" aspect of a bridge. Use "stone" and "metal" for communicating material.

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.

Open issues / Offene Punkte/Pendenzen

Not yet described. / Noch nicht beschrieben.