IS:macroscopicNode
macroscopicNode
Scheme description / Schemenbeschreibung
Position of macroscopicNode in the XML-Tree / Position von macroscopicNode im XML-Baum
- Parent: <trackBegin>, <trackEnd>
- Children: None
Multiplicity / Anzahl
Semantics / Bedeutung
A <macroscopicNode> represents a logical connection of (multiple) tracks without respect to the physical layout of their connections.
Attributes of macroscopicNode / Attribute von 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
- 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
Consider the 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 a track begin that is a macroscopic node.
<trackBegin id="tB35113" pos="0" absPos="-110"> <macroscopicNode ocpRef="ocpFBGK"/> </trackBegin>
Consider the railML® 2.2 example of East Saxony railway network by FBS.
This code example defines a track begin that is a macroscopic node.
<trackBegin id='trn_DN_80.6212_1' pos='0' absPos='102100'> <macroscopicNode ocpRef='ocp_DN'/> </trackBegin>
Notes / Anmerkungen
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:
- refuse the import of XML-files containing <macroscopicNode>
- convert the <macroscopicNode> internally into a set of switches and thus allowing all travel directions as the <macroscopicNode> does. This might severely mess up the infrastructure model in case of <macroscopicNode>s with many connected tracks.
- 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
Not yet described. / Noch nicht beschrieben.