A Method for Generating Variable-Scale Maps for Small Displays

: With the rapid development of the internet and information technology, visualization techniques for mobile and interactive web maps have developed di ﬀ erent requirements. Small screens make it di ﬃ cult to simultaneously present information details and the surrounding context. Aiming at this problem, this paper proposes a novel variable-scale method that can allow users to properly specify the size, shape, and number of the focus area(s). Our method ﬁrst establishes a hierarchical data structure for representing geographic data and then the client-side can request and represent the information according to only the operational command input by users. Experimental results show that this method can realize the variable-scale representation of real geographic data on a single screen. It can e ﬀ ectively solve the contradiction between a small-screen display and a large quantity of information.


Introduction
The internet and information technology create opportunities to conveniently access massive quantities of geographic data [1]. There is also an increasing demand for improvement in the processing and analysis of geographic data for identifying the implicit information and knowledge. Visualization of spatial data has gradually developed into an important technology of information processing for promoting the scientific understanding of spatial data and discovering high-level knowledge [2,3]. Although many visualization techniques have been developed for exploring and analyzing the vast quantities of geographical data, mobile devices (e.g., smartphones, tablets) with small screens have difficulty in displaying the context information of target areas within a single screen. Web maps, as a common method for presenting geographical information, are widely used by various users. Different users have different requirements on the detail degree of feature descriptions for different applications. It is necessary to propose a new method for generating vector web maps that can present geographical data at different levels of detail to meet the demand of different types of users in favor of search, navigation, and reducing cognitive load on the web. Cognitive load refers to the load on working memory during the process of understanding what it seen. Efficiently using people's limited cognitive processing capacity can contribute to acquiring more useful knowledge [4].
Due to the low efficiency of viewing small-screen mobile devices, many solutions have been proposed for visualizing the vast quantities of geographical data on relatively small screens and allowing users to obtain focused and contextual views of a data set simultaneously [5][6][7][8][9][10][11][12][13][14][15]. These methods can be roughly divided into two categories. In the first category, to achieve multiscale representation of geographical data, users can browse maps of different scales by switching the display windows [6,7] or utilizing the zooming interface [8], but the focused and contextual views are segregated and cannot be observed simultaneously [9]. Users need to spend more mental effort and time integrating the two ISPRS Int. J. Geo-Inf. 2020, 9,  views to understand geographical relationships between geographic elements. The other category is the variable-scale map method, which can represent geographical data at a variable scale [8][9][10][11][12][13]. It usually emphasizes important content and ignores other things. The scale of the area of interest is larger than that of other areas, so that different parts of the whole map have different scales. The former approach allows users to zoom in or out to view the map at different scales and has been widely used in many map services (e.g., Google Maps and Baidu Maps). Through the server caches tile map, many GIS companies have improved the response capability of the map service system to enhance the experience of the client user [16]. Based on various research results, the Open Geospatial Consortium (OGC) has officially launched the Web Map Tile Service (WMTS) for serving digital maps over the web using cached image tiles. However, the frequent zoom in/out and pan operations may lead to users losing the geographical relationships between geographic elements that are located in the focus area and its surrounding context. Contemporary cognitive psychology considers that users usually want the whole structure of information to be visible when obtaining detailed information [17].
Because their thoughts will be interrupted by frequent commits, the efficiency of retrieving the needed information will decrease. To integrate the distinct views, users require spend more mental effort and time. The variable-scale map method can integrate the focus area and its surrounding context into a single screen. The focus area is magnified, but it is different from screen magnifiers provided for people with low vision. The basic screen magnifier enlarges information on the screen, and the details of symbols can be seen clearly. The map space of the focus area is enlarged, and thus, more map content can be displayed. Information outside of the focus area is roughly represented. The remainder of the paper is organized as follows: Section 2 reviews related work. Section 3 describes the geometry transformation model of the proposed method which includes area division of the map and transformation functions. Section 4 describes a method for establishing the hierarchical data structure of the variable-scale map and determining how many map symbols can be displayed in different areas. To illustrate the effect of the proposed method, some experiments are shown and discussed in Section 5. Finally, Section 6 presents the conclusions of this paper.

