At present many systems exist
from various producers to be able to realize Internet map-services. Nearly all
of these systems are based on proprietary
configurations for setting up parameters like:
layer name, geodata-url, database-name, etc. But not only basic map-service configurations, even the symbolization-prescriptions of the service are usually made in proprietary configuration-files of the map-server. But this kind of symbolizing geodata is:
OGC (Open Geospatial Consortium) provides
with its SLD-specification a new standard for web map-service (WMS)
symbolization. SLD is an enhancement of the OGC WMS-standard to offer a
widespread spectrum in web based symbolization of geodata.
For web map-server, that offers OGC-conformous services, the SLD specification provides better facilities in the following relationships:
Problem: How can somebody create a symbolization-prescription without spending any amount of work and time?
Solution: You have to use existing symbolization-prescriptions!
The bulk of any existing geodata is already saved as a completely ready symbolized desktop GIS-project. So the work which was once invested to symbolize (and of course classify) the geodata should be saved and utilized to allocate the data a broader audience via the Internet.
That means: an automatism must be
created that is able to investigate a desktop GIS-project by its symbolization (and further parameters like layer names,
classes etc.) and to write out the gathered information in SLD.
ArcGIS ® from ESRI was chosen as base for the developed program, because this (professional-) desktop GIS-system is the most common GIS-system not only in the German-speaking area (Germany, Austria, Switzerland) but in the whole world. Thereby, a large number of users are able to reap the benefits of this tool called “ArcGIS-map to SLD Converter” (short: ArcMap2SLD).
Indeed SLD is still a
technology and systematic tests on how good SLD is supported by
conventional map servers have been missing. Therefore subsequent to the
generation of the SLD they have to be tested on usual map servers to
statement about the availability of WMS-SLD relating to usual map
For these tests the geo-scientific general map of Hessen 1:300.000 (Geologische Uebersichtskarte - shortly GUEK 300) was used as reference-project, because this map with its several layers and around 150 classes each layer (nearly every class has a complex multilayer-symbol) represents a good practical test for the developed program.
1. The Program "ArcGIS-map to SLD Converter"
The program so called "ArcGIS-map to SLD Converter" analyses an ArcGIS-Project with respect to its symbolisation and assembles the SLD for the OGC-WMS from the gathered data. Thereby the program is designed as "One Button-Push"-solution, i.e. the user hasn’t to make complicated settings because the program decides all necessary settings internally (of course there are some possible optional settings).
The program is started parallel to a running ArcMap-session and after specifying the location where to store the SLD the application takes up employment. After a few seconds (up to a few minutes – depending on the size and complexity of the available project) the application deposits an SLD-file which mirrors the symbolisation of the available ArcGIS-project to the specified destination. This is done according to the state of the art of SLD.
The SLD can now be integrated into a web mapping service through the request-URL (the service must of course be based on the same data as the investigated project!). As a result, this service now presents the same classes and their symbolisation as the original ArcMap-project! For further information about invoking SLD into your WMS (or WFS) refer to the official OGC SLD-specification.
The Program was developed with Visual Basic.NET.
It is modularly constructed and therefore appropriately flexible and extensive.
The analysis of the ArcGIS-project was realized with the ArcObjects-Framework of ESRI. The Output of the analysed ArcGIS-data is ruled with XPath- and XSLT-technology.
ArcGIS-map to SLD Converter supports the most important classification-modes:
Marker-, Line- and Polygon-features are supported. Implemented are:
Additionally for polygon-features hatchings are implemented (as crosshatching). So-called Multilayer-Symbols from ArcMap are also supported and are transcribed in SLD as two-layer-symbols (some map-server do only support two-layer-symbols).
The program posses a self-control algorithm. It is able to automatically verify the validity of the generated SLD if you integrate schema-files for validation from OGC to check the generated SLD against the files.
Projects based on the data of ArcSDE, Personal Geodatabases and Shapefiles are supported.
Following you will see the program workflow with its most important participating components:
Fig. 1: Workflow of the program "ArcGIS-map to SLD Converter" (without validation of SLD)
2. The SLD-tests on the ArcIMS and UMN map-server
The software was tested with both a
commercial and an open source map-server.
As a prevalent and very common substitute of its particular category the ArcIMS from ESRI and the UMN map-server were selected for the tests. Both systems support SLD.
As an open source product, the UMN map-server is well versed in nearly all options which are presently served by SLD, while the ArcIMS from ESRI in the tested Version 9.0 offers explicitly less SLD-functionality
Figure 2 shows a representative clipping of the GUEK 300 in its original ArcMap-project. You can see simple polygon symbols as well as multilayer symbols with marker-fillings and hatchings.
Fig. 2: A clipping from the GUEK 300 in the original ArcMap project
Fig. 3: Program "ArcGIS-map to SLD Converter"
Fig. 4: Clipping of a program-generated SLD from the GUEK 300
Fig. 5: Clipping of the GUEK 300, generated with the program-engendered SLD on the UMN map-server
Fig. 6: Clipping of the GUEK 300, generated with the program-engendered SLD on the ArcIMS
The maps from figure 5 and 6 were both generated with the same SLD.
The ArcGIS map 2 SLD converter is able to convert ArcGIS projects from version 9.0 upwards. Since september 2006 lat/lon, Bonn in Germany provides a java-api that is able to convert former ESRI projects (until ArcView 3.3). The api is called AVL2SLD and for conversion it needs a project that is styled with a legend file (*.avl).
The program „ArcGIS-map to SLD Converter“
can be downloaded here.
New! The program supports group layers since release 1.1.0!
The recent changes are friendly supported by AGI Rijkswaterstaat, Delft.
New: the program has become shortly open source. Please visit:
The latest release (1.3.0) supports ArcMap 10.0.
Many thanks for the generous support to Benjamin Lewis from the geographic faculty of the university of Harvard, Cambridge.
To download the installation files just click the icon below. For the recent changes please refer to the readme.txt
The 64 bit app:
The schema-files for validation of your SLD can be downloaded here (please notice the 1st_readme.txt):
The Diploma Thesis (german laguage) "Auomatisierte Generierung von Styled Layer Descriptor-Dateien aus ESRI ArcGIS-Projekten..." can be downloaded here:
The development of the program will be continued. For bug-reporting or any helpful suggestions send an E-Mail to the developer:
The program was developed in the context of the diploma thesis of Albrecht Weiser. The thesis was attended by Prof. Dr. Alexander Zipf (Institute for Spatial Information and Surveying Technology, i3mainz).
The diploma thesis was awarded by "Runder Tisch GIS e.V." (which is a sponsoring development association for geoinformatics of the Technical University of Munich) with the 3rd grade promotional award of geoinformatics 2006.