Log
Route matrix in HMA
This module creates the node Route matrix, which contains the driving instructions from all areas to all other areas. Distances calculates the distances (by road) between the areas.
To make the construction of Route matrix as simple as possible for a new city, the roads are defined in the following way. First, the whole metropolitan are is divided into 15 regions, and these regions are further divided into 129 areas with 7300 inhabitants on average. The 129 areas are standard areas for urban planning, but the regions were formed for this particular purpose. The criteria for forming a region were that they
1) are exclusive and mutually exhaustive
2) are as large as possible without creating very unrealistic routes between areas. Routes are defined in a way that between any two regions, there is only one specific road that is used to cross the region borders (and travel the distance between the regions if they are not neighbours).
It is thus necessary to describe the routes between all areas within each region, and the routes between all regions. However, then it is possible to deduce the detailed routes between two areas that are in different regions using these hierarchical instructions.
The routes are described as lists of areas that are along the road between the origin and destination. The route description needs not be in full detail if the details between two areas are defined in Roads node. A minimum number of existing roads were selected so that the routes in the model would not be very unrealistic. This work was done manually with a map. Note that the absolute numbers of 'Average vehicle flow on the 30 most busy roads' are likely biased upwards because all traffic from smaller streets is packed to the major roads in the model.
jtue
8. Aprta 2004 14:15
ktluser
10. Novta 2008 10:21
48,24
1,208,128,631,361,17
2,102,90,476,282
Arial, 13
0,Linkmodule Route_matrix_in_hma1,2,2,-32766,1,Route matrix in HMA.ANA
Route matrix in HMA
The complete route instruction matrix including all relevant information.
var a:= Prematrix;
index e:= 1..max(max((textlength(a)+1)/5,From),To1);
var g:= for x[]:= a do slice(splittext(x,','),e);
g:= if g=null then 'tyhj' else g;
var y:= 1;
while y<=size(e)-1 do (
var x:= 1;
while x<= size(Road_mirror) do (
var h:= Road_mirror[.a=x];
var b:= g[.e=y];
var c:= g[.e=y+1];
var d:= findintext(b,h);
var f:= findintext(c,h);
a:= if d>0 and f>0 and f>d then Textreplace(a,b&','&c,selecttext(h,d,f+3),true) else a;
x:=x+1);
y:=y+1);
a
288,200,1
48,24
1,1,1,1,1,1,0,,1,
2,478,35,476,480
2,70,80,784,348,0,MIDM
[To1,From]
Distances
km
The length of each origin-destination trip.
var b:= for x[]:= Route_matrix_in_hma do (
var a:= if findintext(links_1,x)>0 then link_length1 else 0;
sum(a,links_1) );
b + in_area_distance[area1=From] + in_area_distance[area1=To1]
400,200,1
48,24
2,32,14,476,521
2,27,18,883,552,0,MIDM
[To1,From]
In-area distance
km
The distance that is travelled within an area collecting people before the actual trip to another area starts.
Distances are rough estimates measured with a string and a ruler. This approach was considered exact enough, as the road structure is the same in all scenarios considered.
Note that although not quite realistic, this value is the same for both composite and car traffic.
Table(Area1)(
1,1,0.6,0.6,0.6,1,1,0.1,1,1,1,1,1.5,1.5,1,1,0.6,0.6,1,1,0.6,0.6,1,1.5,1.5,2.5,1.5,1.5,1.5,2.5,1.5,1.5,1.5,1.5,2.5,1.5,1.5,1.5,1.5,1,1.5,1.5,1.5,2.5,1.5,1,2.5,1.5,1.5,2.5,1.5,1,4,1.5,1.5,2.5,1.5,1.5,1,2.5,1.5,1.5,1.5,2.5,1.5,0.6,0.6,1.5,1.5,1.5,1.5,2.5,2.5,2.5,2.5,2.5,2.5,1.5,2.5,2.5,0.6,1.5,1.5,1.5,1.5,1,1.5,2.5,2.5,2.5,4,4,4,8,2.5,4,4,4,8,2.5,1.5,2.5,2.5,2.5,4,8,4,1.5,1.5,1.5,1,2.5,1.5,1.5,1.5,1.5,1.5,2.5,2.5,1.5,1.5,2.5,1.5,4,2.5,2.5,4,4,4,0)
400,32,1
48,24
2,148,93,416,561,0,MIDM
65535,52427,65534
Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).
Area name
The name of each area.
Table(Area1)(
'Kluuvi','Kamppi','Punavuori','Kaartinkaupunki','Kruunuhaka','Katajanokka','Kaivopuisto','Munkkisaari','Ruoholahti','Salmisaari','Etu-Töölö','Taka-Töölö','Meilahti','Ruskeasuo','Länsi-Pasila','Pohjois-Pasila','Itä-Pasila','Hakaniemi','Kallio','Sörnäinen','Alppila','Vallila','Hermanni','Arabianranta','Käpylä','Lauttasaari','Munkkiniemi','Munkkivuori','Etelä-Haaga','Pohjois-Haaga','Pitäjänmäki','Konala','Malminkartano','Kannelmäki','Hakuninmaa','Maunula','Patola','Länsi-Pakila','Paloheinä','Itä-Pakila','Pukinmäki','Viikki','Pihlajamäki','Malmi','Malmin lentokenttä','Tapanila','Tapaninvainio','Siltamäki','Tapulikaupunki','Puistola','Jakomäki','Kulosaari','Laajasalo','Roihuvuori','Herttoniemenranta','Herttoniemi','Puotila','Puotinharju','Myllypuro','Kontula','Vartioharju','Mellunmäki','Vuosaari','Kallahti','Niinisaari','Suomenlinna','Keilaniemi','Otaniemi','Tapiola','Pohjois-Tapiola','Niittykumpu','Mankkaa','Westend','Matinkylä','Olari','Iivisniemi','Suvisaaristo','Espoonlahti','Nöykkiö','Saunalahti','Mäkkylä','Lintuvaara','Etelä-Leppävaara','Laajalahti','Sepänkylä','Kuninkainen','Karakallio','Laaksolahti','Viherlaakso','Kauniainen','Tuomarila','Muurala','Bemböle','Nuuksio','Kauklahti','Espoonkartano','Vanhakartano','Röylä','Kalajärvi','Hämeenkylä','Varisto','Myyrmäki','Martinlaakso','Petikko','Kivistö','Seutula','Viinikkala','Ylästö','Pakkala','Veromies','Helsinki airport','Koivuhaka','Tikkurila','Ruskeasanta','Simonkylä','Jokiniemi','Kuninkaala','Hakkila','Päiväkumpu','Havukoski','Rekola','Koivukylä','Ilola','Korso','Metsola','Jokivarsi','Sotunki','Hakunila','Länsimäki','Vaihtopiste')
512,32,1
48,24
2,102,90,476,452
2,510,11,258,615,0,MIDM
65535,52427,65534
Modified names from the Area 129 coding by Helsinki Metropolitan Area Council.
A dummy index.
[1,2,3,4,5,6,7,8,9,10,11,12,13,14]
64,64,1
48,12
[1,2,3,4,5,6,7,8,9,10,11,12,13,14]
A dummy index.
[1,2,3,4,5,6,7,8,9,10,11,12,13,14]
64,88,1
48,12
[1,2,3,4,5,6,7,8,9,10,11,12,13,14]
Roads
A list of frequently used roads. The purpose of this node is to simplify definitions in nodes Routes outside and routes inside.
Table(Self)(
'1078,1076,1074,1073,1067,1010,1002,1001','1093,1085,1084,1028','1104,1032,1029,1028,1027,1013,1011,1002','1105,1103,1102,1035,1034,1030,1014,1012,1001','1123,1112,1109,1040,1025,1022,1020,1001,1002,1010','1125,1127,1128,1045,1042,1024,1025,1016,1014,1029','1062,1061,1058,1054,1055,1052,1020,1018,1001','1095,1093,1097,1104,1103,1107,1110,1109,1117,1128,1129','1067,1068,1084,1083,1032,1034,1038,1040,1041,1043,1045,1060,1058','1080,1078,1076,1074,1073,1067,1068','1096,1095,1093,1094','1090,1085,1084,1083,1082','1088,1087,1083,1084','1042,1041,1047,1048','1042,1043,1044,1046,1049','1052,1055,1054,1058,1057,1063,1065','1059,1060,1062,1065','1026,1010,1002,1001,1005,1006','1008,1003,1004,1001','1008,1003,1004,1005,1006','1032,1029,1014,1016,1025,1024')
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]
288,32,1
48,24
2,166,156,470,457,0,MIDM
2,104,114,802,486,0,MIDM
65535,52427,65534
Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).
Routes outside
Routes are defined in a way that between any two regions, there is only one route that is used. This route is described in this node. The route description needs not be in full detail, e.g. if a route between two areas is defined in Roads node, it is enough to define the start and end areas here.
Table(In3,In4)(
'+Lnsi-Espoo,1093,1097,+Pohjois-Espoo',0,0,0,0,0,0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1085,1074,+Etel-Espoo','+Pohjois-Espoo,1097,1093,1085,1074,+Etel-Espoo',0,0,0,0,0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1085,+Keski-Espoo','+Pohjois-Espoo,1097,1093,1085,+Keski-Espoo','+Etel-Espoo,1068,1084,+Keski-Espoo',0,0,0,0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1104,+Lnsi-Vantaa','+Pohjois-Espoo,1097,1104,+Lnsi-Vantaa','+Etel-Espoo,1068,1032,1104,+Lnsi-Vantaa','+Keski-Espoo,1084,1032,1104,+Lnsi-Vantaa',0,0,0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1110,+Keski-Vantaa','+Pohjois-Espoo,1097,1104,1110,+Keski-Vantaa','+Etel-Espoo,1068,1040,1109,+Keski-Vantaa','+Keski-Espoo,1084,1040,1109,+Keski-Vantaa','+Lnsi-Vantaa,1107,1110,+Keski-Vantaa',0,0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1128,1127,+Pohjois-Vantaa','+Pohjois-Espoo,1097,1128,1127,+Pohjois-Vantaa','+Etel-Espoo,1068,1045,1127,+Pohjois-Vantaa','+Keski-Espoo,1084,1045,1127,+Pohjois-Vantaa','+Lnsi-Vantaa,1107,1128,1127,+Pohjois-Vantaa','+Keski-Vantaa,1109,1128,1127,+Pohjois-Vantaa',0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1128,+It-Vantaa','+Pohjois-Espoo,1097,1128,+It-Vantaa','+Etel-Espoo,1068,1045,1128,+It-Vantaa','+Keski-Espoo,1084,1045,1128,+It-Vantaa','+Lnsi-Vantaa,1107,1128,+It-Vantaa','+Keski-Vantaa,1109,1117,1128,+It-Vantaa','+Pohjois-Vantaa,1127,1128,+It-Vantaa',0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1028,1011,+Kanta-Helsinki','+Pohjois-Espoo,1097,1104,1011,+Kanta-Helsinki','+Etel-Espoo,1067,1010,+Kanta-Helsinki','+Keski-Espoo,1084,1028,1011,+Kanta-Helsinki','+Lnsi-Vantaa,1102,1001,+Kanta-Helsinki','+Keski-Vantaa,1109,1001,+Kanta-Helsinki','+Pohjois-Vantaa,1127,1025,1001,+Kanta-Helsinki','+It-Vantaa,1128,1025,1001,+Kanta-Helsinki',0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1028,+Lnsi-Helsinki','+Pohjois-Espoo,1097,1104,1029,+Lnsi-Helsinki','+Etel-Espoo,1068,1084,1028,+Lnsi-Helsinki','+Keski-Espoo,1084,1028,+Lnsi-Helsinki','+Lnsi-Vantaa,1102,1014,+Lnsi-Helsinki','+Keski-Vantaa,1109,1025,1016,+Lnsi-Helsinki','+Pohjois-Vantaa,1127,1016,+Lnsi-Helsinki','+It-Vantaa,1128,1016,+Lnsi-Helsinki','+Kanta-Helsinki,1001,1012,+Lnsi-Helsinki',0,0,0,0,0,
'+Lnsi-Espoo,1093,1028,1029,1025,+Vanha-Helsinki','+Pohjois-Espoo,1097,1104,1029,1025,+Vanha-Helsinki','+Etel-Espoo,1068,1032,1025,+Vanha-Helsinki','+Keski-Espoo,1084,1028,1029,1025,+Vanha-Helsinki','+Lnsi-Vantaa,1102,1014,1025,+Vanha-Helsinki','+Keski-Vantaa,1109,1025,+Vanha-Helsinki','+Pohjois-Vantaa,1127,1024,+Vanha-Helsinki','+It-Vantaa,1128,1024,+Vanha-Helsinki','+Kanta-Helsinki,1001,1018,+Vanha-Helsinki','+Lnsi-Helsinki,1016,1025,+Vanha-Helsinki',0,0,0,0,
'+Lnsi-Espoo,1093,1084,1032,+Konalanseutu','+Pohjois-Espoo,1097,1104,1032,+Konalanseutu','+Etel-Espoo,1068,1032,+Konalanseutu','+Keski-Espoo,1084,1032,+Konalanseutu','+Lnsi-Vantaa,1102,1035,+Konalanseutu','+Keski-Vantaa,1109,1040,1034,+Konalanseutu','+Pohjois-Vantaa,1127,1045,1034,+Konalanseutu','+It-Vantaa,1128,1045,1034,+Konalanseutu','+Kanta-Helsinki,1001,1030,+Konalanseutu','+Lnsi-Helsinki,1014,1030,+Konalanseutu','+Vanha-Helsinki,1025,1014,1030,+Konalanseutu',0,0,0,
'+Lnsi-Espoo,1093,1084,1032,1038,+Pakilanseutu','+Pohjois-Espoo,1097,1104,1032,1038,+Pakilanseutu','+Etel-Espoo,1068,1038,+Pakilanseutu','+Keski-Espoo,1084,1038,+Pakilanseutu','+Lnsi-Vantaa,1102,1034,1038,+Pakilanseutu','+Keski-Vantaa,1109,1040,+Pakilanseutu','+Pohjois-Vantaa,1127,1045,1040,+Pakilanseutu','+It-Vantaa,1128,1045,1040,+Pakilanseutu','+Kanta-Helsinki,1001,1020,1040,+Pakilanseutu','+Lnsi-Helsinki,1014,1030,1034,1038,+Pakilanseutu','+Vanha-Helsinki,1025,1040,+Pakilanseutu','+Konalanseutu,1034,1038,+Pakilanseutu',0,0,
'+Lnsi-Espoo,1093,1084,1041,+Malminseutu','+Pohjois-Espoo,1097,1104,1032,1041,+Malminseutu','+Etel-Espoo,1068,1041,+Malminseutu','+Keski-Espoo,1084,1041,+Malminseutu','+Lnsi-Vantaa,1102,1034,1041,+Malminseutu','+Keski-Vantaa,1109,1040,1041,+Malminseutu','+Pohjois-Vantaa,1127,1045,+Malminseutu','+It-Vantaa,1128,1045,+Malminseutu','+Kanta-Helsinki,1001,1020,1040,1041,+Malminseutu','+Lnsi-Helsinki,1014,1030,1034,1041,+Malminseutu','+Vanha-Helsinki,1025,1040,1041,+Malminseutu','+Konalanseutu,1034,1041,+Malminseutu','+Pakilanseutu,1040,1041,+Malminseutu',0,
'+Lnsi-Espoo,1093,1084,1045,1060,+It-Helsinki','+Pohjois-Espoo,1097,1104,1032,1045,1060,+It-Helsinki','+Etel-Espoo,1068,1045,1060,+It-Helsinki','+Keski-Espoo,1084,1045,1060,+It-Helsinki','+Lnsi-Vantaa,1102,1034,1045,1060,+It-Helsinki','+Keski-Vantaa,1109,1040,1045,1060,+It-Helsinki','+Pohjois-Vantaa,1127,1045,1060,+It-Helsinki','+It-Vantaa,1128,1045,1060,+It-Helsinki','+Kanta-Helsinki,1001,1020,1052,+It-Helsinki','+Lnsi-Helsinki,1014,1030,1034,1045,1060,+It-Helsinki','+Vanha-Helsinki,1020,1052,+It-Helsinki','+Konalanseutu,1034,1045,1060,+It-Helsinki','+Pakilanseutu,1040,1045,1060,+It-Helsinki','+Malminseutu,1045,1060,+It-Helsinki'
)
64,32,1
48,24
2,560,183,476,508
2,70,2,872,335,0,MIDM
2,198,39,805,439,0,MIDM
65535,52427,65534
[In3,In4]
[In3,In4]
Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).
Route list
Changes the Routes outside into a one-dimensional list.
var c:= if Routes_outside=0 then 0 else 1;
c:= sum(sum(c,in3),in4);
Index a:= 1..c;
Index b:= ['In3','In4','Data'];
var d:= Mdarraytotable(Routes_outside,a,b);
d:= d[.b='Data'];
d
64,136,1
48,24
2,102,90,476,297
2,214,56,537,610,0,MIDM
Region explode
'Explodes' the regional route lists in a way that any driving instruction that applies to a region, applies also to all areas within the region.
var b:= route_list;
var x:= 1;
while x<= size(Region) do ( {Ky lpi jokainen alue}
var c:= slice(Region,x);
var d:= slice(Regions,x);
var h:= b;
var j:= size(b);
d:= splittext(d,',');
var y:= 1;
while y<= size(b) do ( {Ky lpi jokainen ajo-ohje}
var f:= slice(h,y);
f:= if Istext(f) then f else '';
(if findintext(c,f)>0 then (
f:= textreplace(f,c,d,true); {Korvaa ryhmaluenimet aluenimill}
b:= concat(b,f)) else 0);
y:= y+1);
x:= x+1);
{Tst alkaa vanha Aluerajaytys_b}
index In3:= 1..size(b);
b:= slice(b, In3);
b:= (if findintext('+',b)>0 then null else b); { Hvitetn aluenimet
var c:= unique(b,in3); Romauta kaikki toistuvat rivit
b:= slice(b,in3,c);
b:= slice(b,in3);}
var c:= subset(istext(b)); {Romauta kaikki tyhjt rivit}
b:= slice(b,in3,c);
index in5:= 1..size(b);
b:= slice(b,in5);
{Poista reitist samat toistuvat pisteet
x:=1;
while x<=size(mista) do (
c:= slice(mista,x)&'';
b:= textreplace(b,c&','&c,c,true);
x:=x+1 );
b}
64,200,1
48,24
2,102,90,476,590
2,10,11,474,620,0,MIDM
Regions
Describes the small areas that belong into each larger region. The region names must start with '+'. All areas must be mentioned exactly once. Regions were selected in a way that they are as large as possible without creating very unrealistic routes between areas.
Table(Region)(
'1091,1092,1093,1094,1095,1096','1097,1098,1099','1067,1068,1069,1070,1071,1073,1074,1075,1076,1077,1078,1079,1080','1072,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090','1100,1101,1102,1103,1104,1105,1106,1107,1108','1109,1110,1111,1112,1113,1114,1115,1116,1123','1118,1119,1120,1121,1122,1124,1125,1126,1127','1117,1128,1129','1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1026,1066','1012,1013,1014,1015,1016,1027,1028,1029','1017,1018,1019,1020,1021,1022,1023,1024,1025','1030,1031,1032,1033,1034,1035','1036,1037,1038,1039,1040','1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051','1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065')
64,264,1
48,24
2,88,98,771,523,0,MIDM
2,20,224,651,394,0,MIDM
52425,39321,65535
Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).
Prematrix
The crude route instruction matrix without the information from Routes inside and Roads nodes.
var mirror2:= mirror(region_explode,region_explode.in5);
var a:= mirror2;
a:= evaluate(selecttext(a,1,4))*10000+evaluate(selecttext(a,textlength(a)-3));
index b:=a;
index c:= [1];
index d:= 2..size(Mirror2.a);
var e:= concat(c,d,c,d,b);
e:= slice(Mirror2,Mirror2.a,e);
e:= e[.b=From*10000+To1];
if e=null then From&','&To1 else e
176,200,1
48,24
2,102,90,476,586
2,212,13,759,604,0,MIDM
[To1,From]
1,I,4,2,0,0
Road mirror
'Mirrors' the driving instructions in a way that if an instruction applies to 'from A to B', its reverse applies to 'from B to A'.
index roa:= 1..size(route_list1)+size(roads);
var a:= concat(roads,route_list1,roads,route_list1.a,roa);
a:= mirror(a,roa);
a:= clean_rows(a);
var c:= for y[]:= a do (
var e:= (if findintext(y,a)>0 then 1 else 0);
e:= sum(e,e.a)-1 );
a:= if c>0 then 0 else a;
clean_rows(a)
288,136,1
48,24
2,102,90,476,409
2,219,-3,563,627,0,MIDM
Routes inside
Defines the routes between every two areas within a region. The route description needs not be in full detail, e.g. if a route between two areas is defined in Roads node, it is enough to define the start and end areas here. A minimum number of existing roads were selected so that the routes in the model would not be very unrealistic. This work was done manually with a map.
Table(In3,In4,region)(
'1091,1092','1097,1098','1067,1068','1072,1085,1084,1083,1081','1100,1101','1109,1110','1118,1127,1119','1117,1128','1001,1002','1012,1013','1017,1019,1018','1030,1034,1031','1036,1037','1041,1042','1052,1055,1053',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
'1091,1092,1093','1097,1099','1067,1069','1072,1085,1084,1083,1082','1100,1101,1102','1109,1110,1111','1118,1120','1117,1128,1129','1001,1004,1003','1012,1014','1017,1019','1030,1034,1032','1036,1038','1041,1043','1052,1055,1054',
'1092,1093','1098,1097,1099','1068,1069','1081,1082','1101,1102','1110,1111','1119,1127,1120','1128,1129','1002,1004,1003','1013,1014','1018,1019','1031,1032','1037,1036,1038','1042,1043','1053,1055,1054',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
'1091,1092,1093,1094',0,'1067,1073,1070','1072,1085,1084,1083','1100,1104,1103','1109,1112','1118,1120,1121','1117,1130','1001,1004','1012,1015','1017,1020','1030,1034,1032,1033','1036,1038,1039','1041,1044','1052,1055',
'1092,1093,1094',0,'1068,1070','1081,1083','1101,1103','1110,1109,1112','1119,1121','1128,1130','1002,1004','1013,1015','1018,1020','1031,1032,1033','1037,1040,1039','1042,1043,1044','1053,1055',
'1093,1094',0,'1069,1070','1082,1083','1102,1103','1111,1112','1120,1121','1129,1130','1003,1004','1014,1016,1015','1019,1020','1032,1033','1038,1039','1043,1044','1054,1055',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
'1091,1092,1095',0,'1067,1073,1071','1072,1085,1084','1100,1104','1109,1113','1118,1120,1122',0,'1001,1005','1012,1015,1016','1017,1021','1030,1034','1036,1038,1040','1041,1043,1045','1052,1055,1056',
'1092,1095',0,'1068,1070,1071','1081,1083,1084','1101,1104','1110,1109,1113','1119,1121,1122',0,'1002,1001,1005','1013,1015,1016','1018,1019,1021','1031,1034','1037,1040','1042,1045','1053,1055,1056',
'1093,1095',0,'1069,1071','1082,1083,1084','1102,1101,1104','1111,1110,1109,1113','1120,1122',0,'1003,1004,1005','1014,1016','1019,1021','1032,1034','1038,1040','1043,1045','1054,1056',
'1094,1093,1095',0,'1070,1071','1083,1084','1103,1104','1112,1113','1121,1122',0,'1004,1005','1015,1016','1020,1021','1033,1032,1034','1039,1040','1044,1043,1045','1055,1056',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
'1091,1092,1095,1096',0,'1067,1073','1072,1085','1100,1104,1103,1105','1109,1112,1114','1118,1120,1121,1124',0,'1001,1005,1006','1012,1013,1027','1017,1022','1030,1034,1035',0,'1041,10441046','1052,1055,1054,1058,1057',
'1092,1095,1096',0,'1068,1067,1073','1081,1083,1084,1085','1101,1103,1105','1110,1109,1112,1114','1119,1121,1124',0,'1002,1001,1005,1006','1013,1027','1018,1020,1022','1031,1034,1035',0,'1042,1043,10441046','1053,1055,1054,1058,1057',
'1093,1095,1096',0,'1069,1073','1082,1083,1084,1085','1102,1103,1105','1111,1110,1109,1112,1114','1120,1121,1124',0,'1003,1004,1005,1006','1014,1013,1027','1019,1022','1032,1035',0,'1043,1044,1046','1054,1058,1057',
'1094,1093,1095,1096',0,'1070,1073','1083,1084,1085','1103,1105','1112,1114','1121,1124',0,'1004,1006','1015,1027','1020,1022','1033,1032,1035',0,'1044,1046','1055,1054,1058,1057',
'1095,1096',0,'1071,1073','1084,1085','1104,1103,1105','1113,1114','1122,1121,1124',0,'1005,1006','1016,1015,1013,1027','1021,1022','1034,1035',0,'1045,1044,1046','1056,1054,1058,1057',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074','1072,1085,1086','1100,1104,1103,1106','1109,1113,1115','1118,1127,1125',0,'1001,1004,1007','1012,1013,1027,1028','1017,1022,1023','1030,1014',0,'1041,1047','1052,1055,1054,1058',
0,0,'1068,1067,1073,1074','1081,1083,1086','1101,1103,1106','1110,1109,1113,1115','1119,1126,1125',0,'1002,1004,1007','1013,1027,1028','1018,1020,1023','1031,1029,1014',0,'1042,1041,1047','1053,1055,1054,1058',
0,0,'1069,1073,1074','1082,1086','1102,1103,1106','1111,1110,1109,1113,1115','1120,1121,1125',0,'1003,1007','1014,1029,1028','1019,1022,1023','1032,1029,1014',0,'1043,1041,1047','1054,1058',
0,0,'1070,1073,1074','1083,1086','1103,1106','1112,1115','1121,1125',0,'1004,1007','1015,1013,1027,1028','1020,1023','1033,1032,1029,1014',0,'1044,1047','1055,1054,1058',
0,0,'1071,1074','1084,1086','1104,1103,1106','1113,1115','1122,1121,1125',0,'1005,1007','1016,1014,1029,1028','1021,1022,1023','1034,1030,1014',0,'1045,1044,1047','1056,1054,1058',
0,0,'1073,1074','1085,1086','1105,1106','1114,1115','1124,1125',0,'1006,1005,1007','1027,1028','1022,1023','1035,1034,1030,1014',0,'1046,1047','1057,1058',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1075','1072,1085,1086,1087','1100,1104,1103,1107','1109,1113,1116','1118,1127,1125,1126',0,'1001,1004,1003,1008','1012,1014,1029','1017,1025,1024',0,0,'1041,1047,1048','1052,1055,1054,1059',
0,0,'1068,1067,1073,1074,1075','1081,1083,1087','1101,1103,1107','1110,1109,1113,1116','1119,1126',0,'1002,1004,1003,1008','1013,1027,1028,1029','1018,1020,1023,1024',0,0,'1042,1041,1047,1048','1053,1055,1054,1059',
0,0,'1069,1073,1074,1075','1082,1087','1102,1107','1111,1110,1109,1113,1116','1120,1121,1125,1126',0,'1003,1008','1014,1029','1019,1022,1023,1024',0,0,'1043,1041,1047,1048','1054,1059',
0,0,'1070,1073,1074,1075','1083,1087','1103,1107','1112,1115,1116','1121,1125,1126',0,'1004,1008','1015,1016,1014,1029','1020,1023,1024',0,0,'1044,1047,1048','1055,1054,1059',
0,0,'1071,1074,1075','1084,1086,1087','1104,1103,1107','1113,1116','1122,1121,1125,1126',0,'1005,1008','1016,1014,1029','1021,1022,1023,1024',0,0,'1045,1044,1047,1048','1056,1059',
0,0,'1073,1074,1075','1085,1086,1087','1105,1103,1107','1114,1115,1116','1124,1125,1126',0,'1006,1008','1027,1028,1029','1022,1023,1024',0,0,'1046,1048','1057,1060,1059',
0,0,'1074,1075','1086,1087','1106,1103,1107','1115,1116','1125,1126',0,'1007,1003,1008','1028,1029','1023,1024',0,0,'1047,1048','1058,1059',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1076','1072,1085,1090,1089,1088','1100,1104,1103,1108','1109,1112,1123','1118,1127',0,'1001,1002,1009',0,'1017,1025',0,0,'1041,1044,1046,1049','1052,1055,1054,1058,1060',
0,0,'1068,1067,1073,1074,1076','1081,1083,1087,1088','1101,1103,1108','1110,1109,1112,1123','1119,1127',0,'1002,1009',0,'1018,1020,1022,1025',0,0,'1042,1043,1044,1046,1049','1053,1055,1054,1058,1060',
0,0,'1069,1073,1074,1076','1082,1087,1088','1102,1108','1111,1110,1109,1112,1123','1120,1127',0,'1003,1009',0,'1019,1022,1025',0,0,'1043,1044,1046,1049','1054,1058,1060',
0,0,'1070,1073,1074,1076','1083,1087,1088','1103,1108','1112,1123','1121,1120,1127',0,'1004,1009',0,'1020,1022,1025',0,0,'1044,1046,1049','1055,1054,1058,1060',
0,0,'1071,1074,1076','1084,1083,1087,1088','1104,1103,1108','1113,1112,1123','1122,1120,1127',0,'1005,1004,1009',0,'1021,1025',0,0,'1045,1044,1046,1049','1056,1059,1060',
0,0,'1073,1074,1076','1085,1090,1089,1088','1105,1103,1108','1114,1123','1124,1125,1127',0,'1006,1005,1004,1009',0,'1022,1025',0,0,'1046,1049','1057,1060',
0,0,'1074,1076','1086,1087,1088','1106,1103,1108','1115,1114,1123','1125,1127',0,'1007,1003,1009',0,'1023,1022,1025',0,0,'1047,1046,1049','1058,1060',
0,0,'1075,1076','1087,1088','1107,1108','1116,1115,1114,1123','1126,1127',0,'1008,1003,1009',0,'1024,1025',0,0,'1048,1049','1059,1060',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1076,1077','1072,1085,1090,1089',0,0,0,0,'1001,1002,1010',0,0,0,0,'1041,1043,1050','1052,1055,1054,1058,1061',
0,0,'1068,1067,1073,1074,1076,1077','1081,1083,1087,1089',0,0,0,0,'1002,1010',0,0,0,0,'1042,1043,1050','1053,1055,1054,1058,1061',
0,0,'1069,1073,1074,1076,1077','1082,1087,1089',0,0,0,0,'1003,1010',0,0,0,0,'1043,1050','1054,1058,1061',
0,0,'1070,1073,1074,1076,1077','1083,1087,1089',0,0,0,0,'1004,1010',0,0,0,0,'1044,1046,1050','1055,1054,1058,1061',
0,0,'1071,1074,1076,1077','1084,1083,1087,1089',0,0,0,0,'1005,1001,1002,1010',0,0,0,0,'1045,1050','1056,1054,1058,1061',
0,0,'1073,1074,1076,1077','1085,1090,1089',0,0,0,0,'1006,1005,1001,1002,1010',0,0,0,0,'1046,1050','1057,1061',
0,0,'1074,1076,1077','1086,1087,1089',0,0,0,0,'1007,1003,1010',0,0,0,0,'1047,1046,1050','1058,1061',
0,0,'1075,1076,1077','1087,1089',0,0,0,0,'1008,1003,1010',0,0,0,0,'1048,1046,1050','1059,1060,1061',
0,0,'1076,1077','1088,1089',0,0,0,0,'1009,1010',0,0,0,0,'1049,1050','1060,1061',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1076,1078','1072,1085,1090',0,0,0,0,'1001,1002,1011',0,0,0,0,'1041,1043,1045,1051','1052,1055,1054,1058,1061,1062',
0,0,'1068,1067,1073,1074,1076,1078','1081,1083,1084,1085,1090',0,0,0,0,'1002,1011',0,0,0,0,'1042,1045,1051','1053,1055,1054,1058,1061,1062',
0,0,'1069,1073,1074,1076,1078','1082,1083,1084,1085,1090',0,0,0,0,'1003,1002,1011',0,0,0,0,'1043,1045,1051','1054,1058,1061,1062',
0,0,'1070,1073,1074,1076,1078','1083,1084,1085,1090',0,0,0,0,'1004,1002,1011',0,0,0,0,'1044,1043,1045,1051','1055,1054,1058,1061,1062',
0,0,'1071,1074,1076,1078','1084,1085,1090',0,0,0,0,'1005,1001,1002,1011',0,0,0,0,'1045,1051','1056,1054,1058,1061,1062',
0,0,'1073,1074,1076,1078','1085,1090',0,0,0,0,'1006,1005,1001,1002,1011',0,0,0,0,'1046,1050,1051','1057,1061,1062',
0,0,'1074,1076,1078','1086,1090',0,0,0,0,'1007,1003,1002,1011',0,0,0,0,'1047,1046,1050,1051','1058,1061,1062',
0,0,'1075,1076,1078','1087,1089,1090',0,0,0,0,'1008,1003,1002,1011',0,0,0,0,'1048,1046,1050,1051','1059,1060,1062',
0,0,'1076,1078','1088,1089,1090',0,0,0,0,'1009,1002,1011',0,0,0,0,'1049,1050,1051','1060,1062',
0,0,'1077,1078','1089,1090',0,0,0,0,'1010,1002,1011',0,0,0,0,'1050,1051','1061,1062',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1076,1079',0,0,0,0,0,'1001,1002,1010,1026',0,0,0,0,0,'1052,1055,1054,1058,1057,1063',
0,0,'1068,1067,1073,1074,1076,1079',0,0,0,0,0,'1002,1010,1026',0,0,0,0,0,'1053,1055,1054,1058,1057,1063',
0,0,'1069,1073,1074,1076,1079',0,0,0,0,0,'1003,1010,1026',0,0,0,0,0,'1054,1058,1057,1063',
0,0,'1070,1073,1074,1076,1079',0,0,0,0,0,'1004,1010,1026',0,0,0,0,0,'1055,1054,1058,1057,1063',
0,0,'1071,1074,1076,1079',0,0,0,0,0,'1005,1001,1002,1010,1026',0,0,0,0,0,'1056,1054,1058,1057,1063',
0,0,'1073,1074,1076,1079',0,0,0,0,0,'1006,1005,1001,1002,1010,1026',0,0,0,0,0,'1057,1063',
0,0,'1074,1076,1079',0,0,0,0,0,'1007,1003,1010,1026',0,0,0,0,0,'1058,1057,1063',
0,0,'1075,1076,1079',0,0,0,0,0,'1008,1003,1010,1026',0,0,0,0,0,'1059,1060,1057,1063',
0,0,'1076,1079',0,0,0,0,0,'1009,1010,1026',0,0,0,0,0,'1060,1057,1063',
0,0,'1077,1076,1079',0,0,0,0,0,'1010,1026',0,0,0,0,0,'1061,1057,1063',
0,0,'1078,1079',0,0,0,0,0,'1011,1002,1010,1026',0,0,0,0,0,'1062,1063',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1076,1078,1080',0,0,0,0,0,'1001,1005,1066',0,0,0,0,0,'1052,1055,1054,1058,1057,1063,1064',
0,0,'1068,1067,1073,1074,1076,1078,1080',0,0,0,0,0,'1002,1001,1005,1066',0,0,0,0,0,'1053,1055,1054,1058,1057,1063,1064',
0,0,'1069,1073,1074,1076,1078,1080',0,0,0,0,0,'1003,1004,1005,1066',0,0,0,0,0,'1054,1058,1057,1063,1064',
0,0,'1070,1073,1074,1076,1078,1080',0,0,0,0,0,'1004,1005,1066',0,0,0,0,0,'1055,1054,1058,1057,1063,1064',
0,0,'1071,1074,1076,1078,1080',0,0,0,0,0,'1005,1066',0,0,0,0,0,'1056,1054,1058,1057,1063,1064',
0,0,'1073,1074,1076,1078,1080',0,0,0,0,0,'1006,1005,1066',0,0,0,0,0,'1057,1063,1064',
0,0,'1074,1076,1078,1080',0,0,0,0,0,'1007,1005,1066',0,0,0,0,0,'1058,1057,1063,1064',
0,0,'1075,1076,1078,1080',0,0,0,0,0,'1008,1003,1004,1005,1066',0,0,0,0,0,'1059,1060,1057,1063,1064',
0,0,'1076,1078,1080',0,0,0,0,0,'1009,1002,1001,1005,1066',0,0,0,0,0,'1060,1057,1063,1064',
0,0,'1077,1078,1080',0,0,0,0,0,'1010,1002,1001,1005,1066',0,0,0,0,0,'1061,1057,1063,1064',
0,0,'1078,1080',0,0,0,0,0,'1011,1002,1001,1005,1066',0,0,0,0,0,'1062,1063,1064',
0,0,'1079,1080',0,0,0,0,0,'1026,1010,1002,1001,1005,1066',0,0,0,0,0,'1063,1064',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1052,1055,1054,1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1053,1055,1054,1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1054,1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1055,1054,1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1056,1054,1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1059,1060,1062,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1060,1062,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1061,1062,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1062,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1064,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
)
176,32,1
48,24
2,109,4,872,346,0,MIDM
2,184,194,805,439,0,MIDM
65535,52427,65534
[In3,In4]
[In3,In4]
Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).
Route list
Changes the Routes inside into a one-dimensional list.
var c:= if Routes_inside=0 then 0 else 1;
c:= sum(sum(sum(c,in3),in4),region);
Index f:= 1..c;
Index b:= ['Region','In3','In4','Data'];
var d:= Mdarraytotable(Routes_inside,f,b);
d:= d[.b='Data'];
d:= if textlength(d)=9 then 0 else d;
clean_rows(d)
176,136,1
48,24
2,283,96,476,346
2,49,13,370,610,0,MIDM
Link length
km
The distance between two areas.
Distances are rough estimates measured with a string and a ruler. This approach was considered exact enough, as the road structure is the same in all scenarios considered.
Table(Links_1)(
0,0.8,1,0.6,1.7,1.1,1.2,1.5,1.7,1.2,0.8,0.8,0.8,2.1,2.9,2.2,1.1,0.8,3,2.4,1.1,1.3,3.3,1.7,9999,9999,3,5.4,2.8,3,3.6,3,2,2.6,1,9999,1.6,9999,1.2,1.4,1,9999,9999,1,9999,2.3,2.2,1.1,1.6,1.8,9999,1.1,1.4,1.2,1,1.1,1.7,0.8,0.9,9999,2.4,1.6,2.3,0.4,1.8,2.4,1.9,2.5,9999,9999,4,0.8,9999,1.3,9999,3.7,9999,2.8,1.8,1.9,2.5,2.4,2.1,2.8,3.4,5.6,1.4,1.7,9999,1.8,1.8,0.8,2.6,2.7,1.2,2.2,2.8,5.3,1.9,1.3,1.4,2.3,2,2,1.4,1.2,4.6,3.2,1.7,1.8,4,2.9,9999,9999,9999,9999,9999,9999,9999,2.2,9999,9999,9999,9999,9999,5,2.4,3.6,1.4,2.4,1.6,3,3.2,2,1.5,1.5,2.1,1.2,1.1,2.6,9999,1.7,9999,9999,2.6,1,2.2,1.3,2.6,2.7,2.6,1.9,1.1,2.5,4,2,3,9999,3,1.3,2.7,3.2,2.6,1.7,1.1,2,0.9,2.8,1.6,2.4,1.5,2.8,1.7,2.7,1.3,1.5,3,2.8,2.7,5,2.2,3.8,4.2,3.4,5.2,4.7,1.1,5.5,1,0.9,1.2,9999,3,2.9,1.1,2.8,2.3,3.3,3,3,2.1,6.8,1.5,4.1,3.2,2,1.7,2,1.4,3.2,4.8,3.6,5.8,6.8,2.3,5.2,8.7,4.2,1.6,3.4,9999,3,5.4,4.1,3.6,5.9,5.4,3.6,2,6.8,1.6,3,6.2,2.1,4.2,1.4,2.3,4,3.6,2.8,9999,3.4,2,3.8,9999,1.8,3.4,1.8,2,9999,3.2,9999,1.5,1.2,9999,9999,9999,2.5,4.1,3,3,9999,2.9,2.3,2.2,1.8,2,1.6,2.4,3.5,2,0.9,4.7,3.6,2.8)
400,112,1
48,24
2,743,190,227,419,0,MIDM
2,288,18,177,576,0,MIDM
65535,52427,65534
1,D,4,2,0,0
Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).
Index showing the direct links that exist in reality, i.e. excluding those routes from one area to another where you have to go through a third area.
['1001,1001','1001,1002','1001,1004','1001,1005','1001,1012','1001,1018','1002,1003','1002,1004','1002,1009','1002,1010','1002,1011','1003,1004','1003,1007','1003,1008','1003,1009','1003,1010','1004,1005','1004,1007','1004,1009','1004,1010','1005,1006','1005,1007','1005,1066','1009,1010','1009,1085','1009,1089','1010,1026','1010,1067','1011,1013','1012,1013','1012,1014','1012,1015','1013,1014','1013,1015','1013,1027','1013,1030','1014,1016','1014,1017','1014,1029','1014,1030','1015,1016','1015,1017','1015,1030','1016,1025','1016,1030','1017,1019','1017,1020','1017,1021','1017,1022','1017,1025','1017,1027','1018,1019','1018,1020','1019,1020','1019,1021','1019,1022','1020,1021','1020,1022','1020,1023','1020,1028','1020,1052','1021,1022','1021,1025','1022,1023','1022,1025','1023,1024','1024,1025','1024,1042','1025,1028','1025,1032','1025,1040','1027,1028','1027,1030','1028,1029','1028,1030','1028,1084','1029,1030','1029,1032','1030,1034','1031,1032','1031,1034','1032,1033','1032,1034','1032,1035','1032,1083','1032,1104','1034,1035','1034,1038','1034,1109','1035,1102','1036,1037','1036,1038','1037,1040','1038,1039','1038,1040','1039,1040','1040,1041','1040,1109','1041,1042','1041,1043','1041,1044','1041,1047','1042,1043','1042,1045','1043,1044','1043,1045','1043,1050','1044,1045','1044,1046','1044,1047','1045,1050','1045,1051','1045,1052','1045,1053','1045,1054','1045,1055','1045,1056','1045,1057','1045,1059','1045,1060','1045,1061','1045,1062','1045,1063','1045,1064','1045,1065','1045,1128','1046,1047','1046,1048','1046,1049','1046,1050','1047,1048','1048,1049','1049,1050','1050,1051','1052,1055','1053,1055','1054,1055','1054,1056','1054,1058','1054,1059','1054,1061','1055,1056','1055,1058','1055,1061','1056,1059','1057,1058','1057,1060','1057,1061','1057,1063','1058,1059','1058,1060','1058,1061','1059,1060','1060,1061','1060,1062','1061,1062','1062,1063','1062,1064','1062,1065','1063,1064','1063,1065','1064,1065','1067,1068','1067,1069','1067,1073','1068,1069','1068,1070','1068,1084','1069,1070','1069,1071','1069,1073','1070,1071','1070,1073','1071,1073','1071,1074','1072,1085','1073,1074','1074,1075','1074,1076','1074,1085','1075,1076','1076,1077','1076,1078','1076,1079','1077,1078','1078,1079','1078,1080','1079,1080','1081,1082','1081,1083','1082,1083','1082,1084','1082,1086','1082,1087','1083,1084','1083,1086','1083,1087','1084,1085','1084,1086','1085,1086','1085,1090','1085,1093','1086,1087','1086,1090','1087,1088','1087,1089','1088,1089','1089,1090','1091,1092','1092,1093','1092,1095','1093,1094','1093,1095','1093,1097','1095,1096','1097,1098','1097,1099','1097,1104','1100,1101','1100,1104','1100,1111','1101,1102','1101,1103','1101,1104','1102,1103','1102,1107','1102,1108','1103,1104','1103,1105','1103,1106','1103,1107','1103,1108','1105,1106','1107,1108','1107,1110','1109,1110','1109,1112','1109,1113','1109,1117','1110,1111','1111,1117','1112,1113','1112,1114','1112,1115','1112,1117','1112,1123','1113,1114','1113,1115','1113,1116','1113,1117','1114,1115','1114,1117','1114,1123','1115,1116','1115,1117','1116,1117','1117,1123','1117,1128','1118,1120','1118,1127','1119,1121','1119,1125','1119,1126','1119,1127','1120,1121','1120,1122','1120,1127','1121,1122','1121,1124','1121,1125','1124,1125','1125,1126','1125,1127','1127,1128','1128,1129']
400,144,1
48,12
1,D,4,2,0,0
['1001,1001','1001,1002','1001,1004','1001,1005','1001,1012','1001,1018','1002,1003','1002,1004','1002,1009','1002,1010','1002,1011','1003,1004','1003,1007','1003,1008','1003,1009','1003,1010','1004,1005','1004,1007','1004,1009','1004,1010','1005,1006','1005,1007','1005,1066','1009,1010','1009,1085','1009,1089','1010,1026','1010,1067','1011,1013','1012,1013','1012,1014','1012,1015','1013,1014','1013,1015','1013,1027','1013,1030','1014,1016','1014,1017','1014,1029','1014,1030','1015,1016','1015,1017','1015,1030','1016,1025','1016,1030','1017,1019','1017,1020','1017,1021','1017,1022','1017,1025','1017,1027','1018,1019','1018,1020','1019,1020','1019,1021','1019,1022','1020,1021','1020,1022','1020,1023','1020,1028','1020,1052','1021,1022','1021,1025','1022,1023','1022,1025','1023,1024','1024,1025','1024,1042','1025,1028','1025,1032','1025,1040','1027,1028','1027,1030','1028,1029','1028,1030','1028,1084','1029,1030','1029,1032','1030,1034','1031,1032','1031,1034','1032,1033','1032,1034','1032,1035','1032,1083','1032,1104','1034,1035','1034,1038','1034,1109','1035,1102','1036,1037','1036,1038','1037,1040','1038,1039','1038,1040','1039,1040','1040,1041','1040,1109','1041,1042','1041,1043','1041,1044','1041,1047','1042,1043','1042,1045','1043,1044','1043,1045','1043,1050','1044,1045','1044,1046','1044,1047','1045,1050','1045,1051','1045,1052','1045,1053','1045,1054','1045,1055','1045,1056','1045,1057','1045,1059','1045,1060','1045,1061','1045,1062','1045,1063','1045,1064','1045,1065','1045,1128','1046,1047','1046,1048','1046,1049','1046,1050','1047,1048','1048,1049','1049,1050','1050,1051','1052,1055','1053,1055','1054,1055','1054,1056','1054,1058','1054,1059','1054,1061','1055,1056','1055,1058','1055,1061','1056,1059','1057,1058','1057,1060','1057,1061','1057,1063','1058,1059','1058,1060','1058,1061','1059,1060','1060,1061','1060,1062','1061,1062','1062,1063','1062,1064','1062,1065','1063,1064','1063,1065','1064,1065','1067,1068','1067,1069','1067,1073','1068,1069','1068,1070','1068,1084','1069,1070','1069,1071','1069,1073','1070,1071','1070,1073','1071,1073','1071,1074','1072,1085','1073,1074','1074,1075','1074,1076','1074,1085','1075,1076','1076,1077','1076,1078','1076,1079','1077,1078','1078,1079','1078,1080','1079,1080','1081,1082','1081,1083','1082,1083','1082,1084','1082,1086','1082,1087','1083,1084','1083,1086','1083,1087','1084,1085','1084,1086','1085,1086','1085,1090','1085,1093','1086,1087','1086,1090','1087,1088','1087,1089','1088,1089','1089,1090','1091,1092','1092,1093','1092,1095','1093,1094','1093,1095','1093,1097','1095,1096','1097,1098','1097,1099','1097,1104','1100,1101','1100,1104','1100,1111','1101,1102','1101,1103','1101,1104','1102,1103','1102,1107','1102,1108','1103,1104','1103,1105','1103,1106','1103,1107','1103,1108','1105,1106','1107,1108','1107,1110','1109,1110','1109,1112','1109,1113','1109,1117','1110,1111','1111,1117','1112,1113','1112,1114','1112,1115','1112,1117','1112,1123','1113,1114','1113,1115','1113,1116','1113,1117','1114,1115','1114,1117','1114,1123','1115,1116','1115,1117','1116,1117','1117,1123','1117,1128','1118,1120','1118,1127','1119,1121','1119,1125','1119,1126','1119,1127','1120,1121','1120,1122','1120,1127','1121,1122','1121,1124','1121,1125','1124,1125','1125,1126','1125,1127','1127,1128','1128,1129']
For creating Links_1
This module is only for creating the index Links_1, and now when the index has been created, these nodes are no longer needed.
ktluser
3. marta 2004 16:37
48,24
400,264,1
48,24
1,40,0,-2191,294,17
Link
var x:= 1;
var a:= slice(From,x)*10000+From;
while x<size(From) do (
x:= x+1;
var b:= slice(From,x)*10000+From;
a:= concat(a,b) )
48,88,1
48,12
2,146,145,416,303,0,MIDM
1,I,4,2,0,0
Links
var a:=From&','&To1;
var c:= for x[]:= a do (
var b:= if findintext(x,Route_matrix_in_hma)>0 then 1 else 0;
sum(sum(b,From),To1) );
c:= c[From=floor(link/10000),To1=(link-floor(link/10000)*10000)];
c:= if c>0 then link else 0;
c
48,56,1
48,24
2,102,90,476,283
2,44,74,598,377,0,MIDM
[To1,From]
1,I,4,2,0,0
var c:= if floor(link/10000)>=(link-floor(link/10000)*10000) then 0 else links1;
c:= unique(c,link);
index b:= 1..size(c);
c:= slice(c,b);
floor(c/10000)&','&c-floor(c/10000)*10000
160,56,1
48,24
2,349,22,593,572,0,MIDM
Link_teko2
var a:= max(distances,To1);
link_teko;
a
272,56,1
48,24
2,216,156,476,436
Route matrix, RDB format
This changes the variable Route matrxix in HMA into a form that can be stored in the "Double" number format.
var a:= Route_matrix_in_hma;
a:= Textreplace(a,',','',true);
var b:= array(part_1,(0..9)*4+1);
a:= selecttext(a,b,b+3);
evaluate(a)
288,264,1
48,24
1,1,1,1,1,1,0,,1,
2,200,210,565,309,0,MIDM
[To1,From]
2,I,4,2,0,0,4,0,$,0,"ABBREV",0
[Part_1,3,From,1,To1,1]
Part_1
Part_1 is an index in the Parameter dimension. It is used to divide a lengthy number sequence into smaller parts so that the parts can be stored in the "Double" number format.
['item 1','item 2','item 3','item 4','item 5','item 6','item 7','item 8','item 9','item 10']
288,296,1
48,12
This changes the double number format into the form that can be used in the composite traffic model, i.e. "1XXX,1XXX,1XXX" where 1XXX is an area code between 1001..1129.
var a:= Route_matrix__rdb_fo&'';
a:= if a='0' then '' else a;
a:= jointext(a, part_1, ',');
texttrim(a,trimchars:',')
176,264,1
48,24
2,40,50,636,273,0,MIDM
[To1,From]
2,I,4,2,0,0,4,0,$,0,"ABBREV",0
['']
[Part_1,4,From,1,To1,1]