German Sprache wählen / Select language English


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.

 

Original ArcMap 

Abb. 2: Ausschnitt aus der GÜK 300 im ArcMap-Original

 

ArcGIS-map 2 SLD Converter

Abb. 3: Programm "ArcGIS-map to SLD Converter"

SLD

Abb. 4: Ausschnitt aus programmerzeugter SLD der GÜK 300

Karte UMN

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

 

ArcIMS-Karte

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
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/

Die aktuelle Version 1.3.0 unterstützt ArcMap 10.0.

Vielen Dank für die freundliche Unterstützung an Benjamin Lewis von der geographischen Fakultät der Harvard Universität in Cambridge.


Zum Download bitte auf das Icon klicken. Zu den aktuellen Änderungen lesen sie die readme.txt

Download ArcMap2SLDConverter

Die 64 bit-Version:

Download ArcMap2SLDConverter 64 bit

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.