Talk:Dev:How To Reference Infrastructure: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
(Started rewrite)
(continued work on guide and provided examples)
Line 35: Line 35:
== How to describe infrastructure / {{Deu| Beschreibung von Infrastruktur}}==
== How to describe infrastructure / {{Deu| Beschreibung von Infrastruktur}}==


In general we distinguish between the macroscopic and the microscopic approach of describing infrastructure. These are two ways of looking at the same set of tracks and stations a railway is made of. The microscopic approach is focussed on a very detailed description. In a microscopic infrastructure description in {{rml}} tracks usually are limited by switches, crossings, bufferstops and such. In {{rml}} that would meant that usually a {{IS:Tag|track}}s {{IS:Tag|trackTopology}} defines its {{IS:Tag|trackBegin}} and {{IS:Tag|trackEnd}} as either {{IS:Tag|connection|trackBegin}} ({{IS:Tag|connection|trackEnd}}), {{IS:Tag|bufferStop}} or {{IS:Tag|openEnd}}.
In general we distinguish between the macroscopic and the microscopic approach of describing infrastructure. These are two ways of looking at the same set of tracks and stations a railway is made of. <br>


=== Different usages of the infrastructure schema ===
=== Microscopic Infrastructure ===


The '''macroscopic''' infrastructure model considers tracks as a connection between ocps. This model is typical for a timetable view.
The microscopic approach is focussed on providing on a very detailed description. In a microscopic infrastructure description in {{rml}}, tracks usually are limited by switches, crossings, bufferstops and such. In {{rml}} that would mean that usually a {{IS:Tag|track}}s {{IS:Tag|trackTopology}} defines its {{IS:Tag|trackBegin}} and {{IS:Tag|trackEnd}} as either {{IS:Tag|connection|trackBegin}} ({{IS:Tag|connection|trackEnd}}), {{IS:Tag|bufferStop}} or {{IS:Tag|openEnd}}. Stations and stops aka {{IS:Tag|ocp}} are positioned on a {{IS:Tag|track}} via {{IS:Tag|crossSection}}s.


The '''microscopic''' infrastructure model considers tracks as a connection between switches. This model is the preferred one for a simulation tool or a signal box view of the infrastructure.
Below is a minimalistic example of a microscopic infrastructure:


To create '''unique''' references from a train part to the infrastructure with these two models, it is assumed that
<syntaxhighlight lang=xml>
* in the macroscopic model in railML there are 'long' tracks, i. e. the tracks cross several switches, junctions, or OCPs.
  <infrastructure id="is01">
* in the microscopic model in railML there are 'short' tracks, i. e. the tracks are only defined between two switches or junctions but usually do not cross switches or junctions.
    <tracks>
      <track id="tr01">
        <trackTopology>
          <trackBegin id="tb01" pos="0">
            <openEnd id="oe01"/>
          </trackBegin>
          <trackEnd id="te01" pos="1000">
            <connection id="tecx01" ref="tbcx02"/>
          </trackEnd>
          <connections>
            <switch id="sw01" pos="1000">
              <connection id="swcx01" ref="tbcx03" orientation="outgoing" course="left"/>
            </switch>
          </connections>
        </trackTopology>
      </track>
      <track id="tr02">
        <trackTopology>
          <trackBegin id="tb02" pos="0">
            <connection id="tbcx02" ref="tecx01"/>
          </trackBegin>
          <trackEnd id="te02" pos="500">
            <connection id="tecx02" ref="tbcx04"/>
          </trackEnd>
          <crossSections>
            <crossSection id="cxs02" pos="250" ocpRef="ocp01"/>
          </crossSections>
        </trackTopology>
      </track>
      <track id="tr03">
        <trackTopology>
          <trackBegin id="tb03" pos="0">
            <connection id="tbcx03" ref="swcx01"/>
          </trackBegin>
          <trackEnd id="te03" pos="500">
            <connection id="tecx03" ref="swcx04"/>
          </trackEnd>
          <crossSections>
            <crossSection id="cxs03" pos="250" ocpRef="ocp01"/>
          </crossSections>
        </trackTopology>
      </track>
      <track id="tr04">
        <trackTopology>
          <trackBegin id="tb04" pos="0">
            <connection id="tbcx04" ref="tecx02"/>
          </trackBegin>
          <trackEnd id="te04" pos="1000">
            <openEnd id="oe04"/>
          </trackEnd>
          <connections>
            <switch id="sw04" pos="0">
              <connection id="swcx04" ref="tecx03" orientation="outgoing" course="left"/>
            </switch>
          </connections>
        </trackTopology>
      </track>
    </tracks>
    <operationControlPoints>
      <ocp id="ocp01">
        ...
        <propEquipment>
          <trackRef ref="tr02"/>
          <trackRef ref="tr03"/>
        </propEquipment>
        ...
      </ocp>
    </operationControlPoints>
  </infrastructure>
