User:Nakaner/Mechanical Edit German on Railway Signals

From OpenStreetMap Wiki
Jump to: navigation, search

This page is the documentation of a mechanical edit on railway signals in Germany. For the German documentation and discussion see its thread at the German OSM Forum.

Please note that an OSM object can be counted twice, triply or more often, i.e. you cannot add up the numbers below.

Why is this edit necessary?

When the first German signals had been mapped in December 2011 people did not think about tagging signals outside of Germany. That's why tag values without any country prefix have been used for a long time. But time went on and people outside Germany started to tag signals to. To be able to differentiate between a German signal and a similar, but different signal of another railway company outside Germany, railway mappers decided to introduce a prefix for all tag values which are country-specific. We decided to add a country-company prefix. DE-ESO: is now used for German signals which follow DB KoRil 301. Other German companies with different signalling system (e.g. trams) have different prefixes, e.g. DE-BOStrab or DE-KVB.

A prefix on signal values is necessary in order that data users (e.g. renderers) can render different icons for signals which have a different function or look different but have the same OSM key.

How will this edit be done?

I will download all objects which have the old tagging using Taginfo (if it is a small number) or personal Overpass queries (if it is a large number) and check each of it manually if it is on a track of DB or an other company using Eisenbahn-Signalordnung for signalling. Mass modifying will be done using JOSM's search & replace or Level0.

What will be touched? Which edits have been done yet?

