# Patent

## Title
Method for visualizing a complicated metro map in a limited displaying area

## Abstract

The prevented invention provides a method to visualize complicated metro maps in a limited displaying area, in which the route to the passenger's destination is highlighted. In order to achieve high readability, it sets 1) the distance between neighboring stations to be equal, 2) the transportation lines to lie in octilinear directions, 3) the angles of incident edges at each station to be maximized, and 4) the station positions to be inside the displaying area. It also labels the names of stations that passenger will pass by to make the route navigation easy and intuitive.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The presented invention relates to a data visualization technique, particularly, a method for visualizing a complicated metro map in a limited displaying area.
2. Description of the Related Art
The conventional technologies for visualizing traffic information in a limited displaying area (ex: mobile device) are normally based on text and tables, which are unable to present the space relationships of transportation networks. According to the theory of visual cognition, the comprehension of graphs is much more efficient than text to most people. Therefore, converting tangled numbers and text data into graphs usually provides more information to users.
There have been graph-based methods for visualizing complicated metro maps on a mobile device. However, the prior arts cannot dynamically show the transportation routes on demand but can only present static information because of the limited computational capability. In order to keep the integrity of a metro map, they present all the stations and the connected edges on the screen. However, a ticket or a mobile phone tends to be exquisite and has a small displaying area, which is hard to visualize the complicated information. The prior arts can only present partial metro maps at a time. Otherwise the station names and the graph topologies will be too small to be recognized.
Accordingly, the presented invention introduces a method to visualize a complicated metro map in a limited displaying area in order to overcome the abovementioned problems. The practical design and the detailed embodiments of the presented invention are described below.
SUMMARY OF THE INVENTION
The primary objective of the presented invention is to visualize a complicated metro map in a limited displaying area, which deforms the original metro map non-proportionally, wherein 1) the distance of neighboring stations is constrained to have an equal length, 2) each transportation route extends in an octilinear (vertical, horizontal, 45-degree or 135-degree diagonal) direction, 3) the intersected edges have equal included angles, 4) the transportation routes are dispersed and exempted from overlapping, and 5) the metro map is optimized to be clear and artistic.
Another objective of the presented invention is to visualize a complicated metro map in a limited displaying area, which prevents the relative geographic positions of the stations from changing too much during the metro map deformation.
Still another objective of the presented invention is to visualize a complicated metro map in a limited displaying area, which magnifies and highlights the route that the user will pass by lest the user confuses the focal route with other routes.
A further objective of the presented invention is to visualize a complicated metro map in a limited displaying area, which labels the station names at the optimal positions lest the labeled names overlap with each other, occlude the routes or be cropped by the screen boundaries, so that the user can read the metro map easily.
To achieve the abovementioned objectives, the presented invention introduces a method for visualizing a complicated metro map in a limited displaying area. The metro map contains a plurality of routes. Each route contains a plurality of stations. Each pair of adjacent stations is connected by an edge. The method of the presented invention comprises steps: 1) download a geographic metro map according to the start station node and the destination station node given by the user, wherein the geographic metro map contains the start and the destination station nodes and the surrounding transportation routes; 2) deform the map to have a schematic layout; 3) highlight the stations and the edges along the best route from the start station to the destination station, and 4) label names beside the stations.
Below, the detailed embodiments are described to make the objectives, technical content, characteristics and accomplishments of the presented invention easily understood.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows the flowchart of the method for visualizing a complicated metro map in a limited displaying area according to the presented invention;
FIGS. 2a-2d schematically show the results of the respective steps of a method for visualizing a complicated metro map in a limited displaying area according to one embodiment of the presented invention;
FIG. 3 schematically shows the included angles corresponding to three stations vi, vj and vk according to one embodiment of the presented invention;
FIG. 4 schematically shows a station name labeled in different orientations with the respective penalties according to one embodiment of the presented invention; and
FIG. 5 schematically shows the presentations of a metro map visualized in different resolution screens according to one embodiment of the presented invention.



