GeoServer

GeoServer ist eine auf Java basierte Open-Source-Software, welche sowohl die Bereitstellung als auch die Verarbeitung von raumbezogenen Daten ermöglicht. Dabei steht die Zusammenarbeit mit der Community im Vordergrund, welche etwa Erweiterungen bereitstellt, die Software auf Fehler überprüft und sie entsprechend weiterentwickelt. Im Fokus steht ebenfalls die Implementierung der OGC-Standards in die Software, neben den bereits erwähnten WMS und WMTS sind das unter anderem der WFS (Web Feature Service) und der WCS (Web Coverage Service).

Die Verwendung von GeoServer bringt mehrere Vorteile mit sich:

Für dieses Projekt wichtig sind insbesondere die OGC-Standards, die graphische Oberfläche und die Integration von GeoWebCache (GWC). Zusätzlich zu GeoServer wird für die Produktionsumgebung noch ein Servlet Container benötigt. Dabei stehen diverse Optionen zur Verfügung, wie die beiden auf Java basierenden Applikationen Tomcat und Jetty, wovon letztere für dieses Projekt gewählt wurde. Vorteile von Jetty sind unter anderem die wenig ressourcenintensive und performante Einbindung sowie die systemunabhängige und einfache Nutzung. Zur Erhaltung der Übersichtlichkeit bietet GeoServer dem Nutzer die Möglichkeit der Nutzung von Arbeitsbereichen, in welchen die Daten einsortiert werden können.
Der grundlegende Ablauf der Bereitstellung von raumbezogenen Daten mithilfe von GeoServer verläuft anschließend über zwei Schritte: Zuallererst werden die gewünschten Daten als Datenspeicher hinzugefügt. Die hier wichtigen Rasterdaten können – wie auch Vektordaten – direkt über den passenden Datentyp eingebunden werden. Um diese Daten nun auch als Web Service verfügbar zu machen, muss der Datenspeicher als Layer publiziert werden. Dabei bestehen, je nach verwendetem Datenspeicher, verschieden viele Einstellungsmöglichkeiten. Die eigentliche Publikation als WMS erfolgt durch GeoServer automatisch. Um aber zu prüfen, ob die Visualisierung wie gewünscht erfolgt ist, wird mit der Layer-Vorschau eine Möglichkeit bereitgestellt, in einem OpenLayers-Viewer den Layer auf korrekte Darstellung zu kontrollieren.

Bereitstellung von Rasterdaten

Datenbereitstellung mit GeoServer Die in GeoServer vorhandenen Datenspeicherformate umfassen neben den bereits standardmäßig vorhandenen Formaten wie ImageMosaic und GeoPackage auch solche, die mithilfe von Erweiterungen hinzufügbar sind; etwa das Format MBTiles. Beim Publizieren der Daten als Layer (vgl. Abbildung) variieren die Einstellungsmöglichkeiten abhängig von der gewählten Quelle, jedoch gibt es einige Eigenschaften, die übergreifend für alle Rasterlayer eingestellt werden können. Wichtig sind dabei insbesondere die Einstellungsmöglichkeiten bezüglich Koordinatenreferenzsystem und Bounding Box. In ersterem wird das CRS der verwendeten Daten festgelegt. Dieses wird aus den Daten automatisiert ausgelesen, allerdings ist es in diesem konkreten Anwendungsfall mitunter so, dass dies nicht korrekt funktioniert hat, sodass eine nachträgliche Korrigierung notwendig ist. Die Bounding Box lässt sich, abhängig allerdings vom gewählten CRS, durch das Koordinatenreferenzsystem bestimmen.
Zusätzlich ließen sich noch Stile auf den Layer anwenden; dies ist allerdings für Rasterdaten eher nebensächlich und wird vielmehr für Vektorlayer verwendet.
Nach praktischer Überprüfung hat sich gezeigt, dass die Darstellung der Karteninhalte durch GeoServer automatisch an den verwendeten Bildschirm bzw. die Bildschirmauflösung angepasst wird: Wie bereits im Wesentlichen durch die WMS-Spezifikationen definiert, werden Abfragen entsprechend so dargestellt wie vom Client angefordert. Gleiches gilt auch für WMTS-Abfragen, dort werden bei höheren Auflösungen entsprechend mehr Kacheln bereitgestellt. Wie dies anschließend von der verwendeten Software dargestellt wird, ist allerdings unterschiedlich: QGIS, eine vollwertige GIS-Software, ist in der Lage, die Auflösung abhängig von der Displayauflösung abzufragen. Bei OpenLayers, einer Bibliothek für webbasierte Geodatenanzeige, es dagegen mitunter komplizierter, da dort das auflösungsdefinierende map-Element in Tests unabhängig vom verwendeten Display eine gleichbleibende Größe aufweist und demnach die höhere Auflösung nicht gänzlich ausnutzt. Dort wäre also eine weitere Optimierung erforderlich.