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