Related Work
There is a large body of literature on techniques for the visualizing of data on small screens. To improve multiscale map design, Marionet et al. [7] identified the factors in the design of map content and style that have a significant influence on the exploration of information and knowledge. Furnas [9] first proposed the concept of the fisheye-view with an enlarged focus area, which allows users to zoom in on the focus area to emphasize the information of interest while the topological relations between spatial objects remain visible on a small screen. However, there are excessively large distortions on the map, which makes it difficult for users to use the map. Subsequently, Harrie et al. [10] proposed a variable-scale map method in which the focus area is represented by a fixed large scale and the scales of the context area decrease along the radial direction. The drawback to this approach is that the entire area of the map is distorted and the border of the map is visual clutter, which increases cognitive load for users. Ai and Liang [11] applied a variable-scale map to personal navigation service using small-display mobile devices. More recently, Yamamoto et al. [12] proposed the Focus+Glue+Context map method to reduce the loss of useful information by specifying a glue area to absorb all distortions. To reduce the density of roads in the glue area, this method displays only those roads between the focus area and the context area. There is no reasonable consideration for maintaining the spatial distribution pattern of real geographic data. Benjamin et al. [15] used focus+context maps to implement the displacement of labels by fisheye projections, which largely improves the legibility of the map.

Variable-Scale Representations of Geographic Data
This paper proposes a new method for automatically generating a variable-scale map that can offer multiple levels of information to different types of users. The basic idea of the proposed method is to establish a hierarchical data structure for representing geographic data first on the server-side and then display a reasonable quantity of data on the client-side. Unlike existing variable-scale map methods, our method can provide a detailed representation of the focus area and roughly represent the glue and context area. In addition, it can minimize map distortion and achieve smooth, continuous transitions in real-time operation. The process of generating variable-scale maps has two pivotal steps: dividing the map into different areas and establishing a hierarchical data structure for representing geographic data. In this section, we describe the first step.

Area Division of the Variable-Scale Map
Determining the scale of different areas of maps is an important step in generating variable-scale maps. The area of interest is represented in detail, and the rest of the areas are roughly represented. There are two different division methods for dividing the map into different areas to be represented by different scales. The method [10] divides the map into two parts. As shown in Figure 1a, the focus area is represented by a fixed large scale, while the content outside of the focus area remains unchanged, which achieves the effect that the object is large when near and small when far. However, there is a problem with this model: when the scale is reduced to a certain value, the content outside the focus area become cluttered, and the geographical targets and the geographical relations between geographical targets cannot be recognized. The Focus+Glue+Context map divides the map into the focus, glue, and context areas. As shown in Figure 1b, the focus area displays relevant information on a large scale, which enables users to acquire details about the focus area. The context area displays the surrounding information of the target area at a smaller scale, which can help users view the overall structure of the map and consult geographical relations. In addition, users can specify a glue area between the focus area and the context area that can absorb all the distortion. To reduce the density of features in the glue area, only part of the features can be displayed. Directions and shapes of features in the glue area are distorted, but features between the focus area and the context area should be maintained to preserve connectivity. Compared with the classical variable-scale map methods, the Focus+Glue+Context map [12] can maintain an enlarged focus area while the context remains unchanged to reduce the loss of useful information. Therefore, our method uses this method of dividing the map to generate a variable-scale map. This paper proposes a new method for automatically generating a variable-scale map that can offer multiple levels of information to different types of users. The basic idea of the proposed method is to establish a hierarchical data structure for representing geographic data first on the server-side and then display a reasonable quantity of data on the client-side. Unlike existing variable-scale map methods, our method can provide a detailed representation of the focus area and roughly represent the glue and context area. In addition, it can minimize map distortion and achieve smooth, continuous transitions in real-time operation. The process of generating variable-scale maps has two pivotal steps: dividing the map into different areas and establishing a hierarchical data structure for representing geographic data. In this section, we describe the first step.

Area Division of the Variable-Scale Map
Determining the scale of different areas of maps is an important step in generating variable-scale maps. The area of interest is represented in detail, and the rest of the areas are roughly represented. There are two different division methods for dividing the map into different areas to be represented by different scales. The method [10] divides the map into two parts. As shown in Figure  1a, the focus area is represented by a fixed large scale, while the content outside of the focus area remains unchanged, which achieves the effect that the object is large when near and small when far. However, there is a problem with this model: when the scale is reduced to a certain value, the content outside the focus area become cluttered, and the geographical targets and the geographical relations between geographical targets cannot be recognized. The Focus+Glue+Context map divides the map into the focus, glue, and context areas. As shown in Figure 1b, the focus area displays relevant information on a large scale, which enables users to acquire details about the focus area. The context area displays the surrounding information of the target area at a smaller scale, which can help users view the overall structure of the map and consult geographical relations. In addition, users can specify a glue area between the focus area and the context area that can absorb all the distortion. To reduce the density of features in the glue area, only part of the features can be displayed. Directions and shapes of features in the glue area are distorted, but features between the focus area and the context area should be maintained to preserve connectivity. Compared with the classical variable-scale map methods, the Focus+Glue+Context map [12] can maintain an enlarged focus area while the context remains unchanged to reduce the loss of useful information. Therefore, our method uses this method of dividing the map to generate a variable-scale map.

