| [railVIVID 2.2.0 beta 1] checking semantic constraint IS:023 [message #4051] |
Wed, 17 June 2026 14:22  |
Mathias Vanden Auweele
Messages: 167 Registered: February 2025 Location: Brussels
|
Senior Member |
|
|
Hello,
I think there is an issue with the implementation of semantic constraint IS:023
Our railML files has this LPS:
<linearPositioningSystem id="_ips" startMeasure="0" endMeasure="-1" linearReferencingMethod="absolute" units="metres">
<name name="Intrinsic linear positioning system" language="en" description="This LPS is used for defining measuring tape distances on NetElements." />
<isValid from="2000-01-01" />
</linearPositioningSystem>
Note the endMeasure="-1".
All the linear coordinates that we use in our file that refer to this LPS, are marked as violating the IS:023 by railVIVID.
We have implemented based on the presentation given by Christian at the 46th conference where the internal positioning systems were introduced and more specifically on the slide with this title:
#541 Positioning approach (3/26)
Here's an extract of the slide:
Quote:
Intrinsic positioning system:
• This is a <linearPositioningSystem> with
• @startMeasure=0.0
• @endMeasure={infinity} → use value „-1" (because real pos values must not be negative)
• @units=metres
• @linearReferencingMethod=absolute
So we assume that "-1" is a valid value for "endMeasure" in our use case. Does railVIVID take this into account?
We notice that the wiki documentation doesn't show this -1. https://wiki3.railml.org/wiki/RTM:linearPositioningSystem
Which is probably the reason why this exception was not implemented in railVIVID.
If this -1 exception is still possible, I propose to implement it in railVIVID and make a note about this in the attribute on the wiki.
Thanks!
Mathias Vanden Auweele
Railway data freelancer
https://matdata.eu
Brussels, Belgium
|
|
|
|
| Re: [railVIVID 2.2.0 beta 1] checking semantic constraint IS:023 [message #4080 is a reply to message #4051] |
Tue, 07 July 2026 12:40   |
Marharyta Vyskarka
Messages: 26 Registered: April 2025
|
Junior Member |
|
|
Hello Mathias,
Thank you for your feedback! We will investigate this issue further, however any solution if approved will be introduced after the release of 2.2.0-final that is under development this month. Christian is currently on vacation and we would need to clarify some details with him.
I will provide an update closer to the end of August, because then the coordinators should be available to discuss this issue.
Sincerely,
Margo Vyskarka
Marharyta Vyskarka – Software Developer
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
|
|
|
|
| Re: [railVIVID 2.2.0 beta 1] checking semantic constraint IS:023 [message #4150 is a reply to message #4080] |
Fri, 04 September 2026 10:33   |
christian.rahmig
Messages: 583 Registered: January 2016
|
Senior Member |
|
|
Dear Mathias,
thank you for discovering this inconsistency between semantic constraint IS:023 and positioning approach for railML 3.3.
We discussed this topic with all coordinators. It was decided to keep the semantic constraint and adapt the positioning approach. So, the @endMeasure value "-1" will not be allowed anymore. I am going to inform you when the positioning approach will be updated.
Best regards
Christian
Christian Rahmig – Infrastructure schema coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
|
|
|
|
|
|
| Re: [railVIVID 2.2.0 beta 1] checking semantic constraint IS:023 [message #4154 is a reply to message #4151] |
Fri, 04 September 2026 13:24   |
Thomas Nygreen
Messages: 130 Registered: March 2008
|
Senior Member |
|
|
Dear all,
I believe both the old -1 and the new
@endMeasure = (to be set later analyzing all the netElements where
this linear positioning system is being used for their longest length)
illustrate perfectly that this attribute does not provide additional value, and should simply be made optional, along with @startMeasure. The only reason I see to keep them at all is that a regular linear positioning system may have defined minimum and maximum values that are kept as properties of the positioning system itself, and that information may need to be exchanged. If no one has such a need, they could also be removed, along with the semantic constraint. Aggregating the maximum (and minimum) value and putting it in the file goes against our rule to avoid duplicate information.
Best regards,
Thomas
Thomas Nygreen – Common Schema Coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
|
|
|
|
|
|
|
|
| Re: [railVIVID 2.2.0 beta 1] checking semantic constraint IS:023 [message #4169 is a reply to message #4165] |
Mon, 07 September 2026 14:14   |
Mathias Vanden Auweele
Messages: 167 Registered: February 2025 Location: Brussels
|
Senior Member |
|
|
@Dominik I'm not sure if an intrinsic positioning system is a 'relative' linear positioning system. A 'relative' LPS means that the coordinate will be given as both: a distance + a reference to an anchor from which the distance is given. Usually the anchor is type of kilometric post (but could also be something else).
An intrinsic LPS coordinate is only a value which, as I've understood', is on the LPS where the origin is always the 0 of the netelement. I guess you could declare it as a relative something, but then you should always give the anchor as well.
I do see now that the anchor principle was never introduced in railML 3, which is probably the reason for so much confusion and bad practices around LPS'es.
Mathias Vanden Auweele
Railway data freelancer
https://matdata.eu
Brussels, Belgium
|
|
|
|
|
|
| Re: [railVIVID 2.2.0 beta 1] checking semantic constraint IS:023 [message #4179 is a reply to message #4178] |
Tue, 08 September 2026 19:05  |
Mathias Vanden Auweele
Messages: 167 Registered: February 2025 Location: Brussels
|
Senior Member |
|
|
Quote:but I agree that the @linearReferencingMethod should be "relative"
Just for the record, I do not suggest this and do not agree with this. :)
As I said, when @linearReferencingMethod = "relative", the linear coordinates should also have a reference to an anchor.
This is not a good method to differentiate with mileage values, as their can be other, truly relative, LPS'es defined.
Mathias Vanden Auweele
Railway data freelancer
https://matdata.eu
Brussels, Belgium
|
|
|
|