Home » railML newsgroups » railML.infrastructure » [railML3] Proposal for a new semantic constraint for associatedPositioningSystem
[railML3] Proposal for a new semantic constraint for associatedPositioningSystem [message #3537] Wed, 02 April 2025 13:18 Go to next message
Milan Wölke is currently offline  Milan Wölke
Messages: 181
Registered: April 2007
Senior Member
Hi all,

I'm writing to you on behalf of Christian today to propose a new semantic constraint for associatedPositioningSystem.

Background:
Typically, mileage systems are specified in railML 3 using a linearPositioningSystem which is specified in the common sub schema. The definition there allows to also describe discontinuities such as stretching of mileage (a kilometer in the mileagesystem (chainage) is stretched out over more than a kilometer in reality) or compression of mileage (a kilometer in reality is less than a kilometer in the mileage system). This is not taking into account mileage jumps such as gaps and overlaps. In order to describe this, the linearPositioningSystem allows usage of anchors. This is how it is meant to be described.

However, we realized that is is also possible to implicitly describe such situations on the level of the associatedPositioningSystem. Typically, for a linear netElement two intrinsic coordinates will be defined, one with @intrinsicCoord=0 and one with @intrinsicCoord=1. Often for each a linearCoordinate will be specified. The problem we realized now is, that if intrinsic coordinates with @intrinsicCoord between 0 and 1 were specified along with linearCoordinates then it is possible to implicitly describe a similar stretching and compression.

The proposed semantic constraint is aimed to make sure that this secondary way of describing is not used. We would propose the following constraint:

When specifying an intrinsic coordinate with 0 < @intrinsicCoord < 1, it needs to be ensured that a given linearCoordinate is aligned with the referenced linearPositioningSystem.


What are your thoughts on this. Do you think this wording captures what we intend to describe? Do you have concerns introducing such semantic constraint?`

Please let us know your feedback until end of April 2025, especially if you have concerns introducing this.

Thanks in advance.

Best regards, Milan


Milan Wölke – Timetable scheme coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Re: [railML3] Proposal for a new semantic constraint for associatedPositioningSystem [message #3611 is a reply to message #3537] Fri, 02 May 2025 09:16 Go to previous messageGo to next message
christian.rahmig is currently offline  christian.rahmig
Messages: 505
Registered: January 2016
Senior Member
Dear all,

as there have been no objections or concerns on the proposed semantic constraint, we approve it to become valid for railML 3.3 implementation.

Best regards
Christian


Christian Rahmig – Infrastructure scheme coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Re: [railML3] Proposal for a new semantic constraint for associatedPositioningSystem [message #3614 is a reply to message #3611] Tue, 06 May 2025 13:38 Go to previous messageGo to next message
Mathias Vanden Auweele is currently offline  Mathias Vanden Auweele
Messages: 28
Registered: February 2025
Location: Brussels
Junior Member
Hello, sorry Christian for my late reply.

I principle, I fully agree with the semantic constraint.

In practice...

I'm not sure if this semantic constraint is a good idea. In general, the use of linear positioning systems to get coordinates for objects is not very coherent or consistent. You will find linear coordinates in legacy systems next to geometric coordinates. You then calculate intrinsic coordinates based on the geometric coordinates because that's mostly the most reliable and accurate positioning source, taking into account the reference linear positioning system so you don't end up on the wrong track. This will result in an intrinsic coordinate that is not aligned with the linear coordinate.
-) given no regulatory constraints around linear coordinates, you then recalculate the linear coordinates and everything is nicely aligned and everyone is happy.
-) but if you do have regulatory constraints, for example for putting a track out of service, the railway worker needs to communicate the boundaries with the linear coordinates as given by some document (probably the schematic signaling design), then what you need to have in your IT systems is not the real, accurate linear coordinate, but the one that is in the document, as wrong is it might be.

A possible solution could be to have an indicator in the linear positioning system that accurate/consistent/coherent the the linear coordinates are to be taken. If they are not, then this semantic constraint shouldn't be attempted to be applied, if they are, then the constraint applies.


Mathias Vanden Auweele
Railway data freelancer
https://matdata.eu
Brussels, Belgium
Re: [railML3] Proposal for a new semantic constraint for associatedPositioningSystem [message #3615 is a reply to message #3614] Tue, 06 May 2025 17:22 Go to previous messageGo to next message
Larissa Zhuchyi is currently offline  Larissa Zhuchyi
Messages: 66
Registered: November 2022
Member
Dear Mathias

Do you refer to the problem of a precision of the data? From what I understood, in the example below (the linear positioning system has no mileage anomalies) it not clear how precise the value of intrinsicCoordinate[intrinsicCoord="0.5"]/linearCoordinate/@measure should be.

Valid code:
        <netElement id="ne_b04">
          <associatedPositioningSystem id="ne_b04_aps01">
            <intrinsicCoordinate id="ne_b04_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b04_aps01_ic02" intrinsicCoord="0.5">
              <linearCoordinate positioningSystemRef="lps01" measure="4525.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b04_aps01_ic03" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4550.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
Supposedly invalid code:
        <netElement id="ne_b04">
          <associatedPositioningSystem id="ne_b04_aps01">
            <intrinsicCoordinate id="ne_b04_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b04_aps01_ic02" intrinsicCoord="0.5">
              <linearCoordinate positioningSystemRef="lps01" measure="4525.1"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b04_aps01_ic03" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4550.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>


Larissa Zhuchyi – Ontology Researcher
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Re: [railML3] Proposal for a new semantic constraint for associatedPositioningSystem [message #3618 is a reply to message #3615] Mon, 12 May 2025 21:01 Go to previous message
Mathias Vanden Auweele is currently offline  Mathias Vanden Auweele
Messages: 28
Registered: February 2025
Location: Brussels
Junior Member
Hello Larissa,

Precision is one aspect of it but not exactly the problem that I refer to.

Is the proposed semantic constraint only applicable on the AssociatedPositioningSystem? Or will it also apply for the AssociatedNetElement/Location?
Only on the AssociatedPositioningSystem will not cause much of an issue. As long as

If you have this topology:

       <netElement id="ne_b04">
          <associatedPositioningSystem id="ne_b04_aps01">
            <intrinsicCoordinate id="ne_b04_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b04_aps01_ic02" intrinsicCoord="0.5">
              <linearCoordinate positioningSystemRef="lps01" measure="4525.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b04_aps01_ic03" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4550.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>

You should still allow for:

        <signalIS id="_signal_001" isSwitchable="true">
          <name name="mySignal" language="en"/>
          <isValid from="2019-01-01" to="9999-12-31"/>
          <spotLocation id="_spotlocation_001" applicationDirection="reverse" intrinsicCoord="0.5" netElementRef="ne_b04">
            <linearCoordinate positioningSystemRef="lps01" measure="4535.0"/>
          </spotLocation>
          <designator register="RINF" entry="_myRinfId"/>
          <isTrainMovementSignal type="main"/>
        </signalIS>

Notice that the measure (4535.0) is 10m off from what it should be according to the intrinsicCoord.


Mathias Vanden Auweele
Railway data freelancer
https://matdata.eu
Brussels, Belgium

[Updated on: Mon, 12 May 2025 21:02]

Report message to a moderator

Previous Topic: [railML3] Semantic constraints for linking the topology with the positioning systems
Goto Forum:
  


Current Time: Sun May 18 22:24:44 CEST 2025