The Coordinate Transformation of Spatial Data
As shown in Figure 2, is the fixed center point of the focus area. The focus area is a circular area with radius 0 , where data are shown at a fixed larger scale . When the radius is larger than

The Coordinate Transformation of Spatial Data
As shown in Figure 2, O is the fixed center point of the focus area. The focus area is a circular area with radius r 0 , where data are shown at a fixed larger scale s l . When the radius is larger than r 1 , the data are shown on a fixed smaller scale. When the radius is larger than r 0 and smaller than r 1 , the scale decreases along the radius direction and it can be approximately expressed as a decreasing function of the radial distance. First, we transform a road network from the geographic space (Cartesian coordinates) to the polar coordinates, and then we can apply the following radial transformation functions to the real data to keep the scale continuous over the whole map: where f (r) is decreasing function in the zone [r 0 , r 1 ].
ISPRS Int. J. Geo-Inf. 2020, 9, x FOR PEER REVIEW 4 of 15 function of the radial distance. First, we transform a road network from the geographic space (Cartesian coordinates) to the polar coordinates, and then we can apply the following radial transformation functions to the real data to keep the scale continuous over the whole map: Where ( ) is decreasing function in the zone [ 0 , 1 ].

The Shape and the Number of Focus Area
In the application of the variable-scale map, the focus areas of a map are of different sizes and shapes. The proposed method should allow users to choose the size, number and shape of the focus area(s).
(1) Shape of the focus area Different distribution patterns reflect the mechanism of the form of cities and how they are designed and developed [18]. For example, the grid pattern (the geometric shape of the grid pattern is rectangular) is a very typical spatial pattern [19]. If all shapes of the focus areas are set in a circle, the rectangular pattern is no longer rectangular, and the spatial relations of features are somewhat distorted, which increases the user's cognitive load and difficulty of use. If visualization results can maintain the distribution pattern of geographical data, it can help users obtain spatial information quickly and effectively. Different target areas have different shapes. Moreover, the sizes of different target areas are also not fixed. If the radius of the focus area is smaller than the target area, the entire target area cannot be properly shown in the focus area so that users cannot obtain details of the entire target area. Conversely, if the radius of the focus area is larger than the target area, the glue and context area will be sharply reduced and become cluttered. Therefore, it is necessary to allow users to adjust the shape of the focus area flexibly according to the practical distribution features of the target area, which can reduce many unnecessary distortions and improve the map reading quality. Figure 3a-c shows that the shape of the focus area as a circle, rectangle and ellipse.

The Shape and the Number of Focus Area
In the application of the variable-scale map, the focus areas of a map are of different sizes and shapes. The proposed method should allow users to choose the size, number and shape of the focus area(s).
(1) Shape of the focus area Different distribution patterns reflect the mechanism of the form of cities and how they are designed and developed [18]. For example, the grid pattern (the geometric shape of the grid pattern is rectangular) is a very typical spatial pattern [19]. If all shapes of the focus areas are set in a circle, the rectangular pattern is no longer rectangular, and the spatial relations of features are somewhat distorted, which increases the user's cognitive load and difficulty of use. If visualization results can maintain the distribution pattern of geographical data, it can help users obtain spatial information quickly and effectively. Different target areas have different shapes. Moreover, the sizes of different target areas are also not fixed. If the radius of the focus area is smaller than the target area, the entire target area cannot be properly shown in the focus area so that users cannot obtain details of the entire target area. Conversely, if the radius of the focus area is larger than the target area, the glue and context area will be sharply reduced and become cluttered. Therefore, it is necessary to allow users to adjust the shape of the focus area flexibly according to the practical distribution features of the target area, which can reduce many unnecessary distortions and improve the map reading quality. Figure 3a-c shows that the shape of the focus area as a circle, rectangle and ellipse.
(2) Number of focus areas In some cases, users need to search multiple areas to confirm a route that passes through multiple destinations. In addition, some geographical phenomena are generally made from multiple centers. Accordingly, to better demonstrate geographical information, multiple focus areas should be allowed to look for multiple destinations on a single map. A variable-scale map method enables users to obtain details they care about and the surrounding context within a single screen. However, the distribution density and distribution pattern of real geographical data are varied. If two different target areas with very different distribution densities are magnified equally, it will cause users to misinterpret the situation. Therefore, to improve map clarity and avoid any further risk of confusion, it is necessary to account for the density of the target area when determining the scale of the focus area and allow users to interactively change the radius of the focus area. Figure 4 shows the map with two focus areas. (2) Number of focus areas In some cases, users need to search multiple areas to confirm a route that passes through multiple destinations. In addition, some geographical phenomena are generally made from multiple centers. Accordingly, to better demonstrate geographical information, multiple focus areas should be allowed to look for multiple destinations on a single map. A variable-scale map method enables users to obtain details they care about and the surrounding context within a single screen. However, the distribution density and distribution pattern of real geographical data are varied. If two different target areas with very different distribution densities are magnified equally, it will cause users to misinterpret the situation. Therefore, to improve map clarity and avoid any further risk of confusion, it is necessary to account for the density of the target area when determining the scale of the focus area and allow users to interactively change the radius of the focus area. Figure 4 shows the map with two focus areas.

