Sprache wählen / Select language ![]()
Ein Werkzeug zum Auslesen von Stylinginformationen aus ArcMap® und deren Darstellung in Styled Layer Descriptor-Dateien (SLD) von OGC
Ausgangslage / Problemstellung
Derzeit existieren diverse Systeme von
zahlreichen Anbietern, mit denen Internet-Kartendienste realisierbar sind.
Nahezu alle diese Systeme basieren auf proprietären Konfigurationen zur
Einstellung von Diensteparametern wie:
Layernamen, Geodaten-URL, Datenbankname etc.
Aber auch die Symbolisierungsvorschriften der darzustellenden Layer werden
üblicherweise in proprietären Konfigurationsdateien der Kartendienst-Server
vorgenommen. Diese Art der Symbolisierung von Geodaten ist jedoch:
OGC (Open Geospatial Consortium) bietet mit
seiner SLD-Spezifikation einen neuen Standard für Darstellungsvorschriften. SLD
ist eine Erweiterung des OGC WMS-Standards (WMS=Web Map Service) für die
Symbolisierung von Geodaten.
Für Web Map-Server, die OGC-konforme Dienste anbieten können, eröffnen sich
durch diese Spezifikation neue Möglichkeiten bezüglich:
Zielsetzung
Problem: Wie kann mit wenig Zeit- und Arbeitsaufwand aus vorhandenen Daten eine Symbolisierungsvorschrift für WMS erstellt werden?
Lösung: Man bedient sich vorhandener Symbolisierungen!
Ein Großteil vorhandener Geodaten sind als Desktop GIS-Projekte realisiert und als solche komplett symbolisiert. Die Arbeit, welche zur Symbolisierung (und Klassifizierung) schon vorab in Desktop-Projekte investiert wurde, sollte genutzt werden können um die Daten einem breiteren Publikum über das Internet (bzw. Intranet) zur Verfügung zu stellen.
D.h. es muss ein Automatismus erstellt
werden, der Desktop GIS-Projekte auf ihre Symbolisierung untersucht und diese
anschließend als SLD ausgibt.
Die Entscheidung für das zu analysierende Desktop GIS fiel auf ArcGIS ®
der Firma ESRI, da dieses (Professional-) Desktop GIS das sowohl im
deutschsprachigen Raum als auch weltweit am weitesten verbreitete kommerzielle
GI-System ist und somit die größtmögliche Anzahl von Nutzern an dem entwickelten
Programm partizipieren lässt.
SLD ist allerdings eine noch junge
Technologie, über deren Verwendung mit üblichen Map-Servern bislang noch wenig
Erfahrungen gesammelt wurden. Das bedeutet, dass die erzeugten SLD anschließend
auf üblichen Mapservern getestet werden müssen, um Aussagen über die
Verwendbarkeit von SLD-WMS in Bezug auf diese Mapserver treffen zu können.
Für die Tests wurde als Referenzprojekt die Geowissenschaftliche Übersichtskarte
von Hessen im Maßstab 1:300.000 des Hessischen Landesamtes für Umwelt
und Geologie (HLUG) benutzt, da diese mit ihrer komplexen Symbolisierung einen
Härtetest für das entwickelte Programm darstellt.
Ergebnisse:
1. Das Programm "ArcGIS-map to SLD Converter"
Workflow:
Das Programm namens "ArcGIS-map to SLD Converter" analysiert ein
ArcGIS-Projekt bezüglich seiner Symbolisierung und baut aus den gewonnenen
Daten eine Symbolisierungsvorschrift für OGC-WMS zusammen. Dabei ist dieses
Programm quasi als "One Button-Push"-Lösung konzipiert, d.h. der
Nutzer muss keine komplizierten Einstellungen vornehmen, da das Programm alle
notwendigen Einstellungen selbst vornimmt (es gibt natürlich zusätzliche Einstellungen,
die jedoch optional sind).
Das Programm wird zu einer laufenden ArcMap-Session gestartet und nach der
Angabe des Speicherortes der SLD nimmt es seine Arbeit auf. Nach wenigen Sekunden
bis mehreren Minuten Analyse und Verarbeitung der Stylinginformationen (je
nach Größe und Komplexität des vorliegenden Projektes) legt das Programm am
angegebenen Speicherort eine SLD-Datei ab, die nach dem derzeitigen Stand
der Möglichkeiten von SLD die Symbolisierung des vorliegenden ArcGIS-Projekts
widerspiegelt.
Diese SLD kann nun über den Aufruf-URL in einen Kartendienst eingebunden werden,
der auf denselben Daten wie das Desktop-Projekt basiert.
Dieser Dienst weist nun dieselben Klassen und deren Symbolisierung auf wie
das ArcMap-Originalprojekt. Die Informationen wie SLD in einen WMS (oder WFS) integriert werden kann, entnehmen sie bitte der aktuellen SLD-Spezifikation.
Technik:
Das Programm wurde mit Visual Basic.NET entwickelt.
Es ist modular aufgebaut und entsprechend flexibel erweiterbar.
Die Analyse des ArcGIS-Projekts wurde mit dem ArcObjects Framework realisiert.
Die Ausgabe der analysierten ArcGIS-Daten in SLD wird mit XPath-Technologie
gesteuert.
Implementation:
ArcGIS-map to SLD Converter unterstützt die wichtigsten in ArcMap klassifizierten
Kartenarten:
Punkt-, Linien- und Polygon-Features werden unterstützt. Implementiert sind:
Außerdem wurden für Polygon-Features
Punktfüllungen und Schraffuren (als Kreuzschraffuren) implementiert.
Sogenannte Multilayer-Symbole aus ArcMap werden ebenfalls unterstützt und in
SLD als zweilagige Symbole umgesetzt (manche Map-Server unterstützen nur zwei
Symbollagen).
Das Programm besitzt eine Selbstkontrolle. Es kann die Gültigkeit der generierten SLD überprüfen, indem es SLD-Schemadateien von OGC zur Validierung von SLD-Dokumenten einbindet und die SLD gegen diese Schemadateien prüft.
Es werden Projekte auf Basis von ArcSDE, Personal Geodatabases und Shapefiles unterstützt.
Nachfolgend der Workflow des Programms mit den wichtigsten beteiligten Komponenten:

