Home » railML newsgroups » railML.infrastructure » [railML2] trackContinueCourse attribute of the switch (need to agree on modeling intentions)
[railML2] trackContinueCourse attribute of the switch [message #3135] Mon, 25 September 2023 17:13 Go to next message
Larissa Zhuchyi is currently offline  Larissa Zhuchyi
Messages: 31
Registered: November 2022
Member
Dear all

So far switch/@trackContinueCourse missed explicit documentation at XSD and IS:switch pages of Wiki2. Currently, it can be only somehow inferred from "Dev:Connection between tracks" as something different from connection/@course. In this forum post, railML.org would like to ask you to provide your thoughts on the following points to publish an explicit unified definition:

(1) What should be an approach to model switch/@trackContinueCourse of an ordinary switch?
(2) What should be an approach to model switch/@trackContinueCourse of a curved switch?
(3) What should be an approach to model switch/@trackContinueCourse and connection/@course of a symmetrical (Y) switch, e.g. "straight" for both of do not define at all?
(4) What can be a definition of the attribute switch/@trackContinueCourse applicable to all cases?


Currently, missing documentation leads to different interpretations according to national regulations. So far learnt are as follows:

- according to the German documentation this is a track of switch whose radius = ∞ (straight) or track with radius > radius of diverting track ;

- according to the Norwegian documentation this is a track of a switch whose number (name) is the same as the number of a track to which this switch belongs;

These are two contradicting definitions which can be illustrated by the switch 70W02 (ordinary switch) of an advanced example.
According to the German definition @trackContinueCourse="straight".
According to the Norwegian definition @trackContinueCourse="right".

As railML is a regulation-independent language whose purpose is to increase interoperability there is a need for a common definition. Thanks in advance.

Sincerely,


Larissa Zhuchyi – Ontology Researcher
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Re: [railML2] trackContinueCourse attribute of the switch [message #3137 is a reply to message #3135] Fri, 29 September 2023 20:06 Go to previous message
Thomas Nygreen is currently offline  Thomas Nygreen
Messages: 68
Registered: March 2008
Member
Dear all,

First, I want to add some pointers to previous discussions here on the same topic:
@trackContinueCourse always refers to the continuation of the <track> that the switch is placed on. If the switch is placed at that end of a <track>, this is the <connection> in the corresponding <trackBegin> or <trackEnd>. Conversely, the connection/@course, gives the course(s) of the other leg(s). The attribute @trackContinueCourse is bound to the continuation of the track, and you cannot change which leg it refers to without also swapping the connections. So you should not really be asking which leg @trackContinueCourse should refer to, but which leg that belongs in trackBegin/connection (or trackEnd/connection) and which leg that belongs in switch/connection. In my view and experience, it is perfectly fine to allow different business logics in this question.

What is important, to be able to determine the topology, is that the courses given on the same switch are different. In the case of a symmetrical switch, it is maybe most intuitive that one is "left" and the other is "right". If one is considered "straight" then the other should be "left" or "right". If we make a rule that depends on radius, what will we do when the radius is unknown?

To return to the example of the switch 70W02 in the advanced example, here is a simplified code example with some placeholders in CAPITAL letters:
      <track id="tr1" type="mainTrack">
        <trackTopology>
          <trackBegin id="tb1" pos="0.0" absPos="6505.0">
            <connection id="ctb1" ref="REF1"/>
          </trackBegin>
          <!-- ... -->
          <connections>
            <switch id="sw1" name="70W02" pos="0.0" absPos="6505.0" trackContinueCourse="TRACK_COURSE">
              <connection id="csw1" orientation="incoming" course="SW_COURSE" ref="REF_SW"/>
            </switch>
          </connections>
          <!-- ... -->
        </trackTopology>
        <!-- ... -->
      </track>

      <track id="tr2" name="1" type="mainTrack">
        <trackTopology>
          <!-- ... -->
          <trackEnd id="te2" pos="1180.0" absPos="6505.0">
            <connection id="cte2" ref="REF2"/>
          </trackEnd>
          <!-- ... -->
        </trackTopology>
        <!-- ... -->
      </track>

      <track id="tr3" name="2" type="secondaryTrack">
        <trackTopology>
          <!-- ... -->
          <trackEnd id="te3" pos="1180.0" absPos="6505.0">
            <connection id="cte3" ref="REF3"/>
          </trackEnd>
          <!-- ... -->
        </trackTopology>
        <!-- ... -->
      </track>

With the "German definition" we would have
REF1: cte3
TRACK_COURSE: straight
REF_SW: cte2
SW_COURSE: right
REF2: csw1
REF3: ctb1

With the "Norwegian definition" we get
REF1: cte2
TRACK_COURSE: right
REF_SW: cte3
SW_COURSE: straight
REF2: ctb1
REF3: csw1

So, we are only swapping the two connections. The topology is unchanged, and in both cases the connection from tr1 to tr2 is "right" and the connection from tr1 to tr3 is "straight". I do not see any ambiguity in this.

Best regards,
Thomas


Thomas Nygreen – Common Schema Coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Previous Topic: International classifications of railway stations and lines
Next Topic: [railML3] Booster transformers in RailML
Goto Forum:
  


Current Time: Sat Apr 27 22:09:27 CEST 2024