Each tag is followed by the number of OSM objects (in brackets) which my possibly be modified by this mechanical edit.

  • Yes check.svg railway:signal:main=hp -> railway:signal:main=DE-ESO:hp (3668)
  • Yes check.svg railway:signal:main:states=hp0;hp1;hp2 -> Each part of the value will get the new "DE-ESO:" prefix. (ca. 2300) No icon (white X on red circle).svg Changeset 30236392 was reverted due to a mistake in this changeset changing semaphore to light signals.
  • Yes check.svg railway:signal:main=hl -> railway:signal:main=DE-ESO:hl (103)
  • Yes check.svg railway:signal:main:states=hp0;hl1;hl2;hl3a;hl3b;hl4;hl5;hl6a;hl6b -> Each part of the value will get the new "DE-ESO:" prefix. (ca. 20)
  • Yes check.svg railway:signal:main=ks -> railway:signal:main=DE-ESO:ks (873)
  • Yes check.svg railway:signal:main:states=hp0;ks1 -> railway:signal:main:states=DE-ESO:hp0;DE-ESO:ks1 (794) Yes check.svg apart from some signals which seem tagged false
  • Yes check.svg railway:signal:main:substitute_signal=dr:zs1 -> railway:signal:main:substitute_signal=DE-ESO:dr:zs1 (230)
  • Yes check.svg railway:signal:main:substitute_signal=db:zs1 -> railway:signal:main:substitute_signal=DE-ESO:db:zs1 (1287)
  • Yes check.svg railway:signal:main:substitute_signal=db:zs7 -> railway:signal:main:substitute_signal=DE-ESO:db:zs7 (391)
  • Yes check.svg railway:signal:main:substitute_signal=db:zs12 -> railway:signal:main:substitute_signal=DE-ESO:db:zs12 (10)
  • Yes check.svg railway:signal:combined=hl -> railway:signal:combined=DE-ESO:hl (77)
  • Yes check.svg railway:signal:combined:states=hp0;hl1;hl2;hl3a;hl3b;hl4;hl5;hl6a;hl6b;hl7;hl8;hl9a;hl9b;hl10;hl11;hl12a;hl12b -> Each part of the value will get the new "DE-ESO:" prefix. (ca. 20)
  • Yes check.svg railway:signal:combined=ks -> railway:signal:combined=DE-ESO:ks (1000) Yes check.svg apart from some signals which seem tagged false
  • Yes check.svg railway:signal:combined:states=hp0;ks1;ks2 -> railway:signal:combined:states=DE-ESO:hp0;DE-ESO:ks1;DE-ESO:ks2 (976) Yes check.svg apart from some signals which seem tagged false
  • Yes check.svg railway:signal:combined=sv -> railway:signal:combined=DE-ESO:sv (157) Yes check.svg apart from some signals with strange tagging
  • Yes check.svg railway:signal:combined:states=hp0;sv1;sv2;sv3;sv4;sv5;sv6;sv0 -> Each part of the value will get the new "DE-ESO:" prefix. (ca. 30)
  • Yes check.svg railway:signal:combined:substitute_signal=dr:zs1 -> railway:signal:combined:substitute_signal=DE-ESO:dr:zs1 (63)
  • Yes check.svg railway:signal:combined:substitute_signal=db:zs1 -> railway:signal:combined:substitute_signal=DE-ESO:db:zs1 (1206)
  • Yes check.svg railway:signal:combined:substitute_signal=db:zs7 -> railway:signal:combined:substitute_signal=DE-ESO:db:zs7 (371)
  • Yes check.svg railway:signal:combined:substitute_signal=db:zs12 -> railway:signal:combined:substitute_signal=DE-ESO:db:zs12 (10)
  • Yes check.svg railway:signal:distant=vr -> railway:signal:main=DE-ESO:vr (2002)
  • Yes check.svg railway:signal:distant:states=vr0;vr1;vr2 -> Each part of the value will get the new "DE-ESO:" prefix. (1561)
  • Yes check.svg railway:signal:distant=hl -> railway:signal:main=DE-ESO:hl (54)
  • Yes check.svg railway:signal:distant:states=hl1;hl4;hl7;hl10 -> Each part of the value will get the new "DE-ESO:" prefix. (ca. 60)
  • Yes check.svg railway:signal:distant=ks -> railway:signal:main=DE-ESO:ks (7)
  • Yes check.svg railway:signal:distant:states=ks1;ks2 -> railway:signal:distant:states=DE-ESO:ks1;DE-ESO:ks2 (786)
  • Yes check.svg railway=buffer_stop + railway:signal:minor=sh0 -> railway=buffer_stop + railway:signal:minor=DE-ESO:sh0 (194)
  • Yes check.svg railway=buffer_stop + railway:signal:minor=sh2 -> railway=buffer_stop + railway:signal:minor=DE-ESO:sh2 (153) – one wrong tagged signal at KVB infrastructure remained
  • Achtung.svg Changed, but there may be added new signals with old tagging in the following days due to a bug at the JOSM presets! railway=derail + railway:signal:minor:states=sh0;sh1 -> railway=derail + railway:signal:minor=DE-ESO:sh0;DE-ESO:sh1
  • Yes check.svg railway:signal:crossing=bü -> railway:signal:crossing=DE-ESO:bü (449)
  • Yes check.svg railway:signal:crossing:states=bü0;bü1 -> -Each part of the value will get the new "DE-ESO:" prefix. (435)
  • Yes check.svg railway:signal:crossing_distant=bü2 -> railway:signal:crossing_distant=DE-ESO:bü2 (254)
  • Yes check.svg railway:signal:crossing_distant=bü3 -> railway:signal:crossing_distant=DE-ESO:bü3 (42)
  • Yes check.svg railway:signal:whistle=db:bü4 -> railway:signal:whistle=DE-ESO:db:bü4 (223)
  • Yes check.svg railway:signal:ring=bü5 -> railway:signal:ring=DE-ESO:bü5 (26)
  • Yes check.svg railway:signal:electricity=el1v -> railway:signal:electricity=DE-ESO:el1v (3)
  • Yes check.svg railway:signal:electricity=el1 -> railway:signal:electricity=DE-ESO:el1 (69)
  • Yes check.svg railway:signal:electricity=el2 -> railway:signal:electricity=DE-ESO:el2 (88)
  • Yes check.svg railway:signal:electricity=el3 -> railway:signal:electricity=DE-ESO:el3 (0)
  • Yes check.svg railway:signal:electricity=el4 -> railway:signal:electricity=DE-ESO:el4 (0)
  • Yes check.svg railway:signal:electricity=el5 -> railway:signal:electricity=DE-ESO:el5 (0)
  • Yes check.svg railway:signal:electricity=el6 -> railway:signal:electricity=DE-ESO:el6 (76)
  • Yes check.svg railway:signal:speed_limit_distant=lf1 -> railway:signal:speed_limit_distant=DE-ESO:lf1 (12)
  • railway:signal:speed_limit=dr:lf1/2 -> railway:signal:speed_limit=DE-ESO:dr:lf1/2 (2)
  • Yes check.svg railway:signal:speed_limit=lf2 -> railway:signal:speed_limit=DE-ESO:lf2 (13)
  • Yes check.svg railway:signal:speed_limit=lf3 -> railway:signal:speed_limit=DE-ESO:lf3 (8)
  • Yes check.svg railway:signal:speed_limit_distant=db:lf4 -> railway:signal:speed_limit_dis-tant=DE-ESO:db:lf4 (24)
  • railway:signal:speed_limit_distant=dr:lf4 -> railway:signal:speed_limit_distant=DE-ESO:dr:lf4 (8) Yes check.svg only signals in East Germany
  • railway:signal:speed_limit=db:lf5 -> railway:signal:speed_limit=DE-ESO:db:lf5 (15) Yes check.svg only signals in West Germany
  • Yes check.svg railway:signal:speed_limit=dr:lf5 -> railway:signal:speed_limit=DE-ESO:dr:lf5 (0)
  • Yes check.svg railway:signal:speed_limit_distant=lf6 -> railway:signal:speed_limit_distant=DE-ESO:lf6 (958)
  • railway:signal:speed_limit=lf7 -> railway:signal:speed_limit=DE-ESO:lf7 (3185) Yes check.svg Yes check.svg except signs of KVB
  • Yes check.svg railway:signal:main=ne1 -> railway:signal:main=DE-ESO:ne1 (62)
  • Yes check.svg railway:signal:distant=db:ne2 -> railway:signal:distant=DE-ESO:db:ne2 (61)
  • Yes check.svg railway:signal:stop=ne5 -> railway:signal:stop=DE-ESO:ne5 (796) Yes check.svg only signal which are not tagged as stop positions
  • Yes check.svg railway:signal:station_distant=ne6 -> railway:signal:station_distant=DE-ESO:ne6 (59)
  • Yes check.svg railway:signal:snowplow=ne7 -> railway:signal:snowplow=DE-ESO:ne7 (81)
  • Yes check.svg railway:signal:whistle=dr:pf1 -> railway:signal:whistle=DE-ESO:dr:pf1 (36)
  • Yes check.svg railway:signal:whistle=dr:pf2 -> railway:signal:whistle=DE-ESO:dr:pf2 (24)
  • Yes check.svg railway:signal:humping=ra -> railway:signal:humping=DE-ESO:ra (1)
  • Yes check.svg railway:signal:humping:states=ra6;ra7;ra8;ra9 -> railway:signal:humping:states=DE-ESO:ra6;DE-ESO:ra7;DE-ESO:ra8;DE-ESO:ra9 (1)
  • Yes check.svg railway:signal:shunting=ra10 -> railway:signal:shunting=DE-ESO:ra10 (186)
  • Yes check.svg railway:signal:shunting=ra11 -> railway:signal:shunting=DE-ESO:ra11 (49)
  • Yes check.svg railway:signal:shunting:states=ra11;sh1 -> railway:signal:shunting:states=DE-ESO:ra11;DE-ESO:sh1 (8)
  • Yes check.svg railway:signal:shunting=ra11b -> railway:signal:shunting=DE-ESO:ra11b (3)
  • Yes check.svg railway:signal:minor=sh -> railway:signal:minor=DE-ESO:sh (1725) Yes check.svg apart from some signals of Albtalbahn in Karlsruhe and semaphore signals
  • Yes check.svg railway:signal:minor:states=hp0;sh1 -> railway:signal:minor:states=DE-ESO:hp0;DE-ESO:sh1 (247)
  • Yes check.svg 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 (less than 800)
  • Yes check.svg railway:signal:minor=sh2 -> railway:signal:minor=DE-ESO:sh2 (153)
  • Yes check.svg railway:signal:distant=dr:so3 -> railway:signal:distant=DE-ESO:dr:so3 (6)
  • Yes check.svg railway:signal:crossing_distant=so14 -> railway:signal:crossing_distant=DE-ESO:so14 (14)
  • Yes check.svg railway:signal:crossing_distant=so15 -> railway:signal:crossing_distant=DE-ESO:so15 (2)
  • Yes check.svg railway:signal:crossing=so16 -> railway:signal:crossing=DE-ESO:so16 (89)
  • Yes check.svg railway:signal:crossing:states=so16a;so16b -> railway:signal:crossing:states=DE-ESO:so16a;DE-ESO:so16b (83)
  • Yes check.svg railway:signal:distant=so106 -> railway:signal:distant=DE-ESO:so106 (4)
  • Yes check.svg railway:signal:brake_test=zp -> railway:signal:brake_test=DE-ESO:zp (41)
  • Yes check.svg 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 (41)
  • Yes check.svg railway:signal:departure:states=zp9 -> railway:signal:departure:states=DE-ESO:zp9 (101)
  • Yes check.svg railway:signal:departure:states=zp10 -> railway:signal:departure:states=DE-ESO:zp10 (34)
  • Yes check.svg railway:signal:route=zs2 -> railway:signal:route=DE-ESO:zs2 (270)
  • Yes check.svg railway:signal:route_distant=zs2v -> railway:signal:route_distant=DE-ESO:zs2v (57)
  • Yes check.svg railway:signal:speed_limit=zs3 -> railway:signal:speed_limit=DE-ESO:zs3 (1439)
  • Yes check.svg railway:signal:speed_limit_distant=zs3v -> railway:signal:speed_limit_distant=DE-ESO:zs3v (653)
  • Yes check.svg railway:signal:wrong_road=db:zs6 -> railway:signal:wrong_road=DE-ESO:db:zs6 (198)
  • Yes check.svg railway:signal:wrong_road=dr:zs7 -> railway:signal:wrong_road=DE-ESO:dr:zs7 (30)
  • Yes check.svg railway:signal:wrong_road=db:zs8 -> railway:signal:wrong_road=DE-ESO:db:zs8 (5)
  • Yes check.svg railway:signal:wrong_road=dr:zs8 -> railway:signal:wrong_road=DE-ESO:dr:zs8 (6)
  • Yes check.svg railway:signal:speed_limit=db:zs10 -> railway:signal:speed_limit=DE-ESO:db:zs10 (23)
  • Yes check.svg railway:signal:radio=zugfunk-kanalhinweis -> railway:signal:radio=DE-ESO:zugfunk-kanalhinweis (0)
  • Yes check.svg railway:signal:crossing_info=bü-kennzeichentafel -> railway:signal:crossing_info=DE-ESO:bü-kennzeichentafel (0)
  • Yes check.svg railway:signal:crossing_info=DE:bü-kennzeichentafel -> railway:signal:crossing_info=DE-ESO:bü-kennzeichentafel (128)

