Bachelorarbeit
09.10.2019
Marcel Ebert | S0558606
Generierung von GeoServer-Styles für OHDM
Gliederung
Gliederung
1. Problematik 2. Zielsetzung
3. Konfigurationsdatei
4. Generierung der Styling-Dateien 5. Konfiguration des GeoServers 6. Qualitätsprüfung
7. Live-Demo
8. Zusammenfassung 9. Ausblick
09.10.2019 Marcel Ebert
Problematik
Problematik
• Transformation roher Geodaten zu digitaler Karte
• Konfiguration d. Visualisierung über Konfigurationsdateien
• Evtl. große Anzahl verschiedener Konfigurationen
• Bsp.:
• 27 verschiedene Klassen
• Getrenntes Styling von Punkten, Linien, Polygonen
• -> 27 * 3 Konfigurationsdateien
• Konsistente Pflege & simultane Änderungen schwierig
09.10.2019 Marcel Ebert
Zielsetzung
Zielsetzung
• Entwicklung von Software zur Generierung der Styling-Dateien
• Definition der Styling-Anweisungen in einer Konfigurationsdatei
• Automatisierte Konfiguration des GeoServers
• Ermöglicht:
• Einfachere Konfiguration der Visualisierung von Geodaten
• Konsistente Änderungen
09.10.2019 Marcel Ebert
Konfigurationsdatei
Konfigurationsdatei
• Anforderungen
• Lesbar für Mensch & Maschine
• Intuitive Syntax / Leicht erlernbarer Umgang
• Definition & Verlinkung von Gruppierungen
• Definition eigener Grammatik/Sprache & Implementierung eines Parsers
• Optimale Anpassung an Projektanforderungen möglich
• Vermeidung von Redundanz
09.10.2019 Marcel Ebert
Konfigurationsdatei - Aufbau
Konfigurationsdatei [boundary] {
[undefined] { [>10] {
useStyle = SimplePolygon, SimplePoint, SimpleLine }
[<10] {
* {
mark: symbol(circle);
mark-size: 6px; 12 }
:mark { fill: red;
} } }
[historic] { [default] {
useStyle = SimplePolygon, SimplePoint, SimpleLine }
} }
09.10.2019 Marcel Ebert
Legende: Klassenname | Subklassenname | Zoomstufe | Styling | Style-Name
<SimplePolygon> {
* {
fill: #000080;
fill-opacity: 0.5;
stroke: #FFFFFF;
stroke-width: 2;
}
}<SimpleLine> {
* {
stroke: blue ; stroke-width: 3px;
stroke-dasharray: 5 2;
} }
<SimplePoint> {
* {
mark: symbol(circle);
mark-size: 6px; 12 } :mark {
fill: red;
} }
Generierung der Styling-Dateien
Generierung der Styling-Dateien
• Überführung v. Konfigurationsdatei in objekt-orientierte Repräsentation durch Parser
• Schritte der Verarbeitung des Parse-Ergebnis:
• Auflösen der Referenzen
• Erzeugung von Defaults (optional)
• Aufteilen der „Map Features“ nach Geometrien
• Transformation zu SLD-Objekten
• Erzeugung von SLD-Dateien durch „SLDTransformer“-Klasse
09.10.2019 Marcel Ebert
GeoServer - Verzeichnisstruktur
GeoServer 09.10.2019 Marcel Ebert
data
workspaces
...
ohdm_t
styles
aerialway- lines.sld
aerialway- lines.xml namespace.xml
workspace.xml
ohdm-test-db
datastore.xml
aerialway_lines
featuretype.xml
layer.xml
aerialway_points
featuretype.xml
layer.xml
...
styles
global-style.sld
global-style.xml
Verwendung der GeoServer-Module
GeoServer 09.10.2019 Marcel Ebert
Vorteile
• Unabhängigkeit
von Implementierungsdetails
• Einfache Migration auf neuere GeoServer-Versionen
Nachteile
• Objekte teilweise stark voneinander abhängig
• Großer Teil der importierten
Abhängigkeiten unbenutzt
Qualitätsprüfung
Qualitätsprüfung
• Unittests
• Integrationstest
• Portabilitätstest
09.10.2019 Marcel Ebert
Live-Demo
Live-Demo
$ java -jar ohdm-style-generator-1.0.jar –c geoserver-config.json –db datasource-config.json -o styles my-styles.ohdmconfig
09.10.2019 Marcel Ebert
{"host": "ohm.f4.htw-berlin.de",
"database": "ohdm_test",
"port": 5432,
"user": „****",
"password": „****",
"schema": "public"
}
datasource-config.json
{
"host": "ohm.f4.htw-berlin.de",
"user": „****",
"password": „****",
"path": "/var/lib/tomcat7/webapps/geoserver/data/",
"workspaceName": "ohdm-style-generator-test",
"namespaceName": "ohdm_style_t ",
"storeName": "ohdm-test-db",
"crsCode": "EPSG:3857"
}
geoserver-config.json
Zusammenfassung
Zusammenfassung
• Generierung ermöglicht:
• Konsistente Änderungen
• Reduzierung v. Konfigurationsaufwand
• Automatisierte Konfiguration des GeoServer möglich
09.10.2019 Marcel Ebert
Ausblick
Ausblick
• Einsatz in ähnlichen Projekten möglich
• Erweiterung der automatisierten Konfiguration um
• Layer-Groups
• Tile-Caching
09.10.2019 Marcel Ebert
www.htw-berlin.de
Vielen Dank für ihre Aufmerksamkeit!