Hallo,
ich beabsichtige einen mechanischen Edit bezüglich des deutschen Signaltaggings durchzuführen und kündige diesen hiermit an.
Schon seit über drei Jahren werden Signale in Deutschland nach dem OpenRailwayMap-Taggingschema getaggt. Dennoch ist das Tagging der meisten Signale sehr DB-zentriert. Ein Hauptsignal wurde bis vor einigen Monaten als railway:signal:main=hp getaggt, ohne dem “hp” ein Betreiber-, Regelwerks- oder Länderpräfix voranzustellen. (Hp ist bei deutschen Eisenbahnen die Abkürzung für ein Hauptsignalbauart)
Dass das auf Dauer keine Lösung sein kann, war schon im August 2013 einigen klar. Es hat jedoch noch etwa ein Jahr gedauert, bis ein Präfix für alle Signale, egal ob in Deutschland oder im Ausland, eingeführt wurde. Seit einigen Monaten sind diese Präfixe jetzt auch in den OpenRailwayMap-Taggingvorlagen für JOSM implementiert.
Folgende Präfixe sind derzeit in Gebrauch:
- DE-ESO:* für die Signale der DB (ESO = Eisenbahn-Signalordnung)
- DE-KVB:* für die Signale, die bei den Kölner Verkehrsbetrieben zusätzliche Signalbilder anzeigen können oder andere Bedeutungen haben
- DE-AVG:* dto. für die Albtal-Verkehrsgesellschaft
- DE-HHA:* Signale der Hamburger Hochbahn
- DE-BVG:* Signale der Berliner U-Bahn
- DE-BOStrab:* für Straßenbahnsignale
- AT-V2:* für Signale der Österreichischen Bundesbahnen, Vorschrift Nr. 2
- AT-WLB:* für Signale der Wiener Lokalbahn, die nicht auch in der ÖBB-Vorschrift 2 zu finden sind
- demnächst wohl noch CH-FdV:* für Signale bei der SBB (FdV steht für Fahrdienstvorschrift)
- LV:* wird schon in Litauen verwendet
Neben der Einführung von Präfixen möchte ich im Rahmen dieses mechanischen Edits auch noch einige andere Harmonisierungen durchführen (siehe weiter unten).
Geplant sind folgende Änderungen wegen der Einführung der neuen Präfixe
- railway:signal:main=hp → railway:signal:main=DE-ESO:hp
- railway:signal:main:states=hp0;hp1;hp2 → Allen Teilen des Values wird “DE-ESO:” vorangestellt.
- railway:signal:main=hl → railway:signal:main=DE-ESO:hl
- railway:signal:main:states=hp0;hl1;hl2;hl3a;hl3b;hl4;hl5;hl6a;hl6b → Allen Teilen des Values wird “DE-ESO:” vorangestellt.
- railway:signal:main=ks → railway:signal:main=DE-ESO:ks
- railway:signal:main:states=hp0;ks1 → railway:signal:main:states=DE-ESO:hp0;DE-ESO:ks1
- railway:signal:main:substitute_signal=dr:zs1 → railway:signal:main:substitute_signal=DE-ESO:dr:zs1
- railway:signal:main:substitute_signal=db:zs1 → railway:signal:main:substitute_signal=DE-ESO:db:zs1
- railway:signal:main:substitute_signal=db:zs7 → railway:signal:main:substitute_signal=DE-ESO:db:zs7
- railway:signal:main:substitute_signal=db:zs12 → railway:signal:main:substitute_signal=DE-ESO:db:zs12
- railway:signal:combined=hl → railway:signal:main=DE-ESO:hl
- railway:signal:combined:states=hp0;hl1;hl2;hl3a;hl3b;hl4;hl5;hl6a;hl6b;hl7;hl8;hl9a;hl9b;hl10;hl11;hl12a;hl12b → Allen Teilen des Values wird “DE-ESO:” vorangestellt.
- railway:signal:combined=ks → railway:signal:main=DE-ESO:ks
- railway:signal:combined:states=hp0;ks1;ks2 → railway:signal:combined:states=DE-ESO:hp0;DE-ESO:ks1;DE-ESO:ks2
- railway:signal:combined=sv → railway:signal:main=DE-ESO:sv
- railway:signal:combined:states=hp0;sv1;sv2;sv3;sv4;sv5;sv6;sv0 → Allen Teilen des Values wird “DE-ESO:” vorangestellt.
- railway:signal:combined:substitute_signal=dr:zs1 → railway:signal:combined:substitute_signal=DE-ESO:dr:zs1
- railway:signal:combined:substitute_signal=db:zs1 → railway:signal:combined:substitute_signal=DE-ESO:db:zs1
- railway:signal:combined:substitute_signal=db:zs7 → railway:signal:combined:substitute_signal=DE-ESO:db:zs7
- railway:signal:combined:substitute_signal=db:zs12 → railway:signal:combined:substitute_signal=DE-ESO:db:zs12
- railway:signal:distant=vr → railway:signal:main=DE-ESO:vr
- railway:signal:distant:states=vr0;vr1;vr2 → Allen Teilen des Values wird “DE-ESO:” vorangestellt.
- railway:signal:distant=hl → railway:signal:main=DE-ESO:hl
- railway:signal:distant:states=hl1;hl4;hl7;hl10 → Allen Teilen des Values wird “DE-ESO:” vorangestellt.
- railway:signal:distant=ks → railway:signal:main=DE-ESO:ks
- railway:signal:distant:states=ks1;ks2 → railway:signal:distant:states=DE-ESO:ks1;DE-ESO:ks2
- railway=buffer_stop + railway:signal:minor=sh0 → railway=buffer_stop + railway:signal:minor=DE-ESO:sh0
- railway=buffer_stop + railway:signal:minor=sh2 → railway=buffer_stop + railway:signal:minor=DE-ESO:sh2
- railway=derail + railway:signal:minor:states=sh0;sh1 → railway=derail + railway:signal:minor=DE-ESO:sh0;DE-ESO:sh1
- railway:signal:crossing=bü → railway:signal:crossing=DE-ESO:bü
- railway:signal:crossing:states=bü0;bü1 → -Allen Teilen des Values wird “DE-ESO:” vorangestellt.
- railway:signal:crossing_distant=bü2 → railway:signal:crossing_distant=DE-ESO:bü2
- railway:signal:crossing_distant=bü3 → railway:signal:crossing_distant=DE-ESO:bü3
- railway:signal:whistle=db:bü4 → railway:signal:whistle=DE-ESO:db:bü4
- railway:signal:ring=bü5 → railway:signal:ring=DE-ESO:bü5
- railway:signal:electricity=el1v → railway:signal:electricity=DE-ESO:el1v
- railway:signal:electricity=el1 → railway:signal:electricity=DE-ESO:el1
- railway:signal:electricity=el2 → railway:signal:electricity=DE-ESO:el2
- railway:signal:electricity=el3 → railway:signal:electricity=DE-ESO:el3
- railway:signal:electricity=el4 → railway:signal:electricity=DE-ESO:el4
- railway:signal:electricity=el5 → railway:signal:electricity=DE-ESO:el5
- railway:signal:electricity=el6 → railway:signal:electricity=DE-ESO:el6
- railway:signal:speed_limit_distant=lf1 → railway:signal:speed_limit_distant=DE-ESO:lf1
- railway:signal:speed_limit=dr:lf1/2 → railway:signal:speed_limit=DE-ESO:dr:lf1/2
- railway:signal:speed_limit=lf2 → railway:signal:speed_limit=DE-ESO:lf2
- railway:signal:speed_limit=lf3 → railway:signal:speed_limit=DE-ESO:lf3
- railway:signal:speed_limit_distant=db:lf4 → railway:signal:speed_limit_distant=DE-ESO:db:lf4
- railway:signal:speed_limit_distant=dr:lf4 → railway:signal:speed_limit_distant=DE-ESO:dr:lf4
- railway:signal:speed_limit=db:lf5 → railway:signal:speed_limit=DE-ESO:db:lf5
- railway:signal:speed_limit=dr:lf5 → railway:signal:speed_limit=DE-ESO:dr:lf5
- railway:signal:speed_limit_distant=lf6 → railway:signal:speed_limit_distant=DE-ESO:lf6
- railway:signal:speed_limit=lf7 → railway:signal:speed_limit=DE-ESO:lf7
- railway:signal:main=ne1 → railway:signal:main=DE-ESO:ne1
- railway:signal:distant=db:ne2 → railway:signal:distant=DE-ESO:db:ne2
- railway:signal:stop=ne5 → railway:signal:stop=DE-ESO:ne5
- railway:signal:station_distant=ne6 → railway:signal:station_distant=DE-ESO:ne6
- railway:signal:snowplow=ne7 → railway:signal:snowplow=DE-ESO:ne7
- railway:signal:whistle=dr:pf1 → railway:signal:whistle=DE-ESO:dr:pf1
- railway:signal:whistle=dr:pf2 → railway:signal:whistle=DE-ESO:dr:pf2
- railway:signal:humping=ra → railway:signal:humping=DE-ESO:ra
- railway:signal:humping:states=ra6;ra7;ra8;ra9 → railway:signal:humping:states=DE-ESO:ra6;DE-ESO:ra7;DE-ESO:ra8;DE-ESO:ra9
- railway:signal:shunting=ra10 → railway:signal:shunting=DE-ESO:ra10
- railway:signal:shunting=ra11 → railway:signal:shunting=DE-ESO:ra11
- railway:signal:shunting:states=ra11;sh1 → railway:signal:shunting:states=DE-ESO:ra11;DE-ESO:sh1
- railway:signal:shunting=ra11b → railway:signal:shunting=DE-ESO:ra11b
- railway:signal:minor=sh → railway:signal:minor=DE-ESO:sh
- railway:signal:minor:states=hp0;sh1 → railway:signal:minor:states=DE-ESO:hp0;DE-ESO:sh1
- railway:signal:minor:form=semaphore + railway:signal:minor:states=sh0;sh1 → railway:signal:minor:form=semaphore + railway:signal:minor:states=DE-ESO:sh0;DE-ESO:sh1
- railway:signal:minor=sh2 → railway:signal:minor=DE-ESO:sh2
- railway:signal:distant=dr:so3 → railway:signal:distant=DE-ESO:dr:so3
- railway:signal:crossing_distant=so14 → railway:signal:crossing_distant=DE-ESO:so14
- railway:signal:crossing_distant=so15 → railway:signal:crossing_distant=DE-ESO:so15
- railway:signal:crossing=so16 → railway:signal:crossing=DE-ESO:so16
- railway:signal:crossing:states=so16a;so16b → railway:signal:crossing:states=DE-ESO:so16a;DE-ESO:so16b
- railway:signal:distant=so106 → railway:signal:distant=DE-ESO:so106
- railway:signal:brake_test=zp → railway:signal:brake_test=DE-ESO:zp
- railway:signal:brake_test:states=db:zp6;db:zp7;db:zp8 → railway:signal:brake_test:states=DE-ESO:db:zp6;DE-ESO:db:zp7;DE-ESO:db:zp8
- railway:signal:departure:states=zp9 → railway:signal:departure:states=DE-ESO:zp9
- railway:signal:departure:states=zp10 → railway:signal:departure:states=DE-ESO:zp10
- railway:signal:route=zs2 → railway:signal:route=DE-ESO:zs2
- railway:signal:route_distant=zs2v → railway:signal:route_distant=DE-ESO:zs2v
- railway:signal:speed_limit=zs3 → railway:signal:speed_limit=DE-ESO:zs3
- railway:signal:speed_limit_distant=zs3v → railway:signal:speed_limit_distant=DE-ESO:zs3v
- railway:signal:wrong_road=db:zs6 → railway:signal:wrong_road=DE-ESO:db:zs6
- railway:signal:wrong_road=dr:zs7 → railway:signal:wrong_road=DE-ESO:dr:zs7
- railway:signal:wrong_road=db:zs8 → railway:signal:wrong_road=DE-ESO:db:zs8
- railway:signal:wrong_road=dr:zs8 → railway:signal:wrong_road=DE-ESO:dr:zs8
- railway:signal:speed_limit=db:zs10 → railway:signal:speed_limit=DE-ESO:db:zs10
- railway:signal:radio=zugfunk-kanalhinweis → railway:signal:radio=DE-ESO:zugfunk-kanalhinweis
- railway:signal:crossing_info=bü-kennzeichentafel → railway:signal:crossing_info=DE-ESO:bü-kennzeichentafel
- railway:signal:crossing_info=DE:bü-kennzeichentafel → railway:signal:crossing_info=DE-ESO:bü-kennzeichentafel
Änderungen, die nicht im Zusammenhang mit der Präfixeinführung stehen
Im Jahr 2008 wurde das Signal Gsp 2 bei der DB in Wn 7 umbenannt. Als das Taggingschema entwickelt wurde, wurde aber nicht die offizielle Richtlinie zu Rate gezogen, sondern eine privat betriebene Website (die etwas veraltet war). Daher möchte ich folgende Änderung durchführen:
- railway=derail + railway:signal:minor:states=sh0;gsp2 → railway=derail + railway:signal:minor:states=DE-ESO:sh0;DE-ESO:wn7
Um dem Tagging die DB-Lastigkeit zu nehmen, haben wir beschlossen, Kennlichter anders zu taggen. Als Kennlicht wird ein weiße Licht bezeichnet, das aufleuchtet, wenn das Signal ausgeschaltet ist und vom Lokführer nicht wie ein gestörtes Signals zu behandeln ist (Fahrdienstleiter anrufen, Befehl einholen, …). Daher ist folgende Taggingänderung geplant:
- railway:signal:distant:marker_light=yes → railway:signal:distant:states=* wird um “DE-ESO:kennlicht” ergänzt.
- railway:signal:main:marker_light=yes → railway:signal:main:states=* wird um “DE-ESO:kennlicht” ergänzt.
- railway:signal:combined:marker_light=yes → railway:signal:combined:states=* wird um “DE-ESO:kennlicht” ergänzt.
Im Juli 2014 wurde in Köln beschlossen, einige railway:signal:stop:description= durch railway:signal:stop:caption= zu ersetzen. (Das sind die kleinen Zusatzschilder, die auf Stationen unter den H-Tafeln hängen und angeben, für welche Zuglänge das Schild den Halteplatz markiert) Im Rahmen dieses mechanischen Edits möchte ich diese Änderung auch bei älteren Signalen umsetzen.
Im Juli 2014 wurde in Köln beschlossen, einige railway:signal:snowplow:order=up/down durch railway:signal:snowplow:type=up/down zu ersetzen. (Dieses Tag gibt dem Schneepflugführer an, ob er den Pflug heben oder senken soll.) Im Rahmen dieses mechanischen Edits möchte ich diese Änderung auch bei älteren Signalen umsetzen.
Schon vor einigen Jahren wurde bei der DB das Lichtsignal Sh 0 in Hp 0 umbenannt. Daher möchte ich folgende Änderung durchführen:
railway:signal:minor:form=light + railway:signal:minor:states=sh0;sh1 → railway:signal:minor:form=light + railway:signal:minor:states=DE-ESO:hp0;DE-ESO:sh1
Im Rahmen der Internationalisierung haben wir den Key railway:signal:lzb=* und railway:signal:lzb_start=* durch railway:signal:train_protection=* ersetzt. Dies führt zu folgenden Änderungen:
- railway:signal:lzb=DE:lzb_blockkennzeichen → railway:signal:train_protection=DE-ESO:blockkennzeichen + railway:signal:train_protection:type=block_marker + railway:signal:train_protection:form=sign
- railway:signal:lzb:deactivated=* → railway:signal:train_protection:deactivated=*
- railway:signal:lzb_start=DE:lzb-bereichskennzeichen → railway:signal:train_protection=DE:lzb-bereichskennzeichen + railway:signal:train_protection:form=sign + railway:signal:train_protection:type=start/section
Technische Umsetzung
Ich werde die Objekte, die die oben genannten Tags haben, mit der Overpass-API (oder, wenn es ganz wenige Objekte sind, direkt per Taginfo von der OSM-API) herunterladen, in JOSM oder Level0 editieren und dann mit JOSM oder Level0 hochladen. Die editierten Signale werden von mir manuell gesichtet, da ich z.B. nicht alle Hp-Signale umstellen möchte. Divese Lichtsignale der Stuttgarter Straßenbahnen sind derzeit auch als Hp-Lichtsignale getaggt. Mir liegt jedoch kein SSB-Signalbuch vor, sodass ich diese richtig taggen könnte (daher werden sie ihre alten Tags behalten).
Viele Grüße
Michael
PS Die OpenRailwayMap unterstützt schon seit einigen Wochen/Monaten beide Schemata. Mit etwas zeitlichem Abstand zum Umtag-Edit werden wir wahrscheinlich die Unterstützung für das alte Schema entfernen.
EDIT: Copy-Paste-Fehler behoben (DE-ESO:* gibt es natürlich nur bei den neuen Tags, also rechts vom Pfeil, nicht links davon)