Adaptive Representation Strategy of Variable-Scale Map
The visual effect of the map is one of key indicators for evaluating map quality. A good visual effect can help users better understand information to navigate more effectively. The focus area of the variable-scale map is magnified, and more details can be displayed. However, the map space of the glue area is reduced, and the geographical elements overlap obviously. The high density of features could lead to geographical relationships between geographic elements being difficult to identify. To ensure the clarity and readability of the map, the number of map symbols should be reduced. Accordingly, real-time generalization and adaptation to user interaction are needed for variable-scale maps. Geographical elements with low importance should be abandoned. However, the large quantity of data would reduce the speed of generating maps significantly because of the limited computing capability and storage space of the device; thus, it is necessary to reduce the computational load. The importance of features can be recognized through generalization algorithms in advance, and then a hierarchical structure for representing geographical data can be  (2) Number of focus areas In some cases, users need to search multiple areas to confirm a route that passes through multiple destinations. In addition, some geographical phenomena are generally made from multiple centers. Accordingly, to better demonstrate geographical information, multiple focus areas should be allowed to look for multiple destinations on a single map. A variable-scale map method enables users to obtain details they care about and the surrounding context within a single screen. However, the distribution density and distribution pattern of real geographical data are varied. If two different target areas with very different distribution densities are magnified equally, it will cause users to misinterpret the situation. Therefore, to improve map clarity and avoid any further risk of confusion, it is necessary to account for the density of the target area when determining the scale of the focus area and allow users to interactively change the radius of the focus area. Figure 4 shows the map with two focus areas.

Adaptive Representation Strategy of Variable-Scale Map
The visual effect of the map is one of key indicators for evaluating map quality. A good visual effect can help users better understand information to navigate more effectively. The focus area of the variable-scale map is magnified, and more details can be displayed. However, the map space of the glue area is reduced, and the geographical elements overlap obviously. The high density of features could lead to geographical relationships between geographic elements being difficult to identify. To ensure the clarity and readability of the map, the number of map symbols should be reduced. Accordingly, real-time generalization and adaptation to user interaction are needed for variable-scale maps. Geographical elements with low importance should be abandoned. However, the large quantity of data would reduce the speed of generating maps significantly because of the limited computing capability and storage space of the device; thus, it is necessary to reduce the computational load. The importance of features can be recognized through generalization algorithms in advance, and then a hierarchical structure for representing geographical data can be established in the order of importance on the server-side, which can increase the speed of

Adaptive Representation Strategy of Variable-Scale Map
The visual effect of the map is one of key indicators for evaluating map quality. A good visual effect can help users better understand information to navigate more effectively. The focus area of the variable-scale map is magnified, and more details can be displayed. However, the map space of the glue area is reduced, and the geographical elements overlap obviously. The high density of features could lead to geographical relationships between geographic elements being difficult to identify. To ensure the clarity and readability of the map, the number of map symbols should be reduced. Accordingly, real-time generalization and adaptation to user interaction are needed for variable-scale maps. Geographical elements with low importance should be abandoned. However, the large quantity of data would reduce the speed of generating maps significantly because of the limited computing capability and storage space of the device; thus, it is necessary to reduce the computational load. The importance of features can be recognized through generalization algorithms in advance, and then a hierarchical structure for representing geographical data can be established in the order of importance on the server-side, which can increase the speed of generating maps. Therefore, our method first evaluates and records the importance of geographical data, and then the client-side only needs to retrieve and display a reasonable number of geographic elements. This paper takes points of interest (POIs) and roads as the research objects.