</syntaxhighlight>


{{Deu|Das '''makroskopische''' Infrastrukturmodell betrachtet Gleise als eine Verbindung zwischen Ocps. Dieses Modell ist typisch für eine Fahrplansicht.
The above infrastructure describes an {{IS:Tag|ocp}} that has two {{IS:Tag|track}}s ("tr02" and "tr03"). Below is a rough sketch of the described infrastructure.
 
[[file:exampleMicroscopicIS.png|border]]
 
The provided example is focused only on the track topology. Of course a real world example of a microscopic infrastructure would include a lot more details, however it demonstrates how the tracks are described in a way that is closely related to how the tracks are laid in reality. Please note that there is no need to cut the tracks like done in the example above. It would also be a correct modelling in {{rml}} to define the same infrastructure with only two {{IS:Tag|track}}s, one spanning from open end to open end and containing two switched and one that connects to those two switches via its {{IS:Tag|trackBegin}} and {{IS:Tag|trackEnd}}. For more information on how to connect tracks with switches and crossings, please also refer to this [[Dev:Connection_between_tracks|page]].
 
 
=== Macroscopic Infrastructure ===
 
In a macroscopic view, on the other hand, {{IS:Tag|track}}s usually span between {{IS:Tag|ocp}}s. That does not mean that in a macroscopic view a {{IS:Tag|track}} can only connect two {IS:Tag|ocp}}s but usually {{IS:Tag|track}}s are limited by {IS:Tag|ocp}}s. One {{IS:Tag|track}} in a macroscopic description does not necessarily represent a single track in reality, it may also represent a number of physical tracks as well as switches between them.
When descibing this in {{rml}}, it means that a {{IS:Tag|track}}s {{IS:Tag|trackTopology}} specifies {{IS:Tag|trackBegin}} and {{IS:Tag|trackEnd}} as mostly {{IS:Tag|macroscopicNode}}. However, {{IS:Tag|crossSections}} are also used in the macroscopic approach.
 
Below is an example of an infrastructure that follows the macroscopic approach:
 
<syntaxhighlight lang=xml>
  <infrastructure id="is01">
    <tracks>
      <track id="tr01">
        <trackTopology>
          <trackBegin id="tb01" pos="0">
            <macroscopicNode ocpRef="ocp01"/>
          </trackBegin>
          <trackEnd id="te01" pos="10000">
            <macroscopicNode ocpRef="ocp03"/>
          </trackEnd>
          <crossSections>
            <crossSection id="cxs01" pos="5000" ocpRef="ocp02"/>
          </crossSections>
        </trackTopology>
      </track>
      <track id="tr02">
        <trackTopology>
          <trackBegin id="tb02" pos="0">
            <macroscopicNode ocpRef="ocp03"/>
          </trackBegin>
          <trackEnd id="te02" pos="10000">
            <macroscopicNode ocpRef="ocp05"/>
          </trackEnd>
          <crossSections>
            <crossSection id="cxs02" pos="5000" ocpRef="ocp04"/>
          </crossSections>
        </trackTopology>
      </track>
      <track id="tr03">
        <trackTopology>
          <trackBegin id="tb03" pos="0">
          <macroscopicNode ocpRef="ocp01"/>
          </trackBegin>
          <trackEnd id="te03" pos="8000">
            <macroscopicNode ocpRef="ocp04"/>
          </trackEnd>
        </trackTopology>
      </track>
      <track id="ocp02tr01">
        <trackTopology>
          <trackBegin id="tbocp02tr01" pos="0">
            <macroscopicNode ocpRef="ocp02"/>
          </trackBegin>
          <trackEnd id="teocp02tr01" pos="450">
            <macroscopicNode ocpRef="ocp02"/>
          </trackEnd>
        </trackTopology>
      </track>
      <track id="ocp02tr02">
        <trackTopology>
          <trackBegin id="tbocp02tr02" pos="0">
            <macroscopicNode ocpRef="ocp02"/>
          </trackBegin>
          <trackEnd id="teocp02tr02" pos="450">
            <macroscopicNode ocpRef="ocp02"/>
          </trackEnd>
        </trackTopology>
      </track>
    </tracks>
    <operationControlPoints>
      <ocp id="ocp01"></ocp>
      <ocp id="ocp02">
        <propEquipment>
          <trackRef ref="ocp02tr01"/>
          <trackRef ref="ocp02tr02"/>
        </propEquipment>
      </ocp>
      <ocp id="ocp03"></ocp>
      <ocp id="ocp04"></ocp>
      <ocp id="ocp05"></ocp>
    </operationControlPoints> 
  </infrastructure>
