diff --git a/paths/de/b/d4.osm b/paths/de/b/d4.osm index 780f47ab..df3ea09f 100644 --- a/paths/de/b/d4.osm +++ b/paths/de/b/d4.osm @@ -101,13 +101,13 @@ - + - + @@ -116,14 +116,14 @@ - + - + @@ -135,13 +135,8 @@ - - - - - - - + + @@ -150,7 +145,6 @@ - @@ -159,7 +153,7 @@ - + @@ -176,13 +170,13 @@ - + - + @@ -198,7 +192,7 @@ - + @@ -210,17 +204,9 @@ - - - - - - - - - + @@ -231,11 +217,11 @@ - + - + @@ -246,16 +232,15 @@ - - - + + - + @@ -268,40 +253,24 @@ - - + + - + - - + - + - - - - - - - - - - - - - - - - + @@ -361,6 +330,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -419,30 +607,13 @@ - - - - - - - - - - - - - - - - - - + + - @@ -454,11 +625,7 @@ - - - - - + @@ -469,8 +636,7 @@ - - + @@ -498,15 +664,18 @@ + + + + + + - - - - - - + + + @@ -600,12 +769,458 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -623,21 +1238,43 @@ - + + + + + + + + + + + + + + + + + + + + + + + @@ -656,4 +1293,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rules/de/b/d1/61.map b/rules/de/b/d1/61.map index 362fd8eb..6268a842 100644 --- a/rules/de/b/d1/61.map +++ b/rules/de/b/d1/61.map @@ -130,7 +130,7 @@ with detail = 1 { with link = "point.de.Berlin-Hbf-Lehrter-Bf" { label(path("d1.de.b.6118")[:wan] + (0dt, -2.5km), - hbox(:right:bottom :small :bold :cat:ac15 :pax, "Berlin") + hbox(:right:bottom :medium :bold :cat:ac15 :pax, "Berlin") ); } diff --git a/rules/de/b/d3/60/6022.map b/rules/de/b/d3/60/6022.map new file mode 100644 index 00000000..02f5c4a8 --- /dev/null +++ b/rules/de/b/d3/60/6022.map @@ -0,0 +1,45 @@ +# DE 6022. Berlin Jungfernheide - Berlin-Gartenfeld +# +let jg = path("d4.de.6022"); + +with detail = 3 { + # point.de.Berlin-Jungfernheide: de.6020 + + with link = "line.de.6022" { + track(:first :double :exrail:rc75 :removed, + jg[:chg.yn, :chg.yn + 0.1dl] >> 2dt + .. jg[:wer - 0.1sw, :wer] + ); + } + + with link = "point.de.Berlin-Wernerwerk" { + track(:first:station :double :exrail:rc75 :removed, + jg[:wer, :sie - 1sw] + ); + marker(:left :de.hp :exrail:rc75 :removed, jg[:wer + 0.5sw] << 0.5dt); + } + + with link = "point.de.Berlin-Siemensstadt" { + track(:first:station :double :exrail:rc75 :removed, + jg[:sie - 1sw, :sie + 1sw] + ); + marker(:left :de.hp :exrail:rc75 :removed, jg[:sie] << 0.5dt); + } + + with link = "line.de.6022" { + track(:first :double :exrail:rc75 :removed, + jg[:sie + 1sw, :gar - 0.5sw] + ); + } + + with link = "point.de.Berlin-Gartenfeld" { + track(:first:station :double :exrail:rc75 :removed, + jg[:gar - 0.5sw, :gar] + ); + marker(:top :de.bf :exrail:rc75 :removed, jg[:gar]); + slabel(:top :exrail:rc75 :removed, jg[:gar] + (-1.0dt, -2.3dt), + span(:bold, "B.-Gartenfeld") + ); + } +} + diff --git a/rules/de/b/d3/61/6100.map b/rules/de/b/d3/61/6100.map index 399fc5ea..e6e46e59 100644 --- a/rules/de/b/d3/61/6100.map +++ b/rules/de/b/d3/61/6100.map @@ -6,7 +6,7 @@ with detail = 3 { # point.de.Berlin-Spandau de.6107 with link = "line.de.6100" { - track(:first :double :cat:ac15 :pax, ba[:sdu + 1ssw, :alb - 1ssw]); + track(:first :double :cat:ac15 :pax, ba[:spa + 1ssw, :alb - 1ssw]); } with link = "point.de.Berlin-Albrechtshof" { diff --git a/rules/de/b/d4/60/6020.map b/rules/de/b/d4/60/6020.map new file mode 100644 index 00000000..70cafe48 --- /dev/null +++ b/rules/de/b/d4/60/6020.map @@ -0,0 +1,243 @@ +# DE 6020. Berlin-Moabit - Berlin-Moabit +# +let mm = path("d4.de.6170"); + +with detail = [4, 5] { + with link = "line.de.6020" { + track(:first :double :rail:rc75 :pax, + mm[:beu + 150m, :weh.a] << 2dt + ); + } + + + with link = "point.de.Berlin-Westhafen" { + # Ri. Gesundbrunnen + track(:first:station :rail:rc75 :pax, + mm[:weh.a, :weh.a + 0.1dl] << 1.5dt + .. mm[:weh, :weh + 380m] << 2.5dt + ); + + # Ri. Hbf + track(:first:station :rail:rc75 :pax, + mm[:weh + 169m, :weh + 170m] << 2.5dt + -- mm[:weh + 270m, :weh + 380m] << 3.5dt + ); + + # aus Ri. Hbf + track(:first:station :rail:rc75 :pax, + mm[:weh + 169m, :weh + 170m] << 5.5dt + -- mm[:weh + 270m, :weh + 380m] << 4.5dt + ); + + # Ri. Jungfernheide + track(:first:station :rail:rc75 :pax, + mm[:weh.a, :weh.a + 0.1dl] << 2.5dt + .. mm[:weh, :weh + 380m] << 5.5dt + ); + + platform(:rail:rc75 :pax, + mm[:weh, :weh + 150m] << 2.5dt + -- mm[:weh + 150m, :weh] >> 3.2dt + ); + platform(:rail:rc75 :pax, + mm[:weh, :weh + 150m] << 5.5dt + -- mm[:weh + 150m, :weh] >> 4.8dt + ); + + marker(:left :de.bf :rail:rc75 :pax, mm[:weh] << 5.5dt); + station(:top :rail:rc75 :pax, mm[:weh] << 5.5dt << 1.4sh, + hbox(:center:base, "B.-", span(:bold, "Westhafen")), + hbox(:center:top, + vbox(:right:top, "6020: ", "6017: "), + vbox(:right:top, "0,", "?"), + vbox(:left:top, "67", "?") + ) + ); + } + + + with link = "line.de.6020" { + with layer = -1 track(:first :rail:rc75 :pax :flip:tight, + mm[:wea.a, :wea.a - 250m] >> 1.5dt + .. mm[:weh + 420m, :weh + 380m] >> 2.5dt + ); + with layer = -1 track(:first :rail:rc75 :pax :tight, + mm[:wea.a, :wea.a - 250m] >> 2.5dt + .. mm[:weh + 420m, :weh + 380m] >> 5.5dt + ); + } + + + with link = "point.de.Berlin-Wedding" { + # Ri. Gesundbrunnen + track(:first:station :rail:rc75 :pax, mm[:wea.a, :wed.f] << 1.5dt); + track(:station :rail:rc75, + mm[:wed + 350m] << 1.5dt + -- mm[:wed + 450m] << 2.5dt + ); + + # aus Ri. Hbf + track(:first:station :rail:rc75 :pax, + mm[:wea.y, :wed - 350m] << 2.5dt + -- mm[:wed - 230m, :wed - 229m] << 1.5dt + ); + + # Ri. Hbf + track(:first:station :rail:rc75 :pax, + mm[:wea.y, :wed - 350m] << 3.5dt + -- mm[:wed - 230m, :wed - 229m] << 4.5dt + ); + + # Ri. Moabit + track(:first:station :rail:rc75 :pax, + mm[:wea.a, :wea.a + 0.1dl] << 2.5dt + .. mm[:wea.y, :wed + 50m] << 4.5dt + .. mm[:wed + 300m, :wed.f] << 2.5dt + ); + track(:station :rail:rc75, + mm[:wed + 470m] << 2.5dt + -- mm[:wed + 570m] << 1.5dt + ); + + platform(:rail:rc75 :pax, + mm[:wed - 130m, :wed + 20m] << 1.5dt + -- mm[:wed + 20m, :wed - 130m] >> 2.2dt + ); + platform(:rail:rc75 :pax, + mm[:wed - 130m, :wed + 20m] << 4.5dt + -- mm[:wed + 20m, :wed - 130m] >> 3.8dt + ); + + marker(:left :de.bf :rail:rc75 :pax, mm[:wed] << 4.5dt); + station(:top :rail:rc75 :pax, mm[:wed] << 4.5dt << 1.4sh, + span(:bold, "Berlin-Wedding"), + hbox(:center:top, + vbox(:right:top, "6020: ", "6019: "), + vbox(:right:top, "2,", "?"), + vbox(:left:top, "52", "?") + ) + ); + } + + + with link = "line.de.6020" { + let jg = path("d4.de.6022"); + + track(:first :rail:rc75 :pax :tight :casing, + mm[:wee.f, :chg.ys] >> 2.5dt + .. jg[:chg.yn - 80m, :jun.a] << 1.5dt + ); + track(:first :rail:rc75 :pax :flip:tight :casing, + mm[:wee.f, :chg.ys] >> 1.5dt + .. jg[:chg.yn - 80m, :jun.a] << 3.5dt + ); + } + + + with link = "point.de.Berlin-Jungfernheide" { + # aus Siemensstadt + track(:first :station :removed, + mm[:jun.a, :jun - 460m] << 4.5dt + -- mm[:jun - 400m, :jun - 399m] << 3.5dt + ); + + # Gl. 1 + track(:first:station :rail:rc75 :pax, + mm[:jun.a, :jun + 300m] << 3.5dt + .. mm[:jun.f - 0.1dl, :jun.f] << 2.5dt + ); + track(:station :removed, + mm[:jun + 50m] << 3.5dt + -- mm[:jun + 100m] << 2.5dt + ); + + # Gl. 3/2 + track(:first:station :removed, + mm[:jun.a, :jun + 280m] << 2.5dt + ); + track(:station :removed, + mm[:jun + 75m] << 2.5dt + -- mm[:jun + 125m] << 1.5dt + ); + + # Gl. 4 + track(:first:station :rail:rc75 :pax, mm[:jun.a, :jun.f] << 1.5dt); + track(:station :removed, + mm[:jun + 75m] << 1.5dt + -- mm[:jun + 125m] << 2.5dt + ); + + platform(:rail:rc75 :pax, + mm[:jun - 75m, :jun + 75m] << 3.5dt + -- mm[:jun + 75m, :jun - 75m] >> 3.0dt + ); + platform(:removed, + mm[:jun - 75m, :jun + 75m] << 2.5dt + -- mm[:jun + 75m, :jun - 75m] >> 2.0dt + ); + platform(:rail:rc75 :pax, + mm[:jun - 75m, :jun + 75m] << 1.5dt + -- mm[:jun + 75m, :jun - 75m] >> 2.0dt + ); + platform(:removed, + mm[:jun + 125m, :jun + 275m] << 3.5dt + -- mm[:jun + 275m, :jun + 125m] >> 2.5dt + ); + + marker(:left :de.hp :rail:rc75 :pax, mm[:jun] << 3.5dt); + marker(:left :de.exbf :rail:rc75 :pax, mm[:jun] << 3.5dt); + station(:top :rail:rc75 :pax, mm[:jun] << 4.0dt << 1.3sh, + vbox(:center:bottom, + hbox(:center:base, "B. ", span(:bold, "Jungfernheide ")), + "(S-Bahn)" + ), + hbox(:center:top, + vbox(:right:top, span(:removed, "6022: "), "6020: "), + vbox(:right:top, span(:removed, "0,"), "34,"), + vbox(:left:top, span(:removed, "00"), "62") + ) + ); + } + + + with link = "line.de.6020" { + track(:first :double :rail:rc75 :pax, + mm[:jun.f, :beu - 510m] << 2dt + ); + } + + + with link = "point.de.Berlin-Markthalle" { + marker(:left :de.bk :removed, mm[:mar] << 2.5dt); + station(:top :removed, mm[:mar] << 2.5dt << 1.0sh, + "Markthalle ", "35,88" + ); + } + + + with link = "point.de.Berlin-Beusselstraße" { + track(:first:station :double :rail:rc75 :pax, + mm[:beu - 510m, :beu + 150m] << 2dt + ); + track(:station :rail:rc75, + mm[:beu - 460m] << 1.5dt + -- mm[:beu - 380m] << 2.5dt + ); + track(:station :rail:rc75, + mm[:beu - 360m] << 2.5dt + -- mm[:beu - 280m] << 1.5dt + ); + + platform(:rail:rc75 :pax, + mm[:beu - 50m, :beu + 100m] << 2.5dt + -- mm[:beu + 100m, :beu - 50m] >> 1.5dt + ); + marker(:left :de.bf :rail:rc75 :pax, mm[:beu] << 2.5dt); + station(:top :rail:rc75 :pax, mm[:beu] << 2.5dt << 1.4sh, + hbox(:center:base, + span(:light, "B.-"), "Beusselstraße " + ), + "36,69" + ); + } +} diff --git a/rules/de/b/d4/60/6022.map b/rules/de/b/d4/60/6022.map new file mode 100644 index 00000000..b1065a72 --- /dev/null +++ b/rules/de/b/d4/60/6022.map @@ -0,0 +1,133 @@ +# DE 6022. Berlin Jungfernheide - Berlin-Gartenfeld +# +let jg = path("d4.de.6022"); + +with detail = [4, 5] { + # point.de.Berlin-Jungfernheide: de.6020 + + + with link = "line.de.6022" { + with layer = -1 track(:first :exrail:rc75 :removed :tight, + jg[:wer - 150m, :jun.yyg + 3dt] >> 0.5dt + .. jg[:jun.yg, :jun.a] << 2.5dt + ); + track(:first :exrail:rc75 :removed :flip:tight, + jg[:wer - 150m, :jun.yyg + 3dt] << 0.5dt + .. jg[:jun.yg, :jun.yg - 0.1dl] << 3.5dt + .. jg[:chg.yn, :jun.a] << 4.5dt + ); + } + + + with link = "point.de.Berlin-Wernerwerk" { + track(:first:station :double :exrail:rc75 :removed, + jg[:wer - 150m, :wer + 100m] + ); + platform(:exrail:rc75 :removed, + jg[:wer - 100m, :wer + 50m] >> 0.5dt + -- jg[:wer + 50m, :wer - 100m] >> 0.5dt + ); + marker(:left :de.hp :removed, jg[:wer] << 0.5dt); + station(:left :removed, jg[:wer - 0.3sw] << 0.5dt << 1.4sh, + "Wernerwerk", "1,94" + ); + } + + + with link = "line.de.6022" { + track(:first :double :exrail:rc75 :removed, + jg[:wer + 100m, :sie - 200m] + ); + line_label(:right:s :exrail:rc75 :removed, jg[:wer + 600m] >> 0.5dt, + "6022" + ); + } + + + with link = "point.de.Berlin-Siemensstadt" { + track(:first:station :double :exrail:rc75 :removed, + jg[:sie - 200m, :gar.a] + ); + platform(:exrail:rc75 :removed, + jg[:sie - 150m, :sie] >> 0.5dt + -- jg[:sie, :sie - 150m] >> 0.5dt + ); + marker(:left :de.hp :removed, jg[:sie] << 0.5dt); + station(:left :removed, + jg[:sie + 0.5sw] << 0.5dt << 1.2sh + (-0.5dt, 0dt), + hbox(:right :base, span(:light, "B.-"), "Siemenswerk"), + "3,12" + ); + } + + + with link = "point.de.Berlin-Gartenfeld" { + # Gl. 1 + track(:first:station :exrail:rc75 :removed, + jg[:gar.a, :gar - 900m] >> 0.5dt + .. jg[:gar - 740m, :gar - 380m] >> 1.5dt + -- jg[:gar - 330m, :gar] >> 0.5dt + ); + # W28 - W26 + track(:station :exrail:rc75 :removed, + jg[:gar - 900m] >> 0.5dt + -- jg[:gar - 850m] << 0.5dt + ); + # W11 - W2 + track(:station :exrail:rc75 :removed, + jg[:gar - 330m] >> 0.5dt + -- jg[:gar - 180m] << 2.5dt + ); + + # Gl. 2 + track(:station :exrail:rc75 :removed, + jg[:gar - 841m, :gar - 840m] << 1.5dt + -- jg[:gar - 740m, :gar - 380m - 0.7dl] >> 0.5dt + -- jg[:gar - 330m - 0.7dl, :gar - 299m - 0.7dl] << 0.5dt + ); + + # Gl. 4 + track(:station :exrail:rc75 :removed, + jg[:gar - 1000m, :gar - 160m] << 0.5dt + ); + + # Gl. 5 + track(:station :exrail:rc75 :removed, + jg[:gar - 1000m, :gar - 230m] << 1.5dt + ); + + # Gl. 6 + track(:station :exrail:rc75 :removed, + jg[:gar - 841m, :gar - 840m] << 0.5dt + -- jg[:gar - 740m, :gar - 380m - 0.7dl] << 2.5dt + -- jg[:gar - 330m - 0.7dl, :gar - 299m - 0.7dl] << 1.5dt + ); + + # Gl. 8 + track(:first:station :exrail:rc75 :removed, + jg[:gar.a, :gar.a + 0.1dl] << 0.5dt + .. jg[:gar - 780m, :gar - 380m] << 3.5dt + -- jg[:gar - 330m, :gar] << 2.5dt + ); + # W8 - W3 + track(:station :exrail:rc75 :removed, + jg[:gar - 330m] << 2.5dt + -- jg[:gar - 180m] >> 0.5dt + ); + + platform(:exrail:rc75 :removed, + jg[:gar - 150m, :gar] >> 0.5dt + -- jg[:gar, :gar - 150m] >> 0.2dt + ); + platform(:exrail:rc75 :removed, + jg[:gar - 150m, :gar] << 2.5dt + -- jg[:gar, :gar - 150m] >> 1.8dt + ); + + marker(:top :de.bf :exrail:rc75 :removed, jg[:gar] << 1dt); + station(:left :exrail:rc75 :removed, jg[:gar] + (-1.5sw, -0.1sw), + span(:bold, "Berlin-Gartenfeld"), "6022: 4,46" + ); + } +} + diff --git a/rules/de/b/d4/60/6024.map b/rules/de/b/d4/60/6024.map new file mode 100644 index 00000000..8960da8f --- /dev/null +++ b/rules/de/b/d4/60/6024.map @@ -0,0 +1,38 @@ +# DE 6024. Berlin Ostbahnhof - Potsdam Stadt +# +let op = path("d4.de.6024"); + +with detail = 4 { + # ... + + + with layer = 2, link = "point.de.Berlin-Hbf-Lehrter-Bf-S-Bahn" { + # Gl. 15 + track(:first:station :rail:rc75 :pax :casing, + op[:hbf.a, :hbf.a + 0.1dl] >> 1.5dt + .. op[:hbf - 140m, :hbf + 290m] >> 2.5dt + .. op[:hbf.f - 0.1dl, :hbf.f] >> 1.5dt + ); + + # Gl. 16 + track(:first:station :rail:rc75 :pax :casing, + op[:hbf.a, :hbf.a + 0.1dl] >> 2.5dt + .. op[:hbf - 140m, :hbf + 290m] >> 3.5dt + .. op[:hbf.f - 0.1dl, :hbf.f] >> 2.5dt + ); + + with layer = 3 platform(:rail:rc75 :pax, + op[:hbf - 70m, :hbf + 80m] >> 2.5dt + -- op[:hbf + 80m, :hbf - 70m] << 3.5dt + ); + + marker(:right :de.hp :rail:rc75 :pax, op[:hbf] >> 3.5dt); + with layer = 1 { + marker(:right :de.hp.casing :rail:rc75 :pax, op[:hbf] >> 3.5dt); + } + } + + + # ... +} + diff --git a/rules/de/b/d4/60/6025.map b/rules/de/b/d4/60/6025.map new file mode 100644 index 00000000..d30f925d --- /dev/null +++ b/rules/de/b/d4/60/6025.map @@ -0,0 +1,157 @@ +# DE 6025. Westkreuz - Berlin-Spandau +# +let ws = path("d4.de.6025"); + +with detail = [4, 5] { + # ... + + + with link = "point.de.Berlin-Olympiastadion" { + track(:station :rail:rc75 :pax, + ws[:oly - 75m, :oly + 75m] >> 8.5dt + ); + + track(:station :rail:rc75 :pax, + ws[:oly - 75m, :oly + 75m] >> 7.5dt + ); + track(:station :rail:rc75 :pax, + ws[:oly - 75m, :oly + 75m] >> 6.5dt + ); + + track(:station :rail:rc75 :pax, + ws[:oly - 75m, :oly + 75m] >> 5.5dt + ); + track(:station :rail:rc75 :pax, + ws[:oly - 75m, :oly + 75m] >> 4.5dt + ); + + track(:station :rail:rc75 :pax, + ws[:oly - 75m, :oly + 75m] >> 3.5dt + ); + track(:station :rail:rc75 :pax, + ws[:oly - 75m, :oly + 75m] >> 2.5dt + ); + + track(:first:station :rail:rc75 :pax, + ws[:oly.a, :oly + 75m] >> 1.5dt + ); + track(:first:station :rail:rc75 :pax, + ws[:oly.a, :oly + 400m] >> 0.5dt + ); + track(:first:station :rail:rc75 :pax, + ws[:oly.a, :oly + 400m] << 0.5dt + ); + } + + + with link = "line.de.6025" { + track(:first :double :rail:rc75 :pax, + ws[:oly + 400m, :pic - 350m] + ); + } + + + with link = "point.de.Berlin-Pichelsberg" { + track(:first:station :rail:rc75 :pax, + ws[:pic - 350m, :pic + 80m] >> 0.5dt + -- ws[:pic + 160m, :pic + 420m] >> 1.0dt + .. ws[:pic + 579m, :pic + 580m] >> 0.5dt + ); + track(:station :rail:rc75, + ws[:pic + 79m, :pic + 80m] >> 0.5dt + -- ws[:pic + 160m, :pic + 350m] + ); + track(:first:station :rail:rc75 :pax, + ws[:pic - 350m, :pic + 80m] << 0.5dt + -- ws[:pic + 160m, :pic + 420m] << 1.0dt + .. ws[:pic + 579m, :pic + 580m] << 0.5dt + ); + track(:station :rail:rc75, + ws[:pic + 80m] << 0.5dt + -- ws[:pic + 160m] + ); + + platform(:rail:rc75 :pax, + ws[:pic - 120m, :pic + 30m] >> 0.5dt + -- ws[:pic + 30m, :pic - 120m] >> 0.5dt + ); + + marker(:left :de.bf :rail:rc75 :pax, ws[:pic] << 0.5dt); + station(:bottom :rail:rc75 :pax, + ws[:pic] << 0.5dt << 1.4sh + (-5dt, 0dt), + hbox(:center:base, span(:light, "B. "), "Pichelsberg"), + "17,33" + ); + } + + + with link = "line.de.6025" { + with layer = 1 track(:first :double :rail:rc75 :pax :casing, + ws[:pic + 580m, :srw.yyo] + .. ws[:srw.yo, :srw - 250m] >> 3dt + ); + + line_label(:left:e :rail:rc75 :pax, ws[:pic + 1000m], "6025"); + } + + + with link = "point.de.Berlin-Stresow" { + # Gl. 1/2 + track(:first:station :double :rail:rc75 :pax, + ws[:srw - 250m, :spa - 300m] >> 3dt + ); + # W751 - W752 + track(:station :rail:rc75, + ws[:srw + 180m] >> 3.5dt + -- ws[:srw + 270m] >> 2.5dt + ); + + platform(:rail:rc75 :pax, + ws[:srw - 60m, :srw + 90m] >> 3.5dt + -- ws[:srw + 90m, :srw - 60m] << 2.5dt + ); + marker(:right :de.hp.bft :rail:rc75 :pax, ws[:srw] >> 3.5dt); + } + + + with link = "point.de.Berlin-Spandau-S-Bahn" { + # Gl. 1 + track(:first:station :rail:rc75 :pax, + ws[:spa - 300m, :spa + 150m] >> 3.5dt + ); + track(:station :rail:rc75, + ws[:spa + 150m, :spa + 151m] >> 3.5dt + -- ws[:spa + 220m, :spa + 360m] >> 4.5dt + ); + + # Gl. 2 + track(:first:station :rail:rc75 :pax, + ws[:spa - 300m, :spa + 150m] >> 2.5dt + ); + track(:station :rail:rc75, + ws[:spa + 150m, :spa + 635m] >> 2.5dt + ); + # W753 - W754 + track(:station :rail:rc75, + ws[:spa - 200m] >> 2.5dt + -- ws[:spa - 100m] >> 3.5dt + ); + # W761 - W763 + track(:station :rail:rc75, + ws[:spa + 150m + 0.7dl] >> 2.5dt + -- ws[:spa + 220m + 0.7dl] >> 3.5dt + ); + + # Gl. 8 + track(:station :rail:rc75, + ws[:spa + 150m, :spa + 380m] >> 3.5dt + ); + + platform(:rail:rc75 :pax, + ws[:spa - 15m, :spa + 135m] >> 3.5dt + -- ws[:spa + 135m, :spa - 15m] << 2.5dt + ); + marker(:right :de.bf :rail:rc75 :pax, ws[:spa] >> 3.5dt); + } +} + diff --git a/rules/de/b/d4/61/6100.map b/rules/de/b/d4/61/6100.map index 854a1a1a..386a71f6 100644 --- a/rules/de/b/d4/61/6100.map +++ b/rules/de/b/d4/61/6100.map @@ -6,15 +6,71 @@ with detail = [4, 5] { # point.de.Berlin-Spandau-Ost de.6107 # point.de.Berlin-Spandau-Mitte de.6107 # point.de.Berlin-Spandau de.6107 - # point.de.Berlin-Spandau-West de.6107 + + + with link = "point.de.Berlin-Spandau-West" { + # Gl. 3 + track(:first:station :cat:ac15 :pax, + ba[:spa + 600m, :spa.f] >> 1.5dt + ); + # W702 - W703 + track(:station :cat:ac15 :pax, + ba[:spw - 350m] >> 1.5dt + -- ba[:spw - 215m] >> 0.5dt + ); + + # Gl. 4 + track(:first:station :cat:ac15 :pax, + ba[:spa + 600m, :spa.f] >> 0.5dt + ); + # W706 - W707 + track(:station :cat:ac15 :pax, + ba[:spw - 180m] >> 0.5dt + -- ba[:spw - 70m] << 0.5dt + ); + # W712 - W713 + track(:station :cat:ac15 :pax, + ba[:spw + 190m] >> 0.5dt + -- ba[:spw + 330m] >> 1.5dt + ); + + # Gl. 5 + track(:first:station :cat:ac15 :pax, + ba[:spa + 600m, :spa.f] << 0.5dt + ); + # W708 - W709 + track(:station :cat:ac15 :pax, + ba[:spw + 35m] << 0.5dt + -- ba[:spw + 145m] >> 0.5dt + ); + # W710 - W711 + track(:station :cat:ac15 :pax, + ba[:spw + 95m] << 0.5dt + -- ba[:spw + 235m] << 1.5dt + ); + + # Gl. 6 + track(:first:station :cat:ac15 :pax, + ba[:spa + 600m, :spa.f] << 1.5dt + ); + # W704 - W705 + track(:station :cat:ac15 :pax, + ba[:spw - 260m] << 1.5dt + -- ba[:spw - 135m] << 0.5dt + ); + + marker(:right :de.bft :cat:ac15, ba[:spw] >> 1.5dt); + + } + with link = "line.de.6100" { track(:first :cat:ac15 :pax :tight:flip, ba[:szw - 0.2sw, :szw - 0.21sw] << 0.5dt - .. ba[:sdu.yn, :sdu.f] << 1.5dt + .. ba[:spa.yn, :spa.f] << 1.5dt ); - track(:first :cat:ac15 :pax :tight, - ba[:szw - 0.2sw, :sdu.f] >> 0.5dt + with layer = -2 track(:first :cat:ac15 :pax :tight, + ba[:szw - 0.2sw, :spa.f] >> 0.5dt ); track(:first :double :cat:ac15 :pax, ba[:szw - 0.2sw, :gahs - 0.5sw]); with layer = 1 line_badge(:cat:ac15 :pax, ba[:szw + 0.8km], "6100"); diff --git a/rules/de/b/d4/61/6106.map b/rules/de/b/d4/61/6106.map new file mode 100644 index 00000000..76212cc1 --- /dev/null +++ b/rules/de/b/d4/61/6106.map @@ -0,0 +1,38 @@ +# DE 6106. Berlin Hamb u Lehrt Bf - Berlin-Spandau Gbf +# +let ls = path("d4.de.6106"); + +with detail = [4, 5] { + # XXX + + + # point.de.Berlin-Moabit: de.6170 + + + with link = "line.de.6106" { + track(:first :double :removed, ls[:moa.a, :vlr - 100m] << 2dt); + } + + + # point.de.Berlin-Vlr de.6107 + # point.de.Berlin-Siemensstadt-Fürstenbrunn de.6107 + + + with link = "line.de.6106" { + track(:first :removed, ls[:fub + 150m, :wie - 350m] << 1.5dt); + } + + + # point.de.Berlin-Wiesendamm de.6107 + + + with link = "line.de.6106" { + track(:first :double :gone, + ls[:wie + 350m, :sre.ys + 600m] << 2dt + .. ls[:sre.xs, :spa] + ); + } + + +} + diff --git a/rules/de/b/d4/61/6107.map b/rules/de/b/d4/61/6107.map new file mode 100644 index 00000000..29cd12e5 --- /dev/null +++ b/rules/de/b/d4/61/6107.map @@ -0,0 +1,313 @@ +# DE 6107. Berlin Lehrt Bf - Lehrte +# +let bl = path("d4.de.b.6107"); + +with detail = 4 { + # point.de.Berlin-Lehrter-Bf: de.6171 + + # point.de.Berlin-Moabit: de.6170 + + + with link = "line.de.6107" { + track(:first :double :cat:ac15 :pax, bl[:moa.a, :jun - 450m]); + } + + + with link = "point.de.Berlin-Jungfernheide-Fernbahn" { + track(:first:station :double :cat:ac15 :pax, + bl[:jun - 450m, :jun + 260m] + ); + platform(:cat:ac15 :pax, + bl[:jun - 130m, :jun + 80m] >> 0.5dt + -- bl[:jun + 80m, :jun - 130m] >> 0.5dt + ); + + with layer = 2 marker(:left :de.hp :cat:ac15 :pax, bl[:jun] << 0.5dt); + with layer = 1 marker(:left :de.hp.casing :cat:ac15 :pax, bl[:jun] << 0.5dt); + } + + + with link = "line.de.6107" { + with layer = -1 track(:first :double :cat:ac15 :pax, + bl[:jun + 260m, :vlr - 100m] + ); + } + + + with link = "point.de.Berlin-Vlr" { + track(:first:station :double :cat:ac15 :pax, + bl[:vlr - 100m, :vlr + 100m] + ); + track(:first:station :double :removed, + bl[:vlr - 100m, :vlr + 100m] << 2dt + ); + track(:first:station :cat:ac15, + bl[:vlr - 100m, :vlr + 100m] << 3.5dt + ); + track(:first:station :removed, + bl[:vlr - 100m, :vlr + 100m] << 4.5dt + ); + + marker(:right :de.abzw :removed, bl[:vlr] >> 0.5dt); + } + + + with link = "point.de.Berlin-Siemensstadt-Fürstenbrunn" { + track(:first:station :double :cat:ac15 :pax, + bl[:vlr + 100m, :fub + 150m] + ); + track(:first:station :removed, + bl[:vlr + 100m, :fub + 150m] << 1.5dt + ); + track(:first:station :removed, + bl[:vlr + 100m, :fub] << 2.5dt + ); + track(:first:station :cat:ac15, + bl[:vlr + 100m, :fub - 50m] << 3.5dt + -- bl[:fub, :fub + 150m] << 2.5dt + ); + track(:station :removed, + bl[:fub] << 2.5dt + -- bl[:fub + 50m] << 1.5dt + ); + track(:first:station :removed, + bl[:vlr + 100m, :fub - 100m] << 4.5dt + -- bl[:fub - 50m, :fub - 49m] << 3.5dt + ); + + marker(:right :de.bf :removed, bl[:fub] >> 0.5dt); + } + + + with link = "line.de.6107" { + track(:first :double :cat:ac15 :pax, bl[:fub + 150m, :wie - 350m]); + } + + + with link = "point.de.Berlin-Wiesendamm" { + # Gl. 1 + track(:first:station :cat:ac15 :pax, + bl[:wie - 350m, :wie + 350m] >> 0.5dt + ); + # W3 - W4 + track(:station :cat:ac15, + bl[:wie - 280m] >> 0.5dt + -- bl[:wie - 130m] << 0.5dt + ); + + # Gl. 2 + track(:first:station :cat:ac15 :pax, + bl[:wie - 350m, :wie + 350m] << 0.5dt + ); + # W7 - W8 + track(:station :cat:ac15, + bl[:wie + 30m] << 0.5dt + -- bl[:wie + 170m] << 2.5dt + ); + # W9 - W10 + track(:station :cat:ac15, + bl[:wie + 130m] << 0.5dt + -- bl[:wie + 280m] >> 0.5dt + ); + + track(:first:station :removed, + bl[:wie - 350m, :wie + 350m] << 1.5dt + ); + + # Gl. 3 + track(:first:station :cat:ac15, + bl[:wie - 350m, :wie + 350m] << 2.5dt + ); + # W5 - W6 + track(:station :cat:ac15, + bl[:wie - 170m] << 2.5dt + -- bl[:wie - 30m] << 0.5dt + ); + + marker(:left :de.abzw :cat:ac15, bl[:wie] << 2.5dt); + station(:bottom :cat:ac15, bl[:wie] << 2.5dt << 1.2sh, + hbox(:center:base, span(:light, "B.-"), "Wiesendamm"), + hbox(:center:top, + vbox(:right:top, "6107: ", "6179: "), + vbox(:right:top, "8,", "8,"), + vbox(:left:top, "66", "66") + ) + ); + } + + + with link = "line.de.6107" { + track(:first :cat:ac15 :pax :tight, + bl[:wie + 350m, :sdo.xo] >> 0.5dt + .. bl[:sdo.yo, :sdo - 450m] >> 1.5dt + ); + track(:first :cat:ac15 :pax :flip:tight, + bl[:wie + 350m, :sdo.xo] << 0.5dt + .. bl[:sdo.yo, :sdo - 450m] << 1.5dt + ); + } + + + with link = "point.de.Berlin-Spree" { + marker(:right :de.bk :removed, bl[:sre] >> 0.5dt); + station(:top :removed, bl[:sre] >> 0.5dt >> 1.0sh, + "Spree", "8,75" + ); + } + + + with link = "point.de.Berlin-Spandau-Ost" { + # Gl. 3 + track(:first:station :cat:ac15 :pax, + bl[:sdo - 450m, :sdo + 500m] >> 1.5dt + ); + # W21 - W22 + track(:station :cat:ac15, + bl[:sdo - 350m] >> 1.5dt + -- bl[:sdo - 210m] >> 0.5dt + ); + + # Gl. 4 + track(:first:station :cat:ac15 :pax, + bl[:sdo - 450m, :sdo + 500m] >> 0.5dt + ); + # W31 - W32 + track(:station :cat:ac15, + bl[:sdo - 170m] >> 0.5dt + -- bl[:sdo + 30m] >> 1.5dt + ); + # W27 - W28 + track(:station :cat:ac15, + bl[:sdo + 15m] >> 0.5dt + -- bl[:sdo + 130m] << 0.5dt + ); + + # Gl. 5 + track(:first:station :cat:ac15 :pax, + bl[:sdo - 450m, :sdo + 500m] << 0.5dt + ); + # W25 - W26 + track(:station :cat:ac15, + bl[:sdo - 110m] << 0.5dt + -- bl[:sdo] >> 0.5dt + ); + + # Gl. 6 + track(:first:station :cat:ac15 :pax, + bl[:sdo - 450m, :sdo + 500m] << 1.5dt + ); + # W23 - W24 + track(:station :cat:ac15, + bl[:sdo - 270m] << 1.5dt + -- bl[:sdo - 130m] << 0.5dt + ); + + marker(:right :de.bft :cat:ac15, bl[:sdo] >> 1.5dt); + slabel(:top :cat:ac15 :medium, bl[:sdo] >> 1.5dt >> 1.1sh, + "B.-S. Ost" + ); + } + + + with link = "point.de.Berlin-Spandau-Mitte" { + # Gl. 3 + track(:first:station :cat:ac15 :pax, + bl[:sdo + 500m, :spa - 300m] >> 1.5dt + ); + # Gl. W540 + track(:station, + bl[:spm + 40m] >> 1.5dt + -- bl[:spm + 120m] >> 2.5dt + ); + + # Gl. 4 + track(:first:station :cat:ac15 :pax, + bl[:sdo + 500m, :spa - 300m] >> 0.5dt + ); + + # Gl. 5 + track(:first:station :cat:ac15 :pax, + bl[:sdo + 500m, :spa - 300m] << 0.5dt + ); + # W546 - W547 + track(:station :cat:ac15, + bl[:spm + 90m] << 0.5dt + -- bl[:spm + 225m] << 1.5dt + ); + + # Gl. 6 + track(:first:station :cat:ac15 :pax, + bl[:sdo + 500m, :spa - 300m] << 1.5dt + ); + # W539 - W633 + track(:station :cat:ac15, + bl[:spm] << 1.5dt + -- bl[:spm + 120m] << 2.5dt + ); + + # Gl. 7 + track(:first:station :cat:ac15, + bl[:spm - 460m, :spa - 300m] << 2.5dt + ); + # W632 - W535 + track(:station :cat:ac15, + bl[:spm - 445m] << 2.5dt + -- bl[:spm - 300m] << 1.5dt + ); + + marker(:left :de.bft :cat:ac15, bl[:spm] << 2.5dt); + slabel(:bottom :cat:ac15 :medium, bl[:spm] << 2.5dt << 1.2sh, + "B.-S. Mitte" + ); + } + + + with link = "point.de.Berlin-Spandau" { + let cw = path("d4.de.6179"); + + # Gl. 3 + track(:first:station :cat:ac15 :pax, + bl[:spa - 300m, :spa + 600m] >> 1.5dt + ); + + # Gl. 4 + track(:first:station :cat:ac15 :pax, + bl[:spa - 300m, :spa + 600m] >> 0.5dt + ); + + # Gl. 5 + track(:first:station :cat:ac15 :pax, + bl[:spa - 300m, :spa + 600m] << 0.5dt + ); + + # Gl. 6 + track(:first:station :cat:ac15 :pax, + bl[:spa - 300m, :spa + 600m] << 1.5dt + ); + + # Gl. 7 + track(:first:station :cat:ac15, + bl[:spa - 300m, :spa + 380m] << 2.5dt + .. cw[:spg - 290m, :spg - 150m] << 2.5dt + ); + + # Gl. 17 + track(:station :cat:ac15, + bl[:spa + 379m, :spa + 380m] << 1.5dt + .. cw[:spg - 290m, :spg - 289m] << 1.5dt + -- cw[:spg - 200m, :spg - 199m] << 2.5dt + ); + + platform(:cat:ac15 :pax, + bl[:spa - 15m, :spa + 380m] >> 1.5dt + -- bl[:spa + 380m, :spa - 15m] << 0.5dt + ); + platform(:cat:ac15 :pax, + bl[:spa - 15m, :spa + 380m] << 1.5dt + -- bl[:spa + 380m, :spa - 15m] >> 0.5dt + ); + + marker(:left :de.bf :cat:ac15 :pax, bl[:spa] << 2.5dt); + } +} + diff --git a/rules/de/b/d4/61/6109.map b/rules/de/b/d4/61/6109.map new file mode 100644 index 00000000..e8677937 --- /dev/null +++ b/rules/de/b/d4/61/6109.map @@ -0,0 +1,55 @@ +# DE 6109. Berlin Ostbahnhof - Berlin-Spandau +# +let os = path("d4.de.6109"); + +with detail = 4 { + # ... + + + with layer = 2, link = "point.de.Berlin-Hbf-Stadtb" { + # Gl. 11 + track(:station :cat:ac15 :pax :casing, + os[:hbf - 361m, :hbf - 360m] << 0.5dt + -- os[:hbf - 140m, :hbf + 290m] << 1.5dt + -- os[:hbf + 440m, :hbf + 441m] << 0.5dt + ); + + # Gl. 12 + track(:first:station :cat:ac15 :pax :casing, + os[:hbf.a, :hbf.f] << 0.5dt + ); + + # Gl. 13 + track(:first:station :cat:ac15 :pax :casing, + os[:hbf.a, :hbf.f] >> 0.5dt + ); + + # Gl. 14 + track(:station :cat:ac15 :pax :casing, + os[:hbf - 361m, :hbf - 360m] >> 0.5dt + -- os[:hbf - 140m, :hbf + 290m] >> 1.5dt + -- os[:hbf + 440m, :hbf + 441m] >> 0.5dt + ); + + # Bahnsteig 11/12 + with layer = 3 platform(:cat:ac15 :pax, + os[:hbf - 140m, :hbf + 290m] << 1.5dt + -- os[:hbf + 290m, :hbf - 140m] >> 0.5dt + ); + + # Bahnsteig 13/14 + with layer = 3 platform(:cat:ac15 :pax, + os[:hbf - 140m, :hbf + 280m] >> 1.5dt + -- os[:hbf + 280m, :hbf - 140m] << 0.5dt + ); + + marker(:left :de.bf :cat:ac15 :pax, os[:hbf] << 1.5dt); + with layer = 1 { + marker(:left :de.bf.casing :cat:ac15 :pax, os[:hbf] << 1.5dt); + } + } + + + # ... +} + diff --git a/rules/de/b/d4/61/6170.map b/rules/de/b/d4/61/6170.map new file mode 100644 index 00000000..aca00707 --- /dev/null +++ b/rules/de/b/d4/61/6170.map @@ -0,0 +1,221 @@ +# DE 6170. Berlin-Moabit - Berlin-Moabit +# +let mm = path("d4.de.6170"); + +with detail = [4, 5] { + with link = "point.de.Berlin-Moabit" { + let bl = path("d4.de.b.6107"); + + # Gl. 331 + track(:first:station :removed, + mm[:moa.a, :moa - 1020m] >> 2.5dt + ); + track(:station :cat:ac15, + mm[:moa - 1020m, :moa + 200m] >> 2.5dt + ); + # W351 - W352 + track(:station :cat:ac15, + mm[:moa + 70m] >> 2.5dt + -- mm[:moa + 160m] >> 0.5dt + ); + # W353 - W354 + track(:station :cat:ac15, + mm[:moa + 140m] >> 2.5dt + -- mm[:moa + 210m] >> 3.5dt + ); + + # „Gl. 332“ + track(:first:station :removed, + mm[:moa.a, :moa.yl] >> 1.5dt + ); + + # Gl. 314 - 333 + with layer = 2 track(:first:station :cat:ac15 :pax, + mm[:moa.a, :moa.xr + 0.7dl] >> 4.5dt + .. mm[:moa.xs + 0.7dl, :wea.a] >> 0.5dt + ); + with layer = 1 casing(:first:station :cat:ac15 :pax, + mm[:moa.xr + 0.6dl, :moa.xr + 0.7dl] >> 4.5dt + .. mm[:moa.xs + 0.7dl, :moa.xs + 0.8dl] >> 0.5dt + ); + # W312 - W313 + track(:station :cat:ac15, + mm[:moa - 1720m] >> 4.5dt + -- mm[:moa - 1620m] >> 3.5dt + ); + # W333 - W401 + track(:station, + mm[:moa - 910m] >> 4.5dt + -- mm[:moa - 830m] >> 5.5dt + ); + + # Gl. 313 - 334 + with layer = 3 track(:first:station :cat:ac15 :pax, + mm[:moa.a, :moa.xr] >> 3.5dt + .. mm[:moa.xs, :wea.a] << 0.5dt + ); + with layer = 1 casing(:first:station :cat:ac15 :pax, + mm[:moa.xr - 0.1dl, :moa.xr] >> 3.5dt + .. mm[:moa.xs, :moa.xs + 0.1dl] << 0.5dt + ); + # W314 - W315 + track(:station :cat:ac15, + mm[:moa - 1550m] >> 3.5dt + -- mm[:moa - 1410m] >> 0.5dt + ); + # W331 - W332 + track(:station :cat:ac15, + mm[:moa - 1100m] >> 3.5dt + -- mm[:moa - 1000m] >> 4.5dt + ); + # W334 - W335 + track(:station :cat:ac15, + mm[:moa - 1020m] >> 3.5dt + -- mm[:moa - 950m] >> 2.5dt + ); + + # Gl. 502 - 335 - 395 + track(:first:station :cat:ac15 :pax, + mm[:moa.a, :moa.xr] >> 0.5dt + .. mm[:moa.xs, :moa.yl] >> 4.5dt + .. bl[:hbn.y, :hbn.y - 0.1dl] >> 1.5dt + ); + # W318 - W319 + track(:station :cat:ac15, + mm[:moa - 1350m] >> 0.5dt + -- mm[:moa - 1220m] >> 3.5dt + ); + # W321 - W322 + track(:station :cat:ac15, + mm[:moa - 1240m] >> 0.5dt + -- mm[:moa - 1140m] << 0.5dt + ); + # W336 - W337 + track(:station :cat:ac15, + mm[:moa - 1000m] >> 0.5dt + -- mm[:moa - 910m] >> 2.5dt + ); + + # Gl. 501 - 336 - 396 + track(:first:station :cat:ac15 :pax, + mm[:moa.a, :moa.xr + 0.7dl] << 0.5dt + .. mm[:moa.xs + 0.7dl, :moa.yl] >> 3.5dt + .. bl[:hbn.y - 1dl, :hbn.y - 1.1dl] << 1.5dt + ); + # W316 - W317 + track(:station :cat:ac15, + mm[:moa - 1540m] << 0.5dt + -- mm[:moa - 1470m] >> 0.5dt + ); + + # Gl. 374 + with layer = 3 track(:first:station :cat:ac15 :pax, + mm[:moa + 119m, :moa + 120m] << 0.5dt + -- mm[:moa + 200m, :moa.xs - 80m] << 1.5dt + -- mm[:moa.xs, :moa.xs + 0.1dl] << 0.5dt + ); + + # Gl. 442 + track(:station, + mm[:moa - 890m, :moa] >> 5.5dt + -- mm[:moa + 80m, :moa + 81m] >> 7.5dt + ); + + # Gl. 443 + track(:station, + mm[:moa - 661m, :moa - 660m] >> 5.5dt + -- mm[:moa - 610m, :moa + 40m] >> 6.5dt + ); + + # Gl. 444 + with layer = 3 track(:station, + mm[:moa - 711m - 0.7dl, :moa - 710m - 0.7dl] >> 5.5dt + -- mm[:moa - 610m - 0.7dl, :moa.xr] >> 7.5dt + .. mm[:moa.xs + 1dl, :moa.yl] >> 2.5dt + ); + with layer = 2 casing(:station, + mm[:moa.xr - 0.1dl, :moa.xr] >> 7.5dt + .. mm[:moa.xs + 1dl, :moa.xs + 1.1dl] >> 2.5dt + ); + + # Gl. 445/446 + track(:station, + mm[:moa - 610m - 1.4dl, :moa - 140m] >> 8.5dt + ); + + # Gl. 447/448 + track(:station, + mm[:moa - 761m - 1.4dl, :moa - 760m - 1.4dl] >> 5.5dt + -- mm[:moa - 560m - 1.4dl, :moa - 180m] >> 9.5dt + -- mm[:moa - 100m, :moa - 99m] >> 7.5dt + ); + + marker(:right :de.bbf :cat:ac15, mm[:moa] >> 8.0dt); + station(:bottom :cat:ac15, mm[:moa - 1km] >> 9.0dt, + span(:bold, "Berlin-Moabit"), + hbox(:center:top, + vbox(:right:top, "6097: ", "6107: ", "6170: ", "6106: "), + vbox(:right:top, "2,", "2,", "0,", "2,"), + vbox(:left:top, "74", "88", "33", "87") + ) + ); + } + + + with link = "point.de.Moabit-Ost" { + marker( + :left :de.bft :cat:ac15, mm[:moa.xs + 0.5dt] << 0.5dt + ); + with layer = -0.5 marker( + :left :de.bft.casing :cat:ac15, mm[:moa.xs + 0.5dt] << 0.5dt + ); + } + + + with link = "point.de.Berlin-Wedding-Abzw" { + # Ri. Moabit + track(:first:station :cat:ac15 :pax, mm[:wea.a, :wea.f] << 0.5dt); + + # Ri. Hbf + track(:first:station :cat:ac15 :pax, + mm[:wea.y, :wea - 125m] >> 0.5dt + -- mm[:wea - 25m, :wea - 24m] << 0.5dt + ); + + # aus Ri. Hbf + track(:first:station :cat:ac15 :pax, + mm[:wea.y, :wea - 125m + 0.7dl] >> 1.5dt + ); + + # aus Ri. Moabit + track(:first:station :cat:ac15 :pax, + mm[:wea.a, :wea.a + 0.1dl] >> 0.5dt + .. mm[:wea - 250m, :wea - 225m + 0.7dl] >> 2.5dt + -- mm[:wea - 25m + 0.7dl, :wea.f] >> 0.5dt + ); + + marker(:right :de.abzw :cat:ac15, mm[:wea + 0.5dt] >> 0.5dt); + station(:right :cat:ac15, mm[:wea] >> 0.5dt >> 1.8sh, + hbox(:center:base, "B.-", span(:bold, "Wedding "), "Abzw"), + hbox(:center:top, + vbox(:right:top, "6170: ", "6171: "), + vbox(:right:top, "2,", "0,"), + vbox(:left:top, "35", "00") + ) + ); + } + + + with link = "line.de.6170" { + track(:first :double :cat:ac15 :pax, mm[:wea.f, :ges.a]); + } + + + + + + with link = "line.de.6170" { + track(:first :double :cat:ac15 :pax, mm[:chg.f, :moa.a] >> 4dt); + } +} + diff --git a/rules/de/b/d4/61/6171.map b/rules/de/b/d4/61/6171.map new file mode 100644 index 00000000..ee47cb58 --- /dev/null +++ b/rules/de/b/d4/61/6171.map @@ -0,0 +1,185 @@ +# DE 6171. Berlin-Wedding Abzw - Berlin Südkreuz Südende +# +let ws = path("d4.de.6171"); + +with detail = 4 { + # point.de.Berlin-Wedding-Abzw: de.6170 + + + with link = "line.de.6171" { + with layer = 1 track(:first :double :cat:ac15 :pax :casing, + ws[:wea.y, :wea.y + 0.1dl] << 1dt + .. ws[:hbn.y, :hbn.y + 0.1dl] + ); + } + + + with link = "point.de.Berlin-Hbf-Lehrter-Bf" { + # Gl. 1 + track(:first:station :cat:ac15 :pax, + ws[:hbn.y, :hbf - 460m] >> 1.5dt + -- ws[:hbf - 300m, :hbf + 300m + 0.7dl] >> 3.5dt + -- ws[:hbf + 460m + 0.7dl, :hbf.f] >> 1.5dt + ); + # W103 - W104 + track(:station :cat:ac15 :pax, + ws[:hbf - 880m] >> 1.5dt + -- ws[:hbf - 760m] >> 0.5dt + ); + + # Gl. 2 + track(:station :cat:ac15 :pax, + ws[:hbf - 380m, :hbf + 380m + 0.7dl] >> 2.5dt + ); + # W133 - W134 + track(:station :cat:ac15 :pax, + ws[:hbf + 300m] >> 2.5dt + -- ws[:hbf + 360m] >> 1.5dt + ); + + # Gl. 3 + track(:station :cat:ac15 :pax, + ws[:hbf - 341m, :hbf - 340m] >> 2.5dt + -- ws[:hbf - 280m, :hbf + 460m + 0.7dl] >> 1.5dt + ); + # W123 - W124 + track(:station :cat:ac15 :pax, + ws[:hbf - 220m] >> 1.5dt + -- ws[:hbf - 160m] >> 2.5dt + ); + # W136 - W138 + track(:station :cat:ac15 :pax, + ws[:hbf + 360m + 0.7dl] >> 1.5dt + -- ws[:hbf + 420m + 0.7dl] >> 0.5dt + ); + # W144 - W145 + track(:station :cat:ac15 :pax, + ws[:hbf + 500m + 0.7dl] >> 1.5dt + -- ws[:hbf + 560m + 0.7dl] >> 0.5dt + ); + + # Gl. 4 + track(:first:station :cat:ac15 :pax, ws[:hbn.y, :hbf.f] >> 0.5dt); + # W107 - W108 + track(:station :cat:ac15 :pax, + ws[:hbf - 680m] >> 0.5dt + -- ws[:hbf - 600m] << 0.5dt + ); + # W109 - W110 + track(:station :cat:ac15 :pax, + ws[:hbf - 620m] >> 0.5dt + -- ws[:hbf - 540m] >> 1.5dt + ); + # W120 - W122 + track(:station :cat:ac15 :pax, + ws[:hbf - 310m] >> 0.5dt + -- ws[:hbf - 250m] >> 1.5dt + ); + # W144 - W145 + track(:station :cat:ac15 :pax, + ws[:hbf + 600m + 0.7dl] >> 0.5dt + -- ws[:hbf + 680m + 0.7dl] << 0.5dt + ); + track(:station :cat:ac15 :pax, + ws[:hbf + 700m + 0.7dl] >> 0.5dt + -- ws[:hbf + 780m + 0.7dl] >> 1.5dt + ); + + # Gl. 5 + track(:first:station :cat:ac15 :pax, ws[:hbn.y, :hbf.f] << 0.5dt); + # W105 - W106 + track(:station :cat:ac15 :pax, + ws[:hbf - 780m] << 0.5dt + -- ws[:hbf - 700m] >> 0.5dt + ); + # W111 - W112 + track(:station :cat:ac15 :pax, + ws[:hbf - 580m] << 0.5dt + -- ws[:hbf - 500m] << 1.5dt + ); + # W117 - W118 + track(:station :cat:ac15 :pax, + ws[:hbf - 310m] << 0.5dt + -- ws[:hbf - 250m] << 1.5dt + ); + # W144 - W145 + track(:station :cat:ac15 :pax, + ws[:hbf + 600m + 0.7dl] << 0.5dt + -- ws[:hbf + 680m + 0.7dl] >> 0.5dt + ); + track(:station :cat:ac15 :pax, + ws[:hbf + 700m + 0.7dl] << 0.5dt + -- ws[:hbf + 780m + 0.7dl] << 1.5dt + ); + + # Gl. 6 + track(:station :cat:ac15 :pax, + ws[:hbf - 341m, :hbf - 340m] << 2.5dt + -- ws[:hbf - 280m, :hbf + 460m + 0.7dl] << 1.5dt + ); + # W117 - W118 + track(:station :cat:ac15 :pax, + ws[:hbf - 220m] << 1.5dt + -- ws[:hbf - 160m] << 2.5dt + ); + # W139 - W141 + track(:station :cat:ac15 :pax, + ws[:hbf + 360m + 0.7dl] << 1.5dt + -- ws[:hbf + 420m + 0.7dl] << 0.5dt + ); + # W142 - W143 + track(:station :cat:ac15 :pax, + ws[:hbf + 500m + 0.7dl] << 1.5dt + -- ws[:hbf + 560m + 0.7dl] << 0.5dt + ); + + # Gl. 7 + track(:station :cat:ac15 :pax, + ws[:hbf - 380m, :hbf + 380m + 0.7dl] << 2.5dt + ); + # W133 - W134 + track(:station :cat:ac15 :pax, + ws[:hbf + 300m] << 2.5dt + -- ws[:hbf + 360m] << 1.5dt + ); + + # Gl. 8 + track(:first:station :cat:ac15 :pax, + ws[:hbn.y, :hbf - 460m] << 1.5dt + -- ws[:hbf - 300m, :hbf + 300m + 0.7dl] << 3.5dt + -- ws[:hbf + 460m + 0.7dl, :hbf.f] << 1.5dt + ); + # W101 - W102 + track(:station :cat:ac15 :pax, + ws[:hbf - 930m] << 1.5dt + -- ws[:hbf - 810m] << 0.5dt + ); + + # Bahnsteig 1/2 + platform(:cat:ac15 :pax, + ws[:hbf - 150m, :hbf + 280m] >> 3.5dt + -- ws[:hbf + 280m, :hbf - 150m] << 2.5dt + ); + + # Bahnsteig 3/4 + platform(:cat:ac15 :pax, + ws[:hbf - 150m, :hbf + 280m] >> 0.5dt + -- ws[:hbf + 280m, :hbf - 150m] << 1.5dt + ); + + # Bahnsteig 5/6 + platform(:cat:ac15 :pax, + ws[:hbf - 150m, :hbf + 280m] << 0.5dt + -- ws[:hbf + 280m, :hbf - 150m] >> 1.5dt + ); + + # Bahnsteig 7/8 + platform(:cat:ac15 :pax, + ws[:hbf - 150m, :hbf + 280m] << 3.5dt + -- ws[:hbf + 280m, :hbf - 150m] >> 2.5dt + ); + + marker(:right :de.bf :cat:ac15 :pax, ws[:hbf - 1.5sw] >> 3.5dt); + } +} + diff --git a/rules/de/b/d4/61/6179.map b/rules/de/b/d4/61/6179.map new file mode 100644 index 00000000..ebabedb0 --- /dev/null +++ b/rules/de/b/d4/61/6179.map @@ -0,0 +1,198 @@ +# DE 6179. Berlin-Charlottenburg Gbf - Wustermark Rbf +# +let cw = path("d4.de.6179"); + +with detail = [4, 5] { + # XXX + + # point.de.Berlin-Vlr de.6107 + # point.de.Berlin-Siemensstadt-Fürstenbrunn de.6107 + + + with link = "line.de.6179" { + track(:first :cat:ac15 :flip:tight, + cw[:fub + 150m, :wie - 350m] << 2.5dt + ); + } + + + # point.de.Berlin-Wiesendamm de.6107 + + + with link = "line.de.6179" { + track(:first :cat:ac15 :flip:tight, + cw[:wie + 350m, :wie + 401m] << 2.5dt + .. cw[:sdo.xo - 0.1dl, :sdo.xo] << 1.5dt + .. cw[:sdo.yo, :sdo.yo + 0.1dl] << 2.5dt + ); + } + + + with link = "point.de.Berlin-Ruhleben" { + # Gl. 637 + track(:first:station :cat:ac15, + cw[:sdo.yo + 0.1dl, :spm - 460m] << 2.5dt + ); + } + + + with link = "point.de.Berlin-Spandau-Gbf" { + let spg = path("d4.de.6179.spg"); + + # Gl. 21 (?) + track(:station, + cw[:spg - 210m, :spg.yb + 60m + 0.7dl] << 1.5dt + ); + + # Gl. 22 (?) + track(:station, + cw[:spg - 161m, :spg - 160m] << 1.5dt + -- cw[:spg - 120m, :spg] << 0.5dt + -- cw[:spg + 40m, :spg + 41m] << 1.5dt + ); + + # Gl. 23 (?) + track(:third:station, + cw[:spg.yb - 0.1dl, :spg.yb] << 1.5dt + -- cw[:spg.yb + 40m, :spg.yb + 60m] << 0.5dt + ); + + # GL. 31 + track(:station :cat:ac15, + cw[:spg.yb - 0.1dl, :spg.yb + 0.7dl] << 2.5dt + -- cw[:spg.yb + 60m + 0.7dl, :spg.fw - 210m] << 1.5dt + -- cw[:spg.fw - 110m, :spg.fw - 109m] << 2.5dt + ); + track(:first:station :removed, cw[:spg.fw - 210m, :spg.fw] << 1.5dt); + + # Gl. 32 + track(:first:station :cat:ac15, + cw[:spg - 150m, :spg.fw] << 2.5dt + ); + + # Ladegleise + track(:station :removed, spg[:a, :spg] << 3.5dt); + track(:station :removed, + spg[:a, :spg - 40m] << 4.5dt + -- spg[:spg + 40m, :spg + 41m] << 2.5dt + ); + + marker(:left :de.gbf :removed, cw[:spg] << 4.5dt); + } + + with link = "line.de.6179" { + track(:first :removed, cw[:spg.fw, :bra] << 1.5dt); + track(:first :cat:ac15 :flip, cw[:spg.fw, :bra] << 2.5dt); + } + + # point.de.Berlin-Nennhauser-Damm: de.6185 + + with link = "point.de.Berlin-Staaken-Bstg" { + track(:first:station :double :cat:ac15 :pax, + cw[:ned + 300m, :stb + 420m] << 2dt + ); + + platform(:cat:ac15 :pax, + cw[:stb - 60m, :stb + 60m] << 1.5dt + -- cw[:stb + 60m, :stb - 60m] >> 2.5dt + ); + + marker(:left :de.hp :cat:ac15 :pax, cw[:stb] << 2.5dt); + } + + with link = "point.de.Berlin-Staaken" { + track(:station, + cw[:stw - 740m, :stw - 430m] << 5.5dt + -- cw[:stw - 350m, :stw - 349m] << 4.5dt + ); + + track(:station, + cw[:stw - 1000m, :stw - 320m] << 4.5dt + .. cw[:stw - 180m, :stw + 265m] << 3.5dt + -- cw[:stw + 365m, :stw + 366m] << 2.5dt + ); + track(:station, + cw[:stw + 265m] << 3.5dt -- cw[:stw + 300m] << 4dt + ); + + track(:station, + cw[:stw - 751m, :stw - 750m] << 4.5dt + -- cw[:stw - 670m, :stw - 400m] << 3.5dt + -- cw[:stw - 320m, :stw - 319m] << 4.5dt + ); + + track(:first:station :double :cat:ac15 :pax, + cw[:stb + 420m, :stw.f] << 2dt + ); + track(:station :cat:ac15, + cw[:stw.f - 565m] << 2.5dt + -- cw[:stw.f - 475m] << 1.5dt + ); + track(:station :cat:ac15, + cw[:stw.f - 460m] << 1.5dt + -- cw[:stw.f - 370m] << 2.5dt + ); + + marker(:left :de.gbf :cat:ac15, cw[:stw] << 3.5dt); + marker(:left :de.exbf :cat:ac15, cw[:stw] << 3.5dt); + station(:bottom :cat:ac15, cw[:stw] << 4.5dt << 1.1sh + (-0.5sw, 0dt), + "B.-Staaken", "6179: 18,40" + ); + } + + with link = "line.de.6179" { + track(:first :double :cat:ac15 :pax, cw[:stw.f, :dal.a] << 2dt); + line_label(:left:n :cat:ac15 :pax, cw[:stw.f + 600m] << 2.5dt, "6179"); + } + + with link = "point.de.Dallgow-Döberitz" { + track(:station :removed, + cw[:dal - 311m, :dal - 310m] << 2.5dt + -- cw[:dal - 150m, :dal - 40m] << 6.5dt + ); + track(:station :removed, cw[:dal - 190m, :dal - 40m] << 5.5dt); + track(:station :removed, cw[:dal - 230m, :dal - 40m] << 4.5dt); + track(:station :removed, cw[:dal - 270m, :dal - 40m] << 3.5dt); + + track(:first:station :double :cat:ac15 :pax, + cw[:dal.a, :dal.f] << 2dt + ); + + platform(:cat:ac15 :pax, + cw[:dal - 140m, :dal + 30m] << 1.5dt + -- cw[:dal + 30m, :dal - 140m] >> 2.5dt + ); + + marker(:left :de.hp :cat:ac15 :pax, cw[:dal] << 6.5dt); + marker(:left :de.exbf :cat:ac15 :pax, cw[:dal] << 6.5dt); + station(:top :cat:ac15 :pax, cw[:dal - 0.4sw] >> 2.0dt, + vbox(:center:bottom, + span(:italic :removed, "Dallgow-Döberitz"), + hbox(:center:base :italic :removed, + "Dallgow", span(:light, " (b Berlin)") + ), + "Dallgow-Döberitz" + ), + hbox(:center:base, span(:removed, "22,67 → "), "22,20") + ); + } + + with link = "line.de.6179" { + track(:first :double :cat:ac15 :pax, cw[:dal.f, :wot.a] << 2dt); + } + + with link = "point.de.Wustermark-Rbf-Wot" { + # Gl. 5 + track(:station :cat:ac15, + cw[:wot + 9m, :wot + 10m] << 2.5dt + -- cw[:wot + 90m, :wot.f] << 3.5dt + ); + + # Gl. 24 + track(:first:station :cat:ac15 :pax, cw[:wot.a, :wot.f] << 2.5dt); + + # Gl. 33 + track(:first:station :cat:ac15 :pax, cw[:wot.a, :wot.f] << 1.5dt); + } +} + diff --git a/rules/de/b/d4/61/6185.map b/rules/de/b/d4/61/6185.map new file mode 100644 index 00000000..7810d896 --- /dev/null +++ b/rules/de/b/d4/61/6185.map @@ -0,0 +1,87 @@ +# DE 6185. Berlin-Spandau Ost - Oebisfelde +# +let bl = path("d4.de.b.6107"); + +with detail = [4, 5] { + # point.de.Berlin-Spandau-Ost de.6107 + # point.de.Berlin-Spandau-Mitte de.6107 + # point.de.Berlin-Spandau de.6107 + # point.de.Berlin-Spandau-West de.6100 + + + with link = "line.de.6185" { + track(:first :cat:ac15 :pax :flip:tight :casing, + bl[:ned - 300m, :spa.f] << 0.5dt + ); + track(:first :cat:ac15 :pax :tight, + bl[:ned - 300m, :ned - 800m] >> 0.5dt + .. bl[:spa.yn, :spa.f] >> 1.5dt + ); + } + + + with link = "point.de.Berlin-Nennhauser-Damm" { + track(:first:station :cat:ac15 :pax, + bl[:ned - 300m, :ned + 300m] >> 0.5dt + ); + track(:station :cat:ac15, + bl[:ned - 160m] >> 0.5dt + -- bl[:ned - 25m] << 0.5dt + ); + + track(:first:station :cat:ac15 :pax, + bl[:ned - 300m, :ned + 300m] << 0.5dt + ); + track(:station :cat:ac15, + bl[:ned - 205m] << 0.5dt + -- bl[:ned - 40m] << 2.5dt + ); + + track(:first:station :removed, + bl[:ned - 300m, :ned + 100m] << 1.5dt + ); + track(:first:station :cat:ac15 :pax, + bl[:ned + 9m, :ned + 10m] << 0.5dt + -- bl[:ned + 100m, :ned + 300m] << 1.5dt + ); + + track(:first:station :cat:ac15, + bl[:ned - 300m, :ned - 40m] << 2.5dt + ); + track(:first:station :cat:ac15 :pax, + bl[:ned - 206m, :ned - 205m] << 0.5dt + -- bl[:ned - 40m, :ned + 300m] << 2.5dt + ); + + marker(:left :de.abzw :cat:ac15, bl[:ned] << 2.5dt); + station(:bottom :cat:ac15, bl[:ned] << 2.5dt << 1.2sh, + "B. Nennhauser Damm", + hbox(:center:top, + vbox(:right:top, "6185: ", "6179: "), + vbox(:right:top, "115,", "16,"), + vbox(:left:top, "90", "06") + ) + ); + } + + + with link = "line.de.6185" { + track(:first :double :cat:ac15 :pax, bl[:ned + 300m, :wus.a]); + line_label(:right:s :cat:ac15 :pax, bl[:stw.f + 600m] >> 0.5dt, + hbox(:center:base, span(:removed, "6107 → "), "6185") + ); + } + + with link = "point.de.Staaken-Flugplatz" { + marker(:right :de.bk :removed, bl[:flu] >> 0.5dt); + station(:top :removed, bl[:flu] >> 0.5dt >> 1.0sh, + "Flugplatz", "18,78" + ); + } + + + # point.de.Wustermark de.6107 + # point.de.Wustermark-Awn de.6107 +} + + diff --git a/rules/de/b/d5/60/6024.map b/rules/de/b/d5/60/6024.map new file mode 100644 index 00000000..12da1f79 --- /dev/null +++ b/rules/de/b/d5/60/6024.map @@ -0,0 +1,39 @@ +# DE 6024. Berlin Ostbahnhof - Potsdam Stadt +# +let op = path("d4.de.6024"); + +with detail = 5 { + # ... + + + with layer = 2, link = "point.de.Berlin-Hbf-Lehrter-Bf-S-Bahn" { + # Gl. 15 + track(:first:station :rail:rc75 :pax :casing, + op[:hbf.a, :hbf - 360m] >> 1.5dt + .. op[:hbf - 140m, :hbf + 290m] >> 3.5dt + .. op[:hbf + 440m, :hbf.f] >> 1.5dt + ); + + # Gl. 16 + track(:first:station :rail:rc75 :pax :casing, + op[:hbf.a, :hbf - 360m] >> 2.5dt + .. op[:hbf - 70m, :hbf + 80m] >> 5.5dt + .. op[:hbf + 289m, :hbf + 290m] >> 4.5dt + .. op[:hbf + 440m, :hbf.f] >> 2.5dt + ); + + platform(:rail:rc75 :pax, + op[:hbf - 70m, :hbf + 80m] >> 3.9dt + -- op[:hbf + 80m, :hbf - 70m] << 5.1dt + ); + + marker(:right :de.hp :rail:rc75 :pax, op[:hbf] >> 5.5dt); + with layer = 1 { + marker(:right :de.hp.casing :rail:rc75 :pax, op[:hbf] >> 5.5dt); + } + } + + + # ... +} + diff --git a/rules/de/b/d5/61/6107.map b/rules/de/b/d5/61/6107.map new file mode 100644 index 00000000..258a313f --- /dev/null +++ b/rules/de/b/d5/61/6107.map @@ -0,0 +1,317 @@ +# DE 6107. Berlin Lehrt Bf - Lehrte +# +let bl = path("d4.de.b.6107"); + +with detail = 5 { + # point.de.Berlin-Lehrter-Bf: de.6171 + + # point.de.Berlin-Moabit: de.6170 + + + with link = "line.de.6107" { + track(:first :double :cat:ac15 :pax, bl[:moa.a, :jun - 450m]); + } + + + with link = "point.de.Berlin-Jungfernheide-Fernbahn" { + track(:first:station :double :cat:ac15 :pax, + bl[:jun - 450m, :jun + 260m] + ); + platform(:cat:ac15 :pax, + bl[:jun - 130m, :jun + 80m] >> 0.5dt + -- bl[:jun + 80m, :jun - 130m] >> 0.5dt + ); + + with layer = 2 marker(:left :de.hp :cat:ac15 :pax, bl[:jun] << 0.5dt); + with layer = 1 marker(:left :de.hp.casing :cat:ac15 :pax, bl[:jun] << 0.5dt); + } + + + with link = "line.de.6107" { + with layer = -1 track(:first :double :cat:ac15 :pax, + bl[:jun + 260m, :vlr - 100m] + ); + } + + + with link = "point.de.Berlin-Vlr" { + track(:first:station :double :cat:ac15 :pax, + bl[:vlr - 100m, :vlr + 100m] + ); + track(:first:station :double :removed, + bl[:vlr - 100m, :vlr + 100m] << 2dt + ); + track(:first:station :cat:ac15, + bl[:vlr - 100m, :vlr + 100m] << 3.5dt + ); + track(:first:station :removed, + bl[:vlr - 100m, :vlr + 100m] << 4.5dt + ); + + marker(:right :de.abzw :removed, bl[:vlr] >> 0.5dt); + } + + + with link = "point.de.Berlin-Siemensstadt-Fürstenbrunn" { + track(:first:station :double :cat:ac15 :pax, + bl[:vlr + 100m, :fub + 150m] + ); + track(:first:station :removed, + bl[:vlr + 100m, :fub + 150m] << 1.5dt + ); + track(:first:station :removed, + bl[:vlr + 100m, :fub] << 2.5dt + ); + track(:first:station :cat:ac15, + bl[:vlr + 100m, :fub - 50m] << 3.5dt + -- bl[:fub, :fub + 150m] << 2.5dt + ); + track(:station :removed, + bl[:fub] << 2.5dt + -- bl[:fub + 50m] << 1.5dt + ); + track(:first:station :removed, + bl[:vlr + 100m, :fub - 100m] << 4.5dt + -- bl[:fub - 50m, :fub - 49m] << 3.5dt + ); + + marker(:right :de.bf :removed, bl[:fub] >> 0.5dt); + } + + + with link = "line.de.6107" { + track(:first :double :cat:ac15 :pax, bl[:fub + 150m, :wie - 350m]); + } + + + with link = "point.de.Berlin-Wiesendamm" { + # Gl. 1 + track(:first:station :cat:ac15 :pax, + bl[:wie - 350m, :wie + 350m] >> 0.5dt + ); + # W3 - W4 + track(:station :cat:ac15, + bl[:wie - 280m] >> 0.5dt + -- bl[:wie - 130m] << 0.5dt + ); + + # Gl. 2 + track(:first:station :cat:ac15 :pax, + bl[:wie - 350m, :wie + 350m] << 0.5dt + ); + # W7 - W8 + track(:station :cat:ac15, + bl[:wie + 30m] << 0.5dt + -- bl[:wie + 170m] << 2.5dt + ); + # W9 - W10 + track(:station :cat:ac15, + bl[:wie + 130m] << 0.5dt + -- bl[:wie + 280m] >> 0.5dt + ); + + track(:first:station :removed, + bl[:wie - 350m, :wie + 350m] << 1.5dt + ); + + # Gl. 3 + track(:first:station :cat:ac15, + bl[:wie - 350m, :wie + 350m] << 2.5dt + ); + # W5 - W6 + track(:station :cat:ac15, + bl[:wie - 170m] << 2.5dt + -- bl[:wie - 30m] << 0.5dt + ); + + marker(:left :de.abzw :cat:ac15, bl[:wie] << 2.5dt); + station(:bottom :cat:ac15, bl[:wie] << 2.5dt << 1.2sh, + hbox(:center:base, span(:light, "B.-"), "Wiesendamm"), + hbox(:center:top, + vbox(:right:top, "6107: ", "6179: "), + vbox(:right:top, "8,", "8,"), + vbox(:left:top, "66", "66") + ) + ); + } + + + with link = "line.de.6107" { + track(:first :cat:ac15 :pax :tight, + bl[:wie + 350m, :sdo.xo] >> 0.5dt + .. bl[:sdo.yo, :sdo - 450m] >> 1.5dt + ); + track(:first :cat:ac15 :pax :flip:tight, + bl[:wie + 350m, :sdo.xo] << 0.5dt + .. bl[:sdo.yo, :sdo - 450m] << 1.5dt + ); + } + + + with link = "point.de.Berlin-Spree" { + marker(:right :de.bk :removed, bl[:sre] >> 0.5dt); + station(:top :removed, bl[:sre] >> 0.5dt >> 1.0sh, + "Spree", "8,75" + ); + } + + + with link = "point.de.Berlin-Spandau-Ost" { + # Gl. 3 + track(:first:station :cat:ac15 :pax, + bl[:sdo - 450m, :sdo + 500m] >> 1.5dt + ); + # W21 - W22 + track(:station :cat:ac15, + bl[:sdo - 351m, :sdo - 350m] >> 1.5dt + .. bl[:sdo - 210m, :sdo - 209m] >> 0.5dt + ); + + # Gl. 4 + track(:first:station :cat:ac15 :pax, + bl[:sdo - 450m, :sdo + 500m] >> 0.5dt + ); + # W31 - W32 + track(:station :cat:ac15, + bl[:sdo - 170m] >> 0.5dt + -- bl[:sdo + 30m] >> 1.5dt + ); + # W27 - W28 + track(:station :cat:ac15, + bl[:sdo + 15m] >> 0.5dt + -- bl[:sdo + 130m] << 0.5dt + ); + + # Gl. 5 + track(:first:station :cat:ac15 :pax, + bl[:sdo - 450m, :sdo + 500m] << 0.5dt + ); + # W25 - W26 + track(:station :cat:ac15, + bl[:sdo - 110m] << 0.5dt + -- bl[:sdo] >> 0.5dt + ); + + # Gl. 6 + track(:first:station :cat:ac15 :pax, + bl[:sdo - 450m, :sdo + 500m] << 1.5dt + ); + # W23 - W24 + track(:station :cat:ac15, + bl[:sdo - 270m] << 1.5dt + -- bl[:sdo - 130m] << 0.5dt + ); + + marker(:right :de.bft :cat:ac15, bl[:sdo] >> 1.5dt); + station(:top :cat:ac15, bl[:sdo] >> 1.5dt >> 1.2sh, + "B.-Spandau Ost", + hbox(:center:top, + vbox(:right:top, "6100: ", "6185: "), + vbox(:right:top, "10,", "110,"), + vbox(:left:top, "01", "33"), + vbox(:center:top, " • ", " • "), + vbox(:right:top, "6107: ", "6109: "), + vbox(:right:top, "10,", "18,"), + vbox(:left:top, "33", "32") + ) + ); + } + + + with link = "point.de.Berlin-Spandau-Mitte" { + # Gl. 3 + track(:first:station :cat:ac15 :pax, + bl[:sdo + 500m, :spa - 300m] >> 1.5dt + ); + # Gl. W540 + track(:station, + bl[:spm + 40m] >> 1.5dt + -- bl[:spm + 120m] >> 2.5dt + ); + + # Gl. 4 + track(:first:station :cat:ac15 :pax, + bl[:sdo + 500m, :spa - 300m] >> 0.5dt + ); + + # Gl. 5 + track(:first:station :cat:ac15 :pax, + bl[:sdo + 500m, :spa - 300m] << 0.5dt + ); + # W546 - W547 + track(:station :cat:ac15, + bl[:spm + 90m] << 0.5dt + -- bl[:spm + 225m] << 1.5dt + ); + + # Gl. 6 + track(:first:station :cat:ac15 :pax, + bl[:sdo + 500m, :spa - 300m] << 1.5dt + ); + # W539 - W633 + track(:station :cat:ac15, + bl[:spm] << 1.5dt + -- bl[:spm + 120m] << 2.5dt + ); + + # Gl. 7 + track(:first:station :cat:ac15, + bl[:spm - 460m, :spa - 300m] << 2.5dt + ); + # W632 - W535 + track(:station :cat:ac15, + bl[:spm - 445m] << 2.5dt + -- bl[:spm - 300m] << 1.5dt + ); + + marker(:left :de.bft :cat:ac15, bl[:spm] << 2.5dt); + station(:bottom :cat:ac15, bl[:spm] << 2.5dt << 1.2sh, + "B.-S. Mitte", + hbox(:center:top, + vbox(:right:top, "6100: ", "6185: ", "6179: "), + vbox(:right:top, "11,", "111,", "11,"), + vbox(:left:top, "40", "40", "76") + ) + ); + } + + + with link = "point.de.Berlin-Spandau" { + # Gl. 3 + track(:first:station :cat:ac15 :pax, + bl[:spa - 300m, :spa + 600m] >> 1.5dt + ); + + # Gl. 4 + track(:first:station :cat:ac15 :pax, + bl[:spa - 300m, :spa + 600m] >> 0.5dt + ); + + # Gl. 5 + track(:first:station :cat:ac15 :pax, + bl[:spa - 300m, :spa + 600m] << 0.5dt + ); + + # Gl. 6 + track(:first:station :cat:ac15 :pax, + bl[:spa - 300m, :spa + 600m] << 1.5dt + ); + + # Gl. 7 + track(:first:station :cat:ac15, + bl[:spa - 300m, :spa + 600m] << 2.5dt + ); + + platform(:cat:ac15 :pax, + bl[:spa - 15m, :spa + 380m] >> 1.5dt + -- bl[:spa + 380m, :spa - 15m] << 0.5dt + ); + platform(:cat:ac15 :pax, + bl[:spa - 15m, :spa + 380m] << 1.5dt + -- bl[:spa + 380m, :spa - 15m] >> 0.5dt + ); + + marker(:left :de.bf :cat:ac15 :pax, bl[:spa] << 2.5dt); + } +} + diff --git a/rules/de/b/d5/61/6109.map b/rules/de/b/d5/61/6109.map new file mode 100644 index 00000000..cdb33405 --- /dev/null +++ b/rules/de/b/d5/61/6109.map @@ -0,0 +1,55 @@ +# DE 6109. Berlin Ostbahnhof - Berlin-Spandau +# +let os = path("d4.de.6109"); + +with detail = 5 { + # ... + + + with layer = 2, link = "point.de.Berlin-Hbf-Stadtb" { + # Gl. 11 + track(:station :cat:ac15 :pax :casing, + os[:hbf - 361m, :hbf - 360m] << 0.5dt + .. os[:hbf - 140m, :hbf + 290m] << 2.5dt + .. os[:hbf + 440m, :hbf + 441m] << 0.5dt + ); + + # Gl. 12 + track(:first:station :cat:ac15 :pax :casing, + os[:hbf.a, :hbf.f] << 0.5dt + ); + + # Gl. 13 + track(:first:station :cat:ac15 :pax :casing, + os[:hbf.a, :hbf.f] >> 0.5dt + ); + + # Gl. 14 + track(:station :cat:ac15 :pax :casing, + os[:hbf - 361m, :hbf - 360m] >> 0.5dt + .. os[:hbf - 140m, :hbf + 290m] >> 2.5dt + .. os[:hbf + 440m, :hbf + 441m] >> 0.5dt + ); + + # Bahnsteig 11/12 + platform(:cat:ac15 :pax, + os[:hbf - 140m, :hbf + 290m] << 2.1dt + -- os[:hbf + 290m, :hbf - 140m] >> 0.9dt + ); + + # Bahnsteig 13/14 + platform(:cat:ac15 :pax, + os[:hbf - 140m, :hbf + 280m] >> 2.1dt + -- os[:hbf + 280m, :hbf - 140m] << 0.9dt + ); + + marker(:left :de.bf :cat:ac15 :pax, os[:hbf] << 2.5dt); + with layer = 1 { + marker(:left :de.bf.casing :cat:ac15 :pax, os[:hbf] << 2.5dt); + } + } + + + # ... +} + diff --git a/rules/de/b/d5/61/6171.map b/rules/de/b/d5/61/6171.map new file mode 100644 index 00000000..507bc7cb --- /dev/null +++ b/rules/de/b/d5/61/6171.map @@ -0,0 +1,213 @@ +# DE 6171. Berlin-Wedding Abzw - Berlin Südkreuz Südende +# +let ws = path("d4.de.6171"); + +with detail = 5 { + # point.de.Berlin-Wedding-Abzw: de.6170 + + + with link = "line.de.6171" { + with layer = 1 track(:first :double :cat:ac15 :pax :casing, + ws[:wea.y, :wea.y + 0.1dl] << 1dt + .. ws[:hbn.y, :hbn.y + 0.1dl] + ); + } + + + with link = "point.de.Berlin-Hbf-Lehrter-Bf" { + # Gl. 1 + track(:first:station :cat:ac15 :pax, + ws[:hbn.y, :hbf - 440m] >> 1.5dt + .. ws[:hbf - 170m, :hbf + 300m] >> 5.5dt + .. ws[:hbf + 425m] >> 2.95dt -- ws[:hbf + 430m] >> 2.8dt + .. ws[:hbf + 500m, :hbf.f] >> 1.5dt + ); + # W103 - W104 + track(:station :cat:ac15 :pax, + ws[:hbn.y + 279m, :hbn.y + 280m] >> 1.5dt + .. ws[:hbn.y + 405m, :hbn.y + 406m] >> 0.5dt + ); + # W144 - W145 + track(:station :cat:ac15 :pax, + ws[:hbf + 519m, :hbf + 520m] >> 1.5dt + .. ws[:hbf + 600m, :hbf + 601m] >> 0.5dt + ); + + # Gl. 2 + track(:station :cat:ac15 :pax, + ws[:hbf - 461m, :hbf - 340m] >> 1.5dt + .. ws[:hbf - 170m, :hbf + 300m] >> 3.5dt + .. ws[:hbf + 395m] >> 2.05dt -- ws[:hbf + 400m] >> 1.95dt + .. ws[:hbf + 500m, :hbf + 510m] >> 0.5dt + ); + # W121 - W122 + track(:station :cat:ac15 :pax, + ws[:hbf - 341m, :hbf - 340m] >> 1.5dt + .. ws[:hbf - 255m] >> 1.5dt -- ws[:hbf - 250m] >> 1.6dt + ); + # W133 - W135 + track(:station :cat:ac15 :pax, + ws[:hbf + 299m, :hbf + 300m] >> 3.5dt + .. ws[:hbf + 425m] >> 2.95dt -- ws[:hbf + 430m] >> 2.8dt + ); + # W136 - W137 + track(:station :cat:ac15 :pax, + ws[:hbf + 395m] >> 2.05dt -- ws[:hbf + 400m] >> 1.95dt + .. ws[:hbf + 500m, :hbf + 501m] >> 1.5dt + ); + + # Gl. 3 + track(:station :cat:ac15 :pax, + ws[:hbf - 341m, :hbf - 340m + 0.5dl] >> 0.5dt + .. ws[:hbf - 255m] >> 1.5dt -- ws[:hbf - 250m] >> 1.6dt + .. ws[:hbf - 170m + 0.5dl, :hbf + 300m] >> 2.5dt + .. ws[:hbf + 395m] >> 2.05dt -- ws[:hbf + 400m] >> 1.95dt + ); + # W123 - W124 + track(:station :cat:ac15 :pax, + ws[:hbf - 255m] >> 1.5dt -- ws[:hbf - 250m] >> 1.6dt + .. ws[:hbf - 170m, :hbf - 169m] >> 3.5dt + ); + + # Gl. 4 + track(:first:station :cat:ac15 :pax, ws[:hbn.y, :hbf.f] >> 0.5dt); + # W107 - W108 + track(:station :cat:ac15 :pax, + ws[:hbn.y + 474m, :hbn.y + 475m] >> 0.5dt + .. ws[:hbn.y + 555m, :hbn.y + 556m] << 0.5dt + ); + # W109 - W110 + track(:station :cat:ac15 :pax, + ws[:hbn.y + 539m, :hbn.y + 540m] >> 0.5dt + .. ws[:hbn.y + 665m, :hbn.y + 666m] >> 1.5dt + ); + # W147 - W148 + track(:station :cat:ac15 :pax, + ws[:hbf + 599m, :hbf + 600m] >> 0.5dt + .. ws[:hbf + 680m, :hbf + 681m] << 0.5dt + ); + # W150 - W151 + track(:station :cat:ac15 :pax, + ws[:hbf + 679m, :hbf + 680m] >> 0.5dt + .. ws[:hbf + 760m, :hbf + 761m] >> 1.5dt + ); + + # Gl. 5 + track(:first:station :cat:ac15 :pax, ws[:hbn.y, :hbf.f] << 0.5dt); + # W105 - W106 + track(:station :cat:ac15 :pax, + ws[:hbn.y + 384m, :hbn.y + 385m] << 0.5dt + .. ws[:hbn.y + 460m, :hbn.y + 461m] >> 0.5dt + ); + # W111 - W112 + track(:station :cat:ac15 :pax, + ws[:hbf - 580m] << 0.5dt + -- ws[:hbf - 500m] << 1.5dt + ); + # W115 - W116 + track(:station :cat:ac15 :pax, + ws[:hbf - 351m, :hbf - 350m] << 0.5dt + .. ws[:hbf - 260m] << 1.95dt -- ws[:hbf - 250m] << 2.05dt + ); + # W146 - W149 + track(:station :cat:ac15 :pax, + ws[:hbf + 599m, :hbf + 600m] << 0.5dt + .. ws[:hbf + 680m, :hbf + 681m] >> 0.5dt + ); + # W152 - W153 + track(:station :cat:ac15 :pax, + ws[:hbf + 679m, :hbf + 680m] << 0.5dt + .. ws[:hbf + 760m, :hbf + 761m] << 1.5dt + ); + + # Gl. 6 + track(:station :cat:ac15 :pax, + ws[:hbf - 440m, :hbf - 340m] << 1.5dt + .. ws[:hbf - 260m] << 1.95dt -- ws[:hbf - 250m] << 2.05dt + .. ws[:hbf - 170m, :hbf + 300m] << 2.5dt + .. ws[:hbf + 395m] << 2.05dt -- ws[:hbf + 400m] << 1.95dt + ); + # W117 - W118 + track(:station :cat:ac15 :pax, + ws[:hbf - 260m] << 1.95dt -- ws[:hbf - 250m] << 2.05dt + .. ws[:hbf - 170m, :hbf - 169m] << 3.5dt + ); + + # Gl. 7 + track(:station :cat:ac15 :pax, + ws[:hbf - 371m, :hbf - 370m] << 1.5dt + .. ws[:hbf - 210m, :hbf + 300m] << 3.5dt + .. ws[:hbf + 395m] << 2.05dt -- ws[:hbf + 400m] << 1.95dt + .. ws[:hbf + 500m, :hbf + 510m] << 0.5dt + ); + # W130 - W131 + track(:station :cat:ac15 :pax, + ws[:hbf + 299m, :hbf + 300m] << 3.5dt + .. ws[:hbf + 425m] << 2.95dt -- ws[:hbf + 430m] << 2.8dt + ); + # W139 - W140 + track(:station :cat:ac15 :pax, + ws[:hbf + 395m] << 2.05dt -- ws[:hbf + 400m] << 1.95dt + .. ws[:hbf + 500m, :hbf + 501m] << 1.5dt + ); + + # Gl. 8 + track(:first:station :cat:ac15 :pax, + ws[:hbn.y, :hbf - 440m] << 1.5dt + .. ws[:hbf - 170m, :hbf + 300m] << 5.5dt + .. ws[:hbf + 425m] << 2.95dt -- ws[:hbf + 430m] << 2.8dt + .. ws[:hbf + 500m, :hbf.f] << 1.5dt + ); + # W101 - W102 + track(:station :cat:ac15 :pax, + ws[:hbn.y + 229m, :hbn.y + 230m] << 1.5dt + .. ws[:hbn.y + 355m, :hbn.y + 356m] << 0.5dt + ); + # W142 - W143 + track(:station :cat:ac15 :pax, + ws[:hbf + 519m, :hbf + 520m] << 1.5dt + .. ws[:hbf + 600m, :hbf + 601m] << 0.5dt + ); + + # Bahnsteig 1/2 + platform(:cat:ac15 :pax, + ws[:hbf - 150m, :hbf + 280m] >> 5.1dt + -- ws[:hbf + 280m, :hbf - 150m] << 3.9dt + ); + + # Bahnsteig 3/4 + platform(:cat:ac15 :pax, + ws[:hbf - 150m, :hbf + 280m] >> 0.9dt + -- ws[:hbf + 280m, :hbf - 150m] << 2.1dt + ); + + # Bahnsteig 5/6 + platform(:cat:ac15 :pax, + ws[:hbf - 150m, :hbf + 280m] << 0.9dt + -- ws[:hbf + 280m, :hbf - 150m] >> 2.1dt + ); + + # Bahnsteig 7/8 + platform(:cat:ac15 :pax, + ws[:hbf - 150m, :hbf + 280m] << 5.1dt + -- ws[:hbf + 280m, :hbf - 150m] >> 3.9dt + ); + + marker(:right :de.bf :cat:ac15 :pax, ws[:hbf - 1sw] >> 5.5dt); + label(:cat:ac15 :pax, ws[:hbf - 0.5sw] >> 5.5dt >> 1.8sh, + hbox(:right:bottom, + vbox(:center:bottom, + hbox(:center:bottom :xsmall, + vbox(:right:bottom, "6107: ", "6171: ", " 6134: "), + vbox(:right:bottom, "1,", "2,", "2,"), + vbox(:left:bottom, "30", "20", "20") + ), + span(:medium :bold, "Berlin Hauptbahnhof-Lehrter Bf.") + ) + ) + ); + + + } +} +