| Re: suggestion for switchIS@type="crossingPart" [message #4048 is a reply to message #4038] |
Wed, 17 June 2026 11:29   |
christian.rahmig
Messages: 580 Registered: January 2016
|
Senior Member |
|
|
Dear Dominik and Mathias,
thank you very much for your feedback!
For a crossing angle of 90 degrees the ratio (defined as tangens of the crossing angle) is infinite. As we model only the denominator of the ratio (e.g. only "9" instead of "1:9"), we can define a denominator of "0" to correspond to an infinite ratio and a crossing angle of 90 degrees.
Important is also the definition of the second referenced netElement being the one that is closest to the first one (smallest angle). Taking this into consideration we allow for (mathematical) negative angles, too.
So, the example from above could look like this:
<crossing id="cro42">
<name name="69K08" />
<spotLocation id="swi42_sloc01" netElementRef="ne_15" ... />
<ratio fromNetElement="ne_15" toNetElement="ne_17" denominator="-7.5" />
<straightBranch netRelationRef="nr_a15a18" radius="0" />
<straightBranch netRelationRef="nr_a16a17" radius="0" />
</crossing>
As you can see, the second referenced netElement is ne_17 and not ne_16, because the (absolute value of) angle between ne_15 and ne_17 is smaller than the angle between ne_15 and ne_16. For reference, please have a look at the updated solution proposal in the Gitlab issue #719 [1] and the slide presentation [2].
[1] https://development.railml.org/railml/version3/-/issues/719
[2] https://cloud.railml.org/f/716092
Best regards
Christian
Christian Rahmig – Infrastructure scheme coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
|
|
|
|