ImageMosaic

Bei sich in Größenordnungen wie bei diesem Projekt bewegenden Datenmengen entsteht häufig die Problematik, dass die Rasterdaten in vielen einzelnen Dateien vorliegen. Dies hat den Grund, dass eine einzelne Datei viel zu groß und rechenintensiv wäre, sodass eine performante Nutzung nicht gewährleistet wäre (HENDERSON 2014). Zur Lösung dieser Problematik wird im GeoServer standardmäßig das Datenspeicherformat „ImageMosaic“ angeboten, bei welchem die Rasterdaten zu einem virtuellen Mosaik verbunden werden. Die Lage der einzelnen Komponenten (Granules) des Mosaiks ist dabei irrelevant (HENDERSON 2014). In den jüngsten Versionen GeoServers ist es darüber hinaus ebenfalls möglich, in einem Mosaik mehrere Rasterdaten mit unterschiedlichen CRS (Koordinatenreferenzsystemen) einzubinden; GeoServer reprojiziert die Daten dabei automatisch, sofern es in einer zusätzlichen Datei angegeben ist. Ebenfalls können die Dateien in unterschiedlichen Farbmodellen vorliegen, wie etwa RGB und RGBA (GEOSERVER CONTRIBUTORS 2021)1 .

Bei sich in Größenordnungen wie bei diesem Projekt bewegenden Datenmengen entsteht häufig die Problematik, dass die Rasterdaten in vielen einzelnen Dateien vorliegen. Dies hat den Grund, dass eine einzelne Datei viel zu groß und rechenintensiv wäre, sodass eine performante Nutzung nicht gewährleistet wäre.

Zur Lösung dieser Problematik wird im GeoServer standardmäßig das Datenspeicherformat „ImageMosaic“ angeboten, bei welchem die Rasterdaten zu einem virtuellen Mosaik verbunden werden. Die Lage der einzelnen Komponenten (Granules) des Mosaiks ist dabei irrelevant. In den jüngsten Versionen GeoServers ist es darüber hinaus ebenfalls möglich, in einem Mosaik mehrere Rasterdaten mit unterschiedlichen CRS (Koordinatenreferenzsystemen) einzubinden; GeoServer reprojiziert die Daten dabei automatisch, sofern es in einer zusätzlichen Datei angegeben ist. Ebenfalls können die Dateien in unterschiedlichen Farbmodellen vorliegen, wie etwa RGB und RGBA.
Bei der Erstellung eines Mosaiks (bzw. bei der Zuweisung eines Ordners als Datenspeicher) wird dabei automatisiert ein Index-Shapefile erzeugt, welches den Speicherort und als Geometrie das umgrenzende Polygon für die zugehörigen Dateien enthält. Dazugehörig wird ebenfalls eine .prj-Datei erstellt, welche die Projektion der Daten festlegt. Ebenso wird mit Erstellung des ImageMosaics eine .properties-Datei angelegt, welche weitere Parameter festlegt. Dazu gehört beispielsweise das CRS des Mosaics, welches in diesem Fall auf EPSG:31468 gestellt wurde. Außerdem finden sich dort Informationen zu Dateiformat, Bildpyramiden und Farbmodell.

Unter den hierfür interessanten Optionen findet sich die Einlesemethode, welche standardmäßig der „lazy“ (faulen) Java-Advanced-Imaging-Methode entspricht. Daneben existiert die Option, Kacheln per Multithreading und direktem Einladen auszulesen. Der Vorteil von JAI ist dabei der geringere Speicherverbrauch, demgegenüber soll Multithreading bzw. das direkte Einladen im normalen Anwendungsfall performanter sein. In der Praxis hat sich das bei kleineren Kachelmengen allerdings nicht signifikant bemerkbar gemacht, sodass eventuell ein erneutes Prüfen nach erfolgter Implementierung aller Kacheln empfehlenswert ist. Zusätzlich kann die empfohlene Kachelgröße (Suggested Tile Size) angepasst werden. Da stellte sich in Tests das Weglassen einer Größe als die performanteste Lösung heraus, da bereits eine interne Kachelung der Daten bei Erstellung stattgefunden hat. Die in MEARNS erwähnte Möglichkeit der Optimierung von Rasterdaten durch die Änderung der Blockgröße von Streifen auf quadratische Kacheln hatte in einer praktischen Überprüfung keinen nennenswerten Einfluss auf die Abfragegeschwindigkeit.

Trotzdem wäre eine Kachelung der Dateien etwa bei einer ohnehin angeratenen Reprojektion in EPSG:25833 eventuell von Vorteil. Dies manifestiert sich insbesondere auch darin, dass die Abfragen in nicht nativen CRS mitunter nicht vollständig gerendert werden und „weiße“ Bereiche entstehen, die lediglich durch (mehrfaches) Neuladen des Ausschnittes behoben werden können.

Vorteile Nachteile
Ursprüngliche Daten weiter mit (Format-)Eigenschaften nutzbar
Dateien einzeln vorliegend, Datentransfer & -verarbeitung schwierig
Viele Einstellungsmöglichkeiten zur Optimierung
CRS falsch erkannt, nachträgliche Korrektur nötig
Keine externe Software zur Erstellung nötig