The Data Structure for a Variable-Scale Map
The essence of organizing geographic data in a hierarchical structure is to rank the geographic elements in order of importance. Therefore, the hierarchical structure of geographic data can be established by recording the intermediate state of map generalization.

Establish a Hierarchical Data Structure for Point Data
The point data selection refers to selecting important points from larger scale maps to smaller maps, and thus the selection process can serve as ranking. Point data selection is a spatial neighborhood relationship problem in computation geometry. During map generalization, the main distribution patterns of point clusters should be retained. Many methods have been proposed to simplify point data [20][21][22]. Delaunay triangulation (DT), which is the dual graph of the Voronoi diagram, is a powerful tool in the computational geometry domain for proximity analysis between spatial objects [23]. Ai and Liu [21] proposed an iterative method for simplifying the point data based on Voronoi diagrams. Therefore, our method uses this model to rank the point data to establish the hierarchical structure. Initially, we assume that a given point set P A {p 1 ,p 2 ,p 3 . . . p n }, where p n represents a point and n is the number of points. P B is an empty set. Lp min is the smallest scale. The detailed procedure consists of the following steps: Step 1: Construct a Voronoi diagram for the point set P A . Each Voronoi polygon contains a point, and the area of the Voronoi polygon of each point can be calculated to represent its occupied space. As shown in Figure 5, the occupied space of the point is usually smaller where points are densely distributed; thus, more points should be deleted in the simplification process. The importance value of the point can be determined according to the area of its Voronoi polygon.
The essence of organizing geographic data in a hierarchical structure is to rank the geographic elements in order of importance. Therefore, the hierarchical structure of geographic data can be established by recording the intermediate state of map generalization.

Establish a Hierarchical Data Structure for Point Data
The point data selection refers to selecting important points from larger scale maps to smaller maps, and thus the selection process can serve as ranking. Point data selection is a spatial neighborhood relationship problem in computation geometry. During map generalization, the main distribution patterns of point clusters should be retained. Many methods have been proposed to simplify point data [20][21][22]. Delaunay triangulation (DT), which is the dual graph of the Voronoi diagram, is a powerful tool in the computational geometry domain for proximity analysis between spatial objects [23]. Ai and Liu [21] proposed an iterative method for simplifying the point data based on Voronoi diagrams. Therefore, our method uses this model to rank the point data to establish the hierarchical structure. Initially, we assume that a given point set { 1 , 2 , 3 … }, where represents a point and is the number of points. is an empty set. is the smallest scale. The detailed procedure consists of the following steps: Step 1: Construct a Voronoi diagram for the point set . Each Voronoi polygon contains a point, and the area of the Voronoi polygon of each point can be calculated to represent its occupied space. As shown in Figure 5, the occupied space of the point is usually smaller where points are densely distributed; thus, more points should be deleted in the simplification process. The importance value of the point can be determined according to the area of its Voronoi polygon.
Step 2: The points in set are ranked in the order of the importance; then, the point with the lowest importance 1 is deleted from set and stored into set . The first-order neighbors of point 1 are marked as "fixed", and these points should skip the next iteration of deletion.
Step 3: If the number of retained points in set is greater than or equal to , the Step 2 is repeated. Otherwise, the retained points are ranked in order of the importance value.
Step 4: If only the "fixed" points are left in set , this round for simplifying strokes is performed. Then unfix all the "fixed" points and repeat Step 2 and Step 3 until the number of remaining points is close to .  Step 2: The points in set P A are ranked in the order of the importance; then, the point with the lowest importance p 1 is deleted from set P A and stored into set P B . The first-order neighbors of point p 1 are marked as "fixed", and these points should skip the next iteration of deletion.
Step 3: If the number of retained points in set P A is greater than or equal to Lp min , the Step 2 is repeated. Otherwise, the retained points are ranked in order of the importance value.
Step 4: If only the "fixed" points are left in set P A , this round for simplifying strokes is performed. Then unfix all the "fixed" points and repeat Step 2 and Step 3 until the number of remaining points is close to Lp min .
The storage order of points in set P B denotes the order of importance of points, and the remaining points in set P A are of the highest importance.

