Dev:Types of ocps: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
(railML→{{rml}})
 
(27 intermediate revisions by 4 users not shown)
Line 2: Line 2:
{{deu|Dieser Artikel erklärt Grundlagen des Umganges mit Betriebsstellen bei "Makro"-Modellierung im [[Infrastructure]]-Subschema.}}
{{deu|Dieser Artikel erklärt Grundlagen des Umganges mit Betriebsstellen bei "Makro"-Modellierung im [[Infrastructure]]-Subschema.}}


== Encoding of different types of <ocp>s (stations) ==
'''Encoding of different types of {{IS:Tag|ocp}}s (stations)'''
 
In a “macro” infrastructure model, some basic infrastructure elements (as switches, sidings, signals) are aggregated into “higher elements”. A very common aggregation is to form larger “stations” for timetabling. Even nowadays, in a time of very detailed software tools, it’s still necessary to use highly aggregated infrastructure information e. g. for passenger information.
In a “macro” infrastructure model, some basic infrastructure elements (as switches, sidings, signals) are aggregated into “higher elements”. A very common aggregation is to form larger “stations” for timetabling. Even nowadays, in a time of very detailed software tools, it’s still necessary to use highly aggregated infrastructure information e. g. for passenger information.


In different countries, there are different definitions for such aggregated infrastructure elements.<br>
In different countries, there are different definitions for such aggregated infrastructure elements.<br>
In railML, they are generally described by the element {{IS:Tag|ocp}}.<br>
In {{rml}}, they are generally described by the element {{IS:Tag|ocp}}.<br>
This article shall summarise the usage of {{IS:Tag|ocp}} for different types of (national) aggregated infrastructure elements.<br>
This article shall summarise the usage of {{IS:Tag|ocp}} for different types of (national) aggregated infrastructure elements.
<big>'''Please help extending this article by adding the types of your country.'''</big>