What will this mechanical edit edit, too?

That's the main part of the edit but this mechanical edit contains some other mechanical edits which correct minor tagging bugs due to wrong decisions taken at time the tagging scheme was invented.

Gsp 2

Yes check.svg Derail signal called Gsp 2 has been renamed in Wn 7 in 2008 by DB Netz AG. The developers of this tagging scheme used an inofficial documentation at a private website which was out-of-date at this point. That's why the tagging has to be corrected at 8 objets. [1]

This edit will change
railway=derail + railway:signal:minor:states=sh0;gsp2
to
railway=derail + railway:signal:minor:states=DE-ESO:sh0;DE-ESO:wn7

Kennlicht (marker light)

The tagging scheme is very Germany-centric at this point. That's why this edit will change tagging of marker lights on German signals as following. (original decision at Bad Nauheim Meeting)

  • railway:signal:distant:marker_light=yes -> "DE-ESO:kennlicht" will be added to railway:signal:distant:states=* and railway:signal:distant:marker_light=* removed (500 objects) Yes check.svg only railway:signal:distant:marker_light=yes
  • railway:signal:main:marker_light=yes -> "DE-ESO:kennlicht" will be added to railway:signal:main:states=* and railway:signal:main:marker_light=* removed (262 objects) Yes check.svg only signals which already had railway:signal:main:states=*
  • Yes check.svg railway:signal:combined:marker_light=yes -> "DE-ESO:kennlicht" will be added to railway:signal:combined:states=* and railway:signal:combined:marker_light=* removed (114 objects)