DETAILED DESCRIPTION OF THE INVENTION
The presented invention introduces a method for visualizing a complicated metro map in a limited displaying area, which uses a local zooming technique to clearly display the route that the user will pass by. The user can easily understand the transportation network, especially the stations along the focal routes, without laboriously dragging the metro map. It is no doubt that instantaneity of computing a metro map is very important to passengers that are waiting for a train. The presented real-time technique can retrieve the required metro map and deform the map to fit the screen resolution in a very short time.
FIG. 1 shows the flowchart of the presented technique, which can visualize a complicated metro map in a limited displaying area. When the user inputs the start and the destination stations, our system downloads the metro map and magnifies the stations and the connected edges along the route from the start station to the destination station. The remaining routes are then shrunk to save the space. In addition, it schematizes the metro map layout to make the information visualization easily. The method of the presented invention includes the following steps.
Step S10: download the geographic metro map containing the start and the destination station nodes from a database or network.
Step S12: deform the original metro map to fully utilize the limited displaying area, wherein the edges and the stations that the user will pass by are magnified, and the others are minified.
We take the map with geographic station positions as a reference and apply the deformation technique to relocate each station. Formally, we denote the map by a graph G={V, E}, where V={v0, v1, . . . , vn}, n is the number of stations, vi=(vi,x, vi,y)∈R2 is the node denoting the geographic station position and E is the set of connecting edges. We call the edges on the route of a passenger focal edges and the others contextual edges. To achieve focus+context visualization, the focal edges are magnified while the contextual edges are shortened to retain the whole map persisting in the bounding space. In addition to highlighting the focal edges, we also constrain the deformed layout to satisfy the characteristics of a metro map. Specifically, we formulate the constraints such as regular edge lengths and equal angles of incident edges into energy terms. Our goal is to find the unknown station positions that can minimize the objective function while the edges are untouched. Since the introduced constraints such as the edge magnification and the boundary condition may conflict with each other, we solve for the unknown node positions in a least squares sense.
To achieve high regularity, we enforce the lengths of focal and contextual edges to be Dα and Dβ (Dα>Dβ), respectively. By doing this step, the geographic distance between each pair of neighboring stations would apparently disappear. However, we believe the actual distance does not mean too much to passengers because travel time of neighboring stations is usually short in an urban city. To implement this idea, we minimize




  
    
      
        
          
            Ω
            l
          
          =
          
            
              ∑
              
                
                  {
                  
                    i
                    ,
                    j
                  
                  }
                
                ∈
                E
              
            
            ⁢
            
              
                
                
                  
                    (
                    
                      
                        v
                        i
                        ′
                      
                      -
                      
                        v
                        j
                        ′
                      
                    
                    )
                  
                  -
                  
                    
                      s
                      ij
                    
                    ⁢
                    
                      
                        R
                        ij
                      
                      ⁡
                      
                        (
                        
                          
                            v
                            i
                          
                          -
                          
                            v
                            j
                          
                        
                        )
                      
                    
                  
                
                
              
              2
            
          
        
        ,
        
          

        
        ⁢
        
          
            v
            i
            ′
          
          ∈
          
            V
            ′
          
        
        ,
        
          
            s
            ij
          
          =
          
            D
            
              
              
                
                  v
                  i
                
                -
                
                  v
                  j
                
              
              
            
          
        
        ,
        
          

        
        ⁢
        
          
            R
            ij
          
          =
          
            [
            
              
                
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    
                      θ
                      ij
                    
                  
                
                
                  
                    
                      -
                      sin
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      θ
                      ij
                    
                  
                
              
              
                
                  
                    sin
                    ⁢
                    
                      
                    
                    ⁢
                    
                      θ
                      ij
                    
                  
                
                
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    
                      θ
                      ij
                    
                  
                
              
            
            ]
          
        
        ,
      
    
    
      
        (
        1
        )
      
    
  




where θij is the unknown rotation angle and D={Dα, Dβ} depends on whether or not the edges should be magnified. Clearly, the scaling factor sij is applied to constrain the edge lengths. The rotation Rij allows each edge to rotate because the geographic transportation networks are usually jaggy and we expect the deformed metro map to be smooth.