Establish a Hierarchical Data Structure for Road Networks
Similar to the procedure for ranking the point data, the road selections refer to the process of selecting road segments according to their importance. Various methods have been proposed [24][25][26][27]. Among them, the stroke-based method using strokes as the selection unit is an effective approach to maintain the distribution pattern of road networks because the topological, geometric, semantic and spatial distribution information of road networks can be considered. More specifically, the strokes are first constructed according to predefined rules [26] and then the Delaunay triangulation model is used to analyze the proximity relations between strokes for iterative deletion, as shown in Figure 6. Finally, we evaluated the importance of the stroke in the priority order of level, connectivity and length. Initially, we assume a given road network R A {s 1 , s 2 ,s 3 . . . s n }, where p n represents a stroke and n is the number of strokes. P B is an empty set. Lr min is the smallest scale. The detailed procedure consists of the following steps: selecting road segments according to their importance. Various methods have been proposed [24][25][26][27]. Among them, the stroke-based method using strokes as the selection unit is an effective approach to maintain the distribution pattern of road networks because the topological, geometric, semantic and spatial distribution information of road networks can be considered. More specifically, the strokes are first constructed according to predefined rules [26] and then the Delaunay triangulation model is used to analyze the proximity relations between strokes for iterative deletion, as shown in Figure 6. Finally, we evaluated the importance of the stroke in the priority order of level, connectivity and length. Initially, we assume a given road network { 1 , s 2 , 3 ... }, where represents a stroke and is the number of strokes. is an empty set. is the smallest scale. The detailed procedure consists of the following steps: Step 1: Construct a Delaunay triangulation for the road network { 1 , 2 , 3 ... } and then evaluate the importance of the stroke in the priority order of level, connectivity and length; Step 2: Rank the strokes in set in order of importance value. Delete the stroke 1 with the lowest importance value from and store it in set . All the first-order neighbors of stroke 1 are marked as "fixed", and these strokes should skip the next iteration of deletion.
Step 3: When the number of strokes in set is greater than or equal to , repeat the first and second Step 2; otherwise, rank the retained strokes in order of the importance value.
Step 4: If only the "fixed" strokes are left in set , this round for simplifying strokes is performed. Then, unfix all the "fixed" strokes, and repeat Step 2 and Step 3 until the number of remaining strokes is close to . The storage order of stokes in set can serve as the order of importance of stroke in the variable-scale map, and the strokes in set are of the highest importance.

The Number of Symbols at Different Areas
After the hierarchical data structure is established, the key is to determine how many map symbols can be displayed in different areas. It is clear that the map space of the focus area is enlarged and the map space of the glue area is reduced. As a result, the focus area can display more map symbols and not all the geographic elements on the glue and context area can be represented. The ability of obtaining information from maps at a time is limited. Overlapped map symbols make it difficult to obtain useful information. Users cannot fully understand the information of the corresponding areas when map content is not enough. The radical law or the law of selection [28] was proposed for the relationship between the numbers of symbols at different scales of representation: Step 1: Construct a Delaunay triangulation for the road network R A {s 1 , s 2 , s 3 . . . s n } and then evaluate the importance of the stroke in the priority order of level, connectivity and length; Step 2: Rank the strokes in set R A in order of importance value. Delete the stroke s 1 with the lowest importance value from R A and store it in set R B . All the first-order neighbors of stroke s 1 are marked as "fixed", and these strokes should skip the next iteration of deletion.
Step 3: When the number of strokes in set R A is greater than or equal to Lr min , repeat the first and second Step 2; otherwise, rank the retained strokes in order of the importance value.
Step 4: If only the "fixed" strokes are left in set R A , this round for simplifying strokes is performed. Then, unfix all the "fixed" strokes, and repeat Step 2 and Step 3 until the number of remaining strokes is close to Lr min .
The storage order of stokes in set R B can serve as the order of importance of stroke in the variable-scale map, and the strokes in set R A are of the highest importance.

