Benedikt Gräler and Henning Bredel
In verschiedenen fachlichen und technischen Kontexten haben wir GeoNode als zentrale Komponente von Forschungsdateninfrastrukturen eingesetzt. In den einzelnen Szenarien wurden verschiedene Weiterentwicklungen und Ergänzungen vorgenommen. Dazu gehören die Anbindung von Remote-Diensten über offene OGC Schnittstellen oder die Integration von Cloud-optimized-GeoTiffs (COG). Zur Darstellung der neuen Datentypen und spezialisierten Fachinformationen wurden dedizierte Dashboards entwickelt.
Die Idee einer Forschungsdateninfrastruktur (FDI) beruht darauf, dass über die reinen (Geo-) Daten hinaus auch der Forschungsprozess (in Teilen) darin abgelegt werden kann. Eine FDI unterstützt Forschende in Ihrer Arbeit und trägt zur Vernetzung der Arbeiten innerhalb einer Organisation bei. Durch die zentrale Struktur trägt eine FDI auch zu einer besseren Reproduzierbarkeit von Forschung bei. Ein weiterer zentraler Aspekt ist die Bereitstellung von aufbereiteten Daten, die direkt analysiert werden können (ARD: Analysis Ready Data), so wie die direkte Anbindung von Prozessierungsdiensten. Neben der Bereitstellung und Verwaltung von Daten kann eine FDI aber auch Software oder beispielsweise Open Education Resources beinhalten.
Die Wissenschaft ist oftmals ein Unterstützer von offener Software, nicht zuletzt um auch die Implementierung im wissenschaftlichen Sinne nachvollziehbar und reproduzierbar zu machen. Wir möchten in diesem Beitrag verschiedene FDI-Anwendungen aus der Geo-Domäne auf Basis von GeoNode und weiteren FOSS-Komponenten vorstellen.
Ziel des zugrunde liegenden BMWK geförderten F&E-Projektes “MariData” ist es, die Energieeffizienz von Schiffen zu verbessern. Um dieses Ziel zu erreichen, soll eine Routenoptimierung durchgeführt werden, die Vorhersagen der Umweltbedingungen (u.a. Wind, Wellen) einbezieht und über schiffsspezifische, hydrodynamische Modelle den Treibstoffverbrauch für potentielle Routen zuverlässig abschätzen kann. So lässt sich das Routing in Bezug auf den Treibstoffverbrauch optimieren.
Um die dafür erforderlichen Daten in einer zentralen FDI zu verwalten, wird eine GeoNode Instanz betrieben. Da die Vorhersagedaten im NetCDF Format vorliegen, wurde GeoNode um Funktionen erweitert, die es erlauben, die NetCDF Dateien in GeoServer automatisiert und kontinuierlich zu importieren, sobald neue Daten verfügbar sind. Diese Funktionalität ist bisher rein funktional am Back-End umgesetzt. Zusätzlich zum Verwalten der Daten wird die GeoNode API um einen Endpunkt zur direkten Prozessierung der Daten, der Berechnung von Routenvorschlägen erweitert. Als Alternative zum GeoServer für die Bereitstellung von Rasterdaten wurde eine Integration von Data-Cube-Konzepten in GeoNode evaluiert. Das gesamte Set-Up läuft über Kubernetes in der Cloud. Zur Integration von weiteren Remote-Diensten wurde eine Anbindung von existierenden Web-Coverage-Services (WCS) als Geonode Remote-Service realisiert.
Für das Datenanalyseunternehmen Fraym wurde GeoNode dahingehend erweitert, dass große Rasterdaten im Cloud-Optimized-GeoTiff-Format (COG) direkt aus einem S3-Speicher integriert und geladen werden können. Dazu wurde das COG-Plugin des GeoServer genutzt und das GeoNode-Datenmodell entsprechend angepasst. Die S3-URL ist Teil des Metadatensatzes, was die maschinenlesbare Prozessierung von COGs ermöglicht, etwa in Jupyter-Notebooks. Die Laufzeitumgebung bei dieser Anwendung stellt ebenfalls ein Kubernetes-Cluster.
Für die Universität Manitoba wurde eine GeoNode Instanz aufgesetzt, um verschiedene Geodaten einheitlich zu verwalten. Über den Daten-Katalog können die heterogenen Datensätze (Rasterdaten, Vektordaten, Zeitreihen) exploriert werden. Ergänzend zu GeoNode wurde insbesondere die Integration von Zeitreihendaten entwickelt. Dafür wurde eine separate Django App implementiert, die in GeoNode installiert werden kann und einen neuen Remote Service Typ für die OGC SensorThings API (STA) bereitstellt. Datastreams aus hinzugefügten STAs können anschließend in GeoNode importiert werden. Dazu wird für jeden Datastream ein GeoNode Layer angelegt und die spezifischen Metadaten (Sensor, Thing, ObservedProperty, etc.) in zusätzlichen Datenbanktabellen gespeichert. Die STA-Layer können dann über den Katalog gefunden und die Standard-Metadaten sowie die zusätzlichen Elemente angezeigt werden. Die eigentlichen Daten liegen nach wie vor nur in der STA vor. Um diese zu visualisieren und herunterzuladen, wurde außerdem ein separates Dashboard entwickelt, das die Stationen auf einer Karte anzeigt und die Exploration der Messreihen über Zeitreihen-Diagramme ermöglicht.
Für eine GeoNode Instanz, welche Daten und Informationen zum Klimawandel in Bangladesch bereitstellt, wurden in enger Kooperation mit den Nutzer*Innen spezielle externe Dashboards entwickelt. Diese Dashboards dienen dazu, Daten zur Vulnerabilität durch Klimaänderungen und Naturkatastrophen, Klimamodelldaten und Zeitreihen Benutzer*Innen und Entscheidungsträger*Innen zugänglich zu machen.
Zusammen mit dem Unternehmen FORLIANCE wurde das Management von kundenspzifischen Geodaten über die Metadaten in GeoNode realisiert. Um den breiten Einsatz der FDI zu ermöglichen, wurde zudem das Nutzer- und Rollenmanagement auf Basis von GeoNode und dem Metadaten-Modell erweitert. Die gewünschte spezialisierte Sicht auf die Geodaten konnte durch die Entwicklung eines Dashboards ermöglicht werden. Diese spezifische Anwendung von GeoNode ist im Kubernetes-Cluster der FORLIANCE GmbH deployed.
Der Einsatz der FOSS-Lösung GeoNode hat sich in verschiedenen fachlichen und technischen Kontexten bewährt. Der konsequente Einsatz von offenen Standards ermöglicht eine gute Integrierbarkeit mit weiteren Komponenten, um fehlende Features zu ergänzen. So ließen sich bedarfsgerechte spezifische FDIs entwickeln, die verschiedene Datensätze zentral auffindbar machen.
Neben den Software-Entwicklungen konnte über die Projekte hinweg ein effizientes und skalierbares Deployment mit Hilfe von Kubernetes etabliert werden. So kann die technologische Basis für eine FDI einfach bei verschiedenen Cloud-Anbietern oder in lokalen Set-Ups bereitgestellt werden und auf umgebungsspezifische Eigenheiten eingegangen werden.
Zur tiefergehenden Exploration der Daten werden zukünftig weitere Anwendungen entwickelt, um die spezifischen Datensätze und ihre Präsentation für Nutzer*Innen möglichst intuitiv und informativ bereit zu stellen.