[ Introduction | Oslo Metro | Oslo Tram | Bergen | FAQ ]
It is also possible to explicitly prevent one of the directions, by placing «-» in the platform column for that direction. The route will be missing in that direction in the summary if all the platform in that direction has been set to «-». It will not show as a timingpoint.
Different Frequency in each direction
This can be done by setting up two identical routes with the same route definition file,
with different interval values. Then use one route in the Down direction, and the other
in the Up direction in the vehicle specification file.
It is also possible to have one route in both directions, and the second one in only one. Depending on the intervals.
I want to make a new network, combining the sections differently
This can be done «the hard way» by making route definition files for the new routes,
using cut and paste on the different sections.
But it is easier to use the existing route definition files, setting up the first part of the route with the «route add» command (typically as a short running), and then add one or more sections to it with the «route append» command.
Do I have to use an interval that can be multiplied up to 60?
Yes and no.
Let us take Bergen route 2 as an example:
route add 2 file:bergen-bybanen/02.def
summary
The result (in the Down direction only), as the interval adds up to 60:
Route 2: Byparken - Fyllingsdalen terminal
----------------------------------------------------------------
00 | 00 10 20 30 40 50 Byparken [D]
01 | 01 11 21 31 41 51 Nonneseter [B]
02 | 02 12 22 32 42 52 Bystasjonen [D]
05 | 05 15 25 35 45 55 Fløen [B]
08 | 08 18 28 38 48 58 Haukeland sykehus [B]
11 | 11 21 31 41 51 01 Kronstad [D]
12 | 12 22 32 42 52 02 Mindemyren [B]
14 | 14 24 34 44 54 04 Kristiansborg [B]
18 | 18 28 38 48 58 08 Fyllingsdalen terminal [B]
Let us try with an 8 minute interval:
route add 2 file:bergen-bybanen/02.def interval:8
summary
The result (again in the Down direction only):
Route 2: Byparken - Fyllingsdalen terminal
----------------------------------------------------------------
00 | 00 08 16 24 32 40 48 56 04 12 20 28 36 44 52 Byparken [D]
01 | 01 09 17 25 33 41 49 57 05 13 21 29 37 45 53 Nonneseter [B]
02 | 02 10 18 26 34 42 50 58 06 14 22 30 38 46 54 Bystasjonen [D]
05 | 05 13 21 29 37 45 53 01 09 17 25 33 41 49 57 Fløen [B]
08 | 08 16 24 32 40 48 56 04 12 20 28 36 44 52 00 Haukeland sykehus [B]
11 | 11 19 27 35 43 51 59 07 15 23 31 39 47 55 03 Kronstad [D]
12 | 12 20 28 36 44 52 00 08 16 24 32 40 48 56 04 Mindemyren [B]
14 | 14 22 30 38 46 54 02 10 18 26 34 42 50 58 06 Kristiansborg [B]
18 | 18 26 34 42 50 58 06 14 22 30 38 46 54 02 10 Fyllingsdalen terminal [B]
The interval does not add up to 60, but it does add up to 120. So we get different departures for the first and second hour. That is in itself not a problem, until we look at the timingpoints:
timingpoints bergen-bybanen/timingpoints-2.def
This is the top rows of the result:
Byparken [C]
02 06 10 14 18 22 26 30 34 38 42 46 50 54 58 2 Byparken
Byparken [D]
00 04 08 12 16 20 24 28 32 36 40 44 48 52 56 2 Fyllingsdalen terminal
Note that the program has sorted the departures nicely for us, even if half of them belong to the next hour.
The vehicles computation does work:
0201 0202 0203 0204 0205 0206 0207
-------------------------------------------------------
Byp/2 dep 0000 0008 0016 0024 0032 0040 0048
FyT arr 0018 0026 0034 0042 0050 0058 0106
FyT/2 dep 0032 0040 0048 0056 0104 0112 0120
Byp arr 0050 0058 0106 0114 0122 0130 0138
Byp/2 dep 0056 0104 0112 0120 0128 0136 0144
Does the program support running times of more than one hour between stops?
Not really. This is a result of the former life as three separate programs. The vehicle
program used (and the combined program mostly still do) the output of the first one (the
summary) as input. It happily ignores the first column (that can exceed 60 minutes) and
uses the minute values (minutes past the hour). A value «00» followed by a new row with
the same value is taken as a running time of zero minutes - even if you specified 60
minutes.
We can illustrat this with the trains between Oslo (in Norway) and Göteborg (in Sweden), with a simplified stop pattern (so that the travel time between two stops exceeds 60 minutes):
File: NSB/R20.def
#
# R20 Oslo - Göteborg
# --------------------------------------
NT001 S S:20 Oslo S
NT002 B:22 A:21 Ski
NT003 B:21 A:45 Moss
NT004 B:45 A:90 Halden
ST501 1:90 1 Göteborg C
The platform IDs are wrong. I have speeded up the trains by removing a lot of stops.
File: NSB/R20.setup
## Networkplanner ##
route add R20 file:NSB/R20.def interval:30
summary
vehicles NSB/R20-vehicles.def
File: NSB/R20-vehicles.def
=2000
R20 D OsloS 20
R20 U GötbC 20
The summary looks ok-ish, as the total travel times (at 178 and 176 minutes) are correct (insofar as they match the route definition - not the real world).
Route R20: Oslo S - Göteborg C
----------------------------------------------------------------
00 | 00 30 Oslo S [S]
22 | 22 52 Ski [B]
43 | 43 13 Moss [B]
88 | 28 58 Halden [B]
178 | 58 28 Göteborg C [1]
Route R20: Göteborg C - Oslo S
----------------------------------------------------------------
00 | 00 30 Göteborg C [1]
90 | 30 00 Halden [A]
135 | 15 45 Moss [A]
156 | 36 06 Ski [A]
176 | 56 26 Oslo S [S]
But the vehicle part does not:
2001 2002 2003 2004 2005 2006 2007 2008
-------------------------------------------------------------
OsloS dep 0000 0030 0100 0130 0200 0230 0300 0330
GötbC arr 0128 0158 0228 0258 0328 0358 0428 0458
GötbC dep 0200 0230 0300 0330 0400 0430 0500 0530
OsloS arr 0330 0400 0430 0500 0530 0600 0630 0700
OsloS dep 0400 0430 0500 0530 0600 0630 0700 0730
The obvious problem is the 90 minutes on the last leg, which is minute-ified down to 30. But we get another 60 minutes shaved off somewhere along the route as well. I cannot explain why...
The solution (for now) is to add ghost stops, ensuring that we keep the running time (between consecutive stops) way under 60 minutes. THIS DOES NOT WORK!!!!
File: NSB/R20b.def
#
# R20 Oslo - Göteborg
# --------------------------------------
NT001 S S:20 Oslo S
NT002 B:22 A:21 Ski
NT003 B:21 A:45 Moss
NT004 B:45 A:40 Halden
ST503 B:40 A:40 Ed
ST502 B:40 A:40 Öxnered
ST501 1:40 1 Göteborg C
File: NSB/R20b.setup
## Networkplanner ##
route add R20 file:NSB/R20b.def interval:30
summary
vehicles NSB/R20-vehicles.def
Route R20: Oslo S - Göteborg C
----------------------------------------------------------------
00 | 00 30 Oslo S [S]
22 | 22 52 Ski [B]
43 | 43 13 Moss [B]
88 | 28 58 Halden [B]
128 | 08 38 Ed [B]
168 | 48 18 Öxnered [B]
208 | 28 58 Göteborg C [1]
Route R20: Göteborg C - Oslo S
----------------------------------------------------------------
00 | 00 30 Göteborg C [1]
40 | 40 10 Öxnered [A]
80 | 20 50 Ed [A]
120 | 00 30 Halden [A]
165 | 45 15 Moss [A]
186 | 06 36 Ski [A]
206 | 26 56 Oslo S [S]
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016
-------------------------------------------------------------------------------------------------------------
OsloS dep 0000 0030 0100 0130 0200 0230 0300 0330 0400 0430 0500 0530 0600 0630 0700 0730
GötbC arr 0328 0358 0428 0458 0528 0558 0628 0658 0728 0758 0828 0858 0928 0958 1028 1058
GötbC dep 0400 0430 0500 0530 0600 0630 0700 0730 0800 0830 0900 0930 1000 1030 1100 1130
OsloS arr 0726 0756 0826 0856 0926 0956 1026 1056 1126 1156 1226 1256 1326 1356 1426 1456
OsloS dep 0800 0830 0900 0930 1000 1030 1100 1130 1200 1230 1300 1330 1400 1430 1500 1530
208 minutes is the same as 3 hours and 28 minutes, and 206 minutes is the same as 3 hours and 26 minutes, so the accumulated travel times are correct.
Why doesn't the program support a 60 minute interval?
It does not really have a concept of hours, so 60 minutes will be de-hour-ified to
zero minutes, which will not work out (as you can add an infinite amount of zeroes
and still not get to the next hour). Try with a 30 minute interval, and remove half
the departures.
[ Introduction | Oslo Metro | Oslo Tram | Bergen | FAQ ]