IS:trackEnd: Difference between revisions
[checked revision] | [checked revision] |
m (Links corrected, child 'geoCoord' added to 'trackEnd') |
(Link internalized) |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 2: | Line 2: | ||
elementName = trackEnd | elementName = trackEnd | ||
|semantics = The {{IS:Doc|trackEnd}} defines the end of a {{IS:Doc|track}} in the | |semantics = The {{IS:Doc|trackEnd}} defines the end of a {{IS:Doc|track}} in the {{rml}} file. It could be seen as a "vertex" in a "graph" where the {{IS:Doc|track}} is an "edge". | ||
|parent = | |parent = | ||
Line 8: | Line 8: | ||
|childs = | |childs = | ||
{{Intro|2.2}} {{IS:Tag|geoCoord | {{Intro|2.2}} {{IS:Tag|geoCoord}}, {{IS:Tag|bufferStop}}, {{IS:Tag|connection|trackEnd}}, {{IS:Tag|openEnd}}, {{IS:Tag|macroscopicNode}} | ||
|inheritedAttributes = | |inheritedAttributes = | ||
{{InheritId | |||
|id = | |||
}} | |||
{{InheritPosition | {{InheritPosition | ||
|pos = | |pos = | ||
Line 16: | Line 19: | ||
|absPosOffset = | |absPosOffset = | ||
}} | }} | ||
*{{attr|absPosIn}}: the mileage of the (incoming) line in meters | |||
|ownAttributes = | |ownAttributes = | ||
|notes = | |notes = | ||
Line 26: | Line 27: | ||
|constraints = | |constraints = | ||
{{InheritIdConstraints}} | |||
{{InheritPositionConstraints | {{InheritPositionConstraints | ||
|pos = The end of the track is defined by the "real" length of the {{IS:Doc|track}} as distance from the {{IS:Doc|trackBegin}} regardless the "absolute mileage" in {{Attr|absPos}}. | |pos = The end of the track is defined by the "real" length of the {{IS:Doc|track}} as distance from the {{IS:Doc|trackBegin}} regardless the "absolute mileage" in {{Attr|absPos}}. | ||
|absPos = If two {{IS:Doc|track}}s are connected, the {{Attr|absPos}} values of the connected {{IS:Tag|trackBegin}} and {{IS:Tag|trackEnd}} must be identical just in case both are provided and no {{IS:Doc|mileageChange}} at this point is defined and both tracks belong to the same "mileage system" (typically the same {{IS:Doc|line}} and same {{IS:Doc|owner}}). <br/> If {{Attr|absPos}} is used in {{IS:Tag|trackEnd}} then it should be used in {{IS:Tag|trackBegin}} for unambiguity reasons, too. | |absPos = If two {{IS:Doc|track}}s are connected, the {{Attr|absPos}} values of the connected {{IS:Tag|trackBegin}} and {{IS:Tag|trackEnd}} must be identical just in case both are provided and no {{IS:Doc|mileageChange}} at this point is defined and both tracks belong to the same "mileage system" (typically the same {{IS:Doc|line}} and same {{IS:Doc|owner}}). <br/> If {{Attr|absPos}} is used in {{IS:Tag|trackEnd}} then it should be used in {{IS:Tag|trackBegin}} for unambiguity reasons, too. | ||
}} | }} | ||
*{{constraint|absPosIn|rml|tLengthM}} | |||
|semcon={{semcon| | |||
*The value of {{@|pos}} in {{IS:Tag|trackBegin|attr=pos}} is always the lowest value of all specified {{IS:Tag|trackElements}} and {{IS:Tag|ocsElements}}. It is always lower than the value of {{@|pos}} of {{IS:Tag|trackEnd|attr=pos}}. | |||
*The value of {{@|pos}} in {{IS:Tag|trackEnd|attr=pos}} is always the highest value of all specified {{IS:Tag|trackElements}} and {{IS:Tag|ocsElements}}. It is always higher than the value of {{@|pos}} of {{IS:Tag|trackBegin|attr=pos}}. | |||
*Subtracting the value of {{@|pos}} in {{IS:Tag|trackBegin|attr=pos}} from the value of {{@|pos}} in {{IS:Tag|trackEnd|attr=pos}} will result in the length of the enclosing {{IS:Tag|track}}. | |||
*If two {{IS:Tag|track}}s are connected, the {{@|absPos}} values of the connected {{IS:Tag|trackBegin|attr=absPos}} and {{IS:Tag|trackEnd|attr=absPos}} must be identical '''if''' | |||
**both are provided and | |||
**no {{IS:Tag|mileageChange}} is defined at this point and | |||
**both {{IS:Tag|track}}s belong to the same mileage system.|status=proposed|proposed=2019-06-17|id=IS:002}} | |||
|example= | |||
Consider the {{rml|2.3}} example of [https://www.railml.org/en/user/exampledata.html?file=files/download/exampledata/090318_Bahnkonzept_ExampleDataGPSinfradat_NorthUpperRhineNetworkRailML23.zip Middle Rhine Railway by GPSinfradat] | |||
[[File:mip1.png|347x305px]] | |||
{{includeTable}} | |||
This code example defines a [[IS:trackEnd|track end]] that is an [[IS:openEnd|open end]]. | |||
<syntaxhighlight lang=xml> | |||
<trackEnd id="tE35113" pos="16310" absPos="16200"> | |||
<openEnd id="oEe35113"/> | |||
</trackEnd> | |||
</syntaxhighlight> | |||
This code example defines a [[IS:trackEnd|track end]] that is a [[IS:macroscopicNode|macroscopic node]]. | |||
<syntaxhighlight lang=xml> | |||
<trackEnd id="tE26301" pos="61366" absPos="152415"> | |||
<macroscopicNode ocpRef="ocpFBGK"/> | |||
</trackEnd> | |||
</syntaxhighlight> | |||
Consider the {{rml|2.2}} example of [https://www.railml.org/en/user/exampledata.html?file=files/download/exampledata/130416_iRFP_ExampleDataFBS_EastSaxonyRailML.zip East Saxony railway network by FBS] | |||
[[File:mip2.svg|539x330px]] | |||
This code example defines a [[IS:trackEnd|track end]] that is a [[IS:macroscopicNode|macroscopic node]]. | |||
<syntaxhighlight lang=xml> | |||
<trackEnd id='trn_DG_80.6212_1' pos='102100' absPos='0'> | |||
<macroscopicNode ocpRef='ocp_DG'/> | |||
</trackEnd> | |||
</syntaxhighlight> | |||
}} | }} |
Latest revision as of 15:09, 20 May 2024
trackEnd
Schema description / Schemenbeschreibung
Position of trackEnd in the XML-Tree / Position von trackEnd im XML-Baum
- Parent: <trackTopology>
- Children: (introduced with version 2.2) <geoCoord>, <bufferStop>, <connection>, <openEnd>, <macroscopicNode>
Multiplicity / Anzahl
Semantics / Bedeutung
The trackEnd defines the end of a track in the railML® file. It could be seen as a "vertex" in a "graph" where the track is an "edge".
Please, be aware of the semantic constraint(s)!
Attributes of trackEnd / Attribute von trackEnd
- id: XML-file-wide unique, machine-interpretable identity, required for later referencing that element internally. For a detailed explanation see Dev:identities.
XML-Datei-weit eindeutige, maschineninterpretierbare Identität, die für die spätere interne Referenzierung dieses Elements erforderlich ist. Für eine detaillierte Erklärung siehe Dev:identities.
- pos: This is the position on a track defined as distance from its start (trackBegin) regardless the "absolute mileage" in @absPos.
Das ist die Position des Elements auf einem Track i.S. der realen Entfernung zum trackBegin. Sie ist damit unabhängig von der mit absPos modellierten Strecken-Kilometrierung.
|
- absPos: This is the position on a track as absolute mileage/chainage.
Das ist die Position des Elements im Referenzsystem der Strecken-Kilometrierung.
|
- absPosOffset (deprecated with version 2.1): The semantics of this attribute aren't very clear. It seems to be redundant to the definitions with mileageChanges in "overlapping regions".
- absPosIn: the mileage of the (incoming) line in meters
Syntactic Constraints / Syntaktische Beschränkungen
- id: xs:ID, required
a string, starting with a letter (a..zA..Z) or an underscore (_),
followed by a non-colonized and non-spaced string consisting of letters, digits, points (.), dashes (-) or underscores (_)
- pos: tLengthM (xs:decimal, 6 fraction digits, length value measured in meter); required; must be greater than or equal to zero, less than or equal to the track's length
The end of the track is defined by the "real" length of the track as distance from the trackBegin regardless the "absolute mileage" in absPos. - absPos: tLengthM (xs:decimal, 6 fraction digits, length value measured in meter); optional
If two tracks are connected, the absPos values of the connected <trackBegin> and <trackEnd> must be identical just in case both are provided and no mileageChange at this point is defined and both tracks belong to the same "mileage system" (typically the same line and same owner).
If absPos is used in <trackEnd> then it should be used in <trackBegin> for unambiguity reasons, too. - absPosOffset: xs:decimal, 6 fraction digits, length value measured in meter; optional
- absPosIn: tLengthM (xs:decimal, 6 fraction digits, length value measured in meter); optional
Semantic Constraints / Semantische Beschränkungen
|
Best practice & Examples / Empfohlene Anwendung & Beispiele
Consider the railML® 2.3 example of Middle Rhine Railway by GPSinfradat
View/edit list on the separate source page.
TrackID | LineID | BeginElementType | EndElementType | OCP Start | OCP End |
---|---|---|---|---|---|
26301 | 2630 | oE | mN | KKO | FBGK |
35102 | 3510 | oE | mN | FMZ | FBGK |
35113 | 3511 | mN | oE | FBGK | SBKNG |
This code example defines a track end that is an open end.
<trackEnd id="tE35113" pos="16310" absPos="16200"> <openEnd id="oEe35113"/> </trackEnd>
This code example defines a track end that is a macroscopic node.
<trackEnd id="tE26301" pos="61366" absPos="152415"> <macroscopicNode ocpRef="ocpFBGK"/> </trackEnd>
Consider the railML® 2.2 example of East Saxony railway network by FBS
This code example defines a track end that is a macroscopic node.
<trackEnd id='trn_DG_80.6212_1' pos='102100' absPos='0'> <macroscopicNode ocpRef='ocp_DG'/> </trackEnd>
Notes / Anmerkungen
General information on positioning
Positive pos values describe the distance from the track's begin. The track length is derived from the pos value in <trackEnd>.
The absolute mileage refered to by absPos is usually found on technical drawings of the track layout or on mileage posts next to the track.
Open issues / Offene Punkte/Pendenzen
Not yet described. / Noch nicht beschrieben.