A visual editor for OGC SLD files for automating the configuration of

A visual editor for OGC SLD files for automating the configuration of
A visual editor for OGC SLD files for automating
the configuration of WMS and mobile map
Albrecht Weiser and Alexander Zipf
i3mainz - Institute for Spatial Information and Surveying Technology
Department of Geoinformatics and Surveying
University of Applied Sciences FH Mainz, Germany
1 Introduction
The OGC Styled Layer Descriptor (SLD) specification [OGC 2003] allows
describing the design and contents of a map – in particular a map served
by a SLD-WMS – in a formal way through the use of a strict XML
schema. The specification is getting more and more used and supported by
several implementations of Web Map Servers. But SLD still has some
weaknesses – especially for use in LBS, see e.g. [Brinkhoff 2004]. We
present here the first implementation of a mobile map application (mobile
city guide running on a PDA), that uses the SLD specification as configuration of the mobile map. On the other hand in LBS or UbiGIS maps need
to be generated dynamically taking a lot of further factors into account – in
particular also attributes describing the current user, the situation and general context [Zipf 2002, Reichenbacher 2004, Meng et al. 2004, Zipf and
Jöst 2006]. In order to use this kind of parameter and information in an
automated map service on the internet or on mobile devices we need also
formal representations for this type of information – e.g. also as XML
files. Then we need to combine the information from this context models
and the base map which is represented through a SLD file to automatically
generate adapted maps according to those parameters. The result is again
Albrecht Weiser and Alexander Zipf
an SLD file describing the adapted map, which then can be used within a
request to an SLD-enabled WMS or a mobile application that supports
SLD. So the first task is to generate the SLD for the base map. In order to
automate the task of designing maps for Web Map Servers or mobile map
applications we introduce a free software tool called ArcMap2SLDGenerator (http://arcmap2sld.geoinform.fh-mainz.de/). This tool is helpful
as it allows generating a valid SLD-file from the design of a map within
ESRI ArcMap. The resulting SLD in turn can act as a base for further
modifications through user or context models in order to generate useradapted map representations as SLD [Zipf 2005] in a standard-conformant
2 The OGC SLD Specification - a formal representation of
The OGC Styled Layer Descriptor Specification [OGC 2002] defines a
XML schema to describe the appearance of the layers of a map. A SLD
document is a XML file that can be validated against this model. SLDs are
getting more popular in web mapping applications with the growing availability for SLD support in WMS. But until recently these SLDs are more
or less hand-made or application specific. But as SLDs provide the means
to specify the look of map in a domain and vendor-neutral way, it is a good
choice for a formal representation of maps in general.
The question is now how to go beyond these hand-made SLDs and generate these in an automated way using open standards predominantly. This
is a technical question and can be solved using a software tool we have developed. This tool is a SLD generator for ESRI ArcMap maps. This can be
used not only in WMS requests or for configuring WMSs (as in the case of
the deegree WMS), but also when producing vector based maps in SVG.
Merdes et al. [2005] present an example of using SLD and GML from
WFS requests with a cascade of several XSL- transformations in order to
generate a SVG map from GML and SLD. It has been shown how this can
be extended to include user and context models in order to generated useradapted SLD files in a generic way (Zipf 2005). First we will briefly introduce our application that generates SLD files from existing maps in commercial desktop GIS. Then we explain the results of an evaluation of SLD
support by two major WMS implementations (UMN and ArcIMS) and afterwards we introduce the concept of SLD for mobile maps and present a
first implementation of SLD support within mobile map applications for
A visual editor for OGC SLD files
3 The ArcMap2SLD Converter
In this section we want to explain the functionality and the benefits of the
The first question is: What is this tool designed for at all? The answer is
that it was developed mainly for supporting the setup of a WMS. When
setting up a WMS it is much work to write the code for the symbolization
prescription of the configuration file. If you want to set up a large project
with various layers and many classes, by far the most effort is to code the
hundreds (or even thousands) of lines of the symbolization prescription. So
the question arises how this can be automated in order to minimize such
work? The optimal case would be if one could reuse the effort and work,
that was already invested in setting up a project and designing a map with
a common desktop GIS. This would allow to take the power of desktop
GIS supporting the symbolization process also for Web-based maps. If it
would be possible to analyze the symbolization of a map in a desktop GIS
and automatically transform the information into a SLD, the most timeconsuming activity in setting up a WMS could be saved.
In order to realize and evaluate this approach we developed a tool for
converting the symbolization of an ArcMap project into the SLD format.
This so called ArcMap2SLD-converter analyzes the symbolization of an
ArcMap-project by stepping through each layer of the map and each class
of each layer. Then it stores the symbol properties along with further properties of each layer as well as the overall project in an internal data structure. This allows a very dynamic analysis also of the complex symbol objects of ArcMap such as MultiLayer-symbols. After finishing the analysis,
all data stored in these data structures can be transformed into SLD and
exported into a SLD-file. It is also possible to check the validity of the resulting SLD by integrating the relevant SLD schema-files from the OGC.
The SLD can then be referenced by the WMS in the reqest-URL. The following example shows this approach:
The reason to take the ArcGIS system from ESRI as starting point was
its widespread distribution as market leader in the GIS market and the
abundance of existing maps designed already with ArcMap. For this reason a large number of GIS user can participate the benefits of the ArcMap2SLD-converter. Some of the technical design parameters of the
ArcMap2SLD-Converter are mentioned below:
Albrecht Weiser and Alexander Zipf
• The application was developed in Visual Basic.NET
• It uses the ArcObjects framework from ESRI for accessing ArcGISfunctionalities
• The navigation in the SLD-file is performed by XPath (XML Path Language)
• Syntactic changes of the SLD specification can be adjusted in a configuration file
3.1 Implementing the ArcMap2SLD-converter
The many possibilities how to classify maps are supported by ArcObjects
through a comprehensive internal data model. This model is the ESRI „ArcObjects“ class library (Burke 2003). The interfaces of the library present
the functionality of the respective classes. This allows to use the properties
and methods of the library through any programming language supporting
the Microsoft .Net-platform. According to the options how to classify
maps in ArcMap the following Renderer-types are supported in Arc
1. SimpleRenderer
2. UniqueValueRenderer
3. ClassBreaksRenderer
≈ Single symbol (Features)
≈ Unique values (Categories)
≈ Graduated colors, Graduated symbols
4. ProportionalSymbolRenderer ≈ Proportional symbols (Quantities)
5. DotDensityRenderer
≈ Dot density (Quantities)
6. ChartRenderer
≈ Charts
7. BiUniqueValueRenderer ≈ Quantity by Category (Multiple
ArcObjects supports also five main symbol types with several symbol
subtypes. The latter are TextSymbol, MarkerSymbol, LineSymbol, FillSymbol and 3DchartSymbol.
The converter realized currently supports the most important means of
thematic classification within ArcMap:
• Features (Single Symbol)
• Categories (Unique values; Unique values, many fields)
• Quantities (Graduated colors)
Further Marker-, Line- and Polygon-features are also supported by the
application as well as text-symbols. Even multilayer-symbols are supported for these features. Multilayer-symbols are able to depict complex
A visual editor for OGC SLD files
symbolization like the filling of an area with repeating patterns. MultiLayer-Symbols can aggregate a number of symbols of the same main symbol type. Each symbol can be aggregated from several symbols, e.g. polygon symbols can include line symbols or marker symbols.
In order to use the converter we need to have ArcGIS installed on a running ArcMap-Session with the project open that includes the map to be
transformed. The converter application is designed to minimize user interactions and to achieve a maximum of automatization.
• All symbols present in the current ArcMap map are exported into internal software structures
• All render-types of ArcObjects have been implemented that can be used
in SLD currently. These are: UniqueValueRenderer (incl. many fields) /
SimpleRenderer / ClassBreaksRenderer
• Not yet fully implemented are: ChartRenderer/ DotDensityRenderer /
ProportionalSymbolRenderer / ScaleDependentRenderer
The following visualization properties are already implemented for the
individual feature classes:
• Point-Feature: colour, dot-size, angle of rotation
• Line-Feature: colour, line width
• Polygon-Feature:
- One colour area filling:
area colour, line colour and line width of border
- Point filling:
Point colour, point size, line colour and line width of border
- Cross hatch:
Line colour and line width of the hatching, vertical and diagonal angle of hatching, line colour and line width of border
The visualization of Multilayer-symbols as two-layer symbols has also
been implemented. We support only two layers in Multilayer-symbols so
far as the current WMS implementations such as UMN are not able to
process more than two-layers in Multilayer- symbols at the moment. In order to label the symbols in the legend for every rule of a symbol the titleelement is included. Line hatching as well as the use of bitmaps for area
fillings are currently not yet supported.
Albrecht Weiser and Alexander Zipf
Fig. 1. Process of designing a map in ArcMap and exporting it to a SLD document. The latter can be used to configure WMS servers or MainzMobile or to issue user-specific requests to SLD Web Map Services.
4 Evaluating the SLD support of WMS servers
In order to evaluate the possibilities of representing the visual appearance
of maps with SLD on current WMS servers we conducted several tests using the generated SLDs. The goal was to answer the following four main
1. How good is the support of the evaluated test servers (UMN, ArcIMS) for the SLD specificatin?
2. What possibilites to style maps does the current specification offer?
The main aspects looked at included:
- Symbolizer (Point-, Line-, PolygonSymbolizer)
- Complex area fillings with hatchings and point fillings
- Classifications using filter and logical operators
3. What further extensions to the converter are usefull?
A visual editor for OGC SLD files
4. What configurations are needed in order to make the evaluated test
server visualise the SLD the best way (according to their respective
One of the results of applying the generated SLD file to the UMN WMS
can be seen in figure 2, which compares the map to the original ArcMap
display. One can recognize from figure 2 that it is still not possible to
achieve 100% the same look using the WMS on the one hand and the
original ArcMap map on the other, but a very good compromise can be
achieved. Where does the different look come from? The fact is, that SLD
is still standard in development. Its contents increases step by step during
the suggestions of its members. For example until now SLD still has no
possibilities to generate a vector-based hatching for polygons, because the
SLD-element Graphic of the SLD-element PolygonSymbolizer has only
two successor-elements: Mark and ExternalGraphic. This implies that
SLD can only generate vector-based area filling patterns with marker symbols because a successor-element Line is missing at present. Among others
this is a reason for the different looks of the source map and the resulting
map. Nevertheless, SLD is sufficiently extensive to portray a complex
symbolized map to distinguish all containing classes in a satisfying way.
Fig. 2. Comparison of the resulting map (detail) from the dynamically generated
SLD description renderend by UMN Mapserver by SLD (right side) and the original map in ArcMap (left side). Example: Geologische Übersichtskarte 1:300.000,
GÜK 300, Hessisches Landesamt für Umwelt und Geologie (HLUG) (Geological
Map 1:300.000)
Currently a range of map server implementations still offer even less
support for the different parameters defined in SLD then the ones we evaluated. Therefore maps generated using such WMS implementations even
Albrecht Weiser and Alexander Zipf
even may look more different. We assume that it is only a matter of time
until this varying support of the SLD specification has reached a more stable situation. Then the different render engines (the different WMS implementations) should generate quite similar maps from the same SLD
configuration. In order to achieve this aim also the SLD specification does
need further extensions in order to clarify how to represent a range of
symbolization issues. In figure 3 we see the result of ArcIMS with WMSConnector displaying the same map styled be the same SLD file. It looks
even more different from the ArcMap original than the UMN version. It
seems that the version 1.0 of the WMS-Connector of ArcMap does not
support all visualization possibilities that ArcIMs itself would support leading to an insufficient result. When we visualize the map with ArcIMS
without SLD, but instead with the ESRI-proprietary ArcXML configuration, one can see that the accordance with the original ArcMap version (figure 2 left) is slightly higher.
Fig. 3. Comparison of the resulting map (detail) from the dynamically generated
SLD description rendered by ArcIMS Mapserver by SLD (with WMS connector)
(left side) and the proprietary ArcIMS map using ArcXML without use of open
standards as SLD (right side). Example: Geologische Übersichtskarte 1:300.000,
GÜK 300, Hessisches Landesamt für Umwelt und Geologie (HLUG) (Geological
Map 1:300.000)
Figure 4 shows as result a comparison of the support for each of the
SLD elements that have been tested using both UMN and ArcIMS.
A visual editor for OGC SLD files
Min-, MaxScaleDenominator
fill-opacity *
(s. Stroke)
Fig. 4. Tested SLD elements and attributes tested on UMN 4.4.2, 4.6.0 beta2 and
ArcIMS 4.0.1 (with OGC WMS Connector 1.0) for the GÜK 300 geologic overview map.
* CSS parameter
Albrecht Weiser and Alexander Zipf
5 SLDs for configuring mobile maps
Many commercial applications for PalmOS / Pocket PC PDAs do exist that
display the current position on a map in combination with a GPS receiver
and allow stand-alone routing. Most of these applications are targeted towards car navigation, but they can also be used for pedestrian navigation in
a city in a limited way. An increasing number of commercial car navigation systems also offer a 3D view, but this usually does not deliver a real
3D representation of the area, but only a perspective view of the 2D map.
They usually do not make use of open OGC standards, as the SLD specification or the W3DS discussion draft. Also mobile GIS applications like
ArcPad etc. do not offer the possibility to use SLD for configuring map
Our PDA application - MainzMobile3D - is a mobile 2D and 3D map
application for PocketPC supporting both SLD and the W3DS specifications (Fischer et al. 2006). It is running locally on the PDA itself and has
been developed in C# on the .Net Compact Framework 2. Currently the
following functionalities have been realized among others:
positioning by means of GPS
internal geometry model based on OGC Simple Feature Specification
2D map display using multiple generalization levels
2D map functions (zoom, pan etc..)
search and visualization of POIs
search function for object information / touristic information
distance measurement tool
GPS configuration & display (Skyplot, Skyview, coordinates etc..)
3D scene information as on-line 3D Web-Client based on the OGC
Web3D service Specification Discussion paper (Quadt and Kolbe 2005)
tour planning (A* algorithm)(Köhler 2006)
ESRI *.shp files as local data source for geodata
Spatial index
internal database for POIs
focus maps prototype (Schuler 2006) based on ideas by Zipf and Richter
SLD based configuration of the map display
The latter functionality shall be explained in a little more detail in the
following section. To our knowledge MainzMobile3D is the first and only
PDA-based mobile map service that supports SLD for configuration of the
maps generated directly on the mobile device.
A visual editor for OGC SLD files
The first version of MainzMobile3D had a simple proprietary map configuration based on XML (Fischer 2006). It already supported scaledependent map configurations and symbols. Lindemann (2006) extended
that approach by implementing SLD-support of MainzMobile3D. This required mainly some changes of the XML data structure used for the configuration. On the other hand he also extended the ArcMap2SLDConverter to become an authoring tool for the 2D maps in the Mainz
Mobile3D application by extending the SLD support (better support for labelling) on the one hand and on the other hand by developing possibilities
to feed the XML-based MainzMobile3D database with multimedia descriptions of points of interest (POI).
The following figures show example screenshots of the authoring tool
based on the ArcMap2SLD-converter. As this tool is based on open standards like SLD, it is now possible to apply the MainzMobile3D software
much easier to other cities or regions as the content both regarding map
design as well as the multimedia POI database can be authored with GUIbased user-friendly tool support. This eliminates the need to manually
write XML configuration files.
Fig. 4. Scale-dependent rendering through SLD-based 2D-map configuration in
Fig. 5. Start-Window of the Authoring-Tool
Albrecht Weiser and Alexander Zipf
Fig. 6. Formular for inserting descriptions of POIs
Fig. 7. “MapConfig” -Window of the Authoring-Tool
6 Summary and Outlook
SLD is still a maturing technology. Originally designed in order to allow
clients to specify the look of maps served by WMS servers we have shown
how it can also be used for configuring WMS as well as mobile map applications running locally on PDAs. In particular the latter option is a completely new way to use the SLD specification as formal map representation
directly on mobile devices.
Such innovative use of OGC standards in combination with the supporting tools for generating SLDs and POI databases based on conventinonal
GIS is a step towards more interoperable and ubiquitous map services - in-
A visual editor for OGC SLD files
cluding desktop GIS, Web Map Services and mobile applications on PDAs
or Smartphones.
Further research has shown, that it is possible to derive also SVG-based
maps in a completely generic way from standards-based data sources
(Merdes et al 2005) and that the technology used for that can even be extended towards the automated generation of user- and context specific
SLDs through the incorporation of formal user and context models within
a cascade of several XSL- transformation (Zipf 2006). But this is only a
solution for the technical side of the problem. How to use such context information in order to generate situation aware and cognitively more adequate maps will still remain an active research question.
We like to thank all former and current colleagues for their inspiration and
help. We thank the HLUG for their cooperation in developing the
ArcMap2SLD-converter and evaluating the SLD support of the WMS using the GÜK300 geologic overview map. We thank the bureau of surveying of the city of Mainz for supporting us with test data of Mainz. Parts of
the work on the W3D-Service have been carried out with friendly support
of the Klaus-Tschira-Foundation (KTS) Heidelberg.
Burke R. (2003): Getting to know ArcObjects. Hrsg. ESRI: ESRI Press, 2003
Fischer, M. (2006): Mobiler Stadtführer 3D für PDA. Diplomarbeit. FH Mainz.
Fischer, M., Basanow, Zipf (2006): Mainz Mobile 3D - A PDA based OGC Web
3D Service Client and corresponding server. International Workshop on 3D
Geoinformation 2006 (3DGeoInfo'06). Kuala Lumpur. Malaysia.
Brinkhoff, T. (2005): Towards a Declarative Portrayal and Interaction Model for
GIS and LBS. Proceedings 8th Conference on Geographic Information Science (AGILE 2005), Estoril, Portugal, 2005, pp. 449-458.
Köhler A. (2006): Tourenplanung mobil auf PDAs. Diplomarbeit. FH Mainz.
Lindemann, M. (2006): Ein Autorenwerkzeug für SLD-basierte Konfiguration
mobiler Stadtinformationsdienste. Diplomarbeit. FH Mainz.
Meng, L., Zipf, A. and Reichenbacher, T. (eds.) (2004): Map-based mobile services – Theories, Methods and Implementations. Springer Geosciences.
Merdes, M., J. Häußler, A. Zipf (2005): GML2GML: Generic and Interoperable
Round-Trip Geodata Editing using Standards-Based Knowledge Sources.
Albrecht Weiser and Alexander Zipf
AGILE 2005. 8.th AGILE Conf. on GIScience. Assoc. of Geographic Information Laboratories in Europe. Estoril. Portugal.
OGC (2002): Styled Layer Description Implementation Specification, Version
Quadt und Kolbe (2005): Web 3D Service, OGC Discussion Paper, OGC Reference number: OGC 05-019, Version: 0.3.0
Reichenbacher, T. (2004), Mobile Cartography - Adaptive Visualisation of Geographic Information on Mobile Devices, PhD thesis, TU Munich.
Schuler, V. (2006): Ein Fokuskarten-Prototyp für PDAs. Diplomarbeit. FH Mainz.
Weiser, A. (2005): Automatisierte Generierung von Styled Layer DescriptorDateien aus ESRI ArcGIS-Projekten zur Publikation mit OGC-konformen
Mapservern. Diploma Thesis. University of Applied Sciences. Mainz.
Zipf, A and Jöst, M. (2006): Implementing Adaptive Mobile GI Services based on
Ontologies - Examples for pedestrian navigation support. In: CEUS - Computers, Environment and Urban Systems - An International Journal. Special
Issue on LBS and UbiGIS. Pegamon Press, Elsevier.
Zipf, A. and Richter, K.F. (2002): Using Focus Maps to Ease Map Reading. Developing Smart Applications for Mobile Devices. In: Künstliche Intelligenz
(KI). Special issue: Spatial Cognition. 04/2002. 35-37.
Zipf, A. (2002): User-Adaptive Maps for Location-Based Services (LBS) for Tourism. In: K. Woeber, A. Frew, M. Hitz (eds.), Proc. of the 9th Int. Conf. for
Information and Communication Technologies in Tourism, ENTER 2002.
Innsbruck, Austria. Springer Computer Science. Heidelberg, Berlin.
Zipf, A. (2005): Using Styled Layer Descriptor (SLD) for the dynamic generation
of user- and context-adaptive mobile maps - a technical framework. 5th International Workshop on Web and Wireless Geographical Information Systems
(W2GIS). Lausanne, Switzerland. Springer Computer Science. Heidelberg,
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF