Oslotrikken 2024
Tekniske detaljer

av Arne Sommer

[ Innledning | Ruters forslag | Mitt første forslag | Mitt andre forslag | Tekniske detaljer ]

Bakgrunn

Jeg begynte med å regne på ruteopplegget manuelt, men innså etter hvert at det var alt for lett å regne feil, og at det ikke lot seg gjøre å se at (om) taktingen er brukbar mellom linjene (på strekninger med flere linjer).

Så jeg begynte å programmere…

Dette er ikke en artikkel om programmering, så jeg vil kun vise og forklare filene som må lages, og det som kommer ut i den andre enden. (Det vil komme en artikkel om programmeringen på raku-musings.com etterhvert, på engelsk.)

Alle linjer og tall i denne delen av artikklen er for mitt første forslag (7,5 minutters opplegget).

Jeg begynte med å definere de ulike linjene, med en tekstfil for hver. Her er linje 11:

Fil: 11.def
11                            [1]
#                             [2]
# 11 Majorstuen - Bjørvika
# --------------------------------------------------
OS013 A   B:2  Majorstuen     [3]
OS012 A   B    Bogstadveien
OS011 A:2 B    Homansbyen
OS007 -   B    Welhavens gate [4]
OS006 -   B    Frydenlund     [4]
OS005 A:3 B:2  Holbergs plass [5]
OS004 A   B    Tullinløkka
OS003 A   B    Tinghuset
OS002 A:2 B:2  Stortorvet
OS001 C:2 D:2  Jernbanetorget
OS301 B:2 A    Vaterlandsparken
OS302 B   A:2  Grønland
OS303 B:2 A    Politihuset
OS304 B   A    Munkegata
OS305 B   A    St. Halvards plass
OS202 A:2 B:2  Middelalderparken
OS201 A   B    Bjørvika       [6]

[1] Dette er linjenummeret.

[2] Rader som beynner med # er kommentarer, og blir ignorert av programmene som leser filen.

[3] Første stopp på linjen, når man leser tabellen nedover. Dette er retning 1 (eller D for down). Radene består av 5 kolonner, avskilt med mellomrom (en eller flere). Kolonnene er:

  • Stoppesteds ID (f.eks. «OS013»). Dette brukes ikke i dag, men må oppgis.
  • Plattform i retning 1 (nedover, down). Plattformene er gitt bokstav «A» i retning mot sentrum, og «B» i retning fra sentrum. Enkelte stoppesteder har flere plattformer, og da brukes bokstavene «C», «D» o.s.v. Hvis det står et kolon etterfulgt av et tall etter bokstaven, så er det kjøretiden i minutter til dette stoppestedet (fra det forrige). Hvis det ikke er oppgitt noe tall, så brukes 1 minutt. «A:0» (for null minutter) er lovlig, og halve minutter støttes også; f.eks. «B:0.5» og «C:1.5».
  • Plattform i retning oppover. Med evt. kjøretid fra forrige stoppested.
  • Stoppestedsnavnet. Det kan inneholde mellomrom (som f.eks. i [5]).

[4] Stoppested kun i én retning (angitt med plattformbokstav). Minustegnet angir at det mangler i den retningen.

[5] Merk at kjøretiden fra forrige stopp (Homansbyen) er 3 minutter. Stoppestedene som kun betjenes den andre retningen (merket med [4]) telles ikke med her.

[6] Første stopp på linjen, når man leser tabellen oppover. Dette er retning 2 (eller U for up).

Kjøretidene er så langt som mulig identisk med det som brukes på dagens trikkenett, men jeg har fjernet ekstra tid lagt inn på grunn av redusert hastighet mellom Oslo Hospital og Ekebergparken. Kjøretider over Grønland er basert på linje 37, tilpasset omlagt stoppestedsmønster. Her er det noe usikkerhet.

Linjedefinisjoner for mitt første forslag: 10 11 12 13 17 18 19

Halve minutter

Opplegget støtter halve minutter. Dette er gjort for at man kan oppgi 7,5 minutter som intervall. Halve minutter vises i tabellene vi skal se på litt lenger ned, men da som «26'» (merk den enkle fnutten etter tallet) i steden for «26,5».


Program 1: Intervall og minuttall

Dette programmet tar en enkelt linjedefinisjonsfil (som vist over), ønsket intervall og minuttallstillegg for første avgang fra hver ende (slik at man unngår at to linjer fra f.eks. Rikshospitalet har samme avgangstid).

Det beregner passeringstider for alle stoppestedene, med minuttall. Her er et eksempel for linje 11, med intervall 7,5, minuttallstillegg 0 for første avgang i retning nedover (første halvdel), og minuttallstillegg 4 for første avgang i retning oppover (siste halvdel):

Linje 11: Majorstuen - Bjørvika
----------------------------------------------------------------
00  | 00  07' 15  22' 30  37' 45  52' Majorstuen [A]
01  | 01  08' 16  23' 31  38' 46  53' Bogstadveien [A]
03  | 03  10' 18  25' 33  40' 48  55' Homansbyen [A]
06  | 06  13' 21  28' 36  43' 51  58' Holbergs plass [A]
07  | 07  14' 22  29' 37  44' 52  59' Tullinløkka [A]
08  | 08  15' 23  30' 38  45' 53  00' Tinghuset [A]
10  | 10  17' 25  32' 40  47' 55  02' Stortorvet [A]
12  | 12  19' 27  34' 42  49' 57  04' Jernbanetorget [C]
14  | 14  21' 29  36' 44  51' 59  06' Vaterlandsparken [B]
15  | 15  22' 30  37' 45  52' 00  07' Grønland [B]
17  | 17  24' 32  39' 47  54' 02  09' Politihuset [B]
18  | 18  25' 33  40' 48  55' 03  10' Munkegata [B]
19  | 19  26' 34  41' 49  56' 04  11' St. Halvards plass [B]
21  | 21  28' 36  43' 51  58' 06  13' Middelalderparken [A]
22  | 22  29' 37  44' 52  59' 07  14' Bjørvika [A]

Linje 11: Bjørvika - Majorstuen
----------------------------------------------------------------
00  | 04  11' 19  26' 34  41' 49  56' Bjørvika [B]
02  | 06  13' 21  28' 36  43' 51  58' Middelalderparken [B]
03  | 07  14' 22  29' 37  44' 52  59' St. Halvards plass [A]
04  | 08  15' 23  30' 38  45' 53  00' Munkegata [A]
05  | 09  16' 24  31' 39  46' 54  01' Politihuset [A]
07  | 11  18' 26  33' 41  48' 56  03' Grønland [A]
08  | 12  19' 27  34' 42  49' 57  04' Vaterlandsparken [A]
10  | 14  21' 29  36' 44  51' 59  06' Jernbanetorget [D]
12  | 16  23' 31  38' 46  53' 01  08' Stortorvet [B]
13  | 17  24' 32  39' 47  54' 02  09' Tinghuset [B]
14  | 18  25' 33  40' 48  55' 03  10' Tullinløkka [B]
16  | 20  27' 35  42' 50  57' 05  12' Holbergs plass [B]
17  | 21  28' 36  43' 51  58' 06  13' Frydenlund [B]
18  | 22  29' 37  44' 52  59' 07  14' Welhavens gate [B]
19  | 23  30' 38  45' 53  00' 08  15' Homansbyen [B]
20  | 24  31' 39  46' 54  01' 09  16' Bogstadveien [B]
22  | 26  33' 41  48' 56  03' 11  18' Majorstuen [B]

Programet skriver ut linjenummer og retning (første - siste stoppested). De etterfølgende radene begynner med kjøretid i minutter fra første stoppested. Etter streken (|) kommer minuttallene. Helt til slutt vises stoppestedsnavnet, etterfulgt av plattformbokstaven i klammer (f.eks. [A]). Merk at stoppesteder kun i én retning (som Frydenlund) kun vises i den riktige retningen.

Komplett fil

• Minuttall for samtlige linjer: minuttall.txt

Program 2: Takting

Dette programmet tar en intervallfil (som «minuttall.txt», som vi nettopp har vist) samt en liste over utvalgte stoppesteder, og skriver ut passeringstidene for disse stoppestedene.

Minuttallene er sortert slik at det laveste kommer først på raden (dvs at man får «00 07' 15 22' 30 37' 45 52' Grønland [B]» i steden for «15 22' 30 37' 45 52' 00 07' Grønland [B]»), og radene sorteres slik at den med lavest minuttall vises først.

Her er et eksempel:

Bjørvika [A]
 04  11' 19  26' 34  41' 49  56'  19 Majorstuen
 07  14' 22  29' 37  44' 52  59'  10 Grefsen stasjon
 07  14' 22  29' 37  44' 52  59'  11 Bjørvika

Bjørvika [B]
 02  09' 17  24' 32  39' 47  54'  19 Ljabru
 04  11' 19  26' 34  41' 49  56'  10 Bjørvika
 04  11' 19  26' 34  41' 49  56'  11 Majorstuen

Grønland [A]
 02  09' 17  24' 32  39' 47  54'  18 Rikshospitalet
 03' 11  18' 26  33' 41  48' 56   11 Majorstuen

Grønland [B]
 00  07' 15  22' 30  37' 45  52'  11 Bjørvika
 07  14' 22  29' 37  44' 52  59'  18 Bråten

Jernbanetorget [A]
 02' 10  17' 25  32' 40  47' 55   10 Grefsen stasjon
 05  12' 20  27' 35  42' 50  57'  12 Grefsen stasjon
 05  12' 20  27' 35  42' 50  57'  13 Sinsenkrysset

Jernbanetorget [B]
 01  08' 16  23' 31  38' 46  53'  10 Bjørvika
 02  09' 17  24' 32  39' 47  54'  12 Majorstuen
 05' 13  20' 28  35' 43  50' 58   13 Bekkestua

Jernbanetorget [C]
 00' 08  15' 23  30' 38  45' 53   17 Kjelsås
 04  11' 19  26' 34  41' 49  56'  18 Bråten
 04' 12  19' 27  34' 42  49' 57   11 Bjørvika

Jernbanetorget [D]
 01' 09  16' 24  31' 39  46' 54   17 Rikshospitalet
 05  12' 20  27' 35  42' 50  57'  18 Rikshospitalet
 06' 14  21' 29  36' 44  51' 59   11 Majorstuen

Solli [A]
 01' 09  16' 24  31' 39  46' 54   19 Ljabru
 02' 10  17' 25  32' 40  47' 55   12 Grefsen stasjon
 04' 12  19' 27  34' 42  49' 57   13 Sinsenkrysset

Solli [B]
 03' 11  18' 26  33' 41  48' 56   12 Majorstuen
 04' 12  19' 27  34' 42  49' 57   19 Majorstuen
 06  13' 21  28' 36  43' 51  58'  13 Bekkestua

Taktingen ser stort sett greit ut.

Jeg har tilstrebet å få god takting på ytterstrekninger, men enkelte korte strekninger i sentrum kommer derfor litt uheldig ut. Det er mulig å fikse dette ved å forskyve avgangstidene på linjene. Fremkommenlighetstiltak som forhåpentligvis gjennomføres innen 2024 vil føre til justerte kjøretider, så oppleggene mine kan uansett ikke brukes uten tilpasninger.

Komplette filer

• Liste over stoppesteder: timingpoints.def
• Taktingsoversikten: taktingsoversikt.txt

Program 3: Vognbehov og kjørelister

Dette programmet tar også en intervallfil (som «minuttall.txt») og skriver ut forenklede kjørelister for linjene.

Forenklede kjørelister

Kjørelister er en intern oversikt som viser hvordan de ulike vognene skal brukes, slik at de til sammen dekker alle avgangene i ruteopplegget, fra først avgang om morgene til siste avgang om kvelden.

Mine forenklede kjørelistene viser kun en full runde for ruteopplegget, d.v.s. hvor mange vogner man trenger for å dekke det. Så fortsetter man med en runde til, o.s.v.

Linjene (dvs. om og hvordan de kobles sammen) må defineres i en egen fil. Her er hvordan linje 10, 11, 12 og 19 er satt opp:

Fil: vognløp.def
# 1100               [1]
11 D M/11;M      2   [2]
10 D Bjv/10;Bjv  0   [3]
12 U Gfs/12;Gfs  8   [4]

# 1200               [5]
12 D M/12;M      2
10 U Gfs/10;Gfs  8
11 U Bjv/11;Bjv  0

# 1900               [6]
19 D M/19;MK    2
19 U Lj/19;Lj  10

[1] Nummerserie for vognløpene. Første vognløp får nr «1101» i dette tilfellet.