description -> caption

Yes check.svg railway:signal:stop:description=* will be changed to railway:signal:stop:caption=* because there is no funtional difference between the text printed on a Ne 5 sing and text printed on a crossing info sign ("Bü-Ankündigungstafel"). See the original decision. This will affect 424 objects. No icon (white X on red circle).svg not in Austria


order -> type

Yes check.svg railway:signal:snowplow:order=* will be changed to railway:signal:snowplow:type=* because unify tagging of electricity and snowplow signal orders. See the original decision. This will 291 objects. No icon (white X on red circle).svg not in Austria


Sh 0 -> Hp 0

Sh 0 light signal has been renamed to Hp 0 many years ago. That's why we have to correct tagging at this place in order to be correct. This will affect about 500 to 1000 objects.

Yes check.svg 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

International Tagging of Train Protection Signals

Yes check.svg Tagging of train protection signals used railway:signal:lzb=* and railway:signal:lzb_start=* up to end of 2014. We decided to move to a international tagging scheme using railway:signal:train_protection=* (and the sub-tags for states, type, form and height). This will affect about 10 objects.

  • 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

Encountered Errors

During reviewing all these signals, I have found lots of errors. At a couple of stations/lines Ks and Hl or Hp and Ks signals have been mixed up. The following list contains locations were a review is necessary:

  • Schifferstadt
  • Yes check.svg Karlsruhe-Durlach–Heidelberg Hbf
  • Yes check.svg Bruchsal–Bretten
  • Yes check.svg Gotha–Leinefeld, no error, it was already correct
  • Yes check.svg all existing Ks signals in Thüringen without DE-ESO prefix, checked and fixed
  • railway:position=* tagged as railway:pos=* around Mannheim/Ludwigshafen
  • usage of German signal tagging in Kosovo
  • usage of German signal tagging in Sweden

Missed Objects

Some objects are missed for one or another reason:

  • railway:signal:main=hp added by user ohligser around Cologne in May 2015
  • Node 1241286256 because it is not tagged railway=signal