A method based on graphic entity for visualizing complex map symbols on the web.

Author:Zhang, Jinqu


Map symbols are used to represent objects or geographic phenomena in the real world; they play an increasingly important role in web-mapping applications (Kresse and Danko 2011). With the development of computer and information technology, geographic information system (GIS) has been widely used in various fields. Different fields of applications require different symbol libraries, and existing GIS symbol libraries may not contain the specific symbols used by professionals in various fields. The need to expand GIS symbol libraries, coupled with the existence of popular WebGIS-rich applications and an increasing availability of spatial data, leads to an urgent demand for more efficient symbolization methods for vector-based web mapping.

As in the icon-based visualization technique (Zhang and Pazner 2004, 2007), two types of map symbols static and dynamic symbols--are used. For both types, the use of complex symbols is unavoidable. A complex symbol can be dynamic or static and cannot be drawn simply by using points, lines, and polygons. Usually, symbols are pre-defined in a desktop GIS and then published using an Internet Map Server. Although this method can display complex symbols, it has problems on the client side when it is used for interactive symbolization. In the past, interactive map symbol visualization was attempted by using SVG technologies (Zaslavsky 2000; Wang, Li, and Yin 2007; Zhang, Li, and Yin 2012). The complex description of symbols in SVG hinders the application and development of SVG in web mapping (Antoniou and Morley 2008).

However, the Internet and the wide use of "rich Internet applications (RIAs)" (O'Rourke 2004) made it possible to apply and change map symbols dynamically according to users' wishes. Map application programming interfaces (APIs) were released by third parties to meet the demand for interactive symbolization at the client. For example, the Environmental Systems Research Institute (ESRI) offers various APIs for web application development on various platforms, including an ArcGIS API for JavaScript, ArcGIS API for Flex, and ArcGIS API for Silverlight. Each of these APIs can retrieve vector-based data; render them on the fly; and enable the user to create highly interactive, visually rich, and expressive web mappings (Schnabel and Humi 2009). However, visualization of complex symbols remains problematic. GIS software currently on the market provides a rich variety of map symbols. Yet, they often do not meet the needs of professional fields, such as geological disaster mapping. Consequently, many mapmakers have created their own map symbols, including dynamic symbols for animated maps of aggregate data about acquired immune deficiency syndrome incidence (MacEachren and DiBiase 1991), cartographic symbols used for planetary mapping (Nass et al. 2010), and situation symbols in emergency thematic cartography (Wang, Wu, and Gong 2006; Li et al. 2011). These thematic applications above are dependent on the GIS software and lack interactivity in symbol visualization in web applications. Robinson et al. (2013) developed a web-based symbol store and an interactive tool for sharing point symbols, which provided a good solution for sharing map symbols. Auer et al. (2011) developed the symbology and a symbol-scaling method for representing spatial-temporal data in the client, but the method still could not handle complex map symbols.

Currently, Internet-based maps are the major form of spatial information delivery (Peterson 2008). They are especially useful in delivering geological hazard information due to their intuitive, interactive, and dynamic appearance which guides and assists the user in solving complex geospatial analysis problems (Andrienko and Andrienko 1999). Geological disasters such as landslides, ground fissures, and floods have endangered human life for a long time. Many complex symbols may be needed to map different geological disaster points.

In this article, we present a method based on graphic entity for visualizing map symbols. The method was developed to (1) simplify the design process of vector-based complex symbols; (2) promote the sharing and reuse of map symbols, and (3) improve the efficiency of online interactive symbolization.

Method based on graphic entity

There are three main traditional methods for drawing map symbols: (1) using a vector data rendering engine embedded in Internet Explorer (IE); (2) using custom bitmap patterns or icons for point symbols and as a fill pattern for polygons; and (3) using an API provided by HTML5 canvas or a third party, such as ESRI's ArcGIS API for Flex or the Google Maps API. The first method is limited to drawing simple symbols; if complex symbols are attempted, this becomes a very complicated and time-consuming task. Custom bitmaps (method 2) can express complex symbols; however, the symbols will have serrated edges when the user zooms in. With regard to the third method, we were unable to identify a better solution for changing symbols interactively. This section presents the method based on graphic entity and its use for complex symbols' mapping. Different from the graphic primitives described with the coordinates, a graphic entity is a compound of such basic graphic objects as polylines, rectangles, and arcs. It can also be in the form of a recursive set of entities. A graphic entity can be used as a symbol independently or can be used for synthesizing much more complex symbols. The method based on graphic entity has three parts, including a graphic entity library, symbol synthesizer, and symbols specifications (Figure 1).

Graphic entity library

Making complex map symbols is time-consuming. The graphic entity library provides a mechanism for sharing graphic entities. Different from step-by-step drawing, the complex map symbols are created by a combination of graphic entities retrieved from the library. Graphic entities produced using external visual tools are stored in a library, with each entity having a unique number. The entities in the library are shared and can be reused. Different complex symbols can use the same graphic entity, which reduces the need to reproduce the same symbol.

Symbol synthesizer

Symbol synthesizer is a function box with interfaces providing capabilities of combining multiple graphic entities into one compound map symbol (Figure 1). This map symbol may be in Shockwave Flash (swf), Scalable Vector Graphics (svg), jpg, gif, or other format that can be directly used in a web-mapping application. The synthesizer performs the following tasks: (1) retrieval of graphic entities from the library and locating them in the right place and order; (2) rendering graphic entities with appropriate colors; (3) adjusting the display size of each graphic entity; and (4) adding animation effects to dynamic map symbols. The symbol synthesizer receives synthesis specifications...

To continue reading