</syntaxhighlight>
 
The above railML describes a macroscopic view of a railway network of 5 {{IS:Tag|ocp}}s. The connections are displayed in the below sketch:
 
[[file:ExampleMacroscopicIS.png|border]]
 
The above example also specifies two station tracks for the {{IS:Tag|ocp}} with the id "ocp02". For more information on how to describe station tracks in a macroscopic view please also refer to this [[IS:track#Modelling_of_station_tracks_.28macro_view.29|page]]
 
=== Referencing Infrastructure from Timetable ===


Das '''mikroskopische''' Infrastrukturmodell betrachtet Gleise als eine Verbindung zwischen Weichen. Dieses Modell ist das bevorzugte Modell für ein Simulationswerkzeug oder eine Stellwerkssicht der Infrastruktur.


Um mit diesen beiden Modellen '''eindeutige''' Referenzen von einem Zugteil zur Infrastruktur herzustellen, wird angenommen, dass es
* im makroskopischen Modell in railML 'lange' Gleise gibt, d. h. die Gleise queren mehrere Weichen, Kreuzungen oder OCPs.
* Im mikroskopischen Modell in railML 'kurze' Gleise gibt, d.h. die Gleise sind nur zwischen zwei Weichen oder Kreuzungen definiert, und queren normalerweise keine Weichen oder Kreuzungen.}}


=== How to define it with railML? ===
==== Example 1 ====
If the infrastructure is used in the '''macroscopic''' way, only one {{TT:Tag|trackRef}} element should be used for an {{TT:Tag|ocpTT}}.


==== Example 2 ====
If the infrastructure is used in the '''microscopic''' way, you will have to list '''all''' tracks (from switch to switch) as {{TT:Tag|trackRef}} elements until you reach a track which contains a {{IS:Tag|crossSection}} element related to the next {{TT:Tag|ocpTT}}.


To list more than one track at {{TT:Tag|trackRef}} shall only be done if the tracks are 'short', i. e. if they are defined between two switches or junctions only but not longer. This secures the description of a train part's route to be unique.


[[Category:GeneralDescription]]
[[Category:GeneralDescription]]
[[category:Timetable Concept]]
[[category:Timetable Concept]]

Revision as of 17:12, 13 April 2023

I am not convinced of the current usage of the terms "macroscopic" and "microscopic" in conjunction with "tracks identical to edges between nodes" and "tracks longer than edges between nodes".

In (not only) my language understanding, the terms "macroscopic" and "microscopic" suggest something like a zoom factor, a kind of detailed or rough. This has nothing to do with the length of tracks being longer or not longer than edges between nodes.

One could also imagine

  • a rather detailed infrastructure model (with points, signals a. s. o.) with tracks longer than edges between nodes,
  • a rather "rough" infrastructure model with relative short tracks which are not longer than the edges of that model (junctions, stations).

The typical relevant basic features are

  • Detailed infrastructure model: Model includes points, signals, track elements. Nodes are points.
  • "Rough" infrastructure model: Nodes are junctions/stations. Model does normally not "look into stations" in a wider sense.

In my opinion, we should write this into an introduction of the topic.

