The Metro Map Layout Problem∗ Seok-Hee Hong1 , Damian Merrick1 , and Hugo A. D. do Nascimento2 1
National ICT Australia∗∗ ; School of Information Technologies, University of Sydney, Australia, {shhong,dmerrick}@it.usyd.edu.au 2 Instituto de Informatica-UFG, Brazil
[email protected]
Abstract. We initiate a new problem of automatic metro map layout. In general, a metro map consists of a set of lines which have intersections or overlaps. We define a set of aesthetic criteria for good metro map layouts and present a method to produce such layouts automatically. Our method uses a variation of the spring algorithm with a suitable preprocessing step. The experimental results with real world data sets show that our method produces good metro map layouts quickly.
1
Introduction
A metro map is a simple example of a geometric network that appears in our daily life. An example of such, the Sydney Cityrail NSW train network, is shown in Figure 1 (a) [13]. Furthermore, the metro map metaphor has been used successfully for visualising abstract information, such as the “train of thought” network in Figure 1 (b) [8], website networks [9], and networks of related books in Figure 5 (a) [14]. In general, a metro map can be modeled as a graph, and automatic visualisation of graphs has received a great deal of interest from visualisation researchers over the past 10 years. However, automatic visualisation of metro maps is a very challenging problem, as already observed by Beck [4] and Tufte [12]. Note that existing metro maps are produced manually. Hence, it would be interesting to know how far automatic visualisation methods can go towards achieving the quality of the hand drawn pictures. In this paper, we address this new problem of metro map layout. We define a set of aesthetic criteria for good metro map layouts and present a method to produce such layouts automatically. Our method uses a variation of the spring algorithm with a suitable preprocessing step. The experimental results with real world data sets show that our method produces good metro map layouts quickly. ∗
A preliminary version of this paper was published in [5]. For a version of this paper with full-size colour images, see [6]. ∗∗ National ICT Australia is funded by the Australian Government’s Backing Australia’s Ability initiative, in part through the Australian Research Council.
Dungog
P B
Wirragulla
CityRail Network
P
Wallarobba
P
LE
er
ST
B m
CA
F
ha
F
B
EW
vic
N
Ci
B
niv (U
B
B
n
h
lto
ata
mi
ick
Ha
W
P
P
ok
te
ro
ga
ab
nd
ar
ar
W
W
B
P
et
B
nd
P
re
B
itla
re
St
n
eld
P
St
rd
am
Ma
sfi
ria
nto
tfo
xh
re
gh
st
rro
or
cto
Hi
Me
He
Be
Ea
Sa
et Ab
le
D
da
AN
inv ar ch
TL
Lo
Adamstown
M
AI
rd
n
bro
ton
xto
lfo
ell
Gr
gle
an
Be
sw
Br an
All
Sin
Broadmeadow
Kotara
B
Cardiff
B P
B P
B P
B
P
B
P
B
Mu
P B
P
eta
ok
erd
P
ee
B P
Vi
e on
n
Sc
Telarah
Ta
P
Mindaribba
Th
Paterson
sit
y)
Hilldale Martins Creek
B P Cockle Creek Pa
rk
B P Teralba
Bl
Bathurst
Dora Creek
Kelso
Wyee
Yetholme
Wyong Ourimbah
CENTRAL COAST
Wallerawang
Lisarow
L I THGOW B P
Narara
Point Clare
B P
Woy Woy
Hawkesbury River Cowan
B P
B Normanhurst P
B P
Wahroonga
Pennant Hills
B
East Richmond
Waitara
P Thornleigh
B Richmond
Warrimoo
B
B
Lindfield
P B
SYDNEY SUBURBAN AREA
B
Epping
Artarmon St Leonards
s
n
d
T
rys
ain
Hi ll sid e
gto
oo
IT
Ma
Pl
on
rin
RI
U
sw
oty
u
St
er
N
Do
ng
Ro
W
DR
Em
P
Ki
P
PE
P
P
T
P
P
B
N
B
B
B
U
P
Eastwood
B P
B
P
SYDNEY HARBOUR
P
B Circular Quay
NORTH SY DNE Y
B
B
B Martin Place
B
B
WYNY ARD
P
Olympic
B
Concord West
Park
F
Milsons Point
B F Meadowbank Rhodes
B F P
Wentworthville
Eastern Suburbs & Illawarra Line
St James
TOWN HAL L
B
Kings Cross
Westmead Rosehill
P AR RAM AT T A
Merrylands
n
n
ll
re
am
am
Hi
ow
tow
mo
sh
sh
wt
wi
an
ald
ter
Ne
St
Le
on
Pe
B
B
cd
B
Ma
n
eld
do
hfi
oy
er
mi
As
Lid
Hi ll fto n
B
Se
fie ter ld
P
es
Ca rra Vi ma lla r igh wo ton od
P
Mascot
P B Sydenham
y
le
ll
rk
ur
vil
Hi
Pa
ck
e
ich
rri
lw
ton
Ma
Du
P
P
rk
lla
rth
Pa ll we
B
rd Ba
Como
SUT HE RL AND
Jannali
Coledale Austinmer Thirroul
on
Bulli
be
Bellambi Corrimal
e
a
a
a
re
ah
ull
nd
we
me
wa
gb
P
ra
on
rra
Gy
rin
loo
F
Mi
Cr
P
P
B P
B
B P
B P
B
Woonona
rts
wa
B P
Wombarra
P
Ro
Bu
rra
P
B P
ng
B P
Yerrinbool Mittagong
B P
P
B P No
rth
Towradgi
la
P
mb Ke
Ke rt
P
rt
Po
B
B P
Po
Ly
Coniston
sa gh ing ts ila
B P
WOLLONGONG B P
HIGHLANDS
mb
la
P
North Wollongong
SOUTHERN
Cr
Fairy Meadow
B Exeter
oo
Ki
e
ah
al
er
n
or
idj ur
xto
lm
irlm
Bu
Th
Co
Ba
P Bowral
B P
Tahmoor Bargo
Colo Vale
B
Burradoo
B P Moss Vale
Interchange with other lines
Ca
P
B
B B Waterfall and Central
B
Scarborough
Menangle Park Menangle Douglas Park Picton
Hill Top
Hunter Line (Scone / Dungog - Newcastle)
B
P
B P
Intercity services make
P
Stanwell Park Coalcliff
Newcastle & Central Coast Line
BOTANY BAY
limited stops between Otford
and Central.
Blue Mountains Line (Lithgow - North Sydney)
(Newcastle - Central)
B B
B P
B
P Heathcote P Waterfall
B P Helensburgh
Direct services make limited
B
B
B P B
B P
B
P
B
B
Engadine
B P
B
suburban services to the City.
stops between Campbelltown
(Goulburn - Central)
W
Macarthur
to connect with
B
B P
B P Loftus
B P
Change at Campbelltown
South Coast Line (Bomaderry (Nowra) / Port Kembla - Bondi Junction)
rre
ro
No
sg
y
ng
xle
Ki
Be
P
P B
B
B
Tu
ve
lls
ee
Hi
rw rly ve
P
Be
y
d
lls
nia
thy
sb
tow
oo
Hi
or
na
ve
ds
rw
st
Oatley
Leumeah
CAM PBEL L TOWN
Intercity Lines
Southern Highlands Line
Carlton Allawah
HURSTVI L L E B Penshurst Mortdale
P
B P
Na
Pa
ve
P
Ri
Minto
B P B P
Northern Line (Berowra - North Sydney via Strathfield)
B
B
P
lsw
Pa
Re
Ea
B
P
Ho
B
P
B
B
Ingleburn
B
B P
P
Glenfield
Macquarie Fields
P
B P B P
Carlingford Line (Carlingford - Clyde)
Domestic
Rockdale Kogarah
Western Line (Emu Plains / Richmond - North Sydney)
International Wolli Creek Arncliffe Banksia
B
B
or
e
sie
rb
mp
nte
Ca
Ca
P
Hu
B
B
B
P
P Tempe
B
(Berowra - Parramatta via Central)
rls
a
rk
mb
Pa
lm
y
ke
P
B
P
P
La
Be
l
a
N
on
ow
OW
go
hb
ST
nc
ile
Ya
P
Pu
NK B
P
B
BA
W
Casula
B
P
(Macarthur - City via Granville)
North Shore Line
B
South Line
Green Square
B St Peters
P
B
Ch
Birrong
REDF E RN B
B Erskineville
B
B
P
Le
Warwick Farm
L I VE RP OOL
B
mm
B co mb P e
B
B P
Fle
B Berala Regents Park
P
P
Airport & East Hills Line (Macarthur - City via Airport / Sydenham)
B
B P
B P
Yennora
Canley Vale
Cabramatta
B
B
BONDI J UNCTI O N
Granville
Guildford
P
F AI RF I EL D B P
(Campbelltown - Blacktown)
B
B P
B
B P
B P
Cumberland Line
Museum
CE NTRAL
B L
Auburn
ST Ho ngton RA me TH bu B BU FI sh RW EL D O O B Cr D P
B P
Inner West Line (Liverpool / Bankstown - City via Regents Park)
North Strathfield
P
Clyde
Harris Park
Su
B P B
B
B Edgecliff
(Waterfall / Cronulla - Bondi Junction)
Bankstown Line (Liverpool / Lidcombe - City via Bankstown)
Suburban / Intercity train connections
B
Wollstonecraft
P
B
West Ryde
Dundas
P
P Rydalmere P Camellia
M
B
Carlingford
B P Telopea
Toongabbie
Pendle Hill
B P
Denistone
Waverton
P
P B
Seven Hills
O
B
TH
BL ACKT OWN B P limited stops between
B P
CHAT S WOOD B
P
Marayong
Intercity services make Emu Plains and Central
Sydney Suburban Lines
B
Roseville
P
Quakers Hill
P
B P
Killara
Schofields
P
B
Gordon
Riverstone
B P
Lapstone
B P
Pymble
P
Vineyard
Glenbrook
P B
Turramurra
P
Cheltenham
P
Mulgrave
P
Blaxland
B
Windsor
P
B
Warrawee
B P Beecroft
Clarendon
P
Valley Heights
B Bundanoon
Bus stop / Interchange
Unanderra Penrose
Ferry wharf
Dapto
Tallong
Oak Flats
Wheelchair Access (This station not staffed from first train service to last train service)
B P
P
Dunmore (Shellharbour)
GOUL BURN B P SOUTH COAST
Minnamurra Bombo Kiama
P
P
Bomaderry (Nowra)
B P
P
B
P B P
Gerringong Berry
P
B P
Albion Park
Marulan
Wheelchair Access (This station staffed from first train service to last train service)
B P
Kembla Grange Racecourse
Wingello
Light rail interchange Commuter car park
Proposed line
HAWKESBURY RIVER
HORNSBY
B P
B
S P RI NGWOOD B P
Bus / Coach Connections
F
B
limited stops between Berowra and Central
Asquith
P P
Linden Faulconbridge
P
Intercity services make
B Mount Colah
P
B P
Woodford
F
P Berowra
B
B Mount Kuring-gai
B P
Wentworth Falls
Hazelbrook
P
B P
Wondabyne
KAT OOMBA B Leura
Bullaburra Lawson
P
Tascott Koolewong
B P
Blackheath
Medlow Bath
BLUE
P
P
GOS F ORD B P
Bell Mount Victoria
MOUNTAINS
B P
B P
P
Niagara Park
Zig Zag
B P
B P
Tuggerah
Mount Lambie
P
B P
Warnervale
Meadow Flat
B
B P
Morisset
Raglan
ro
B P Awaba
To
ac
ka
Fassifern
B P
nto
lls
Booragul
HUNTER VALLEY
© Copyright CityRail January 2003
Fig. 1. (a) Sydney Cityrail NSW network (b) “Train of thought” network.
In the next section, we define the problem. We present our metro map layout methods in Section 3 and discuss metro map labeling methods in Section 4. In Section 5, we present the experimental results and Section 6 concludes.
2
The Metro Map Layout Problem
A metro map graph consists of a graph G and a set of paths that cover all the vertices and edges of G. Some vertices and edges may appear in more than one path, but each occurs in at least one path. See Figure 2 (a) for an example.
Fig. 2. (a) Example of a metro map graph (b) Simplified metro map graph (c) Eight label positions for each vertex.
A layout of a metro map consists of a drawing of the graph. Thus, the main problem of this paper can be formally defined as follows. The Metro Map Layout Problem Input: a metro map graph G with a set of lines, each being a sequence
of stations. Output: a good layout L of G. We now need a definition of a good layout of a metro map graph. For this purpose, we have studied existing hand-drawn metro maps from all over the world. For example, a detailed study of the London metro map by Beck can be found in [4]. From these manually produced layouts, we derive the following criteria for a good metro map layout. C1: Each line drawn as straight as possible. C2: No edge crossings. C3: No overlapping of labels. C4: Lines mostly drawn horizontally or vertically, with some at 45 degrees. C5: Each line drawn with unique color. We have designed layout methods based on these criteria. It should be noted that producing layouts conforming to exact geometry or topology is not the primary aim of our project. This is partly because, in general, the metro map metaphor can be used for visualisation of abstract information which has no fixed geometry. Another reason is that the most common usage of the metro map is for navigation, that is, to find out how to get to a specific destination. For example, consider the situation where a visitor to London (who does not know the exact geometry of London) uses the metro map for navigation.
3
The Layout Methods
We have tried five different layout methods using various combinations of spring algorithms. The tools that we use are GEM [2], a modified version of PrEd [1] and a magnetic spring algorithm [11]. In summary, each method can be briefly described as follows. 1. Method 1: The GEM algorithm. 2. Method 2: Simplify the metro map graph using a preprocessing step described in Section 3.1 and use the GEM algorithm with edge weight (details are explained later). 3. Method 3: Simplify the metro map graph and use the GEM algorithm without edge weight. Then we use the modified PrEd algorithm with edge weight. 4. Method 4: Simplify the metro map graph and use the GEM algorithm without edge weight. Then we use the modified PrEd algorithm with edge weight, plus orthogonal magnetic spring algorithm. 5. Method 5: Simplify the metro map graph and use the GEM algorithm without edge weight. Then we use the modified PrEd algorithm with edge weight, orthogonal magnetic spring algorithm, plus 45 degree magnetic field forces. We now describe each method in detail. Method 1 simply uses GEM, a generic spring embedder. We use Method 1 mainly as a baseline for comparison.
3.1
Method 2
First, we explain the preprocessing step. Note that there are many vertices of degree two in the metro map graph G. However, they do not contribute to the embedding, that is the overall topology, of the graph. This motivates us to remove these vertices and define a simplified graph G0 . The resulting graph only contains intersection vertices and vertices with degree one. For example, the metro map graph in Figure 2 (a) can be simplified as in Figure 2 (b). Note that special care is needed to handle self loop and multiple edge cases. After drawing the simplified graph G0 , we need to reinsert those removed vertices to get a layout of G. This requires space; hence we assign edge weights, according to the number of removed vertices, to edges of G0 and produce a layout of G0 which reflects those edge weights. Thus, Method 2 can be described as follows. Method 2 1. Compute a simplified metro map graph G0 by removing degree two vertices from the metro map graph G. 2. Produce a layout L0 of G0 using the GEM algorithm with edges weighted according to the number of vertices removed at Step 1. 3. Produce a layout L of G by reinserting the removed vertices, spaced evenly along the edges in the layout L0 . 3.2
Method 3
Method 3 uses the preprocessing step, the GEM algorithm and the PrEd algorithm [1]. The PrEd algorithm is a special force directed method that preserves the topology of its input layout. For our purpose, we modified the PrEd algorithm to take into account edge weights. In our modification, the x-components of the attraction force F a (u, v) and the repulsion force F r (u, v) between two vertices u and v are defined as follows: Fxa (u, v) =
d(u, v) −δ(u, v)2 (x(v) − x(u)), Fxr (u, v) = (x(v) − x(u)) δ(u, v) d(u, v)2
(1)
where x(u) and x(v) are the x coordinates of vertices u and v respectively, d(u, v) is the distance between vertices u and v, and δ(u, v) is the ideal distance between the two vertices defined as δ(u, v) = L × min(W, weight(u, v))2 , where L, W are positive constants and weight(u, v) is the weight of the edge between u and v. In the case of multiple edges between u and v, the maximum weight of that set of edges is used. The y-components F a y(u, v) and Fyr (u, v) of the force vectors are computed similarly. Node-edge repulsion forces are computed in an identical manner to the original PrEd algorithm, that is: Fxe (v, (a, b)) = −
(γ − d(v, iv ))2 (x(iv ) − x(v)) d(v, iv )
(2)
if iv ∈ (a, b), d(v, iv ) < γ, otherwise Fxe (v, (a, b)) = 0. As in the PrEd algorithm, the total force acting on a vertex v is calculated by summing all attraction and repulsion forces on that vertex, that is: Fx (v) =
X
Fxa (u, v) +
(u,v)∈E
+
X
(a,b)∈E
X
Fxr (u, v)
u∈V
Fxe (v, (a, b)) −
X
Fxe (u, (v, w))
(3)
u,w∈V,(v,w)∈E
We now describe Method 3. Method 3 1. Compute a simplified metro map graph G0 by removing degree two vertices from the metro map graph G. 2. Produce an initial layout L0 of G0 using the GEM algorithm (with no edge weights). 3. Produce a better layout L00 of G0 using the PrEd algorithm, modified to include edge weights. 4. Produce a layout L of G by reinserting the removed vertices, spaced evenly along the edges in the layout L00 . 3.3
Method 4
Method 4 uses the preprocessing step, GEM and PrEd with orthogonal magnetic springs, that is, with horizontal and vertical aligning forces. Forces are calculated as for Method 3, but with the addition of magnetic field forces acting on each edge. Equal and opposite forces are applied to each vertex of an edge to attempt to align that edge with a horizontally or vertically directed vector [11]. The magnitude of a force from an individual force field vector on the edge connecting vertices u and v is determined by a similar calculation to that for a magnetic spring: F m (u, v) = cm bd(u, v)α θβ (4) where b represents the strength of the magnetic field, θ is the angle between the edge (u, v) and the magnetic force vector, and cm , α, β > 0 are model-tuning constants. Four force field vectors are used - left, right, up and down directed vectors. At any instant only a single magnetic force is applied to a given edge. The magnitude of the force applied is calculated according to the above equation for the force field vector to which the edge has the lowest angle θ. The direction of the force applied is perpendicular to the direction of the edge. To effect the desired rotational force on the edge, a force of magnitude F m (u, v) is applied to one vertex of the edge and a force of magnitude −F m (u, v) is applied to the other.
With the addition of the magnetic field, the total force applied to a vertex v becomes: X X X Fx (v) = Fxa (u, v) + Fxr (u, v) + Fxe (v, (a, b)) (5) (u,v)∈E
−
X
u,w∈V,(v,w)∈E
u∈V
Fxe (u, (v, w))
(a,b)∈E
+
X
Fxm (u, v)
(u,v)∈E
Method 4 can be described similarly to Method 3, except at Step 3: Produce a better layout L00 of G0 using the PrEd algorithm, modified to include edge weights and orthogonal magnetic field forces. 3.4
Method 5
Method 5 uses the preprocessing step, the GEM algorithm and the PrEd algorithm with orthogonal magnetic springs and 45 degree magnetic forces. Forces are calculated as for Method 4, but with the addition of four diagonal magnetic force field vectors. Vectors running bottom-left to top-right, bottom-right to top-left, top-right to bottom-left and top-left to bottom-right are added to the set of magnetic field forces used. Magnetic field forces are calculated as described for Method 4, and the equation for the total force acting on a vertex v does not change. Method 5 can be described similarly to Method 3, except at Step 3: Produce a better layout L00 of G0 using the PrEd algorithm, modified to include edge weights and orthogonal magnetic field forces and 45 degree magnetic forces. Note that the production of a metro map layout which preserves geographical constraints can be achieved with a small modification. Instead of using GEM at Step 2, we can assign real geographical coordinates to vertices according to the real world latitude and longitude of their associated train stations. This ensures that the geographical embedding of the graph remains unchanged throughout the layout process. As a result, the relative ordering of edges and their crossings are preserved.
4
Metro Map Labeling
The second part of this project is to produce a good labeling for metro map layout. We use a well known combinatorial approach for labeling map features. In this approach, a predefined set of label positions is assigned to every feature and a subset of these positions is chosen for producing an overlap-free label placement. The first step of the approach is to specify the predefined label positions. We define an eight position model, orthogonal and diagonal, for metro map labels as illustrated in Figure 2 (c). Note that the labeling of other types of maps typically uses only a four position model.
The next step is to construct a conflict graph that describes all overlaps between label positions. The conflict graph has a vertex for every label position, and an edge linking every pair of label positions that overlap in the map. Moreover, the set of label positions assigned to each feature forms a clique in the graph. Each vertex can also have a cost value indicating the preference of using its associated label position on the map. A labeling solution is then generated by computing the maximum independent set with minimum cost of the conflict graph. If a vertex is included in the independent set then its associated label position is used for label placement. Features which have no label positions appearing in the set are left unlabeled. Note that the maximum independent set represents label positions that do no overlap. We have labeled the metro maps using the LabelHints system with eight position model. LabelHints implements the automatic approach described above, and offers several other tools for interactively exploring map labeling solutions [7]. It uses a simulated annealing algorithm and a greedy heuristic for producing an initial labeling. Whenever the users are not satisfied with the computer-generated result, they can improve the solution by directly changing the conflict graph, reexecuting the algorithms, and/or modifying the pre-computed independent set. Such interactions allow the users to include important domain knowledge that was not considered in the automatic process. Through experiments done with the system and in studies of other metro maps we observed that labels with diagonal orientation (45 degrees) are visually more pleasing. We have, therefore, decided to use mostly this orientation in our layouts.
5
Implementation and Experimental Results
The layout algorithms were implemented as a plugin to jjGraph [3]. The tests were executed on a single processor 3.0GHz Pentium 4 machine with 1GB of RAM, and the code was run under the Sun Microsystems Java(TM) 2 Runtime Environment, Standard Edition. Metro map data is stored in a custom text file format describing the sequence of stations along each line in the network. These files are read by the metro map plugin, which then lays out the network and displays the resulting graph layout in jjGraph. jjGraph allows the user to navigate and modify this graph layout, as well as providing save and image export functionality. The metro map plugin was later made to export a complete layout to another format to be loaded into LabelHints [7]. We used real world data sets with several hundred vertices. Let G = (V, E) be the original metro map graph and G0 = (V 0 , E 0 ) be the reduced metro map graph. Details of the data sets are as follows. Sydney: |V | = 319, |E| = 897, |V 0 | = 41, |E 0 | = 178, Barcelona: |V | = 101, |E| = 111, |V 0 | = 22, |E 0 | = 32, Tokyo: |V | = 224, |E| = 292, |V 0 | = 62, |E 0 | = 122, London: |V | = 271, |E| = 745, |V 0 | =
Fig. 3. Sydney Cityrail NSW network produced by (a) method 1 (b) method 2 (c) method 3.
92, |E 0 | = 317, Train of thought network: |V | = 76, |E| = 120, |V 0 | = 36, |E 0 | = 67, O’Reilly book network: |V | = 116, |E| = 137, |V 0 | = 44, |E 0 | = 65. In summary, the results are comparable to hand drawn metro maps. Our method produces a good metro map layout very quickly. First, we present results of the Sydney Cityrail network. The methods gradually improve both in terms of the running time and the quality of the layout. Details of the running time of each method are as follows. Method 1: 12, Method 2: 0.6, Method 3: 1.9, Method 4: 2.1, and Method 5: 2.3 seconds. Note that Method 2 significantly reduces the running time over Method 1. Methods 3, 4 and 5 take slightly longer than Method 2, due to use of two spring algorithms; however, they are still significantly faster than Method 1. Each method’s results for Cityrail are illustrated in Figures 3 and 4. Note that each successive Figure improves over the previous one; and Method 5 is clearly the best. It satisfies most of the criteria that we wanted to achieve. Since Method 5 produces the best result, we chose this layout for labeling. The results for the Barcelona, Sydney Cityrail NSW, Tokyo and London metro map layouts are shown in Figures 5 (b), 7 (a), 8 (a) and 8 (b) respectively. The running times are: Barcelona: 0.2, Sydney Cityrail NSW: 2.3, Tokyo: 9.2, and London: 22 seconds. Note that London is the most complex of these networks. Figure 6 shows two examples of metro map metaphor visualisation; the train of thought network and the book network. Figure 7 (b) shows an example of the Sydney Cityrail NSW network with fixed embedding. The running times are: Sydney: 7.6, Train of thought: 3.3, and O’Reilly book network: 3.8 seconds.
6
Conclusion and Future Work
From our experiments using real world data sets, we have shown that carefully designed spring algorithms can produce good layouts of metro maps. Using a suitable preprocessing step and magnetic springs, we have obtained results that satisfy the given aesthetic criteria for metro maps. These results are comparable to hand drawn metro maps. We believe that automatic visualisation tools can be used as a fast preprocessing step for producing a good quality visualisation very quickly. Our current work is to extend this method to visualise more complex
Fig. 4. Sydney Cityrail NSW network produced by (b) method 4 (c) method 5.
geographical networks, such as the European railway system. Furthermore, we want to apply other graph drawing approaches to the problem. For a multicriteria optimisation approach, see [10].
References 1. F. Bertault, A Force-Directed Algorithm that Preserves Edge Crossing Properties, Graph Drawing 99, LNCS 1731, pp. 351-358, Springer Verlag, 1999. 2. A. Frick, A. Ludwig and H. Mehldau, A Fast Adaptive Layout Algorithm for Undirected Graphs, Graph Drawing 94, LNCS 894, pp. 388403, Springer Verlag, 1995. 3. C. Friedrich, jjgraph, personal communication. 4. K. Garland, Mr. Beck’s Underground Map, Capital Transport Publishing, England, 1994. 5. S.-H. Hong, D. Merrick and H. A. D. do Nascimento, The Metro Map Layout Problem, Proc. of Australasian Symposium on Information Visualisation, (invis.au’04), Conferences in Research and Practice in Information Technology, vol 35, ACS, pp. 91-100, 2004. 6. S.-H. Hong, D. Merrick and H. A. D. do Nascimento, The Metro Map Layout Problem, Technical Report, 2004, http://www.it.usyd.edu.au/∼dmerrick/metromap/index.html 7. H. A. D. do Nascimento and P. Eades, User Hints for Map Labelling, Proc. of Australasian Computer Science Conference 2003, Conferences in Research and Practice in Information Technology, vol 16, ACS, pp. 339-347, 2003. 8. K. Nesbitt, Multi-sensory Display of Abstract Data, PhD. Thesis, University of Sydney, 2003. 9. E. S. Sandvad, K. Gronbak, L. Sloth and J. L. Knudsen, Metro Map Metaphor for Guided Tours on the Web: the Webvise guided Tour system, Proc. of International Conference on World Wide Web, pp. 326-333, 2001. 10. J. M. Stott and P. Rodgers, Metro Map Layout Using Multicriteria Optimization, Proc. of International Conference on Information Visualisation (IV04), pp. 355362, 2004. 11. K. Sugiyama and K. Misue, Graph drawing by Magnetic Spring Model, Journal of Visual Languages and Computing, Vol.6, No.3, pp. 217-231, 1995. 12. E. R. Tufte, Visual Explanations, Graphics Press, Cheshire, 1997. 13. Cityrail Network, http://www.cityrail.info/networkmaps/mainmap.jsp 14. O’Reilly book network, http://www.oreilly.de/artikel/routemap.pdf
O’REILLY
2003 OPEN SOURCE ROUTE MAP
®
LINUX & KONSORTEN
Perl
Web Technologie & Gesellschaft
Linux
Programmieren mit Perl DBI
Beyond Contact Network Security with OpenSSL
SSH – Das umfassende Handbuch
Technologie & Gesellschaft
Peer-to-Peer The Cathedral & The Bazaar
Database Nation
Managing RAID on Linux
Exim: The Mail Transfer Agent
Unix SystemAdministration
sendmail
Samba
Netzwerk- & SystemAdministration
Advanced Perl Programming
Mac OS X Learning GNU Emacs
PHP Kochbuch
Python Cookbook
Linux
Webdatenbankapplikationen mit PHP & MySQL
Practical MySQL – Programming PostgreSQL with GNU Einsatz & Programmierung Software
Learning Perl on Win 32 Systems
Einführung in Perl
Programming Python
Nutshell & Taschenbibliothek (kurz & gut)
Perl kurz & gut XML in a Nutshell
Python Programming on Win32
Einführung in Python
Web
Java™
XML
Einführung in Perl für Bioinformatik
Java™ & XML
Understanding the Linux Kernel Linux – Wegweiser zur Installation & Konfiguration
Running Weblogs with Slash
Linux Security Cookbook Learning Red Hat Linux
Games, Diversions & Perl Culture: Best of The Perl Journal
SAX2
www.oreilly.de
PHP kurz & gut
Computer Science & Perl Programming: Best of The Perl Journal
HTML & XHTML – Das umfassende Referenzwerk
Python & XML
AppleScript in a Nutshell GNU Emacs kurz & gut
Linux Gerätetreiber
Web, Graphics & Perl/Tk: Best of The Perl Journal
XML Schema
Unix
SVG Essentials
DocBook: The Definitive Guide Einführung in XML
Perl & XML Jython Essentials
Technologie & Gesellschaft
Ant: The Definitive Guide
NetBeans: The Definitive Guide
Developing Bioinformatics Computer Skills
Building Embedded Linux Systems
XML
Die Grübelei hat ein Ende! Bücher von O’Reilly
Tcl/Tk in a Nutshell
Unix
Learning the bash Shell
Linux in a Nutshell
Mason
Perl Python
Exploring Expect Linux Server Hacks
Web Services Essentials
Python Standard-Bibliothek
Netzwerk- & SystemAdministration
Einführung in Unix für Mac OS X Unix – Ein praktischer Einstieg Mac OS X Unix Programming Power for Unix with Qt Developers Tools
MySQL Cookbook Programmieren mit Perl
Python kurz & gut Perl Kochbuch
Mac OS X
Textverarbeitung mit den vi-Editor
MySQL Reference Manual
Mastering Perl/Tk Learning the Korn Shell
Python in a Nutshell
Mac OS X: The Missing Manual
sed & awk
Creating Applications with Mozilla
Reguläre Ausdrücke
Using csh & tcsh
Unix
Nutshell & Taschenbibliothek (kurz & gut)
Mac OS X kurz & gut
Effective awk Programming
Programmieren mit PHP
Algorithmen mit Perl
Nutshell & Taschenbibliothek (kurz & gut)
sed & awk kurz & gut Writing GNU Emacs Extensions
Programming Web Services with Perl
Practical mod_perl
LEGENDE
LPI Linux Certification in a Nutshell
vi kurz & gut Perl für WebsiteManagement
Perl/Tk Pocket Reference
Java™
Linux – Wegweiser für Netzwerker
Samba kurz & gut Perl in a Nutshell
Apache kurz & gut
Bioinformatik
Sichere Server mit Linux
Perl & LWP
Perl für SystemAdministration
Apache – Das umfassende Referenzwerk
Netzwerk& SystemAdministration
Open Sources
Free as in Freedom
Programmieren von Grafiken mit Perl
Writing Apache Modules with Perl and C
Java™ Perl
Python
Web
Linux
Fig. 5. (a) O’Reilly book network (b) Barcelona city metro map with labeling.
ab stra
WritingGNUEmacsExtensions
oce ss sig npr
a li ty
de
de
qu pin g ty oto e pr
ativ iter
ProgrammierenmitPerlDBI
x inu
Unix-EinpracktischerEinstieg
itL
MacOSX:TheMissingManual Textverarbeitungmitdenvi-Editor
erm erv
y
n ux Li on r ID ke er RA i ng etzw ag rN an rf ue se wei
eg -W ux L in
nom
MacOSXkurz&gut
EinfuehrunginUnixfuerMacOSX
M
o tax
LPILinuxCertificationinaNutshell
sed&awk
eS er ch Si
re
sig ngu
tu
id
itec
pri nc ip les
n
eli nes
ctio
h arc
LearningGNUEmacs
EffectiveawkProgramming Tcl/TkinaNutshell
TheCathedral&TheBazaar DatabaseNation OpenSources
sed&awkkurz&gut UnixSystem-Administration
FreeasinFreedom ProgrammingwithGNUSoftware
MacOSXforUnixDevelopers
Peer-to-Peer
gu id
vikurz&gut
nes e li
sendmail
ProgrammingwithQt
stru sis
re ctu
ly s
ala na
Sambakurz&gut MySQLCookbook
nic
aly si an task
ProgrammierenvonGrafikenmitPerl
ExploringExpect
tech
ors
BeyondContact
findingtradingrules
pin
g
Exim:TheMailTransferAgent
ap
PerlfuerSystem-Administration nS O pe cu rity ork Se ingA
Webdatenbank-applikationenmitPHP&MySQL
Cre at
LearningRedHatLinux BuildingEmbeddedLinuxSystems
um fa ssen
Net w
oz i lla pp li ca tio n sw i th M
PerlfuerWebsite-Management
iere nm PH i tP PK HP o ch bu ch
LinuxSecurityCookbook
Pr og ra mm
Linux-WegweiserzurInstallation&Konfiguration
mappingdirectmetaphors
uc h
with
Apache-DasumfassendeReferenzwerk LinuxinaNutshell LinuxGeraetetreiber UnderstandingtheLinuxKernel
mappingspatialmetaphors expertheuristicevaluation
deH an db
datacharacterisation
disp
SL
PerlinaNutshell
la
m su
WritingApacheModuleswithPerlandC
LinuxServerHacks
SS H-D as
a ti vee va
lu
atio
PerlfurSystem-Administration
m
rm fo
Perl&LWP
Samba MySQL-Einsatz&Programmierung
n
UnixPowerTools
GNUEmacskurz&gut
ym
ra lm po
val uat io n a ti vee
fo rd eli nes id
id gu
gu
eta ph
s
ors
hor eta p
e ta ph
lm
ire ctm
pat ia fo rs eli nes id gu
fo rtem
y m no a xo ure S-T ct rM ru re fo orsst c tu nes ph stru e li ta id e ors gu tial m a ph et a sp lm ra po
eli nes
tem
M dire S -T c tm AX eta ON ph O or MY ss tr pr oce uc tu re ss st ru ct ur e
MySQLReferenceManual
PracticalPostgreSQL
LearningthebashShell
AppleScriptinaNutshell
ProgrammingWebServiceswithPerl
AdvancedPerlProgramming
mappingtemporalmetaphors
Practicalmod_perl
evaluation
AlgorithmenmitPerl
prototyping stockmarket
auditorybidAsklandscape
Apachekurz&gut
RegulaereAusdruecke
stockmarketdata
WebServicesEssentials MasteringPerl/Tk
PHPkurz&gut
WEDGE ProgrammierenmitPerl
hapticmovingaveragesurface SVGEssentials
RunningWeblogswithSlash
Perl/TkPocketReference
HapticWorkbench
haptic3Dbarchart
bid A vin sk gav lan e ra dsca co ge pe nsi su der rf so 3D ace ftw bar are char pla t tf o rm
per c ep
tu
al
isat io
n
mo
a ti on
Mason PythonCookbook Usingcsh&tcsh
Perl&XML
ma
rm info
PythoninaNutshell
EinfuehrunginPerl EinfuehrunginXML
Web
ors
LearningPerlonWin32Systems Graphics&Perl/TK:BestofthePerlJournal
eta ph
PythonStandard-Bibliothek
XMLSchema
d
a ti on
SAX2
ProgrammingPython
info
rm
Jy tho nE ss en t ia ls E in fu eh ru ng i nP y th on
gpa tte rn s lt ia tt ri bu te
in
larg e
mu
lisa tio n
Python&XML EinfuehrunginPerlfuerBioinformatik
vis ua
he
ar
in
g
pti cs
n
rm
ha
tisa ti on hap
so nifi cat io
a ti on
HTML&XHTML-DasumfassendeReferenzwerk Games Diversions&PerlCulture:BestofThePerlJournal
g
a ti on
ols
rm
alto
info
tu
info
ep fin d
a ti on rm
BestofThePerlJournal
e rc
ry
info
a np gy m lo inin hu o ysi tam ph da al tu ep rc n pe tio g gni in co min ata a ld s bia ry nso se on visi on c ti tera in
m
ComputerScience&PerlProgramming
visu
temporalmetaphors
NetBeans:TheDefinitiveGuide
virtualhybridworlds
virtualabstractworlds nso se
spatialmetaphors
Perlkurz&gut
t
orm
VEplatforms
PerlKochbuch
DocBook:TheDefinitiveGuide
&gu
co
directmetaphors
LearningtheKornShell
XMLinaNutshell
rz n ku tho Py
ResponsiveWorkbench on latf ep Bar ar co w Bar NE ha rd O er i-C sid n
guidelinesforperception
virt ual rea ny lw in tera or ld s ct ion sty inc le re as s e hu ne wu ma nse r- in com pu terf a ce terb an te dw ch id no th lo gy
Ant:TheDefinitiveGuide
guidelinesforinformationdisplay
Java&XML
automatedintelligenttools
PythonProgrammingonWin32 DevelopingBioinformaticsComputerSkills
Fig. 6. Metro map metaphors for (a) Train of thought network (b) Book network.
Dungog Wiragulla Wallarobba Scone Hilldale Aberdeen Muswellbrook MartinsCreek Singleton Belford Paterson Branxton Mindaribba Greta Allandale Telarah Lochinvar Maitland HighStreet EastMaitland VictoriaStreet Metford Thornton Beresfield Tarro Hexham Sandgate Warabrook Waratah Hamilton
Newcastle
Civic
Wickham
Broadmeadow
Adamstown Kotara CockleCreek
Cardiff Teralba
Booragul Awaba
Fassifern
Morisset Wyee Warnervale Wyong Tuggerah
B el M l tV ict or B ia la ck he M ed ath lo w B ath K at oo m ba L eu ra tw or th Fa B lls ul la bu rr a L aw so H n az el br oo W k oo df or d L in Fa de ul n co nb Sp rid ge ri ng w V oo al d le yH ei gh W ts ar r im oo B la xl an d G l en br oo k L ap st on E e m uP lai ns Pe nr ith K i ng sw oo W d er r in gt on D oo ns id e R oo ty Hi ll M tD ru itt St M ar ys
Ourimbah
Lisarow
NiagaraPark
Narara PointClare
Gosford Tascott
Koolewong Wondabyne
WoyWoy HawkesburyRiver
Cowan
Berowra
Carlingford Telopea Dundas
Toongabbie PendleHill Wentworthville Westmead
W en
B at hu rs t K el so R ag la n Y et ho M lm ea do e w M ou Flat s ntL W am bie al ler aw an g L ith go w Z ig Za g
DoraCreek
Richmond EastRichmond Clarendon Windsor Mulgrave Vineyard Riverstone Schofields QuakersHill Marayong Blacktown SevenHills
Rydalmere Camellia
Parramatta HarrisPark
Rosehill Clyde
MtKuring-gai
MtColah Hornsby Normanhurst Thornleigh OlympicPark PennantHills Beecroft Cheltenham Epping Eastwood Denistone WestRyde Meadowbank Rhodes ConcordWest NorthStrathfield Strathfield
Asquith Waitara Wahroonga Warrawee Turramurra Pymble Gordon Killara Lindfield Roseville MilsonsPoint NorthSydney Waverton Wollstonecraft StLeonards Artarmon Chatswood Wynyard
Burwood Granville
Merrylands
Croydon
Homebush
Auburn
CircularQuay Ashfield SummerHill
Flemington
Ja St
Guildford
m s
n
Macdonaldtown
n
Y ag
GreenSquare
ill ld
StPeters
D ou M gl as M enan P ar en gl k an e M ac gl eP ar C am th L ur ark eu pbel m ea lto w h n to
M in In gl ar eb ur ie Fi n el ds
Bargo
Yerrinbool
M ac
qu
HillTop
Tempe
ColoVale Mittagong Bowral Burradoo MossVale Exeter Bundanoon Penrose Wingello Tallong Marulan Goulburn
Domestic
International
Casula
k ar lla lP h re wel rt e T ur rd eyNoov ills Ba xl gr H Be ings rly K ve e ood Be arwe rw N ve tow y Ri ds sb Pa ve a s Re na ni ill t hy Pa as tH swor E ol field H len G
Tahmoor
Mascot
Sydenham
Liverpool Picton Thirlmere Couridjah Buxton Balmoral
Central
Erskineville
Pu
fto
Se rH te es ie Ch tonf gh d L ei oo aw ill ar am rr
V
Ca
WarwickFarm
nc oo na hb L ow B ak H em l B ir ro C ur ng ba am ls an M to ks W ps ar ne P ie B ile yP tow ric kv ark C elm ar n ill or k e D ante e rb ul ur w ic hH y ill
Redfern
Cabramatta
Loftus Engadine Heathcote Waterfall Helensburgh Otford StanwellPark Coalcliff Scarborough Wombarra Coledale Austinmer Thirroul Bulli Woonona Bellambi Corrimal Towradgi FairyMeadow NorthWollongong Wollongong Coniston Unanderra KemblaGrangeRacecourse Lysaghts Dapto AlbionPark OakFlats Cringila Dunmore Minnamurra Bombo PortKemblaNorth Kiama Gerringong Berry PortKembla Bomaderry
WolliCreek Arncliffe Banksia Rockdale Kogarah Carlton Allawah Hurstville Penshurst Mortdale Oatley Como Jannali Sutherland Kirrawee Gymea Miranda Caringbah Woolooware Cronulla
Fig. 7. (a) Sydney Cityrail NSW network with labeling (b) Sydney Cityrail NSW network with fixed embedding.
Hikarigaoka Nerima-kasugacho
Nerima Shin-egota
jim ic ho
H ona
nc ho
Toshimaen
Nakai
ba
sh i
N aka no -fu
Ochiai-minami-nagasaki
N aka no -s him
Higashi-nakano Nakano-sakaue
Sh
inna ka no
iga H shi oen -k
Yoyogi-uehara
in-
Mit
Sh
ak
a
ji
Nishi-shinjuku-gochomeNishi-shinjuku
ko ga
K ich
sa i-a
ijo
am
ji
ji
in M
en
gi buk o
ya
Yoyogi-koen
Tocho-mae
Shibuya
Gaiemmae
O gik
ub
o
N ish i-o
Shinjuku
Meiji-jingumae Shinjuku-nishiguchi
A sa ga ya
Yoyogi
nji
Omote-sando
K oe
Higashi-shinjuku Shinjuku-sanchome
N aka no
Kokuritsu-Kyogijyo Shinjuku-gyoemmae
ai
Wakamatsu-kawada Nogizaka
O chi
Yotsuya-sanchome Aoyama-itchome
a bab
Yotsuya Akebonobashi
Wa
se da
Ta
ka
da
no
ra ha ai uk -m i da ke wa ika H ai ad eiw H uka ts ka n-a da m asu Ei ari -n i osh ak W
egu ro
ra za
o
Eb
isu
on
gi Ic hig
ay
a
H iro-
hi
Se
R opp
as
-ik
kuj
shi
oko G
iga H
nka w
a
wab
N aka -m
oga Ed
K agu
ka
Akasaka
i
ebu
Kokkai-gijidomae
Akasaka-mitsuke
K ojim
Ike buk uro
ka
on
inotsu Sh
kur ada m
Tameike-sanno
Kamiyacho
e om Azabu-juban
Y ur a ku
ch
o
My
og
ad
an
i
Sa
Hanzomon
itch gi-
noi
on
-san
opp R
ike
K ana m
me Ta
ec ho
ac hi
o kur Nagatacho
om m e ago m dai e K or ma e a ku en
Toranomon Akabanebashi
Shirokane-Takanawa
a-it
cho me
To
Kasumigaseki
ho
dob a shi
oc J imb
Sui
K as s an ug a
Takebashi
Shimbashi
Daimon Shintomicho
e gu M
Shiodome
ro
Sh iro ka
Tsukijishijo
ne
N ish i-ta Sh ka in- shi ta ka m ad Ta shim aira ka shi ada ma ira da N ish ira Shi mu H idai ra-s as Shi anc une mu hom Mo ra-s e aka to Ita Ita -has ue ba ba unu shi shi m -ku -ho a ya nc ku ho Sh sho in- m N ish ita ae ba i-s sh uga i m Su o ga mo Se ngo H aku ku
G inz
A ka
ba
ne
-iw ab
uch Shi i O jimo ka miy a N ish O ji iga K om ha H onk ago ra
Kudanshita
da i
Kachidoki
koe n ba
rim on
Shi
To
O na
kyo
i
ho
a ch
A wa jic
O tem
O cha no m izu
e
Takanawadai Gotanda Togoshi
Tatsumi
Nakanobu Tsukiji
Nijubashimae
Magome Shin-kiba
Nihombashi
Nishi-magome
Mitsukoshimae
se
Mistukoshimae
Hatchobori
inoka ch
sh i
Bakuroyokoyama Kanda
ode K
Suehirocho
o ra chi aba ma kih chi A ka -o aka N
ch
e
ma m
Asakusabashi
Kayabacho
c ho yo
Sh
ing N
Mi H iganow sh a i-n ih om
ba
Minami-senju
Suitengumae
Ir iya
K ur a ma
Hamacho
Ryogoku
Ueno-hirokoji
Ueno
Morishita
w aka hir i-s sum
Mi
a
nam
iyo K
Inaricho
Tawaramachi
Kikukawa
i-su na K iba m ac Mi Mo na nz hi To m K as i-gy yoc en-nak ai N ish oto N ish ho My ac ku U i-fu od ho ray i-k as en nab Ts as ai G yo uda as u nu to hi B ku ara ma Fun ki-n aka a ba yam shi a
m ho o-s a nc H ong ac him a chi -ok
U eno
wa na ka
-a ya se
-ta
ho i rac ka ash Ta yob K
A ya
ne Sengakuji
Toyosu
Sendagi Nishi-nippori Machiya Kita-senju
K ita
ka
a
ho ai-c
ibiy H
w
a
Mita
Higashi-ginza
Nezu
Iwamatocho
iro
Tsukishima
isai
inz G
Shin-ochanomizu Yushima
Sh
ch U
Higash-ginza
Ogawamachi
im a chi
dan Ei
ota K
Ushigome-yanagicho
Ushigome-kagurazaka
Iidabashi
Asakusa Sumiyoshi Nishi-ojima Ojima Honjoazumabashi
Kinshicho
Higashi-ojima Funabori Ichinoe Mizue
Oshiage
io ct
Museum
Newtown
CanleyVale
un iJ
Stanmore
Fairfield
nd
e ac Pl
f lif
tin
os Cr gs
ar
in
TownHall
Lidcombe
Bo
K
M
Petersham
Berala RegentsPark
ec E dg
es
Lewisham Yennora
Shinozaki Motoyawata
Aoto
Fig. 8. (a) Tokyo metro map with labeling (b) London metro map with labeling.