From railML 2 Wiki
Jump to navigation Jump to search


Scheme description / Schemenbeschreibung / Description du schéma

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

Multiplicity / Anzahl / Multiplicité


Semantics / Bedeutung / Sémantique

A <macroscopicNode> represents a logical connection of (multiple) tracks without respect to the physical layout of their connections.

Attributes of macroscopicNode / Attribute von macroscopicNode / Attributs de macroscopicNode

  • ocpRef: This refers to the id attribute of the associated <ocp> element.
  • flowDirection: This specifies how trains can pass the node. Possible values are:
  • in only into the node (track --> node)
  • out only out of the node (track <-- node)
  • both into and out of node (track <--> node)
  • unknown is restricted to a certain direction, but this direction is not known.
  • other:anything: Any value that does not fit any value from the previous enumeration list, fulfilling the constraint: at minimum two characters, whitespace is not allowed. Please, apply Dev:usingAny accordingly.

Syntactic Constraints / Syntaktische Beschränkungen / Contraintes syntactiques

  • ocpRef: tGenericRef (xs:IDREF); required
  • flowDirection: tFlowDirection (union of (restriction of xs:string, tOtherEnumerationValue); tOtherEnumerationValue is an arbitrary string starting with 'other:' followed by at minimum two characters, white space not allowed for extending railML enumeration lists); default: both; optional

All tracks connected to this macroscopicNode shall refer to the same ocp.

The associated ocp shall have suitable operational attributes set (e. g. as a station).

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

Consider railML 2.3 example of Middle Rhine Railway by GPSinfradat.


TrackID LineID BeginElementType EndElementType OCP Start OCP End
26301 2630 oE mN KKO FBGK
35102 3510 oE mN FMZ FBGK
35113 3511 mN oE FBGK SBKNG

This code example defines track begin that is a macroscopic node.

<trackBegin id="tB35113" pos="0" absPos="-110">
  <macroscopicNode ocpRef="ocpFBGK"/>

Consider railML 2.2 example of East Saxony railway network by FBS.


This code example defines track begin that is a macroscopic node.

<trackBegin id='trn_DN_80.6212_1' pos='0' absPos='102100'>
  <macroscopicNode ocpRef='ocp_DN'/>

Notes / Anmerkungen / Notes

Many simulation programs, especially in the simulation domain for complete networks, have no knowledge about the physical track layout of a station. They model a station as a "zero-dimensional vertex" in a "graph" with trains being able to switch to every "edge" (here: track) that is connected to that "vertex". The <macroscopicNode> provides means to represent this simplified infrastructure model in RailML.

Simulation programs that depend on precise "microscopic" modelling of stations (including switches, lengths, signals, ...) are likely to be troubled by <macroscopicNode>. Possible solutions can be:

  • convert the <macroscopicNode> internally into openEnds and thus allowing trains to enter and leave the simulation in that point. "Warping" trains from one track of the node to another via "virtual open ends" is a semantically identical behaviour compared with a macroscopic node.

Open issues / Offene Punkte/Pendenzen / Questions ouvertes

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