[railML3] Interpreting @applicationDirection of <linearLocation> [message #3297] |
Tue, 03 September 2024 19:12 |
Larissa Zhuchyi
Messages: 49 Registered: November 2022
|
Member |
|
|
Dear all,
This post deals with an ambiguity we found when specifying the location of an oriented functional infrastructure element when using <linearLocation>.
<linearLocation> as well as <spotLocation> have an attribute @applicationDirection, which is used to indicate the orientation of a functional infrastructure element in regards to the orientation of the underlying netElement. As <spotLocation> can refer only to one <netElement> there is no problem in interpretation. However, <linearLocation> can have an ordered list of <associatedNetElement>s each referring to a <netElement>. The direction of definition may vary between these referenced <netElements>. Therefore, it is not clear to which <netElement> of <linearLocation> its attribute @applicationDirection is referring. Below we suggest how to interpret this to resolve ambiguity.
Please let us know:
1) If you agree with suggested approach;
2) If no room for misinterpretation is left.
Currently @applicationDirection is defined as follows "direction in which the element is applied, related to the orientation of the <netElement>".
railML.org's suggestion: within a list of <associatedNetElement>s of one <linearLocation> the attribute @applicationDirection should be linked with the <netElement> referred from the "first" <associatedNetElement>.
"First" <associatedNetElement> can be identified:
1) implicitly by linearCoordinateBegin/@measure that is not equal to linearCoordinate-/@measure of any other <associatedNetElement> within a list;
2) explicitly by the associatedNetElement with the lowest value of its attribute @sequence.
In the example below //linearCoordinateBegin/@measure="x" is not equal to any of //linearCoordinateEnd/@measure. Therefore @applicationDirection should be linked with "ne_q".
Therefore for example if applicationDirection is "normal", then <length> begins at point "x" and continues in the direction from intrinsicCoord="0" to intrinsicCoord="1" of netElement/@id="ne_q".
<overCrossing id="ov01">
<linearLocation id="sps01_lloc01" applicationDirection="k">
<associatedNetElement netElementRef="ne_q">
<linearCoordinateBegin positioningSystemRef="lps01" measure="x"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="y"/>
</associatedNetElement>
<associatedNetElement netElementRef="ne_f">
<linearCoordinateBegin positioningSystemRef="lps01" measure="y"/>
<linearCoordinateEnd positioningSystemRef="lps01" measure="p"/>
</associatedNetElement>
<length value="500.0" type="physical"/>
</linearLocation>
</overCrossing>
<netElement id="ne_q">
<associatedPositioningSystem id="ne_q_aps01">
<intrinsicCoordinate id="ne_q_aps01_ic01" intrinsicCoord="0">
<linearCoordinate positioningSystemRef="lps01" measure="j"/>
</intrinsicCoordinate>
<intrinsicCoordinate id="ne_q_aps01_ic02" intrinsicCoord="1">
<linearCoordinate positioningSystemRef="lps01" measure="y"/>
</intrinsicCoordinate>
</associatedPositioningSystem>
</netElement>
<netElement id="ne_f">
<associatedPositioningSystem id="ne_f_aps01">
<intrinsicCoordinate id="ne_f_aps01_ic01" intrinsicCoord="0">
<linearCoordinate positioningSystemRef="lps01" measure="y"/>
</intrinsicCoordinate>
<intrinsicCoordinate id="ne_f_aps01_ic02" intrinsicCoord="1">
<linearCoordinate positioningSystemRef="lps01" measure="z"/>
</intrinsicCoordinate>
</associatedPositioningSystem>
</netElement>
Sincerely,
Larissa Zhuchyi – Ontology Researcher
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
|
|
|