Modeling of GIS- and LBS-specific Style Properties in SVG Documents

Thomas Brinkhoff

FH Oldenburg/Ostfriesland/Wilhelmshaven (University of Applied Sciences)
Institute for Applied Photogrammetry and Geoinformatics (IAPG)
Ofener Str. 16/19
D-26121 Oldenburg
Germany

E-mail: Thomas.Brinkhoff@fh-oldenburg.de
Web: http://www.fh-oow.de/institute/iapg/personen/brinkhoff/

Abstract

SVG has become very popular for displaying geographic data. Many Geographic Information Systems (GIS) and GIS extensions offer interfaces for exporting SVG. However, there are limitations of SVG that make its use difficult for GIS applications. These difficulties affect the adequate visual portrayal of geographic data. In a traditional GIS, it is possible to describe style properties for particular layers depending on scale ranges and other GIS-specific attributes. Position-aware mobile GIS – Location-based Services (LBS) – have further demands on the presentation of maps resulting from the varying position and orientation of the user.

Currently, there are two important specifications dealing with style properties of geographic data:

Referencing specific parts of the DOM is only supported by CSS. Regarding the filtering of geographic features according to their attributes, SLD has essential advantages. The support of conditions referring to the current state of visualization is poor in both approaches. Properties influencing the interaction are not (SLD) or are only poorly supported (CSS). Both models are not sufficient to fulfill all requirements of current GIS. Furthermore, LBS are completely ignored. Therefore, the most promising approach is to use CSS and SLD as a starting point for the development of an adequate style model for GIS and LBS.

Our declarative style model is based on SLD, but in addition we

The SLD model is augmented by elements allowing CSS selectors like the class selector and the ID selector. Further additions are pseudo-class selectors and a MediaType element. Besides of traditional media types, types like “main map” and “overview map” are possible defining different styles for simultaneously visualized maps.

The attributes of features may influence the style properties of their symbols. In addition, these properties may be affected by external parameters that are not attributes of the corresponding feature or by any feature at all. External parameters can be used by filters . Examples are: current scale, current viewport , current date and current time. In case of LBS, e.g., a time-dependent visualization of symbols could be used for changing the display at night like it is done by state-of-the-art navigation systems. Further LBS-relevant external parameters are the current location and altitude. The current speed should also influence the map visualization. For example, the selection and amount of data that a car driver can perceive depends on the speed of the car. Another important (future) property of mobile devices is its orientation.

The display property of SVG allows distinguishing between symbols existent and non-existent for the user agent. Changing display from hidden to inline , requires that the corresponding symbols are loaded. For mobile GIS application this behavior can be triggered by a change in scale and for LBS by a modified position. The definition is declarative and does not require additional scripts. Changing display from inline to hidden, allows the user agent to unload the corresponding symbols. A (un)loading depending on position and/or scale is especially important for LBS applications getting data via wireless network connections and having only restricted memory capabilities.

In addition to existing SVG attributes, other style properties are reasonable for GIS applications. Examples are the display rank, the selectivity, the highlight (like the SVG 1.2 pseudo class :highlight) and the editability of symbols (e.g. using XForms).

An important task is the integration of the style model into SVG. We propose to define the model’s rules (svggeo:Rule) as child elements of the SVG defs element. CSS rulesets refer to the rules by using a new rule declaration that specifies the identifier of the svggeo:Rule element.

Currently we expand an existing prototype of a mobile SVG viewer in order to demonstrate the suitability of our style model.