Teilprojekt 4: Datenmanagement
Teilprojektleiter | Prof. Dr. Thomas Brinkhoff |
Teilprojektmitarbeiter | Tobias Werner, M.Sc. |
Teilprojektvolumen | 250.927 € |
Fördermittelgeber | Nds. Ministerium für Wissenschaft und Kultur - VW-Vorab/Wissenschaft für nachhaltige Entwicklung |
Teilprojektlaufzeit | 02/2017 bis 07/2020 |
Sowohl für die Untersuchung von Gewässerböden als auch für die Suche nach Objekten oder Phänomenen unter Wasser werden zunehmend AUVs (Autonomous Underwater Vehicles) eingesetzt. Dabei nimmt die Aufnahme, Verarbeitung und Bereitstellung von Sensormessdaten durch das Fahrzeug eine bedeutsame Rolle ein. Die erfassten Beobachtungen verfügen in der Regel über eine zeitliche und räumliche Dimension und stellen die ohnehin bereits leistungsbegrenzten Unterwasserfahrzeuge vor eine Reihe von Herausforderungen. Ihre kompakte Bauform und ihr limitiertes Gesamtgewicht schränken das Mitführen langanhaltender Energiequellen sowie die Unterbringung leistungsstarker Hardware erheblich ein. Somit existiert der Bedarf nach einem effizienten Datenmanagementsystem, das die Verarbeitung und Verwaltung von speicher- und rechenintensiven Geodaten erlaubt. Das Teilprojekt 4 hatte daher die Entwicklung eines raum-zeitlichen Datenmanagements für selbstfahrende Unterwasserfahrzeuge als Kernaufgabe.
Systemarchitektur
Die auf Grundlage der Anforderungen entworfene Systemarchitektur ist in Abbildung 1 dargestellt. Eine zentrale PostgreSQL-Datenbank sammelt die verorteten Sensormessdaten und Beobachtungen der Unterwasserfahrzeuge und verarbeitet diese mithilfe der Geodatenbankerweiterung „PostGIS“. Ein angebundener Geoserver stellt mit Geodiensten standardisierte Schnittstellen zum Austausch und Integration der Datenbasis in weiterführende Anwendungen bereit.
Räumliche Datenverwaltung auf dem AUV
Ein entwickelter Ansatz verwendet die Datenbank-Engine SQLite. Gemeinsam mit der Geoerweiterung SpatiaLite steht ein einbettbares System zur Verarbeitung von räumlichen (Sensormess-) Daten auf einem Unterwasserfahrzeug zur Verfügung. Dieser Ansatz erlaubt die Sortierung von Daten nach räumlichen Kritierien und ermöglicht die effiziente Ausführung räumlicher Basisanfragen. Beispielsweise stehen für das Auffinden von bislang nicht untersuchten Geländeabschnitten oder die Identifizierung der nächstgelegenen Knoten in einem Unterwassersensornetzwerk entsprechende Datenbank-Operatoren bereit.
Das dabei definierte Datenschema orientiert sich am OGC-Standard „SensorThings API“ und führt eine spatio-temporale Organisationsstruktur ein. Durch den Einsatz standardkonformer Komponenten steht mit „Well-Known-Binary“ (WKB) ein spezifiziertes Austauschformat bereit, das die Synchronisierung räumlicher Daten mit der zentralen Instanz vereinheitlicht.
Datenstromverarbeitung
Sensormessdaten gehen oftmals nahezu in Echtzeit und miteinander verknüpft in die Missionsplanung und Fahrzeugsteuerung ein. Auf die effiziente Verarbeitung solcher Datenströme ist eine Geodatenbank nicht ausgelegt. Daher wurde innerhalb dieses Projekts die SQLite-Erweiterung aus Abbildung 3 entwickelt. Sie spezialisiert sich auf die Verarbeitung von Datenströmen und ergänzt das bestehende System um Datenstrukturen und spezielle Abfrageoperatoren. Diese Operatoren verarbeiten gegenüber den konventionellen Datenbankoperatoren Datensätze sequenziell. Dabei werden Datensätze einmalig ausgewertet und anschließend entweder verworfen oder gespeichert. Eine Auswertung der abgelegten Datenbasis ist somit nicht mehr notwendig. Besonders Aufgaben, bei denen eine wiederholte Ausführung identischer Abfragen notwendig ist, profitieren von dieser Methodik.
Ein Beispiel für eine Datenstromabfrage (Continuous Stream Query) wird in Abbildung 4 schematisch illustriert. Zunächst sammelt ein Fenster-Operator eingehende Datensätze des Datenstroms anhand einer Abfragebedingung. Anschließend werden die gesammelten Datensätze als Relation bereitgestellt und können somit durch konventionelle Datenbankmethoden ausgewertet oder verarbeitet werden, beispielsweise durch eine Verknüpfung mit dauerhaft gespeicherten Datensätzen.
Eine ausführlichere Darstellung ist in der Veröffentlichung [1] zu finden.
Raumbezogene Datenströme
Der Raumbezug wird unter der Verwendung der Spezifikation Tiny Well-known Binary (TWKB) hergestellt. Diese Spezifikation erlaubt die Definition von Geometrien in Form von Punkten, Linien und Polygonen im dreidimensionalen Raum und ist kompatibel mit SpatiaLite. Im Gegensatz zu gängigen Formaten forciert TWKB einen minimalen Speicherbedarf, was zu einer Schonung der begrenzten Ressourcen eines Unterwasserfahrzeugs beiträgt.
Für raumbezogene Datenströme wurden sechs neuartige Operatoren entwickelt, die Fenster-basiert arbeiten. Beispielhaft kann dies dazu dienen, um auf AUV-Sensormessdaten mit geschwindigkeitsbedingten Dichteunterschieden (Rechtecke A, B, C in Abbildung 5 links), diese in einfacher Weise auszugleichen (Abbildung 5 rechts).
Drei dieser Operatoren sind schematisch in Abbildung 6 dargestellt. Das Sliding Distance Window mit einer Fenstergröße von 100m hält Datensätze li der letzten 100m (rot umrandet) zum aktuellen Zeitpunkt ti vor. Das Tilting Distance Window verhält sich ähnlich, allerdings aktualisiert es die beinhalteten Elemente erst, sobald eine Wegstrecke zurückgelegt wurde, die mindestens der Fenstergröße entspricht. Der Vorteil hierbei ist eine längere Aufrechterhaltung einer konsistenten Ergebnismenge, während kürzlich aufgezeichnete Sensormessdaten erst im nächsten Intervall berücksichtigt werden (blau umrandet). Abschließend gruppiert das Session Distance Window aufeinanderfolgende Elemente, deren Wegstrecke zueinander nicht größer als die Fenstergröße ist.
Diese und weitere Operatoren wurden in [3] im Detail spezifiziert und evaluiert.
Evaluation und Geodienste
Im Rahmen einer Unterwassermission können alle Sensormessdaten unter Verwendung standardisierter Geodatenformate mit einer zentralen Datenbasis synchronisiert werden. Zwecks Evaluation wurden der Datenmanagement-Komponente Daten wie Salzgehalt, Temperatur und Druck aus den anderen EITAMS-Teilprojekten aus verschiedenen Messkampagnen dem System zugeführt.
Darauf aufbauend können weiterführende Anwendungen mithilfe von Geodiensten die Datenbasis einbinden und bspw. für Analysen verwenden. Ein Beispiel hierfür ist in Abbildung 7 dargestellt. In ihr werden die erhobenen Temperaturmessungen als Punktgeometrie dargestellt und auf Basis dieser Werte eine geschätzte Temperaturkarte dargestellt. Als Teil eines automatisierten Workflows kann dieses räumliche Schätzverfahren jederzeit eine aktuelle Karte bereitstellen.
Ressourcen und Dokumentation
Die SQLite-Erweiterung zur Verarbeitung räumlicher Datenströme steht quelloffen und dokumentiert auf GitHub mit MIT-Lizenz für die Öffentlichkeit bereit.
Ebenso sind alle Teilprojekt-spezifischen Veröffentlichungen online zugreifbar:
- Werner, T.; Brinkhoff, T. (2018): "Managing Spatio-Temporal Data Streams on AUVs". Proceedings of the IEEE/OES Autonomous Underwater Vehicles Workshop (AUV), Porto, Portugal, doi: 10.1109/AUV.2018.8729817
- Werner, T.; Brinkhoff, T. (2018): "Einsatz von SpatiaLite auf teilautonomen Unterwasserfahrzeugen". Beiträge der FOSSGIS-Konferenz 2018, FOSSGIS e.V., Bonn, ISBN 978-3-00-059170-9, pp. 117-118, Weblink auf Tagungsband
- Werner, T.; Brinkhoff, T. (2020): "Window Operators for Processing Spatio-Temporal Data Streams on Unmanned Vehicles". AGILE GIScience Ser., 1, 21, doi: 10.5194/agile-giss-1-21-2020
Als Besonderheit sei darauf hingewiesen, dass die Reproduzierbarkeit der Veröffentlichung [3] gesondert erfolgreich begutachtet wurde (siehe auch Jade Welt 23.07.2020).
Die Ergebnisse des Teilprojekts 4 wurden nicht nur auf wissenschaftlichen Konferenzen, sondern auch in der populärwissenschaftlichen Reihe „Hirn vom Hahn“ in Oldenburg im Oktober 2019 mit Hilfe eines mit Sensoren verknüpften Mikrocomputers in der Gestalt eines Roboterkopfes vorgestellt (blauer Kasten in der Bildmitte von Abbildung 8).