There are also some examples published at {{site|1=https://wiki2.railml.org/wiki/Dev:Guides|2=Dev:Guides}}, e.g.  {{site|1=https://wiki2.railml.org/wiki/Dev:Passenger_station|2=Passenger station}}, {{site|1=https://wiki2.railml.org/wiki/Dev:Intermodal_terminal|2=Intermodal terminal}}


=== Germany ===
{{note|Please help extending this article by adding the types of your country.}}
 
 
== Germany ==
The {{IS:Tag|ocp}} types introduced here relate to the classical definition of ''Betriebsstelle'' of the (former) Operation Rule Book ''Fahrdienstvorschrift''.
The {{IS:Tag|ocp}} types introduced here relate to the classical definition of ''Betriebsstelle'' of the (former) Operation Rule Book ''Fahrdienstvorschrift''.
Not all of these types need to be used as {{IS:Tag|ocp}}s in a railML file. Rather, it depends on the use case which types are necessary. For instance, blocking signals are optional {{IS:Tag|ocp}}s in case a timetable for passenger information shall be described.
Not all of these types need to be used as {{IS:Tag|ocp}}s in a {{rml}} file. Rather, it depends on the use case which types are necessary. For instance, blocking signals are optional {{IS:Tag|ocp}}s in case a timetable for passenger information shall be described.


Some attributes and sub-elements of {{IS:Tag|ocp}} as {{IS:Tag|area}}, {{IS:Tag|geoCoord}}, {{IS:Tag|designator}} are omitted for better clarity.<br>
Some attributes and sub-elements of {{IS:Tag|ocp}} as {{IS:Tag|area}}, {{IS:Tag|geoCoord}}, {{IS:Tag|designator}} are omitted for better clarity.<br>
The sub-element [[#<propEquipment>.<summary>|<propEquipment>]] is described at the end for all types.<br>
The sub-element [[#summary|<propEquipment>]] is described at the end for all types.<br>
Attributes marked with =… can have any permitted value depending on the actual situation.<br>
Attributes marked with =… can have any permitted value depending on the actual situation.<br>
Examples are taken from iRFP’s railML example files [http://www.irfp.de/files/iRFP/Produkt%20Schnittstellen/railML%20Dokumente/fbs_railml2_beispiel_v220.zip ''Ostsachsen''] (eastern Saxony) or ''Südthüringen'' (southern Thuringia) and can also be viewed following the link in a complete railML file.
Examples are taken from iRFP’s {{rml}} example files {{site|https://www.railml.org/en/user/exampledata.html?file%3Dfiles/download/exampledata/130416_iRFP_ExampleDataFBS_EastSaxonyRailML.zip|''Ostsachsen''|visited=2018-06-18|comment=Model of eastern Syxony by iRFP; official {{rml}} example file; only for registered users|type=PDF}} or ''Südthüringen'' (southern Thuringia) and can also be viewed following the link in a complete {{rml}} file.




==== Basic types ====
=== Basic types ===
;{{deu|Bahnhof für Reise- und Güterverkehr}} • Station for passengers and freight with switches<br>
===={{deu|Bahnhof für Reise- und Güterverkehr}} • Station for passengers and freight with switches====
:[[file:rml_ocp_de_bf.png||example track map of a station]]<br>
:[[file:rml_ocp_de_bf.png||example track map of a station]]<br>
:<syntaxhighlight lang="xml">
:<syntaxhighlight lang="xml">
Line 31: Line 35:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_DKA' name='Kamenz (Sachsen)'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_DKA' name='Kamenz (Sachsen)'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
===={{deu|Bahnhof nur für Reiseverkehr}} • Passenger-only station with switches====
 
 
;{{deu|Bahnhof nur für Reiseverkehr}} • Passenger-only station with switches<br>
:[[file:rml_ocp_de_pbf.png||example track map of a passenger-only station]]<br>
:[[file:rml_ocp_de_pbf.png||example track map of a passenger-only station]]<br>
:<syntaxhighlight lang="xml">
:<syntaxhighlight lang="xml">
Line 43: Line 44:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_DN' name='Dresden-Neustadt'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_DN' name='Dresden-Neustadt'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
===={{deu|Haltepunkt}} • Passenger-only halt; station without switches====
 
 
;{{deu|Haltepunkt}} • Passenger-only halt; station without switches<br>
:[[file:rml_ocp_de_hp.png||example track map of a halt]]<br>
:[[file:rml_ocp_de_hp.png||example track map of a halt]]<br>
:<syntaxhighlight lang="xml">
:<syntaxhighlight lang="xml">
Line 55: Line 53:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_DKRD' name='Kleinröhrsdorf'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_DKRD' name='Kleinröhrsdorf'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
===={{deu|Bahnhof nur für Güterverkehr}} • Freight-only station====
 
 
;{{deu|Bahnhof nur für Güterverkehr}} • Freight-only station<br>
:[[file:rml_ocp_de_gbf.png||example track map of a freight-only station]]<br>
:[[file:rml_ocp_de_gbf.png||example track map of a freight-only station]]<br>
:<syntaxhighlight lang="xml">
:<syntaxhighlight lang="xml">
Line 67: Line 62:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_BHG' name='Horka [Wehrkirch] Gbf.'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_BHG' name='Horka [Wehrkirch] Gbf.'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
===={{deu|Betriebsbahnhof}} • Loop and/or overtaking track with no passenger nor freight access====
 
 
;{{deu|Betriebsbahnhof}} • Loop and/or overtaking track with no passenger nor freight access<br>
:[[file:rml_ocp_de_bbf1.png|left|example track map of a smaller loop]]
:[[file:rml_ocp_de_bbf1.png|left|example track map of a smaller loop]]
:[[file:rml_ocp_de_bbf2.png||example track map of a loop-only station]]<br>
:[[file:rml_ocp_de_bbf2.png||example track map of a loop-only station]]<br>
Line 81: Line 73:
:For instance: <code> <ocp id='ocp_BGRA' name='Graustein Bbf.'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_BGRA' name='Graustein Bbf.'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_UTHE' name='Übf. Theuern'</code> in [[#ex2|<nowiki>[2]</nowiki>]]
:For instance: <code> <ocp id='ocp_UTHE' name='Übf. Theuern'</code> in [[#ex2|<nowiki>[2]</nowiki>]]
<hr>
===={{deu|Anschlussstelle}} • Line-side goods or private siding outside station limits====
 
 
;{{deu|Anschlussstelle}} • Line-side goods or private siding outside station limits<br>
:[[file:rml_ocp_de_anst.png||example track map of a private siding]]<br>
:[[file:rml_ocp_de_anst.png||example track map of a private siding]]<br>
:<syntaxhighlight lang="xml">
:<syntaxhighlight lang="xml">
Line 93: Line 82:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_DIN' name='Dresden Industriegelände Anst.'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_DIN' name='Dresden Industriegelände Anst.'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
===={{deu|Abzweigstelle}} • Junction of two lines====
 
 
;{{deu|Abzweigstelle}} • Junction of two lines<br>
:[[file:rml_ocp_de_abzw.png||example track map of a junction of two lines]]<br>
:[[file:rml_ocp_de_abzw.png||example track map of a junction of two lines]]<br>
:<syntaxhighlight lang="xml">
:<syntaxhighlight lang="xml">
Line 105: Line 91:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_BSAE' name='Abzw. Särichen'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_BSAE' name='Abzw. Särichen'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
===={{deu|Überleitstelle zwischen zwei- und einsgleisigen Streckenabschnitten}} • Junction as change between double and single track (of the same line)====
 
 
;{{deu|Überleitstelle zwischen doppel- und einspurigem Trajekt}} • Junction as change between double and single track (of the same line)<br>
:[[file:rml_ocp_de_ust1.png||example track map of a junction between single and double track]]<br>
:[[file:rml_ocp_de_ust1.png||example track map of a junction between single and double track]]<br>
:<syntaxhighlight lang="xml">
:<syntaxhighlight lang="xml">
Line 117: Line 100:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_DOZ_U' name='Üst. Oberoderwitz'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_DOZ_U' name='Üst. Oberoderwitz'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
===={{deu|Überleitstelle auf einer zweigleisigen Strecke}} • Crossovers between two tracks (of the same line)====
 
 
;{{deu|Überleitstelle zwischen den Gleisen eines doppelspurigen Trajekts}} • Crossovers between two tracks (of the same line)<br>
:[[file:rml_ocp_de_ust2.png||example track map of a crossover]]<br>
:[[file:rml_ocp_de_ust2.png||example track map of a crossover]]<br>
:<syntaxhighlight lang="xml">
:<syntaxhighlight lang="xml">
Line 130: Line 110:
:For instance: <code> <ocp id='ocp_XPBL' name='Bielawa Dolna [Nieder-Bielau]'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_XPBL' name='Bielawa Dolna [Nieder-Bielau]'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_UMA' name='Ülst. Massertal'</code> in [[#ex2|<nowiki>[2]</nowiki>]]
:For instance: <code> <ocp id='ocp_UMA' name='Ülst. Massertal'</code> in [[#ex2|<nowiki>[2]</nowiki>]]
<hr>
===={{deu|Blocksignal}} • Blocking signal or any other blocking location (ETCS, LZB)====
 
 
;{{deu|Blocksignal}} • Blocking signal or any other blocking location (ETCS, LZB)<br>
:[[file:rml_ocp_de_sbk.png||example track map of blocking signals]]<br>
:[[file:rml_ocp_de_sbk.png||example track map of blocking signals]]<br>
:''Each signal group at same location (i. e. per direction) should be a separate {{IS:Tag|ocp}} to reduce “location errors”. Also used for any other signals (which are not blocking signals but act as such, e. g. home signals) alongside a line.''
:''Each signal group at same location (i. e. per direction) should be a separate {{IS:Tag|ocp}} to reduce “location errors”. Also used for any other signals (which are not blocking signals but act as such, e. g. home signals) alongside a line.''
Line 143: Line 120:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_DKT_903' name='Sbk 903'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_DKT_903' name='Sbk 903'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>


==== Typical combinations ====
=== Typical combinations ===
;{{deu|Blockstelle}} • Locally staffed block post<br>
===={{deu|Blockstelle}} • Locally staffed block post====
:[[file:rml_ocp_de_bk.png||example track map of a block post]]<br>
:[[file:rml_ocp_de_bk.png||example track map of a block post]]<br>
:''“Deprecated” combination of a signal box and typically one or two blocking signals; the location of the {{IS:Tag|ocp}} is rather the signal box than the location of the signals.''
:''“Deprecated” combination of a signal box and typically one or two blocking signals; the location of the {{IS:Tag|ocp}} is rather the signal box than the location of the signals.''
Line 156: Line 132:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_BBAE' name='Bärhaus'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_BBAE' name='Bärhaus'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
===={{deu|Haltestelle (Haltepunkt mit Anschlussstelle)}} • Combination of a line-side goods or private siding outside station limits and a passenger halt====
 
 
;{{deu|Haltestelle}} • Combination of a line-side goods or private siding outside station limits and a passenger halt<br>
:[[file:rml_ocp_de_hpanst.png||example track map of a combination of private siding and passenger halt]]<br>
:[[file:rml_ocp_de_hpanst.png||example track map of a combination of private siding and passenger halt]]<br>
:<syntaxhighlight lang="xml">
:<syntaxhighlight lang="xml">
Line 168: Line 141:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_DSML' name='Schmölln (Oberlausitz)'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_DSML' name='Schmölln (Oberlausitz)'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
===={{deu|Haltepunkt mit Blockstelle}} • Combination of a passenger halt with blocking signals====
 
 
;{{deu|Haltepunkt mit Blockstelle}} • Combination of a passenger halt with blocking signals<br>
:[[file:rml_ocp_de_hpbk.png||example track map of a combination of passenger halt with blocking signals]]<br>
:[[file:rml_ocp_de_hpbk.png||example track map of a combination of passenger halt with blocking signals]]<br>
:''Can be combined into one {{IS:Tag|ocp}} if the stopping place at a signal is the same as for the passenger halt (signals at end of platform).''
:''Can be combined into one {{IS:Tag|ocp}} if the stopping place at a signal is the same as for the passenger halt (signals at end of platform).''
Line 181: Line 151:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_BLA' name='Lauta (Niederlausitz)'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_BLA' name='Lauta (Niederlausitz)'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
===={{deu|Bahnhofsteile}} • Longer station with more than one “stopping place” per route====
 
 
;{{deu|Bahnhofsteile}} • Longer station with more than one “stopping place” per route<br>
:[[file:rml_ocp_de_bft.png||example track map of a longer station with two parts]]<br>
:[[file:rml_ocp_de_bft.png||example track map of a longer station with two parts]]<br>
:''A station with several parts - where one train can stop several times – may be split into several {{IS:Tag|ocp}}s to encode the departure, arrival and run time between the different station parts.''
:''A station with several parts - where one train can stop several times – may be split into several {{IS:Tag|ocp}}s to encode the departure, arrival and run time between the different station parts.''
:For instance: <code> <ocp id='ocp_DKT' name='Dresden-Klotzsche'</code> and <code> <ocp id='ocp_DKT_B' name='Dresden-Klotzsche Bbf.'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_DKT' name='Dresden-Klotzsche'</code> and <code> <ocp id='ocp_DKT_B' name='Dresden-Klotzsche Bbf.'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
==== German specialities ====
The following German specialities are not common in other countries and not regarded as international agreed. They may occur in German railML files but should not be used as general “pattern”.


 
=== German specialities ===
;{{deu|Endhaltepunkt}} • Passenger-only halt (station without switches) where trains regularly terminate and restart (turn, change direction)<br>
The following German specialities are not common in other countries and not regarded as international agreed. They may occur in German {{rml}} files but should not be used as general “pattern”.
===={{deu|Endhaltepunkt}} • Passenger-only halt (station without switches) where trains regularly terminate and restart (turn, change direction)====
:[[file:rml_ocp_de_hp.png||example track map of a halt]]<br>
:[[file:rml_ocp_de_hp.png||example track map of a halt]]<br>
:''No infrastructural difference to a simple halt, just difference in declaration: For reasons of bureaucracy, the beginning and ending of trains is regarded as “train order change”.''
:''No infrastructural difference to a simple halt, just difference in declaration: For reasons of bureaucracy, the beginning and ending of trains is regarded as “train order change”.''
Line 207: Line 170:
:For instance: <code> <ocp id='ocp_USMS' name='Schmalkalden-Fachhochschule (Stillertor)'</code> in [[#ex2|<nowiki>[2]</nowiki>]]
:For instance: <code> <ocp id='ocp_USMS' name='Schmalkalden-Fachhochschule (Stillertor)'</code> in [[#ex2|<nowiki>[2]</nowiki>]]
:For instance: <code> <ocp id='ocp_UCF' name='Cursdorf'</code> in [[#ex2|<nowiki>[2]</nowiki>]]
:For instance: <code> <ocp id='ocp_UCF' name='Cursdorf'</code> in [[#ex2|<nowiki>[2]</nowiki>]]
<hr>
===={{deu|Ausweichanschlussstelle}} • Line-side goods or private siding outside station limits which allows crossings or overtaking of trains====
 
 
;{{deu|Ausweichanschlussstelle}} • Line-side goods or private siding outside station limits which allows crossings or overtaking of trains<br>
:[[file:rml_ocp_de_awanst.png||example track map of an Ausweichanschlussstelle]]<br>
:[[file:rml_ocp_de_awanst.png||example track map of an Ausweichanschlussstelle]]<br>
:''This is a rather old-fashioned German speciality: The difference between a freight-only station, an ''Anschlussstelle'' and an ''Ausweichanschlussstelle'' lies in interlocking details and is not very objective. Because there is no relevant functional difference, we do currently not encode any differences to ''Anschlussstelle'' here:''
:''This is a rather old-fashioned German speciality: The difference between a freight-only station, an ''Anschlussstelle'' and an ''Ausweichanschlussstelle'' lies in interlocking details and is not very objective. Because there is no relevant functional difference, we do currently not encode any differences to ''Anschlussstelle'' here:''
Line 220: Line 180:
</syntaxhighlight>  
</syntaxhighlight>  
:For instance: <code> <ocp id='ocp_BKSB' name='Awanst. Kodersdorf Sandberg'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
:For instance: <code> <ocp id='ocp_BKSB' name='Awanst. Kodersdorf Sandberg'</code> in [[#ex1|<nowiki>[1]</nowiki>]]
<hr>
<div ID=summary>
 
=== {{IS:Tag|propEquipment}}.{{IS:Tag|summary}} ===
 
</div>
==== <propEquipment>.<summary> ====
The additional (optional) element {{IS:Tag|propEquipment}}.{{IS:Tag|summary}} easily follows the same patterns:<br>
The additional (optional) element <propEquipment>.<summary> easily follows the same patterns:<br>
* The attribute {{Attr|hasSwitches}} is true if the {{IS:Tag|ocp}} has at least one switch. This is true for '''line-side goods or private sidings''', '''junctions''', '''crossovers''' and for all '''stations''' except '''halts'''.
* The attribute {{Attr|hasSwitches}} is true if the {{IS:Tag|ocp}} has at least one switch. This is true for '''line-side goods or private sidings''', '''junctions''', '''crossovers''' and for all '''stations''' except '''halts'''.
* The attribute {{Attr|hasHomeSignals}} is surely false for '''halts''', '''junctions''', '''crossovers''' and '''line-side goods or private sidings'''. For all other {{IS:Tag|ocp}}s, it is normally true except in rare simplified cases like RETB. It is also true if the home signals are replaced by marker boards with the same function (ETCS or German Ne1/So5) – it does not matter here whether the signals are switchable or not.
* The attribute {{Attr|hasHomeSignals}} is surely false for '''halts''', '''junctions''', '''crossovers''' and '''line-side goods or private sidings'''. For all other {{IS:Tag|ocp}}s, it is normally true except in rare simplified cases like {{external|https://en.wikipedia.org/wiki/Radio_Electronic_Token_Block|Radio Electronic Token Block}} (RETB). It is also true if the home signals are replaced by marker boards with the same function (ETCS or German Ne1/So5) – it does not matter here whether the signals are switchable or not.
* The attribute {{Attr|hasStarterSignals}} is surely false for '''halts''' and '''line-side goods or private sidings'''. For all other {{IS:Tag|ocp}}s including '''block posts''', '''junctions''' and '''crossovers''', it is true. So, it is practically redundant to the attribute {{Attr|ensuresTrainSequence}}: Both have always the same value in normal German railway operation where trains operate in blocking distances (at least one signal has to ensure the blocking distance). It is also true if the starter signals are replaced by marker boards with the same function (ETCS or RETB “Stop board” or German Ne5/So8) – it does not matter here whether the signals are switchable or not.
* The attribute {{Attr|hasStarterSignals}} is surely false for '''halts''' and '''line-side goods or private sidings'''. For all other {{IS:Tag|ocp}}s including '''block posts''', '''junctions''' and '''crossovers''', it is true. So, it is practically redundant to the attribute {{Attr|ensuresTrainSequence}}: Both have always the same value in normal German railway operation where trains operate in blocking distances (at least one signal has to ensure the blocking distance). It is also true if the starter signals are replaced by marker boards with the same function (ETCS or RETB “Stop board” or German Ne5/So8) – it does not matter here whether the signals are switchable or not.


Line 255: Line 214:
           <summary hasHomeSignals='false' hasStarterSignals='true' hasSwitches=false'/>
           <summary hasHomeSignals='false' hasStarterSignals='true' hasSwitches=false'/>
         </propEquipment>
         </propEquipment>
</syntaxhighlight>
</syntaxhighlight>
<hr>


===Files===
<span id="ex1"></span><nowiki>[1]</nowiki> {{site|https://www.railml.org/en/user/exampledata.html?file%3Dfiles/download/exampledata/130416_iRFP_ExampleDataFBS_EastSaxonyRailML.zip|''Ostsachsen''|visited=2018-06-18|comment=Model of eastern Saxony by iRFP; official {{rml}} example file; only for registered users|type=PDF}}<br>
<span id="ex2"></span><nowiki>[2]</nowiki> Example file ''Südthüringen'' by iRFP


<span id="ex1"></span><nowiki>[1]</nowiki> [http://www.irfp.de/files/iRFP/Produkt%20Schnittstellen/railML%20Dokumente/fbs_railml2_beispiel_v220.zip Example file ''Ostsachsen'' by iRFP]<br>
[[Category:GeneralDescription]]
<span id="ex2"></span><nowiki>[2]</nowiki> Example file ''Südthüringen'' by iRFP

Latest revision as of 17:40, 22 January 2024

This article explains basic concepts: How to encode different types of stations in "macro" infrastructure models.
Dieser Artikel erklärt Grundlagen des Umganges mit Betriebsstellen bei "Makro"-Modellierung im Infrastructure-Subschema.

Encoding of different types of <ocp>s (stations)

In a “macro” infrastructure model, some basic infrastructure elements (as switches, sidings, signals) are aggregated into “higher elements”. A very common aggregation is to form larger “stations” for timetabling. Even nowadays, in a time of very detailed software tools, it’s still necessary to use highly aggregated infrastructure information e. g. for passenger information.

In different countries, there are different definitions for such aggregated infrastructure elements.
In railML®, they are generally described by the element <ocp>.
This article shall summarise the usage of <ocp> for different types of (national) aggregated infrastructure elements.

There are also some examples published at Dev:Guides (link to the railML® website), e.g. Passenger station (link to the railML® website), Intermodal terminal (link to the railML® website)

🗒️ Please help extending this article by adding the types of your country.


Germany

The <ocp> types introduced here relate to the classical definition of Betriebsstelle of the (former) Operation Rule Book Fahrdienstvorschrift. Not all of these types need to be used as <ocp>s in a railML® file. Rather, it depends on the use case which types are necessary. For instance, blocking signals are optional <ocp>s in case a timetable for passenger information shall be described.

Some attributes and sub-elements of <ocp> as <area>, <geoCoord>, <designator> are omitted for better clarity.
The sub-element <propEquipment> is described at the end for all types.
Attributes marked with =… can have any permitted value depending on the actual situation.
Examples are taken from iRFP’s railML® example files Ostsachsen (link to the railML® website, PDF, visited on 2018-06-18; Model of eastern Syxony by iRFP; official railML® example file; only for registered users) or Südthüringen (southern Thuringia) and can also be viewed following the link in a complete railML® file.


Basic types

Bahnhof für Reise- und Güterverkehr • Station for passengers and freight with switches

example track map of a station
      <ocp id=… name=…>
        <propOperational operationalType='station' orderChangeable='true' ensuresTrainSequence='true'/>
        <propService passenger='true' service=… goodsLoading='true'/>
      </ocp>
For instance: <ocp id='ocp_DKA' name='Kamenz (Sachsen)' in [1]

Bahnhof nur für Reiseverkehr • Passenger-only station with switches

example track map of a passenger-only station
      <ocp id=… name=…>
        <propOperational operationalType='station' orderChangeable='true' ensuresTrainSequence='true'/>
        <propService passenger='true' service=…/>
      </ocp>
For instance: <ocp id='ocp_DN' name='Dresden-Neustadt' in [1]

Haltepunkt • Passenger-only halt; station without switches

example track map of a halt
      <ocp id=… name=…>
        <propOperational orderChangeable='false' ensuresTrainSequence='false'/>
        <propService passenger='true' service=…/>
      </ocp>
For instance: <ocp id='ocp_DKRD' name='Kleinröhrsdorf' in [1]

Bahnhof nur für Güterverkehr • Freight-only station

example track map of a freight-only station
      <ocp id=… name=…>
        <propOperational operationalType='station' orderChangeable='true' ensuresTrainSequence='true'/>
        <propService goodsLoading='true' goodsIntermodal=…/>
      </ocp>
For instance: <ocp id='ocp_BHG' name='Horka [Wehrkirch] Gbf.' in [1]

Betriebsbahnhof • Loop and/or overtaking track with no passenger nor freight access

example track map of a smaller loop
example track map of a loop-only station
      <ocp id=… name=…>
        <propOperational operationalType='station' orderChangeable='true' ensuresTrainSequence='true'/>
        <propService/>
      </ocp>
For instance: <ocp id='ocp_BGRA' name='Graustein Bbf.' in [1]
For instance: <ocp id='ocp_UTHE' name='Übf. Theuern' in [2]

Anschlussstelle • Line-side goods or private siding outside station limits

example track map of a private siding
      <ocp id=… name=…>
        <propOperational orderChangeable='false' ensuresTrainSequence='false'/>
        <propService goodsSiding='true'/>
      </ocp>
For instance: <ocp id='ocp_DIN' name='Dresden Industriegelände Anst.' in [1]

Abzweigstelle • Junction of two lines

example track map of a junction of two lines
      <ocp id=… name=…>
        <propOperational operationalType='junction' orderChangeable='true' ensuresTrainSequence='true'/>
        <propService/>
      </ocp>
For instance: <ocp id='ocp_BSAE' name='Abzw. Särichen' in [1]

Überleitstelle zwischen zwei- und einsgleisigen Streckenabschnitten • Junction as change between double and single track (of the same line)

example track map of a junction between single and double track
      <ocp id=… name=…>
        <propOperational operationalType='crossover' orderChangeable='true' ensuresTrainSequence='true'/>
        <propService/>
      </ocp>
For instance: <ocp id='ocp_DOZ_U' name='Üst. Oberoderwitz' in [1]

Überleitstelle auf einer zweigleisigen Strecke • Crossovers between two tracks (of the same line)

example track map of a crossover
      <ocp id=… name=…>
        <propOperational operationalType='crossover' orderChangeable='true' ensuresTrainSequence='true'/>
        <propService/>
      </ocp>
For instance: <ocp id='ocp_XPBL' name='Bielawa Dolna [Nieder-Bielau]' in [1]
For instance: <ocp id='ocp_UMA' name='Ülst. Massertal' in [2]

Blocksignal • Blocking signal or any other blocking location (ETCS, LZB)

example track map of blocking signals
Each signal group at same location (i. e. per direction) should be a separate <ocp> to reduce “location errors”. Also used for any other signals (which are not blocking signals but act as such, e. g. home signals) alongside a line.
      <ocp id=… name=…>
        <propOperational operationalType='blockSignal' orderChangeable='false' ensuresTrainSequence='true'/>
        <propService/>
      </ocp>
For instance: <ocp id='ocp_DKT_903' name='Sbk 903' in [1]

Typical combinations

Blockstelle • Locally staffed block post

example track map of a block post
“Deprecated” combination of a signal box and typically one or two blocking signals; the location of the <ocp> is rather the signal box than the location of the signals.
      <ocp id=… name=…>
        <propOperational operationalType='blockPost' orderChangeable='false' ensuresTrainSequence='true'/>
        <propService/>
      </ocp>
For instance: <ocp id='ocp_BBAE' name='Bärhaus' in [1]

Haltestelle (Haltepunkt mit Anschlussstelle) • Combination of a line-side goods or private siding outside station limits and a passenger halt

example track map of a combination of private siding and passenger halt
      <ocp id=… name=…>
        <propOperational orderChangeable='false' ensuresTrainSequence='false'/>
        <propService passenger='true' goodsSiding='true'/>
      </ocp>
For instance: <ocp id='ocp_DSML' name='Schmölln (Oberlausitz)' in [1]

Haltepunkt mit Blockstelle • Combination of a passenger halt with blocking signals

example track map of a combination of passenger halt with blocking signals
Can be combined into one <ocp> if the stopping place at a signal is the same as for the passenger halt (signals at end of platform).
      <ocp id=… name=…>
        <propOperational operationalType='blockPost' orderChangeable='false' ensuresTrainSequence='true'/>
        <propService passenger='true'/>
      </ocp>
For instance: <ocp id='ocp_BLA' name='Lauta (Niederlausitz)' in [1]

Bahnhofsteile • Longer station with more than one “stopping place” per route

example track map of a longer station with two parts
A station with several parts - where one train can stop several times – may be split into several <ocp>s to encode the departure, arrival and run time between the different station parts.
For instance: <ocp id='ocp_DKT' name='Dresden-Klotzsche' and <ocp id='ocp_DKT_B' name='Dresden-Klotzsche Bbf.' in [1]

German specialities

The following German specialities are not common in other countries and not regarded as international agreed. They may occur in German railML® files but should not be used as general “pattern”.

Endhaltepunkt • Passenger-only halt (station without switches) where trains regularly terminate and restart (turn, change direction)

example track map of a halt
No infrastructural difference to a simple halt, just difference in declaration: For reasons of bureaucracy, the beginning and ending of trains is regarded as “train order change”.
      <ocp id=… name=…>
        <propOperational operationalType='station' orderChangeable='true' ensuresTrainSequence='true'/>
        <propService passenger='true'/>
      </ocp>
For instance: <ocp id='ocp_BHOR' name='Horka [Wehrkirch] Hp.' in [1]
For instance: <ocp id='ocp_USMS' name='Schmalkalden-Fachhochschule (Stillertor)' in [2]
For instance: <ocp id='ocp_UCF' name='Cursdorf' in [2]

Ausweichanschlussstelle • Line-side goods or private siding outside station limits which allows crossings or overtaking of trains

example track map of an Ausweichanschlussstelle
This is a rather old-fashioned German speciality: The difference between a freight-only station, an Anschlussstelle and an Ausweichanschlussstelle lies in interlocking details and is not very objective. Because there is no relevant functional difference, we do currently not encode any differences to Anschlussstelle here:
      <ocp id=… name=…>
        <propOperational orderChangeable='false' ensuresTrainSequence='false'/>
        <propService goodsSiding='true'/>
      </ocp>
For instance: <ocp id='ocp_BKSB' name='Awanst. Kodersdorf Sandberg' in [1]

The additional (optional) element <propEquipment>.<summary> easily follows the same patterns:

  • The attribute hasSwitches is true if the <ocp> has at least one switch. This is true for line-side goods or private sidings, junctions, crossovers and for all stations except halts.
  • The attribute hasHomeSignals is surely false for halts, junctions, crossovers and line-side goods or private sidings. For all other <ocp>s, it is normally true except in rare simplified cases like Radio Electronic Token Block (external link) (RETB). It is also true if the home signals are replaced by marker boards with the same function (ETCS or German Ne1/So5) – it does not matter here whether the signals are switchable or not.
  • The attribute hasStarterSignals is surely false for halts and line-side goods or private sidings. For all other <ocp>s including block posts, junctions and crossovers, it is true. So, it is practically redundant to the attribute ensuresTrainSequence: Both have always the same value in normal German railway operation where trains operate in blocking distances (at least one signal has to ensure the blocking distance). It is also true if the starter signals are replaced by marker boards with the same function (ETCS or RETB “Stop board” or German Ne5/So8) – it does not matter here whether the signals are switchable or not.

For a typical “fully operational” station with switches:

        <propEquipment>
          <summary hasHomeSignals='true' hasStarterSignals='true' hasSwitches='true'/>
        </propEquipment>

For a simple halt or line-side goods or private siding:

        <propEquipment>
          <summary hasHomeSignals='false' hasStarterSignals='false' hasSwitches='false'/>
        </propEquipment>

For a typical junction or crossover:

        <propEquipment>
          <summary hasHomeSignals='false' hasStarterSignals='true' hasSwitches='true'/>
        </propEquipment>

For a block post, signal, LZB/ETCS block marker board or Endhaltepunkt:

        <propEquipment>
          <summary hasHomeSignals='false' hasStarterSignals='true' hasSwitches=false'/>
        </propEquipment>

Files

[1] Ostsachsen (link to the railML® website, PDF, visited on 2018-06-18; Model of eastern Saxony by iRFP; official railML® example file; only for registered users)
[2] Example file Südthüringen by iRFP