Abb. 1: Workflow des Programms "ArcGIS-map to SLD Converter" (ohne die Validierung der SLD)
2. Die SLD-Tests auf den ArcIMS- und UMN-Map-Servern
Für die Tests wurden exemplarisch ein kommerzieller
und ein Open Source Map-Server eingesetzt.
Als weit verbreitete und gängige Vertreter ihrer jeweiligen Kategorie wurden
der ArcIMS von ESRI und der UMN Mapserver für die Tests ausgewählt. Beide
Systeme unterstützen SLD-WMS.
Der UMN-Mapserver beherrscht als Open Source Produkt nahezu alle Möglichkeiten,
die SLD derzeit bietet, während der ArcIMS deutlich weniger SLD-Funktionalität
umsetzen kann.
Die Abb. 2 zeigt einen repräsentativen Ausschnitt aus der GÜK 300 in ihrem ArcMap-Original. Zu sehen sind einfache Flächensymbole sowie Punktfüllungen und Schraffuren als Multilayersymbole.
Abb. 2: Ausschnitt aus der GÜK 300 im ArcMap-Original

Abb. 3: Programm "ArcGIS-map to SLD Converter"
![]()

Abb. 4: Ausschnitt aus programmerzeugter SLD der GÜK 300
![]()

Abb. 5: Ausschnitt aus der GÜK 300, mit programmgenerierter SLD auf dem UMN-Mapserver erzeugt

Abb. 6: Ausschnitt aus der GÜK 300, mit programmgenerierter SLD auf dem ArcIMS erzeugt
Die Karten aus den Abb. 5 und 6 wurden beide mit derselben SLD erzeugt.
Verwandte Arbeiten:
Der ArcGIS map 2 SLD converter kann ESRI ArcMap-Projekte ab ArcGIS 9.0 zu SLD-Dateien konvertieren. Seit September 2006 stellt lat/lon, Bonn eine Java-Programmbibliothek zur Verfügung, mit der frühere Projekte (bis ArcView 3.3) in SLD-Dateien konvertiert werden können. Die Bibliothek heißt AVL2SLD und benötigt für die Konversion ein Projekt, dessen Kartendaten mit einer Legendendatei (*.avl) symbolisiert wurde.
Das Programm ArcGIS-map to SLD Converter kann hier heruntergeladen werden (derzeitige Version 1.2.2; 2,4 MB)
Neu! Ab Version 1.1.0 werden auch Group Layer unterstützt!
Aktuelle Änderungen u.a. Mit freundlicher Unterstützung der AGI Rijkswaterstaat, Delft.
Neu: Das Programm ist nun auch open Source unter der LGPL-Lizenz. Bitte besuchen sie die Seite:
http://wald.intevation.org/projects/arcmap2sld/
Zum Download bitte auf das Icon klicken. Zu den aktuellen Änderungen lesen sie die readme.txt
Hier können die Schemadateien zur Validierung ihrer SLD heruntergeladen werden (bitte beachten sie die 1st_readme.txt):
Die Diplomarbeitet "Auomatisierte Generierung von Styled Layer Descriptor-Dateien aus ESRI ArcGIS-Projekten..." kann hier heruntergeladen werden:
Die Entwicklung des Programms wird fortgeführt. Bei Bugs oder Anregungen senden Sie bitte eine E-Mail an den Entwickler:
Dipl.-Ing. (FH) Albrecht Weiser (Institut für Raumbezogene Informations- und Messtechnik, i3mainz); E-Mail: aweiser@gmx.de
Das Programm wurde im Rahmen einer Diplomarbeit von Herrn Albrecht Weiser an der Fachhochschule Mainz entwickelt. Betreuer der Arbeit war Herr Prof. Dr. Alexander Zipf (Institut für Raumbezogene Informations- und Messtechnik, i3mainz).
Die Diplomarbeit wurde vom "Runder Tisch GIS e.V." der Technischen Universität München mit dem 3. Platz des Förderpreises Geoinformatik 2006 prämiert.