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. 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.
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.
J. Pach (Ed.): GD 2004, LNCS 3383, pp. 482–491, 2004. c Springer-Verlag Berlin Heidelberg 2004
LE ST CA
F
F
W
B
e Scon
AI
TL
AN
D
Broadmeadow Adamstown B Kotara B Cardiff B P
B P P
B
P
B
P
B
M
P
een
erd
483
ok
ellbro
sw
gle ton Be lf Bran ord xto n Gr Allan eta da Loch le inva r
Sin
P
Mu
P
B
Ab
B P
NE
Dungog P B Wirragulla Wallarobba Hilldale Martins Creek Paterson P Mindaribba Telarah
CityRail Network
High Ea Stree st t Vic Maitl B tor and Me ia Stree P tfo Th rd B t B orn P Be ton P P res Ta field rro B He P P xh Sa am nd Wa gate rab Wa rook rat (U Ha ah B nivers mil ity) t Wi on B P ck Civicham B
The Metro Map Layout Problem
Cockle Creek B P Teralba Booragul Fassifern Awaba
B P B P
Bathurst Kelso Raglan Yetholme Meadow Flat Mount Lambie Wallerawang
Dora Creek Morisset B P Wyee B P Warnervale B P Wyong B P Tuggerah B P Ourimbah B P CENTRAL COAST Lisarow P Niagara Park P Narara P
L IT H G O W B P
Zig Zag Bell Mount Victoria Blackheath B Medlow Bath
B
P
GOSFORD B P
Point Clare Tascott Koolewong P Woy Woy B P F Wondabyne Hawkesbury River B F Cowan P Intercity services make limited stops between Berowra and Central
B P P
K A T O O M BA B
B
P
B P Berowra Mount Kuring-gai Mount Colah Asquith
B
B B P
SYDNEY SUBURBAN AREA
BLACKTOWN B P
Pendle Hill Wentworthville Westmead B P
P
Harris Park Merrylands Guildford P Yennora
P
P
B
BA
D EL
P
B
rth
y
ls nania
st Hi
Pa
lswo
vesb Pa y dstow Rive rwoo d B P Na P Be rwee verly B Hi P Kin l s B gs P Be grove xle B y P Ba North rdw ell Pa rk B Tu rre la
Re
Ea
B
P
Ho
B
P
P
B
B
B
P
B P Glenfield Macquarie Fields B P Ingleburn B P Minto Leumeah
B
B P
B P
CAMPBELLTOWN
Macarthur
B P
Interchange with other lines
Bus stop / Interchange Ferry wharf Light rail interchange Commuter car park Wheelchair Access (This station staffed from first train service to last train service) Wheelchair Access (This station not staffed from first train service to last train service)
Exeter B Bundanoon
SOUTHERN HIGHLANDS
WOLLONGONG B P
SOUTH COAST
Helensburgh
Intercity services make limited stops between Otford P Waterfall and Central Stanwell Park B P Coalcliff B Scarborough B P Wombarra Coledale B Austinmer B P Thirroul B P Bulli B Woonona B P Bellambi P Corrimal B P Towradgi Fairy Meadow P North Wollongong B P Coniston
Penrose Wingello Tallong Marulan GOULBURN B P
B P
Unanderra B P Kembla Grange Racecourse Dapto B P Albion Park B P Oak Flats P Dunmore (Shellharbour) P Minnamurra B Bombo P Kiama B P Gerringong P Berry P
P
Bomaderry (Nowra)
Proposed line Bus / Coach Connections
BOTANY BAY
B
P
rra wa Ro ng berts on
Colo Vale B P Bowral Burradoo Moss Vale
B
Bu
Bu
Ba
Hill Top Hunter Line (Scone / Dungog - Newcastle)
Suburban / Intercity train connections
Menangle Park Menangle P Douglas Park Picton B P Tahmoor Bargo B P Yerrinbool P Mittagong B P
lmora l xto n Co uridja Th h irlm ere
(Lithgow - North Sydney)
Newcastle & Central Coast Line
P
B
Blue Mountains Line
(Newcastle - Central)
HURSTVILLE B
Penshurst Mortdale B Oatley B Como P Jannali B P
B P
B
B P
Ly Crisagh n ts Po gila P rt Po Kemb rt la B Ke No P mb la rth
Southern Highlands Line (Goulburn - Central)
SUTHERLAND
B P Loftus Engadine P Heathcote Waterfall
B
Kir B raw P Gy ee me P Mi a Ca ran Wo ringbda olo ah ow are Cron B F ull P a
B P
Change at Campbelltown to connect with suburban services to the City. Direct services make limited stops between Campbelltown and Central.
South Coast Line (Bomaderry (Nowra) / Port Kembla - Bondi Junction)
Green Square Mascot B B Domestic International B Wolli Creek Arncliffe B P Banksia B Rockdale B P Kogarah B P Carlton B Allawah P
P
B P
Intercity Lines
B
(Berowra - North Sydney via Strathfield)
Kings Cross B Edgecliff B
BONDI JUNCTION
B
B P
Carlingford Line (Carlingford - Clyde)
Northern Line
B
B
REDFERN B
Erskineville St Peters Sydenham P Tempe
B P B
B
North Shore Line (Berowra - Parramatta via Central)
Western Line
St James Museum
OO
Lid B co Fle P mbe mi Ho ngton me bush
Croy D do Su Ashfi n mm eld B er Lewi Hil B Pe sham ter B Stansham Ma B Ne more cdon wtow ald n tow n B
P
P
P
Birrong
B
Casula
(Macarthur - City via Granville)
(Emu Plains / Richmond - North Sydney)
Martin Place
CENTRAL
P
B
RA TH BU FI RW
B
ST
Ca P rra Lei Villawomar g Ch htonfi od es eld B ter P Hi Se l fton
B
B P
B
South Line
WYNYARD TOWN HALL
B L
B P
B Berala Regents Park
FAIRFIELD
B P Canley Vale B Cabramatta Warwick Farm
LIVERPOOL
SYDNEY HARBOUR F
B
B B
P
B
P B
Olympic Park
B
B P
(Campbelltown - Blacktown)
Airport & East Hills Line
HAWKESBURY RIVER
B P
Ya goon ST a Pu OW nc N Wi hbow ley l P LakePark B mb P B Be a P lm B Ca ore P Ca mp B Hu nterbusie rlston B ry P Du e Park B lwi P Ma ch Hi rric l kvi le
Inner West Line (Liverpool / Bankstown - City via Regents Park)
Cumberland Line
B
Rhodes B Concord West North Strathfield
B F P
Rosehill P Clyde Auburn B
Granville
B P
NK
B P
(Macarthur - City via Airport / Sydenham)
P Carlingford B P Telopea Dundas P Rydalmere Camellia
PARRAMATTA
B
Bankstown Line (Liverpool / Lidcombe - City via Bankstown)
B
P B
Eastern Suburbs & Illawarra Line (Waterfall / Cronulla - Bondi Junction)
P
NR
u Pla ins IT gswo H od
rrin St gton Ma rys UI Ro TT oty Do Hil onsid e
We
DR
Em
P
Kin
P
P
PE
P
P B
B
B
B
P
B P
M
B
P
Seven Hills P B Toongabbie
B
Intercity services make limited stops between Emu Plains and Central
Sydney Suburban Lines
B
B
Valley Heights P Warrimoo P Blaxland B P Glenbrook P Lapstone P
B Normanhurst Waitara B P P Thornleigh Wahroonga B P Pennant Hills Warrawee B Beecroft Turramurra B P Pymble B Cheltenham P Gordon B P Killara B Lindfield B Roseville B P CHATSWOOD B Epping Artarmon St Leonards B Wollstonecraft P Eastwood B P Waverton B Denistone P Circular Quay B B NORTH SYDNEY West Ryde B P B F Milsons Point Meadowbank
B
Richmond P East Richmond Clarendon Windsor B P Mulgrave P Vineyard Riverstone B P Schofields B P Quakers Hill P Marayong
S P R INGWOOD B P
P
HORNSBY
B P
OU P NT
Leura B P Wentworth Falls B Bullaburra P Lawson B P Hazelbrook P B Woodford P Linden Faulconbridge P
BLUE MOUNTAINS
Bla ck To alls Pa ron rk to
B P
HUNTER VALLEY
© Copyright CityRail January 2003
B P
(a)
(b)
Fig. 1. (a) Sydney Cityrail NSW network (b) “Train of thought” network.
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.
(a)
(b)
(c)
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.
484
Seok-Hee Hong, Damian Merrick, and Hugo A.D. do Nascimento
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 G . The resulting graph only contains intersection vertices and vertices with degree one. For example, the metro map
The Metro Map Layout Problem
485
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 G , 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 G and produce a layout of G which reflects those edge weights. Thus, Method 2 can be described as follows. Method 2 1. Compute a simplified metro map graph G by removing degree two vertices from the metro map graph G. 2. Produce a layout L of G 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 L . 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: Fxa (u, v) + Fxr (u, v) Fx (v) = (u,v)∈E
+
(a,b)∈E
u∈V
Fxe (v, (a, b))
−
u,w∈V,(v,w)∈E
Fxe (u, (v, w))
(3)
486
Seok-Hee Hong, Damian Merrick, and Hugo A.D. do Nascimento
We now describe Method 3. Method 3 1. Compute a simplified metro map graph G by removing degree two vertices from the metro map graph G. 2. Produce an initial layout L of G using the GEM algorithm (with no edge weights). 3. Produce a better layout L of G 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 L . 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: (4) F m (u, v) = cm bd(u, v)α θβ 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: Fxa (u, v) + Fxr (u, v) + Fxe (v, (a, b)) (5) Fx (v) = (u,v)∈E
−
u,w∈V,(v,w)∈E
u∈V
Fxe (u, (v, w))
(a,b)∈E
+
Fxm (u, v)
(u,v)∈E
Method 4 can be described similarly to Method 3, except at Step 3: Produce a better layout L of G using the PrEd algorithm, modified to include edge weights and orthogonal magnetic field forces.
The Metro Map Layout Problem
3.4
487
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 L of G 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,
488
Seok-Hee Hong, Damian Merrick, and Hugo A.D. do Nascimento
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 G = (V , E ) be the reduced metro map graph. Details of the data sets are as follows. Sydney: |V | = 319, |E| = 897, |V | = 41, |E | = 178, Barcelona: |V | = 101, |E| = 111, |V | = 22, |E | = 32, Tokyo: |V | = 224, |E| = 292, |V | = 62, |E | = 122, London: |V | = 271, |E| = 745, |V | = 92, |E | = 317, Train of thought network: |V | = 76, |E| = 120, |V | = 36, |E | = 67, O’Reilly book network: |V | = 116, |E| = 137, |V | = 44, |E | = 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
The Metro Map Layout Problem
(a)
(b)
489
(c)
Fig. 3. Sydney Cityrail NSW network produced by (a) method 1 (b) method 2 (c) method 3.
(a)
(b)
Fig. 4. Sydney Cityrail NSW network produced by (a) method 4 (b) method 5.
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.
O’REILLY
2003 OPEN SOURCE ROUTE MAP
®
LINUX & KONSORTEN
Perl
Web Technologie & Gesellschaft
Programmieren mit Perl DBI
Beyond Contact
SSH – Das umfassende Handbuch
Linux
Programmieren von Grafiken mit Perl
Writing Apache Modules with Perl and C
Network Security with OpenSSL
Perl für SystemAdministration
Technologie & Gesellschaft
Peer-to-Peer
sendmail
Samba
Mac OS X
Learning GNU Emacs PHP Kochbuch
Mastering Perl/Tk
LEGENDE
Using csh & tcsh
Webdatenbankapplikationen mit PHP & MySQL
Python kurz & gut Perl Kochbuch
Python Cookbook
Practical MySQL – Programming PostgreSQL with GNU Einsatz & Programmierung Software
Learning Perl on Win 32 Systems
Einführung in Perl Mac OS X
Programming Python
Nutshell & Taschenbibliothek (kurz & gut)
Perl kurz & gut XML in a Nutshell
Python Programming on Win32
Einführung in Python
DocBook: The Definitive Guide Einführung in XML
Perl & XML Jython Essentials
Unix Web XML
Python & XML
Java™
Web, Graphics & Perl/Tk: Best of The Perl Journal
XML Schema
Einführung in Perl für Bioinformatik
Java™ & XML
Linux – Wegweiser zur Installation & Konfiguration Linux Security Cookbook Learning Red Hat Linux
Games, Diversions & Perl Culture: Best of The Perl Journal
SAX2
www.oreilly.de
Die Grübelei hat ein Ende! Bücher von O’Reilly
Unix
Understanding the Linux Kernel
Running Weblogs with Slash
Computer Science & Perl Programming: Best of The Perl Journal
HTML & XHTML – Das umfassende Referenzwerk
Tcl/Tk in a Nutshell
AppleScript in a Nutshell GNU Emacs kurz & gut
Linux Gerätetreiber PHP kurz & gut
Python Technologie & Gesellschaft
Mac OS X for Unix Developers Learning the bash Shell
Linux in a Nutshell
SVG Essentials
Mason
Perl
Exploring Expect
Einführung in Unix für Mac OS X
Linux Server Hacks
Web Services Essentials
Python Standard-Bibliothek Netzwerk- & SystemAdministration
Unix – Ein praktischer Einstieg Unix Programming Power with Qt Tools
MySQL Cookbook Programmieren mit Perl
Learning the Korn Shell
Python in a Nutshell
Unix
Java™
Textverarbeitung mit den vi-Editor
MySQL Reference Manual
Nutshell & Taschenbibliothek (kurz & gut)
Mac OS X: The Missing Manual
sed & awk
Creating Applications with Mozilla
Reguläre Ausdrücke
Mac OS X kurz & gut
Effective awk Programming
Programmieren mit PHP
Algorithmen mit Perl
Linux
Netzwerk- & SystemAdministration
LPI Linux Certification in a Nutshell
sed & awk kurz & gut Writing GNU Emacs Extensions
Programming Web Services with Perl
Practical mod_perl
Bioinformatik
Linux – Wegweiser für Netzwerker
vi kurz & gut Perl für WebsiteManagement Advanced Perl Programming
Nutshell & Taschenbibliothek (kurz & gut)
Sichere Server mit Linux
Unix SystemAdministration
Samba kurz & gut Perl in a Nutshell
Apache kurz & gut
Perl/Tk Pocket Reference
The Cathedral & The Bazaar
Database Nation
Managing RAID on Linux
Exim: The Mail Transfer Agent
Apache – Das umfassende Referenzwerk
Netzwerk& SystemAdministration
Open Sources
Free as in Freedom
Perl & LWP
Developing Bioinformatics Computer Skills
NetBeans: The Definitive Guide
Ant: The Definitive Guide
Building Embedded Linux Systems
XML
Java™ Python
Perl
(a)
Web
Linux
(b)
Fig. 5. (a) O’Reilly book network (b) Barcelona city metro map with labeling.
490
Seok-Hee Hong, Damian Merrick, and Hugo A.D. do Nascimento ab stra
WritingGNUEmacsExtensions
oce ss
eli nes id
a li ty
de
de
qu pin g ty oto
ProgrammierenmitPerlDBI
x inu
e pr
itL
ativ
erm
iter
erv
n ux Li on er ID rk RA we i ng N etz ag er an rfu ise we
y
MacOSX:TheMissingManual Textverarbeitungmitdenvi-Editor Unix-EinpracktischerEinstieg
eS er ch
nom
eg x -W nu Li
o tax
LPILinuxCertificationinaNutshell
MacOSXkurz&gut
EinfuehrunginUnixfuerMacOSX
M
re
sig ngu
tu
sed&awk
Si
pri nc ip les
itec
sig npr
n
h arc
ctio
LearningGNUEmacs
EffectiveawkProgramming Tcl/TkinaNutshell
TheCathedral&TheBazaar DatabaseNation
sed&awkkurz&gut
OpenSources UnixSystem-Administration FreeasinFreedom
ProgrammingwithGNUSoftware
MacOSXforUnixDevelopers
Peer-to-Peer
gu id
vikurz&gut
nes e li
sendmail
ProgrammingwithQt
stru sis
re ctu
LearningthebashShell
ly s
ala na nic
aly si task
an
eta ph
BeyondContact
n
MySQL-Einsatz&Programmierung Exim:TheMailTransferAgent
lu
atio
PerlfurSystem-Administration
pin
LinuxServerHacks PerlfuerSystem-Administration
ap
SL nS
h nd b uc
Apache-DasumfassendeReferenzwerk
LinuxSecurityCookbook
mappingdirectmetaphors
LearningRedHatLinux Webdatenbank-applikationenmitPHP&MySQL
BuildingEmbeddedLinuxSystems
Ne
su mf SS H-
Da
PerlfuerWebsite-Management
Pr og ra
Linux-WegweiserzurInstallation&Konfiguration
Cr
UnderstandingtheLinuxKernel
mappingspatialmetaphors expertheuristicevaluation
ea t ing A pp li ca tio n sw i thM mm ier oz en i lla mi PH tP PK HP o ch bu ch
tw
as
ork
LinuxGeraetetreiber
sen
Se
LinuxinaNutshell
Ha
disp
cu rit y wi th O pe
la
PerlinaNutshell
datacharacterisation
de
m m su
WritingApacheModuleswithPerlandC
GNUEmacskurz&gut
findingtradingrules
g
a ti vee va
a ti vee rm fo
Perl&LWP
Samba
UnixPowerTools
ym
ra lm po
val uat io n
ProgrammierenvonGrafikenmitPerl Sambakurz&gut MySQLCookbook
tech
ors
s hor
ors
eta p
e ta ph fo rd id
gu
gu
id
eli nes
eli nes id gu
fo rtem
fo rs
pat ia
ire ctm
lm
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 ss re st ru ct ur e
MySQLReferenceManual
PracticalPostgreSQL ExploringExpect
AppleScriptinaNutshell
ProgrammingWebServiceswithPerl
AdvancedPerlProgramming
mappingtemporalmetaphors
Practicalmod_perl
evaluation
AlgorithmenmitPerl
prototyping stockmarket
auditorybidAsklandscape
Apachekurz&gut
RegulaereAusdruecke
stockmarketdata
WebServicesEssentials PHPkurz&gut
MasteringPerl/Tk
WEDGE ProgrammierenmitPerl
hapticmovingaveragesurface SVGEssentials
RunningWeblogswithSlash
Perl/TkPocketReference
HapticWorkbench
haptic3Dbarchart
bid A vin sk gav lan e ra dsca ge pe nsi su der rf so 3D ace ftw bar are char pla t tf o rm
n
mo
per c ep
tu
al
isat io
co
PythoninaNutshell
NetBeans:TheDefinitiveGuide
EinfuehrunginPerl EinfuehrunginXML
Mason
a ti on rm info
PythonCookbook Usingcsh&tcsh
Perl&XML Web
ors
LearningPerlonWin32Systems Graphics&Perl/TK:BestofthePerlJournal
eta ph
PythonStandard-Bibliothek
XMLSchema
d
Games Diversions&PerlCulture:BestofThePerlJournal
ProgrammingPython ial s
Python&XML
nP y tho n
EinfuehrunginPerlfuerBioinformatik
info
hr ue
rm
Ei nf
a ti on
SAX2
Jy tho
nE
un gi
sse
nt
tte rn s lt ia tt ri bu te
larg e
mu
gpa in
HTML&XHTML-DasumfassendeReferenzwerk
vis ua
he
lisa tio n
ar
in
g
pti cs
n ha
tisa ti on hap
so nifi cat io
a ti on
a ti on
rm
rm info
info
BestofThePerlJournal
fin d
a ti on rm
ry
info
ols alto tu ep e rc a np gy ing m hu olo in 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
Perlkurz&gut
virtualhybridworlds
virtualabstractworlds nso se
spatialmetaphors
DocBook:TheDefinitiveGuide
ut &g
orm
VEplatforms
PerlKochbuch rz n ku tho
co
directmetaphors
LearningtheKornShell
XMLinaNutshell
Py
ResponsiveWorkbench latf on ep Bar ar co w Bar NE ha rd O er i-C sid n
guidelinesforperception
virt ual ma 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 no id th lo gy
Ant:TheDefinitiveGuide
guidelinesforinformationdisplay
Java&XML
automatedintelligenttools
PythonProgrammingonWin32 DevelopingBioinformaticsComputerSkills
(a)
(b)
Fig. 6. Metro map metaphors for (a) Train of thought network (b) Book network. Dungog Wiragulla Wallarobba Scone Hilldale Aberdeen Muswellbrook MartinsCreek Singleton Paterson Belford Branxton Mindaribba Greta Allandale Telarah Lochinvar Maitland HighStreet EastMaitland VictoriaStreet Metford Thornton Beresfield Tarro Hexham Sandgate Warabrook Waratah Hamilton
Newcastle
Civic
Wickham
Broadmeadow
Adamstown Cardiff Teralba
Kotara CockleCreek
Fassifern
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 G d l en br oo k L ap st E one m uP lai ns Pe nr ith K i ng sw oo W d er r in gt on D oo ns id R e oo ty Hi ll M tD ru itt St M ar ys
Booragul Awaba
Morisset Wyee Warnervale Wyong Tuggerah
Ourimbah
Lisarow
NiagaraPark
Narara PointClare
Gosford Tascott WoyWoy HawkesburyRiver
Koolewong Wondabyne Cowan
Berowra
Carlingford
Dundas
MtKuring-gai
MtColah Hornsby Normanhurst Thornleigh PennantHills Beecroft Cheltenham Epping Eastwood Denistone WestRyde Meadowbank Rhodes ConcordWest NorthStrathfield Strathfield
Telopea
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 ntL s 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
Asquith Waitara Wahroonga Warrawee Turramurra Pymble Gordon Killara Lindfield Roseville MilsonsPoint NorthSydney Waverton Wollstonecraft StLeonards Artarmon Chatswood Wynyard
OlympicPark
Rydalmere Camellia
Parramatta HarrisPark
Rosehill Clyde
Burwood Granville
Merrylands
Croydon
Homebush
Auburn
CircularQuay
Ashfield SummerHill
Flemington
Ja St
Guildford
m K
nd un iJ
s
io ct
e ac Pl
f lif
tin
TownHall
n
Stanmore
os Cr gs
ar
in
M
Petersham
Lidcombe
ec E dg
Berala
Fairfield
Bo
RegentsPark
es
Lewisham Yennora
Museum
Newtown Macdonaldtown
CanleyVale
ill ld
Pu
n
D ou M gl as M enan P ar en gl k M an e ac gl C ar eP am th ur ark L eu pbel m ea lto w h to n M in In gl ar eb ie ur n Fi el ds
Bargo
qu M ac
Yerrinbool
Tempe
ColoVale Mittagong Bowral Burradoo MossVale Exeter Bundanoon Penrose Wingello Tallong Marulan Goulburn
(a)
Mascot
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
HillTop
GreenSquare
Sydenham
Liverpool Picton Thirlmere Couridjah Buxton Balmoral
Central
Erskineville
StPeters
L
fto
Se rH te es ie Ch tonf gh d L ei oo aw ill ar V am rr
Ca
WarwickFarm
Y ag nc oo na hb
Cabramatta
B ow ak em H l B ir ro C ur ng am ba an ls ks W M to ps ar ne P ie B ile yP tow ric kv ark C elm ar n k ill or e e D ante ul rb ur w ic hH y ill
Redfern
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
(b)
Fig. 7. (a) Sydney Cityrail NSW network with labeling (b) Sydney Cityrail NSW network with fixed embedding.
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 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].
The Metro Map Layout Problem
491
Hikarigaoka Nerima-kasugacho
nch
Nerima Shin-egota
im ic ho
H ona
o
Toshimaen
Nakai
ba
shi
N aka no -fuj
Ochiai-minami-nagasaki
N aka no -s him
Higashi-nakano Nakano-sakaue
Sh
inna ka no
Hi ga ko shii
aka
enj Nishi-shinjuku-gochomeNishi-shinjuku
in-
Mit
Sh
Yoyogi-uehara
ko
Mi
enji
ijoj
i
nam
K ich
a ga i-as
ko
ya
Yoyogi-koen
ibu
Tocho-mae
Shibuya
Gaiemmae
O gik
ubo
N ish i-og
Shinjuku
Meiji-jingumae Shinjuku-nishiguchi
A sag
aya
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
aba
Yotsuya
nob
ra ha kai -mu i da wa ka i Hi ada iw He uka ts a ka anasu im nar hi ankos Wa
ke
Eid
Eid
ta Ko
Ushigome-yanagicho
Wa
sed
a
Ta
ka
da
Akebonobashi
Ushigome-kagurazaka
egu ro
ra za
hi aya Ic hig
kuj
bu ike shi-
Se
su
o
ong i
N aka -m
Ebi
R opp
as
nka w
a
wab
ga
ko Go
Hi
H iro-
oga Ed
K agu
ka
Akasaka
Iidabashi
i
Kokkai-gijidomae
Akasaka-mitsuke
Ike buk uro
K ojim
-san
ngi ppo Ro
ike noi on
tsu
kur ada m
n-o
Tameike-sanno
Kamiyacho
me
Shi
ho -itc
ka
K ana m
me Ta
ech
o
ach
i
o kur Nagatacho
Azabu-juban
Y ura
kuc ho
My
oga dan
i
Sa
Hanzomon
Toranomon Kasumigaseki
cho me
Akabanebashi
Shirokane-Takanawa
ho
dob a shi
oc J imb
Sui
K asus an ga
Shimbashi
Daimon Shiodome
o gur
Shintomicho
Me
m Sug o a mo Se ngo H aku ku
Takebashi
Sh a ne irok
N ish i-ta Shi ka n-ta shi ka m ada Ta shi ka m adaira shi ma ira dai N ish ra Shi mu H idai ra-s asu Shi anc ne mu hom Mo ra-s e aka toIta Ita has ue ba ba unu shi shi m -ku -ho a ya nc kus ho Shi ho n-it m N ish a ae ba i-s shi uga
G inz
a-it
a
chi
mo
miy
Shi
ka
K ora a e kue n
O ji-
-iw abu ne ba A ka
N ish O ji iga K om har H onk ago a om m e ago Tod m e aim
Kudanshita
Tsukijishijo
da i
Kachidoki
koe n ba
rim on
Shi
O na
yo Tok
ho
a chi
A wa jic
O cha no m izu
O tem
e hom o-s a nc H ong im a chi ach
Sengakuji
Takanawadai Gotanda Tatsumi
Togoshi Nakanobu
Sendagi Tsukiji
Nishi-nippori
-ok
Nijubashimae
Magome Shin-kiba
Nihombashi
Nishi-magome
Mitsukoshimae
Machiya
Mistukoshimae
Hatchobori
shi
Bakuroyokoyama Kanda
a a cho bar ma chi mm iha chi Ak oka
Suehirocho Suitengumae
kaNa
Ir iya
K ura
Ryogoku
Ueno-hirokoji
irak
i-su nam
i-sh um yos
K iba
Ki
Inaricho
N ish i-fu
Min
a
am
aw
Kikukawa
Mo ac am hi Toy nz K asa eni-gy i N oc nak oto My ho ish ach ku U ode o ray i-ka nab n s ai asu G yot uda ash nu oku i B ara ma Fun ki-n a ba aka shi yam a
Ueno
Morishita
Tawaramachi
Ts
e
ho
Hamacho
ma
Kayabacho
oc
de Ko
Asakusabashi
ngy
Shi
Ni
n-o
Min H iga ow shi a -nih om
ba
Minami-senju
Min
U eno e as
a aw
-ay
kan
a
ho i ac kar ash Ta ob Ky
K ita
-ta
biy
ho ai-c
a
Hi
nz
Mita
Toyosu Higashi-ginza
Nezu
Iwamatocho
Kita-senju
A ya kac se him a chi
Tsukishima
a ne irok
Gi
Shin-ochanomizu Yushima
Sh
aiw his Uc
Higash-ginza
Ogawamachi
Asakusa Sumiyoshi Nishi-ojima Ojima Honjoazumabashi
Kinshicho
Higashi-ojima Funabori Ichinoe Mizue
Oshiage
Shinozaki Motoyawata
Aoto
(a)
(b)
Fig. 8. (a) Tokyo metro map with labeling (b) London metro map with labeling.
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. 388–403, 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