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.