In order to distinguish different lines at a station vi, the included angles of incident edges should be identical. To implement this idea, we set each included angle of neighboring edges {i, j} and {i, k} to θ=2π/f, where f is the number of edges sharing vi. Since the edges are assumed to have an identical length and the included angle θ is known, we achieve this aim by preserving the relative positions of vi, vj and vk. Specifically, denote by N(i) the neighboring edges sharing vi, we introduce the energy term




  
    
      
        
          
            
              Ω
              m
            
            =
            
              
                ∑
                
                  
                    v
                    i
                    ′
                  
                  ∈
                  
                    V
                    ′
                  
                
              
              ⁢
              
                
                  ∑
                  
                    
                      {
                      
                        
                          {
                          
                            i
                            ,
                            j
                          
                          }
                        
                        ,
                        
                          {
                          
                            i
                            ,
                            k
                          
                          }
                        
                      
                      }
                    
                    ∈
                    
                      N
                      ⁡
                      
                        (
                        i
                        )
                      
                    
                  
                
                ⁢
                
                  
                    
                    
                      
                        v
                        i
                        ′
                      
                      -
                      
                        (
                        
                          
                            v
                            j
                            ′
                          
                          +
                          
                            u
                            jk
                            ′
                          
                          +
                          
                            
                              tan
                              ⁡
                              
                                (
                                
                                  
                                    π
                                    -
                                    θ
                                  
                                  2
                                
                                )
                              
                            
                            ⁢
                            
                              u
                              jk
                              ′
                            
                          
                        
                        )
                      
                    
                    
                  
                  2
                
              
            
          
          ,
          
            

          
          ⁢
          where
        
        ⁢
        
          

        
        ⁢
        
          u
          jk
          ′
        
        =
        
          
            1
            2
          
          ⁢
          
            
              (
              
                
                  v
                  k
                  ′
                
                -
                
                  v
                  j
                  ′
                
              
              )
            
            .
          
        
      
    
    
      
        (
        2
        )
      
    
  




This constraint also can preserve the straightness of each transportation line because θ=π when there are only two incident edges. In this case,





  
    tan
    ⁡
    
      (
      
        
          π
          -
          θ
        
        2
      
      )
    
  
  =
  0




and Eq. 2 becomes





  
    
      
        
          Ω
          m
        
        =
        
          
            ∑
            
              
                v
                i
                ′
              
              ∈
              
                V
                ′
              
            
          
          ⁢
          
            
              ∑
              
                
                  {
                  
                    i
                    ,
                    j
                  
                  }
                
                ,
                
                  
                    {
                    
                      i
                      ,
                      k
                    
                    }
                  
                  ∈
                  E
                
              
            
            ⁢
            
              
                
                
                  
                    v
                    i
                    ′
                  
                  -
                  
                    
                      1
                      2
                    
                    ⁢
                    
                      (
                      
                        
                          v
                          j
                          ′
                        
                        +
                        
                          v
                          k
                          ′
                        
                      
                      )
                    
                  
                
                
              
              2
            
          
        
      
    
    
      
        (
        3
        )
      
    
  




so that we can enforce vi′, vj′ and vk′ to be collinear.

Since Ωm and Ωl represent only the relative node positions, we need at least one positional constraint to determine the map position. Therefore, we slightly enforce each node close to its original position because our goal is to deform the metro map. This constraint provides the basic geographic guidance to the objective function, such that our method will not place the north station at the south during the deformation. Therefore, we give the energy term




  
    
      
        
          Ω
          g
        
        =
        
          
            ∑
            
              
                v
                i
                ′
              
              ∈
              
                V
                ′
              
            
          
          ⁢
          
            
              
                
                
                  
                    v
                    i
                    ′
                  
                  -
                  
                    v
                    i
                  
                
                
              
              2
            
            .
          
        
      
    
    
      
        (
        4
        )
      
    
  




In addition to Ωm, Ωl, and Ωg, the optimization of a metro map should retain the deformed nodes inside the bounding space and prevent the edges that have no sharing nodes from intersection. To achieve the boundary condition, we expect the x and y coordinates of each node to be within the specified range. To avoid the edge intersections, we prevent the distance of a node vi′ and an edge {j, k} from being too close. That is, we minimize

Ω=Ωm+wlΩl+wgΩg 

xmin<vi,x′<xmax,ymin<vi,y′<ymax 

vi′−pjk′≧ε,vi′∈V′,{j,k}∈E  (5)

to compute the deformed map, where wl and wg are the weighting factors used to compromise the importance of different criteria; p′jk=rv′j+(1−r)v′k is the closest point of edge {j,k} to vi′; 0≦r≦1 is the combination ratio that can be obtained from the point line theory; and (xmin, ymin) and (xmax, ymax) are the top left and bottom right corners of the bounding space, respectively.