Now that we do not want to start again from the beginning, I could imagine the following:

a) Explicitly defining the terms "macroscopic" and "microscopic" describing the length of the tracks only. Defining new terms for "detailed" and "rough" independent from "macroscopic" and "microscopic". These new terms could be for instance "point-oriented" and "station-oriented". Then, one (we) should be aware that there may be also "macroscopic point-oriented" and "microscopic station-oriented" models.

b) On the other hand, we normally use the terms "long-track philosophy" and "short-track philosophy" in all-day life instead of "macroscopic" and "microscopic". So, possibly we should use that therms in future for the length of the tracks and leave the "macroscopic" and "microscopic" as synonyms for "detailed, point-oriented" and "rough, station-oriented".

I would prefer the latter one (b).

--Dirk Bräuer 16:12, 10. Nov. 2012 (CET)

Under Construction

As discussed in the TT developer group, the Guide does not help in understanding how to reference infrastructure. Complete overhaul was deemed necessary.
RailML Coord Documentation (talk) 12:35, 13 March 2023 (CET)



This article explains basic concepts of how to describe infrastructure and how to reference it from the timetable subschema

Dieser Artikel erklärt die Grundkonzepte für das Beschreiben von Infrastruktur und wie man auf diese auf dem Fahrplan-Subschema verweisen kann.

How to describe infrastructure / Beschreibung von Infrastruktur

In general we distinguish between the macroscopic and the microscopic approach of describing infrastructure. These are two ways of looking at the same set of tracks and stations a railway is made of.

Microscopic Infrastructure

The microscopic approach is focussed on providing on a very detailed description. In a microscopic infrastructure description in railML®, tracks usually are limited by switches, crossings, bufferstops and such. In railML® that would mean that usually a <track>s <trackTopology> defines its <trackBegin> and <trackEnd> as either <connection> (<connection>), <bufferStop> or <openEnd>. Stations and stops aka <ocp> are positioned on a <track> via <crossSection>s.

Below is a minimalistic example of a microscopic infrastructure:

  <infrastructure id="is01">
    <tracks>
      <track id="tr01">
        <trackTopology>
          <trackBegin id="tb01" pos="0">
            <openEnd id="oe01"/>
          </trackBegin>
          <trackEnd id="te01" pos="1000">
            <connection id="tecx01" ref="tbcx02"/>
          </trackEnd>
          <connections>
            <switch id="sw01" pos="1000">
              <connection id="swcx01" ref="tbcx03" orientation="outgoing" course="left"/>
            </switch>
          </connections>
        </trackTopology>
      </track>
      <track id="tr02">
        <trackTopology>
          <trackBegin id="tb02" pos="0">
            <connection id="tbcx02" ref="tecx01"/>
          </trackBegin>
          <trackEnd id="te02" pos="500">
            <connection id="tecx02" ref="tbcx04"/>
          </trackEnd>
          <crossSections>
            <crossSection id="cxs02" pos="250" ocpRef="ocp01"/>
          </crossSections>
        </trackTopology>
      </track>
      <track id="tr03">
        <trackTopology>
          <trackBegin id="tb03" pos="0">
            <connection id="tbcx03" ref="swcx01"/>
          </trackBegin>
          <trackEnd id="te03" pos="500">
            <connection id="tecx03" ref="swcx04"/>
          </trackEnd>
          <crossSections>
            <crossSection id="cxs03" pos="250" ocpRef="ocp01"/>
          </crossSections>
        </trackTopology>
      </track>
      <track id="tr04">
        <trackTopology>
          <trackBegin id="tb04" pos="0">
            <connection id="tbcx04" ref="tecx02"/>
          </trackBegin>
          <trackEnd id="te04" pos="1000">
            <openEnd id="oe04"/>
          </trackEnd>
          <connections>
            <switch id="sw04" pos="0">
              <connection id="swcx04" ref="tecx03" orientation="outgoing" course="left"/>
            </switch>
          </connections>
        </trackTopology>
      </track>
    </tracks>
    <operationControlPoints>
      <ocp id="ocp01">
        ...
        <propEquipment>
           <trackRef ref="tr02"/>
           <trackRef ref="tr03"/>
        </propEquipment>
        ...
      </ocp>
    </operationControlPoints>
  </infrastructure>

