Dev:Defining temporal availability of infrastructure elements and speed profiles: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
(Examples added)
(Content added)
Line 1: Line 1:
= General / {{Deu|Allgemeines}}=
This article describes the representation of general time restrictions in railML. This procedure is used in the following cases:
* temporal restriction of the availability of {{IS:Tag|infrastructure}} elements ({{IS:Tag|track}}, {{IS:Tag|ocp}}, {{IS:Tag|signal}}, etc.) using the {{IS:Tag|state}}-element
* temporal validity of {{IS:Tag|speedProfile}}
The representation of temporal validities is characterized by start and end time, as well as start date and duration. It is also possible to represent periodically occurring validities with the equal start and end times.
{{Deu|Der Artikel beschreibt die Abbildung allgemeiner zeitlicher Einschränkungen in railML. Verwendet wird dieses Verfahren für die folgenden Fälle:}}
* {{Deu|zeitliche Einschränkung der Verfügbarkeit von {{IS:Tag|infrastructure}}-Elementen ({{IS:Tag|track}}, {{IS:Tag|ocp}}, {{IS:Tag|signal}}, etc.) mit Hilfe des {{IS:Tag|state}}-Elements}}
* {{Deu|zeitliche Gültigkeit von {{IS:Tag|speedProfile}}}}
{{Deu|Die Abbildung zeitlicher Gültigkeiten wird durch Anfangs- und End-Zeitpunkt, sowie Anfangs-Datum und Dauer charakterisiert. Eine Abbildung periodisch auftretender Gültigkeiten mit gleichen Anfangs- und Endzeitpunkt ist ebenfalls möglich.}}
= Concept / {{Deu|Konzept }}=
The temporal aspect of the restriction is defined by four attributes:
* {{Attr|operatingPeriodRef}} {{RailMLType|tGenericRef}}: Reference to an {{TT:Tag|operatingPeriod}}. It defines the dates on which the restriction begins. If the {{TT:Tag|operatingPeriod}} contains more than one day, it is a periodic restriction.
* {{Attr|startTime}} {{XsdType|time}}: Start time of the restriction. If no {{Attr|startTime}} is specified, 0.00 is assumed.
* {{Attr|endTime}} {{XsdType|time}}: End time of the restriction. If no {{Attr|endTime}} is specified, 24.00 is assumed.
* {{Attr|endDayOffset}} {{XsdType|nonNegativeInteger}}: Number of midnight transitions over which the restriction lasts. If no {{Attr|endDayOffset}}} is specified, a value of 0 is assumed.
The duration of a restriction is calculated from the difference between {{Attr|endTime}} and {{Attr|startTime}}, and the number of midnight transitions multiplied by 24 hours:
duration = {{Attr|endTime}} - {{Attr|startTime}} + 24h * {{Attr|endDayOffset}}
If the end time is before the start time, {{Attr|endDayOffset}} must be greater than 0, since the restriction lasts at least once above midnight.
{{Deu|Der zeitliche Aspekt der Einschränkung wird durch vier Attribute definiert:}}
* {{Attr|operatingPeriodRef}} {{RailMLType|tGenericRef}}: {{Deu|Verweis auf eine {{TT:Tag|operatingPeriod}}. Diese definiert die Tage, an denen die Einschränkung beginnt. Enthält die {{TT:Tag|operatingPeriod}} mehr als einen Tag, so handelt es sich um eine periodische Einschränkung.}}
* {{Attr|startTime}} {{XsdType|time}}: {{Deu|Anfangs-Zeitpunkt der Einschränkung. Ist keine {{Attr|startTime}} angegeben, so ist 0 Uhr anzunehmen.}}
* {{Attr|endTime}} {{XsdType|time}}: {{Deu|End-Zeitpunkt der Einschränkung. Ist keine {{Attr|endTime}}angegeben, so ist 24 Uhr anzunehmen.}}
* {{Attr|endDayOffset}} {{XsdType|nonNegativeInteger}}: {{Deu|Anzahl der Mitternachtsübergänge über die die Sperrung andauert. Ist kein {{Attr|endDayOffset}}angegeben, so wird ein Wert von 0 angenommen.}}
{{Deu|Die Dauer einer Einschränkung berechnet sich aus der Differenz aus {{Attr|endTime}}und {{Attr|startTime}}, sowie der Anzahl Mitternachts-Übergänge multipliziert mit 24 Stunden:}}
Duration = {{Attr|endTime}} - {{Attr|startTime}} + 24h * {{Attr|endDayOffset}}
{{Deu|Befindet sich der End-Zeitpunkt zeitlich vor dem Anfangs-Zeitpunkt, so muss {{Attr|endDayOffset}} größer als 0 sein, da die Einschränkung mindestens einmal über Mitternacht andauert.}}
= Examples / {{Deu|Beispiele}} =
= Examples / {{Deu|Beispiele}} =
== Periodic closing of a track daily from 10 to 16 February 2020, between 20.00 and 22.00 each day / {{Deu|Periodische Sperrung eines Gleises täglich 10.-16.02.2020, jeweils 20-22 Uhr }} ==
== Periodic closing of a track daily from 10 to 16 February 2020, between 20.00 and 22.00 each day / {{Deu|Periodische Sperrung eines Gleises täglich 10.-16.02.2020, jeweils 20-22 Uhr }} ==
Line 54: Line 90:
</track>
</track>
</syntaxhighlight>
</syntaxhighlight>
= Further information / {{Deu|Weitere Informationen}}=
* {{external|http://www.irfp.de/download/railml_beispiel_verkehrstage.pdf|Weitere Informationen und {{rml}}-Beispiel zu Verkehrstagen|type=pdf|comment=by Dirk Bräuer, iRFP Dresden|lang=de|date=2012-0523|visited=2018-03-27}}

Revision as of 11:14, 22 August 2018

General / Allgemeines

This article describes the representation of general time restrictions in railML. This procedure is used in the following cases:

The representation of temporal validities is characterized by start and end time, as well as start date and duration. It is also possible to represent periodically occurring validities with the equal start and end times.

Der Artikel beschreibt die Abbildung allgemeiner zeitlicher Einschränkungen in railML. Verwendet wird dieses Verfahren für die folgenden Fälle:

Die Abbildung zeitlicher Gültigkeiten wird durch Anfangs- und End-Zeitpunkt, sowie Anfangs-Datum und Dauer charakterisiert. Eine Abbildung periodisch auftretender Gültigkeiten mit gleichen Anfangs- und Endzeitpunkt ist ebenfalls möglich.

Concept / Konzept

The temporal aspect of the restriction is defined by four attributes:

  • operatingPeriodRef xs:IDREF: Reference to an <operatingPeriod>. It defines the dates on which the restriction begins. If the <operatingPeriod> contains more than one day, it is a periodic restriction.
  • startTime xs:time: Start time of the restriction. If no startTime is specified, 0.00 is assumed.
  • endTime xs:time: End time of the restriction. If no endTime is specified, 24.00 is assumed.
  • endDayOffset xs:nonNegativeInteger: Number of midnight transitions over which the restriction lasts. If no endDayOffset} is specified, a value of 0 is assumed.

The duration of a restriction is calculated from the difference between endTime and startTime, and the number of midnight transitions multiplied by 24 hours:

duration = endTime - startTime + 24h * endDayOffset

If the end time is before the start time, endDayOffset must be greater than 0, since the restriction lasts at least once above midnight.

Der zeitliche Aspekt der Einschränkung wird durch vier Attribute definiert:

  • operatingPeriodRef xs:IDREF: Verweis auf eine <operatingPeriod>. Diese definiert die Tage, an denen die Einschränkung beginnt. Enthält die <operatingPeriod> mehr als einen Tag, so handelt es sich um eine periodische Einschränkung.
  • startTime xs:time: Anfangs-Zeitpunkt der Einschränkung. Ist keine startTime angegeben, so ist 0 Uhr anzunehmen.
  • endTime xs:time: End-Zeitpunkt der Einschränkung. Ist keine endTimeangegeben, so ist 24 Uhr anzunehmen.
  • endDayOffset xs:nonNegativeInteger: Anzahl der Mitternachtsübergänge über die die Sperrung andauert. Ist kein endDayOffsetangegeben, so wird ein Wert von 0 angenommen.

Die Dauer einer Einschränkung berechnet sich aus der Differenz aus endTimeund startTime, sowie der Anzahl Mitternachts-Übergänge multipliziert mit 24 Stunden:

Duration = endTime - startTime + 24h * endDayOffset

Befindet sich der End-Zeitpunkt zeitlich vor dem Anfangs-Zeitpunkt, so muss endDayOffset größer als 0 sein, da die Einschränkung mindestens einmal über Mitternacht andauert.

Examples / Beispiele

Periodic closing of a track daily from 10 to 16 February 2020, between 20.00 and 22.00 each day / Periodische Sperrung eines Gleises täglich 10.-16.02.2020, jeweils 20-22 Uhr

<timetablePeriod id='ttp_2020_21' startDate='2020-12-13' endDate='2021-12-11' description='2020/2021'/>

<operatingPeriod id='opp_0' description='nur 10.-16.02.' timetablePeriodRef='ttp_2020_21' 
bitMask='000…00001111111000…000' />
<!-- Die <operatingPeriod> enthält die 6 Tage, an denen die Sperrung jeweils um 20 Uhr beginnt -->

<track id="tr_0" name="4711">
  <states>
    <state disabled="true" startTime="20:00:00" endTime="22:00:00" endDayOffset="0" operatingPeriodRef="opp_0">
      <!-- Die Sperrung verläuft nicht über Mitternacht, daher ist endDayOffset=0 -->
      <from ocpRef="_ocpStart" pos="0" />
      <to ocpRef="_ocpEnd" pos="4532" />
    </state>
  </states>
</track>

Continuous non-periodic closure of a track from 10 February 2020, 20.00 to 16 February 2020, 22.00 / Fortlaufende einmalige Sperrung eines Gleises am 10.02.2020, 20 Uhr bis 16.02., 22 Uhr

<timetablePeriod id='ttp_2020_21' startDate='2020-12-13' endDate='2021-12-11' description='2020/2021'/>

<operatingPeriod id='opp_0' description='nur 10.02.' timetablePeriodRef='ttp_2020_21' bitMask='000…00001000000000…000' />
<!-- Die Sperrung ist nicht periodisch, daher wird der Beginn der Sperrung als Einzeltag definiert. -->

<track id="tr_0" name="4711">
  <states>
    <state disabled="true" startTime="20:00:00" endTime="22:00:00" endDayOffset="6" operatingPeriodRef="opp_0">
      <!-- Die Sperrung verläuft insgesamt sechs Mal über Mitternacht, daher ist endDayOffset=6 -->
      <from ocpRef="_ocpStart" pos="0" />
      <to ocpRef="_ocpEnd" pos="4532" />
    </state>
  </states>
</track>

Three track closures on weekends 20/21 February, 27/28 February and 06/07 March 2020, each from Friday, 22.00 to Monday, 04.00 / Dreimalige Sperrung eines Gleises an den Wochenenden 20./21.02., 27./28.02. und 06./07.03.2020, jeweils von Freitag, 22.00 Uhr bis Montag, 04.00 Uhr

<timetablePeriod id='ttp_2020_21' startDate='2020-12-13' endDate='2021-12-11' description='2020/2021'/>

<operatingPeriod id='opp_0' description='nur 20., 27.02.; 06.03.' timetablePeriodRef='ttp_2020_21' bitMask='000…000010000001000000100…000'>
<!-- Die Sperrung beginnt an drei Wochenenden aufs Neue, daher sind die 3 Starttermine (Freitage) als Einzeltage definiert -->

<track id="tr_0" name="4711">
  <states>
    <state disabled="true" startTime="22:00:00" endTime="04:00:00" endDayOffset="3" operatingPeriodRef="opp_0" >
      <!-- Die Sperrung verläuft insgesamt drei Mal über Mitternacht (Freitag-Montag), daher ist endDayOffset=3 -->
      <from ocpRef="_ocpStart" pos="0" />
      <to ocpRef="_ocpEnd" pos="4532" />
    </state>
  </states>
</track>

Further information / Weitere Informationen