After Step S12, the original metro map shown in FIG. 2a is converted into the deformed version shown in FIG. 2b. 
Step S14: perform an optimization process to schematize route directions.
We schematize the edge directions based on the deformed smooth metro map. Namely, we rotate each deformed edge vi′-vj′ to have the nearest octilinear direction and solve the optimization again. Formally, we give the energy term




  
    
      
        
          
            
              Ω
              o
            
            =
            
              
                ∑
                
                  
                    {
                    
                      i
                      ,
                      j
                    
                    }
                  
                  ∈
                  E
                
              
              ⁢
              
                
                  
                  
                    
                      (
                      
                        
                          
                            v
                            ~
                          
                          i
                        
                        -
                        
                          
                            v
                            ~
                          
                          j
                        
                      
                      )
                    
                    -
                    
                      f
                      ⁡
                      
                        (
                        
                          
                            v
                            i
                            ′
                          
                          -
                          
                            v
                            j
                            ′
                          
                        
                        )
                      
                    
                  
                  
                
                2
              
            
          
          ,
          
            

          
          ⁢
          where
        
        ⁢
        
          

        
        ⁢
        
          
            
              v
              ~
            
            i
          
          ,
          
            
              
                v
                ~
              
              j
            
            ∈
            
              V
              ~
            
          
          ,
        
      
    
    
      
        (
        6
        )
      
    
  




and ƒ is the function that rotates the edge to the closest octilinear direction. We denote by wo the weighting factor of Ωo and minimize Ωg+woΩo subject to the boundary conditions and the edge intersection constraints, which are similar to those in Eq. 5, to obtain the schematic metro map. Note that Ωm and Ωl are not included in this step because f(vi′-vj′) already implies regular lengths and the right directions.

