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).
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 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...