| [railML3] Stopping places with several lengths [message #3976] |
Wed, 29 April 2026 15:27  |
Dominik Looser
Messages: 44 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&
|
|
|
|
| Re: [railML3] Stopping places with several lengths [message #3978 is a reply to message #3976] |
Thu, 30 April 2026 13:52   |
Mathias Vanden Auweele
Messages: 116 Registered: February 2025 Location: Brussels
|
Senior Member |
|
|
I think option A would be more correct. What if there's also stopping board for 100m? Then I assume trains of 50m stop at the double sign 220/50m and not at the 100m.
I can only imagen that this is the reason for the double length stopping board in Norway. Although we could have a discussion on the usefulness of such a situation :)
Mathias Vanden Auweele
Railway data freelancer
https://matdata.eu
Brussels, Belgium
|
|
|
|
| Re: [railML3] Stopping places with several lengths [message #3986 is a reply to message #3978] |
Mon, 04 May 2026 21:11  |
christian.rahmig
Messages: 546 Registered: January 2016
|
Senior Member |
|
|
Dear Dominik and Mathias,
I would also decide for option A and explicitly model the stopping place for the shown train length. The option B assuming implicit validity of a stopping place for (not shown) shorter train lengths is not compatible with the situation Mathias described. Btw: this situation is useful, when you have a long platform ranging over two tvdSections enabling the stopping of two short trains at the same platform edge at the same time...
I order to express that both train lengths are shown on the same (physical) panel, you can think of defining a parent <signalIS> element, to which both other <signalIS> elements refer to.
Best regards
Christian
Christian Rahmig – Infrastructure scheme coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
|
|
|
|