Next, we explain how we minimize the objective function 52 to solve for the deformed node positions V′. Similarly, the octilinearized node positions {tilde over (V)} can be obtained using this approach. We transform Ωm, Ωl and Ωg into a linear system AV′=b(V′) and solve for the deformed node positions in a matrix form. Because the constraints are more than the unknowns, the coefficient matrix A is overdetermined. Thus, we compute the node positions V′=(ATA)−1ATb′ in a least squares sense.
Note that the rotation matrix Rij in Eq.1 is unknown, and the boundary conditions and the edge intersection constraints are inequalities. We solve this non-linear optimization using the Gaussian Newton method, in which the node positions V′ and the edge rotations Rij are updated iteratively. That is, we consider Rij as additional unknown variables and solve V′ and Rij alternatingly. The system starts the optimization by setting Rij as an identity matrix and solves for V′ by computing the linear system. It then updates Rij by computing the rotation angle θij that rotates the edge vi-vj to vi′-vj′. The integrated energy decreases as V′ and Rij are updated. We repeat this procedure until the solution converges.
To ensure the nodes moving within the bounding space, we also check whether or not the coordinates of vi′∈V′ within (xmin, ymin) and (xmax, ymax) in each iteration. If vi violates the boundary condition, we add an additional energy term




  
    
      
        
          
            Ω
            b
          
          ⁡
          
            (
            
              v
              i
              ′
            
            )
          
        
        =
        
          {
          
            
              
                
                  
                    
                    
                      v
                      
                        i
                        ,
                        x
                      
                      ′
                    
                    
                  
                  2
                
              
              
                
                  
                    v
                    
                      i
                      ,
                      x
                    
                    ′
                  
                  <
                  0
                
              
            
            
              
                
                  
                    
                      
                      
                        
                          v
                          
                            i
                            ,
                            x
                          
                          ′
                        
                        -
                        
                          x
                          max
                        
                      
                      
                    
                    2
                  
                  ,
                
              
              
                
                  
                    if
                    ⁢
                    
                      
                    
                    ⁢
                    
                      v
                      
                        i
                        ,
                        x
                      
                      ′
                    
                  
                  >
                  
                    x
                    max
                  
                
              
            
            
              
                
                  
                    
                    
                      v
                      
                        i
                        ,
                        y
                      
                      ′
                    
                    
                  
                  2
                
              
              
                
                  
                    v
                    
                      i
                      ,
                      y
                    
                    ′
                  
                  <
                  0
                
              
            
            
              
                
                  
                    
                    
                      
                        v
                        
                          i
                          ,
                          y
                        
                        ′
                      
                      -
                      
                        y
                        max
                      
                    
                    
                  
                  2
                
              
              
                
                  
                    v
                    
                      i
                      ,
                      y
                    
                    ′
                  
                  >
                  
                    y
                    max
                  
                
              
            
          
        
      
    
    
      
        (
        7
        )
      
    
  




to enforce the node sliding along the respective boundary lines. On the other hand, to avoid edge intersections, we set the edge-node distance to ε if the edge {j, k} and the node vi′ are too close. Since pjk′ is linear in vj′ and vk′ (see Eq. 5), we can obtain its combination ratio r in the previous step and minimize





  
    
      
        
          
            
              
                Ω
                c
              
              ⁡
              
                (
                
                  v
                  
                    i
                    ->
                    jk
                  
                  ′
                
                )
              
            
            =
            
              
                
                
                  
                    (
                    
                      
                        v
                        i
                        ′
                      
                      -
                      
                        p
                        jk
                        ′
                      
                    
                    )
                  
                  -
                  
                    
                      δ
                      
                        i
                        ->
                        jk
                      
                    
                    ⁡
                    
                      (
                      
                        
                          v
                          i
                        
                        -
                        
                          p
                          jk
                        
                      
                      )
                    
                  
                
                
              
              2
            
          
          ,
          
            

          
          ⁢
          where
        
        ⁢
        
          

        
        ⁢
        
          
            
              p
              jk
            
            =
            
              
                r
                ·
                
                  v
                  j
                
              
              +
              
                
                  (
                  
                    1
                    -
                    r
                  
                  )
                
                ·
                
                  v
                  k
                
              
            
          
          ,
          
            

          
          ⁢
          
            
              δ
              
                i
                ->
                jk
              
            
            =
            
              ɛ
              
                
                
                  
                    v
                    i
                  
                  -
                  
                    p
                    jk
                  
                
                
              
            
          
          ,
        
      
    
    
      
        (
        8
        )
      
    
  




to retain the minimal distance ε between vi′ and pjk′. Because {j, k} and vi′ are only preserved to have at least ε length, two edges may still intersect with each other if the distances of four endpoints are large. Nevertheless, we can assume that edge intersections do not exist in the original map and check if this error occurs when updating the node positions V′. We set V′=V+(V′−V)/2 iteratively until the updated graph satisfies the edge intersection constraints. After Step S14, the deformed smooth metro map shown in FIG. 2b is optimized to be the one shown in FIG. 2c. 

Step S16: label the names of focal stations that the user will pass by.

We label the names of focal stations after the schematic layout is obtained. To simplify the map complexity, we require the labels to lie in octilinear directions, denoted by L={east, west, north, south, north-east, south-east, south-west, north-west}. Our goal is to prevent the label occlusions while encouraging neighboring labels to be placed coherently. To implement this idea, we introduce energy terms to measure the niceness of each label position according to preference, visibility, and consistency. We then solve for the optimal label positions H={h0, h1, . . . , hm}, where m is the number of focal stations, by minimizing the following energy terms.
Preferential Position.
Although a label can be placed at any position in L, people tend to prefer some positions to others. To satisfy this constraint, we assign smaller energies to the preferential positions such that they have higher priorities to be chosen. FIG. 4 shows the label position hi∈H with the corresponding energies Ψp(hi) used in the presented invention.
Label Occlusions.
Occlusions would dramatically decrease label readability. Thus, we represent each label hi as a quad qi and apply the quad to detect if hi intersects the other labels or if it is cropped by the screen. Specifically, we set the energy of the label-to-label intersection




  
    
      
        
          
            Ψ
            q
          
          ⁡
          
            (
            
              
                h
                i
              
              ,
              
                h
                j
              
            
            )
          
        
        ⁢
        
          {
          
            
              
                1
              
              
                
                  if
                  ⁢
                  
                    
                  
                  ⁢
                  
                    q
                    i
                  
                  ⁢
                  
                    
                  
                  ⁢
                  intersects
                  ⁢
                  
                    
                  
                  ⁢
                  
                    q
                    j
                  
                
              
            
            
              
                0
              
              
                
                  else
                  ,
                
              
            
          
        
      
    
    
      
        (
        9
        )
      
    
  




where i, j denote arbitrary node indices. Similarly, we set the label-to-label boundary energy Ψb(hi, hj)=1, if qi intersects any one of the boundary lines. Otherwise, we set Ψb(hi, hj)=0.

Spaciousness.
To avoid occlusions and to achieve aesthetics, visual masses are encouraged to be of equal weights. We thus label station names at spacious regions. In addition to detecting intersections between nodes, edges, and labels, we expect additional spaces between them. When creating focus+context layouts, this constraint is only applied to the focal edges because the contextual edges do not contain crucial information. To define how spacious the label position is, for each label hi, we magnify its represented quad qi two times longer along the extending direction and denote it as qqi. We then detect where qqi intersects nodes or edges and introduce the energy term




  
    
      
        
          
            Ψ
            e
          
          ⁡
          
            (
            
              h
              i
            
            )
          
        
        =
        
          {
          
            
              
                
                  1
                
                
                  
                    t
                    <
                    0.5
                  
                
              
              
                
                  
                    1
                    -
                    
                      2
                      ⁢
                      
                        (
                        
                          t
                          -
                          0.5
                        
                        )
                      
                    
                  
                
                
                  
                    
                      if
                      ⁢
                      
                        
                      
                      ⁢
                      t
                    
                    >
                    0.5
                  
                
              
              
                
                  0
                
                
                  
                    t
                    >
                    1
                  
                
              
            
            ,
            
              

            
            ⁢
            
              t
              =
              
                
                  
                  
                    
                      c
                      i
                    
                    -
                    
                      
                        v
                        ~
                      
                      i
                    
                  
                  
                
                
                  qq
                  
                    i
                    ,
                    d
                  
                
              
            
            ,
          
        
      
    
    
      
        (
        10
        )
      
    
  




where ci is the closest intersection point to the node {tilde over (v)}i and qqi,d is the diagonal length of qqi.

Coherence.
We expect the labels to appear at coherent positions to improve readability. In this scenario, people can read the labels sequentially without switching their attention. The coherence makes our focus+context map more intuitive. Thus, we add the energy term




  
    
      
        
          
            Ψ
            s
          
          ⁡
          
            (
            
              
                h
                i
              
              ,
              
                h
                j
              
            
            )
          
        
        =
        
          {
          
            
              
                
                  0
                
                
                  
                    
                      if
                      ⁢
                      
                        
                      
                      ⁢
                      
                        h
                        i
                      
                    
                    =
                    
                      h
                      j
                    
                  
                
              
              
                
                  1
                
                
                  else
                
              
            
            ,
            
              

            
            ⁢
            
              
                where
                ⁢
                
                  

                
                ⁢
                
                  {
                  
                    i
                    ,
                    j
                  
                  }
                
              
              ∈
              E
            
          
        
      
    
    
      
        (
        11
        )
      
    
  




to enforce neighboring labels to be placed at the same position.

To satisfy all the aforementioned criteria, we integrate the energy terms and search for the set H of label positions that minimizes




  
    
      
        Ψ
        =
        
          
            
              ∑
              
                
                  h
                  i
                
                ∈
                H
              
            
            ⁢
            
              
                (
                
                  
                    
                      w
                      p
                    
                    ⁢
                    
                      
                        Ψ
                        p
                      
                      ⁡
                      
                        (
                        
                          h
                          i
                        
                        )
                      
                    
                  
                  +
                  
                    
                      w
                      b
                    
                    ⁢
                    
                      
                        Ψ
                        b
                      
                      ⁡
                      
                        (
                        
                          h
                          i
                        
                        )
                      
                    
                  
                  +
                  
                    
                      w
                      e
                    
                    ⁢
                    
                      
                        Ψ
                        e
                      
                      ⁡
                      
                        (
                        
                          h
                          i
                        
                        )
                      
                    
                  
                
                )
              
              ⁢
              
                
                  ∑
                  
                    
                      h
                      i
                    
                    ,
                    
                      
                        h
                        j
                      
                      ∈
                      H
                    
                  
                
                ⁢
                
                  
                    w
                    q
                  
                  ⁢
                  
                    
                      Ψ
                      q
                    
                    ⁡
                    
                      (
                      
                        
                          h
                          i
                        
                        ,
                        
                          h
                          j
                        
                      
                      )
                    
                  
                
              
            
          
          +
          
            
              ∑
              
                i
                ,
                
                  j
                  ∈
                  E
                
              
            
            ⁢
            
              
                w
                s
              
              ⁢
              
                
                  Ψ
                  s
                
                ⁡
                
                  (
                  
                    
                      h
                      i
                    
                    ,
                    
                      h
                      j
                    
                  
                  )
                
              
            
          
        
      
    
    
      
        (
        12
        )
      
    
  




The weighting factors are specified to indicate the importance of each term. We set wp=ws=1, we=wq=10 and wb=20 to all our experimental results. Given that the screen of a mobile device is small, the labels shown in our focus+context map should be large in contrast to the layout, which is very different to a general metro map. This requirement, however, makes the occlusion preservation more challenging, especially when there are many focal edges in a complicated map. We set wb to the largest value because labels must appear in the screen. In contrast, the nodes, edges, and labels are potentially occluded if long station names are displayed in a complicated map.

The presented invention deforms the metro map according to the screen resolutions. In FIG. 5, a screen is rotated by 90 degrees. In such case, the metro map is optimized to have different appearances and the labels may extend in different orientations.
In conclusion, the presented invention introduces a method to visualize a complicated metro map in a limited displaying area, wherein 1) the deformed metro map is schematic, 2) the focal edges that the user will pass by are magnified to have Dα length while the contextual edges are shrunk to have Dβ length, 3) the included angles of incident edges are enforced to be equal so as to disperse routes, 4) each route is straightened and extended in an octilinear direction, 5) the focal stations are labeled with the names, 6) the metro map is optimized to have an esthetic appearance, and 7) the metro map can be visualized in a limited displaying area so that the user can understand the transportation network easily without manually dragging it.
The embodiments described above exemplify but does not limit the scope of the presented invention. Any equivalent modification or variation according to the characteristic or spirit of the presented invention also is included within the scope of the presented invention.