The Number of Symbols at Different Areas
After the hierarchical data structure is established, the key is to determine how many map symbols can be displayed in different areas. It is clear that the map space of the focus area is enlarged and the map space of the glue area is reduced. As a result, the focus area can display more map symbols and not all the geographic elements on the glue and context area can be represented. The ability of obtaining information from maps at a time is limited. Overlapped map symbols make it difficult to obtain useful information. Users cannot fully understand the information of the corresponding areas when map content is not enough. The radical law or the law of selection [28] was proposed for the relationship between the numbers of symbols at different scales of representation: where N a and N b are the number of map symbols on the source and target map, respectively, and M a and M b are the scale denominators of the map at the source and target map, respectively. Furthermore, ∆N b is the number of symbol changes caused by scale change and is computed as: It can be seen from equation (5) that the number of symbols changes with scale in a nonlinear way. Figure 7a shows that the geographical data are represented by a fixed scale and Figure 7b shows that the geographical data are represented by a variable-scale. As shown in Figure 7b, the shape of the focus area is a circle. The green circle drawn by the bold line represents the focus area, and the outside of the green circle drawn by the thin line represents the inner border of the context area. The focus area is magnified, and the details of the focus area are shown. More roads and points are displayed. Red points and lines are newly added contents. Because the map space of the glue area between the focus area and the context area is reduced, the information with lower importance should be abandoned to reduce the visual clutter. As shown in Figure 7b, gray points and lines represent the roads and points with low importance that should be abandoned.
where and are the number of map symbols on the source and target map, respectively, and and are the scale denominators of the map at the source and target map, respectively. Furthermore, △ is the number of symbol changes caused by scale change and is computed as: It can be seen from equation (5) that the number of symbols changes with scale in a nonlinear way. Figure 7a shows that the geographical data are represented by a fixed scale and Figure 7b shows that the geographical data are represented by a variable-scale. As shown in Figure 7b, the shape of the focus area is a circle. The green circle drawn by the bold line represents the focus area, and the outside of the green circle drawn by the thin line represents the inner border of the context area. The focus area is magnified, and the details of the focus area are shown. More roads and points are displayed. Red points and lines are newly added contents. Because the map space of the glue area between the focus area and the context area is reduced, the information with lower importance should be abandoned to reduce the visual clutter. As shown in Figure 7b, gray points and lines represent the roads and points with low importance that should be abandoned.

Data Information and Preprocessing
To further validate the feasibility of the proposed method, we apply it to real geographic data provided by the Geomatics Center of Shenzhen. The proposed method as mentioned above includes data processing and data rendering. The data processing algorithm is implemented in Python. After the hierarchical data structure is established, D3.js is used to generate a map in SVG format on the browser side. It is a JavaScript library for data visualization. Compared with raster-based data formats, SVG images are popular vector graphics formats that can scale to different sizes smoothly without any loss in quality. Figure 8a represents the geographical data displayed at a fixed small scale on which roads and POIs are only represented roughly. As an example take a tourist that queries an interactive road map to find points of interest (e.g. restaurants, museums, etc.) in his or her near surroundings. When users want to get the detailed geographical information regarding transportation and the location of POIs around a metro station, this result obviously cannot meet the needs of users. So we should provide detailed information about the target area to users. When users choose a command to enlarge the target area and move the mouse over the metro station, the mouse position is set to the center point of the focus area and the map symbols dynamically increase with the increasing of the scale. More detailed information about the target area can be obtained. Figure 8b presents the variable-scale representation result generated by the proposed method which has achieved the purpose of increasing the contents. As shown in Figure 8b, the metro station entrances are marked in detail. The detailed distribution of POIs (e.g., restaurants and shops) and roads near the metro station are displayed. The thin yellows lines represent the added roads. Figure 8c presents the size of the focus area is smaller. Figure 8d presents the shape of the focus area is rectangular.

Data Information and Preprocessing
To further validate the feasibility of the proposed method, we apply it to real geographic data provided by the Geomatics Center of Shenzhen. The proposed method as mentioned above includes data processing and data rendering. The data processing algorithm is implemented in Python. After the hierarchical data structure is established, D3.js is used to generate a map in SVG format on the browser side. It is a JavaScript library for data visualization. Compared with raster-based data formats, SVG images are popular vector graphics formats that can scale to different sizes smoothly without any loss in quality. Figure 8a represents the geographical data displayed at a fixed small scale on which roads and POIs are only represented roughly. As an example take a tourist that queries an interactive road map to find points of interest (e.g. restaurants, museums, etc.) in his or her near surroundings. When users want to get the detailed geographical information regarding transportation and the location of POIs around a metro station, this result obviously cannot meet the needs of users. So we should provide detailed information about the target area to users. When users choose a command to enlarge the target area and move the mouse over the metro station, the mouse position is set to the center point of the focus area and the map symbols dynamically increase with the increasing of the scale. More detailed information about the target area can be obtained. Figure 8b presents the variable-scale representation result generated by the proposed method which has achieved the purpose of increasing the contents. As shown in Figure 8b, the metro station entrances are marked in detail. The detailed distribution of POIs (e.g., restaurants and shops) and roads near the metro station are displayed. The thin yellows lines represent the added roads. Figure 8c presents the size of the focus area is smaller. Figure 8d presents the shape of the focus area is rectangular. As mentioned earlier, users often want to obtain detailed information about multiple target areas. Therefore, our method allows users to create multiple enlarged focus areas and change the positions and shapes of the focus areas. As shown in Figure 9b, the locations of the two metro stations are specified focus areas. When the geographical data are displayed at a fixed scale, to ensure the clarity and readability of the map, the map shows only the locations of metro stations, as shown in Figure 9a. After the scales of the focus areas are enlarged, the metro station entrances are marked in detail. The detailed distribution of the POIs (e.g., restaurants and shops) and roads near the two metro stations are all displayed, which can help users plan a route between the two stations. Because the scale of the glue area is reduced, POIs with low importance are removed.

