| [railML3] Stopping places with several lengths [message #3976] |
Wed, 29 April 2026 15:27  |
Dominik Looser
Messages: 66 Registered: March 2020
|
Member |
|
|
Our customer, Bane NOR, would like to model a stopping board that explicitly mentions two train lengths in the railML 3.x export. See attached sample icon.

Usually, a stopping board has only one train length written on it (220m in this example) and is exported like this:
<signalIS id="stp4_sig" isSwitchable="false">
<spotLocation applicationDirection="normal" id="stp4_sig_sloc01_km" netElementRef="ne_3" pos="360.0"/>
<isStopPost>
<refersToStoppingPlace ref="stp4"/>
</isStopPost>
<signalConstruction positionAtTrack="right"/>
</signalIS>
...
<stoppingPlace id="stp4" isSignalized="true" trainLength="220.0">
<spotLocation applicationDirection="normal" id="stp4_sloc01_km" netElementRef="ne_3" pos="360.0"/>
</stoppingPlace>
In railML 3.x, the stoppingPlace element only allows for one trainLength entry, and a <signalIS> also only allows one subelement <isStopPost> with one subelement <refersToStoppingPlace>.
The user will be able to define two train length values in railOscope, in the screenshot example it would be 50m and 220m.
How can we export a board with two lengths?
Option A) We export two <signalIS>-elements and two <stoppingPlace>-elements.
Option B) We export only one <signalIS>-element and one <stoppingPlace>-element with the longer train length value (220 in the example) as trainLength. Implicitly, this would also apply to trains of length 50m.
Option C) Extend railML 3.4 to support several train lengths explicitly (solution to be discussed). With this, we would still need a "temporary" solution for railML 3.2/3.3 as well.
I would prefer option B.
At least in Switzerland (and I assume in some other countries as well...) stopping boards do not exist for every possible train length. They are usually placed in steps of 50 or 100 meters. So a stopping board that is valid for 100m, is implicitly also valid for any train shorter than 100m (except there is also a stopping board for 50m...).
This makes me believe that any importing tool that works with these stopping board lengths (notably simulation or runtime calculation tools) should be able to interpret a 220m board correctly and also let trains of 50m stop there.
The explicit mentioning of 220 and 50 will still be modelled in railML via the new <signalLayout> subelements. [1]
Any feedback is appreciated.
Best regards,
Dominik Looser
trafIT solutions gmbh
[1] https://www.railml.org/forum/index.php?t=msg&th=1098& ;start=0&
|
|
|
|