## Claims

1. A method for visualizing a metro map in a limited displaying area, wherein said metro map contains a plurality of routes, each said route has a plurality of station nodes, each pair of adjacent station nodes are connected by an edge, and said method comprises the steps:
a. download a geographic metro map covering a focal route and neighboring transportation networks, the focal route being defined by a start station node and a destination station node that are given by a user, the focal route having a set of focal station nodes including said start station node, said destination station node, and focal edges connecting the focal station nodes, the neighboring transportation networks including contextual routes having contextual station nodes and contextual edges connecting the contextual station nodes;
b. selectively magnify focal station nodes and said connecting focal edges, said focal edges within said focal route being magnified to have a predetermined length greater than a length of the contextual edges outside of said focal route, and deform said focal and contextual routes to generate a smooth metro map;
c. rotate said focal and contextual routes to lie in octilinear directions; and
d. selectively label only station nodes of said focal route with identifying names.

2. The method for visualizing a metro map in a limited displaying area according to claim 1, wherein said edges which are adjacent are encouraged to have identical directions.

3. The method for visualizing a metro map in a limited displaying area according to claim 1, wherein said station node that is connected with a plurality of said edges is enforced to have identical included angles.

4. The method for visualizing a metro map in a limited displaying area according to claim 3, wherein said station node that has only two connected edges is constrained to be collinear with adjacent station nodes respectively connected via said two connected edges thereto.