Experimental Results
Too many map symbols result in visual clutter and confusion, and the required spatial information cannot be obtained. A lack of map content may create excess white space and users cannot obtain comprehensive spatial information. A proper number of map symbols can greatly improve map legibility and help users read the map better. Compared to Figure 8a As mentioned earlier, users often want to obtain detailed information about multiple target areas. Therefore, our method allows users to create multiple enlarged focus areas and change the positions and shapes of the focus areas. As shown in Figure 9b, the locations of the two metro stations are specified focus areas. When the geographical data are displayed at a fixed scale, to ensure the clarity and readability of the map, the map shows only the locations of metro stations, as shown in Figure 9a. After the scales of the focus areas are enlarged, the metro station entrances are marked in detail. The detailed distribution of the POIs (e.g., restaurants and shops) and roads near the two metro stations are all displayed, which can help users plan a route between the two stations. Because the scale of the glue area is reduced, POIs with low importance are removed.
(a) Too many map symbols result in visual clutter and confusion, and the required spatial information cannot be obtained. A lack of map content may create excess white space and users cannot obtain comprehensive spatial information. A proper number of map symbols can greatly improve map legibility and help users read the map better. Compared to Figure 8a, 22, 24 and 12 newly added POIs are displayed in the focus area in Figure 8b-c. The results show that our method can make full use of the map space and improve the quality of maps.

Conclusions
This paper proposes a method for dynamically generating variable-scale maps according to users' demands. The main contributions of our method are as follows. First, we design and implement a hierarchical data structure for representing geographic data to achieve smooth, continuous transitions in practical applications. Second, after the hierarchical data structure is established on the server-side, the client-side can request and represent the information according to only the operational command input by users. In addition, compared with previous methods, our method divides the map into three areas where both the focus area and the context area are displayed on a fixed scale and the glue area is displayed on a variable scale, which helps users acquire both focused and contextual views of information within a single screen, and more details that users are immediately concerned with can be shown. In interactive rendering, users can control the level of detail by defining the scales, number and shapes of the focus areas. Experimental results demonstrated that the proposed method can increase map content and help users consult much more information on a small screen to improve the readability and usability of maps. Moreover, resolution in small devices is today comparable with computer screens of not so long ago. Our

Conclusions
This paper proposes a method for dynamically generating variable-scale maps according to users' demands. The main contributions of our method are as follows. First, we design and implement a hierarchical data structure for representing geographic data to achieve smooth, continuous transitions in practical applications. Second, after the hierarchical data structure is established on the server-side, the client-side can request and represent the information according to only the operational command input by users. In addition, compared with previous methods, our method divides the map into three areas where both the focus area and the context area are displayed on a fixed scale and the glue area is displayed on a variable scale, which helps users acquire both focused and contextual views of information within a single screen, and more details that users are immediately concerned with can be shown. In interactive rendering, users can control the level of detail by defining the scales, number and shapes of the focus areas. Experimental results demonstrated that the proposed method can increase map content and help users consult much more information on a small screen to improve the readability and usability of maps. Moreover, resolution in small devices is today comparable with computer screens of not so long ago. Our method is also applicable to desktop solutions or tablets, in particular if the area covered by the map is really big.
Although we believe the proposed method is effective and reliable in practice, there are still some limitations in several aspects. First, we only allowed users to specify a few simple geometric shapes, which are difficult to apply to special target areas with complex shapes. In addition, when establishing the hierarchical data structure for representing geographic data, there has been almost no consideration for other possible factors. In certain situations, when judging the importance of POIs such as hospitals, schools and government offices, we need to consider the administrative level or integrate the context information. Moreover, the user preference should be considered; that is, the kinds of information to be shown need to integrate the specific needs of users.