[2] 4 kolonner, avskilt av en eller flere mellomrom. Det første feltet er linjenummeret. Det andre feltet er retningen man skal kjøre, D (down eller nedover) eller U (up eller oppover). Det tredje feltet er teksten som brukes i kjørelisten (som tittel på raden). Hvis feltet inneholder ; (et semikolon), brukes teksten før det på avgangstider (merket «dep» (departure) i kjørelistene) og teksten etter det på ankomsttider (merket «arr» (arrival) i kjørelistene). Det fjerde og siste feltet er minimumskrav til reguleringstid (i minutter) før man starter avgangen. (Her betyr det ikke noe for den første avgangen, men gjør det når man har kommet til bunnen og skal starte på en ny runde.)

[3] Legg merke til minimumskravet på 0 minutter regulering i Bjørvika (Bjv). Linjene er taktet slik at vogner i linje 11 fortsetter i linje 10 uten pause.

[4] Etter denne, starter programmet fra toppen igjen. D.v.s. rad [2].

[5] Neste nummerserie. Motsatt vei av nummerserien i [1].

[6] Linje 19 er en ren linje, som kjører frem og tilbake uten koblinger med andre linjer.

Tittel på raden

Jeg har valgt bruke samme type forkortelser som Sporveien klassisk har brukt på endestoppestedene, men med en del tilpasninger. F.eks. er «M» Majorstuen (i Bogstadveien), mens avstigningsstoppestedet i Kirkeveien har «MK». Disse forkortelsene vises som tittel på raden i kjørelistene, dvs. første kolonne. (Det er ingen ting i veien for å bruke fullt navn i stedet for en forkortelse, men opplegget støtter ikke mellomrom i navnet.)

Her er resultat for linje 19, samt oppsummeringen:


	      1901  1902  1903  1904  1905  1906  1907  1908  1909  1910  1911  [1]
-------------------------------------------------------------------------------
M/19	dep   0002  0009' 0017  0024' 0032  0039' 0047  0054' 0102  0109' 0117  [2]
Lj	arr   0034  0041' 0049  0056' 0104  0111' 0119  0126' 0134  0141' 0149  [3]
Lj/19	dep   0049  0056' 0104  0111' 0119  0126' 0134  0141' 0149  0156' 0204 
MK	arr   0119  0126' 0134  0141' 0149  0156' 0204  0211' 0219  0226' 0234  [4]
M/19	dep   0124' 0132  0139' 0147  0154' 0202  0209' 0217  0224' 0232  0239' [5]

1100: Antall vognløp: 12
1200: Antall vognløp: 12
1300: Antall vognløp: 14
1700: Antall vognløp: 14
1800: Antall vognløp: 12
1900: Antall vognløp: 11  [6]
---------------------------------------
Total antall vognløp: 75  [7]

[1] Vognløpene. Antallet oppsummeres til slutt (se [6] og [7]).

[2] Første avgang for vognløpene. De to første sifrene er timen, men den skal ikke tas bokstavlig her. Den viser bare at alle avgangene er dekket (at første avgang i [6] følger etter rekken i [2]). «dep» betyr «departure» (avgang).

[3] Her vises ankomsttiden på endestoppestedet. «arr» betyr «arrival» (ankomst). Denne raden vises slik at man enkelt kan se reguleringstiden.

[4] Neste avgang.

[5] Første avgang på andre runde. De vises kun som avgang (uten en ankomst), siden de kun er der for å vise at alle avgangene er dekket. Siste avgang fra Majorstuen på rad [2] er «0117». Neste avgang er «0124'» på rad [5].

[6] Oppsummering av antall vognløp for de ulike nummerseriene.

[7] Totalt antall vognløp.

Dette er som sagt ikke komplette kjørelister. De viser kun første hele runde for hvert vognløp. Den siste raden er begynnelsen på neste runde. (Hvis du stiller deg opp en morgen i år 2024 på Majorstuen stoppesed i Bogstadveien og observerer at vogn 403 kjører derfra i linje 19 kl 0717, så kan du vente og se at den kommer tilbake og tar neste avgang kl 0839'. (Hvis den ikke er byttet med en annen vogn i mellomtiden.) Det gir en omløpstid på 82,5 minutter.

Komplette filer

vognløp.def
kjørelister.txt

[ Innledning | Ruters forslag | Mitt første forslag | Mitt andre forslag | Tekniske detaljer ]