5. The method for visualizing a metro map in a limited displaying area according to claim 1, wherein each station node is within the space boundaries, and said edges that have no sharing station nodes do not intersect.

6. The method for visualizing a metro map in a limited displaying area according to claim 1, wherein said edges are rotated to be vertical, horizontal 45-degree, or 135-degree diagonal to obtain a schematic layout.

7. The method for visualizing a metro map in a limited displaying area according to claim 1, wherein a Gaussian Newton method is used to solve non-linear optimization, and said stations' positions and said edge orientations are iteratively updated to deform said metro map.

8. The method for visualizing a metro map in a limited displaying area according to claim 1, wherein said station nodes and said focal edges that the user will pass by are highlighted via magnification and said contextual edges are demagnified.

9. The method for visualizing a metro map in a limited displaying area according to claim 1, wherein an optimal orientation of each station label is computed by minimizing penalties that are measured from preference, consciousness and occlusion of said station nodes.

10. The method for visualizing a metro map in a limited displaying area according to claim 9, wherein a quadrangle is computed based on said label, and said quadrangle is used to check whether or not said label intersects other labels.

11. The method for visualizing a metro map in a limited displaying area according to claim 10, wherein a quadrangle having double length extending in one of its directions relative to another direction is used to check whether or not said label overlaps said station nodes or said connecting edges.

12. The method for visualizing a metro map in a limited displaying area according to claim 1, wherein neighboring labels of said station nodes have an identical orientation.

13. The method for visualizing a metro map in a limited displaying area according to claim 1, wherein said geographic metro map is downloaded from a database or network.