The above infrastructure describes an <ocp> that has two <track>s ("tr02" and "tr03"). Below is a rough sketch of the described infrastructure.

ExampleMicroscopicIS.png

The provided example is focused only on the track topology. Of course a real world example of a microscopic infrastructure would include a lot more details, however it demonstrates how the tracks are described in a way that is closely related to how the tracks are laid in reality. Please note that there is no need to cut the tracks like done in the example above. It would also be a correct modelling in railML® to define the same infrastructure with only two <track>s, one spanning from open end to open end and containing two switched and one that connects to those two switches via its <trackBegin> and <trackEnd>. For more information on how to connect tracks with switches and crossings, please also refer to this page.


Macroscopic Infrastructure

In a macroscopic view, on the other hand, <track>s usually span between <ocp>s. That does not mean that in a macroscopic view a <track> can only connect two {IS:Tag|ocp}}s but usually <track>s are limited by {IS:Tag|ocp}}s. One <track> in a macroscopic description does not necessarily represent a single track in reality, it may also represent a number of physical tracks as well as switches between them. When descibing this in railML®, it means that a <track>s <trackTopology> specifies <trackBegin> and <trackEnd> as mostly <macroscopicNode>. However, <crossSections> are also used in the macroscopic approach.

Below is an example of an infrastructure that follows the macroscopic approach:

  <infrastructure id="is01">
    <tracks>
      <track id="tr01">
        <trackTopology>
          <trackBegin id="tb01" pos="0">
            <macroscopicNode ocpRef="ocp01"/>
          </trackBegin>
          <trackEnd id="te01" pos="10000">
            <macroscopicNode ocpRef="ocp03"/>
          </trackEnd>
          <crossSections>
            <crossSection id="cxs01" pos="5000" ocpRef="ocp02"/>
          </crossSections>
        </trackTopology>
      </track>
      <track id="tr02">
        <trackTopology>
          <trackBegin id="tb02" pos="0">
            <macroscopicNode ocpRef="ocp03"/>
          </trackBegin>
          <trackEnd id="te02" pos="10000">
            <macroscopicNode ocpRef="ocp05"/>
          </trackEnd>
          <crossSections>
            <crossSection id="cxs02" pos="5000" ocpRef="ocp04"/>
          </crossSections>
        </trackTopology>
      </track>
      <track id="tr03">
        <trackTopology>
          <trackBegin id="tb03" pos="0">
           <macroscopicNode ocpRef="ocp01"/>
          </trackBegin>
          <trackEnd id="te03" pos="8000">
            <macroscopicNode ocpRef="ocp04"/>
          </trackEnd>
        </trackTopology>
      </track>
      <track id="ocp02tr01">
        <trackTopology>
          <trackBegin id="tbocp02tr01" pos="0">
            <macroscopicNode ocpRef="ocp02"/>
          </trackBegin>
          <trackEnd id="teocp02tr01" pos="450">
            <macroscopicNode ocpRef="ocp02"/>
          </trackEnd>
        </trackTopology>
      </track>
      <track id="ocp02tr02">
        <trackTopology>
          <trackBegin id="tbocp02tr02" pos="0">
            <macroscopicNode ocpRef="ocp02"/>
          </trackBegin>
          <trackEnd id="teocp02tr02" pos="450">
            <macroscopicNode ocpRef="ocp02"/>
          </trackEnd>
        </trackTopology>
      </track>
    </tracks>
    <operationControlPoints>
      <ocp id="ocp01"></ocp>
      <ocp id="ocp02">
        <propEquipment>
          <trackRef ref="ocp02tr01"/>
          <trackRef ref="ocp02tr02"/>
        </propEquipment>
      </ocp>
      <ocp id="ocp03"></ocp>
      <ocp id="ocp04"></ocp>
      <ocp id="ocp05"></ocp>
    </operationControlPoints>  
  </infrastructure>

The above railML describes a macroscopic view of a railway network of 5 <ocp>s. The connections are displayed in the below sketch:

ExampleMacroscopicIS.png

The above example also specifies two station tracks for the <ocp> with the id "ocp02". For more information on how to describe station tracks in a macroscopic view please also refer to this page

Referencing Infrastructure from Timetable