BYOD – Bring your own data

Hier zeigen wir ein kurzes Beispiel, wie man eigene Daten via Upload in die Geo Engine einbringen kann. In diesem Fall haben wir ein GeoPackage (GPKG) mit Flugzeugpositionen aus dem OpenSky-Network [1]. Wir möchten dies als Punkt-Layer in die Geo Engine hochladen und zeitlich annotieren. Im Folgenden zeigen wir die einzelnen Schritte im Geo Engine UI.

Der Upload-Dialog

Zunächst gelangt man über “+” auf den Add-Data-Dialog. Dort kann man entweder ein oder mehrere Dateien auswählen oder via Drag&Drop hineinziehen. Im Fall unseres GeoPackages reicht eine einzige Datei aus, bei Shapefiles sind es beispielsweise mehrere Dateien, die einen Datensatz ausmachen.

Nach dem Upload führt die Geo Engine eine Auto-Detection des Datensatzes durch. Im System wird jeder Datensatz mit mehreren beschreibenden Feldern annotiert und Geo Engine versucht so viel wie möglich davon vorauszufüllen.

Es wird das Main File als Einstiegspunkt erkannt, der Layer Name im GeoPackage und zudem mit MultiPoint der Datentyp, da die Flugpositionen mit Punkt-Koordinaten angegeben sind. Als Time Type wird zunächst nichts vorausgewählt, da die Felder time und lastposupdate als UNIX-Zeitstempel in Sekunden nach 1970 und nicht als Datumsfelder angegeben sind. Wir wählen für die Zeit Start / End aus und können jetzt die zwei Spalten manuell eingeben. Also Textspalte wird mit icao24 die Flugzeugkennung erkannt. Unter Spatial Reference hat das System detektiert, dass Lat/Lon-Werte vorliegen. Geo Engine unterstützt zudem auch andere Koordinatenreferenzsysteme, die hier angegeben werden können.

Nun können wir dem Datensatz noch einen Namen geben und zur Karte hinzufügen. Wir sehen nun Flug-Positionen in Mitteleuropa.

Zeitliche Verortung

Schaut man auf die Zeitselektion oberhalb der Karte, so erkennt man den 8. August 2018, um 12:00 Uhr. Alle Positionen, die zu diesem Zeitpunkt gültig sind, werden auf der Karte angezeigt. Wir können den Selektor so einstellen, dass Klicks auf Vor und Zurück die zeitliche Auswahl in 15-Minuten-Schritten verschiebt.

Räumliche Selektion

Wir können die Daten räumlich filtern, indem wir beispielsweise manuell ein Polygon auf die Karte zeichnen. Dies geschieht im Draw Features-Dialog und fügt die Zeichnung zum einen der Karte hinzu und zum anderen speichert Geo Engine den Layer für spätere Wiederverwendung ab.

Mittels Point-in-Polygon-Operator können wir nun den Bereich der Daten räumlich mittels des Polygons ausscheiden. Das Ergebnis erscheint als neuer Layer.

Symbology

Als letzten Schritt editieren wir das Erscheinungsbild des gefilterten Layers. Unter Edit Symbology ändern wir beispielsweise die Füllfarbe der Kreise. Es gibt hier noch weitere Optionen, beispielsweise das Anpassen der Rahmenfarbe oder des Radius. Wir können aber auch das Erscheinungsbild abhängig von Attributen der Daten gestalten. So können wir als Label die Werte des ICAO24-Attributs anzeigen lassen.

Lineage

Den Ablauf der Berechnung können wir nachvollziehen, wenn wir den Layer anwählen und die Lineage als Graph anzeigen lassen. Hier erkennt man die beiden Eingaben, die zum einen aus den Flugpositionen und zum anderen aus dem gezeichneten Polygon bestehen. Zudem zieht man die Anwendung des Point-in-Polygon-Filters, der zum Endergebnis führt.

Fazit

Dieser Anwendungsfall zeigt eine Reihe von Features der Geo Engine:

  • Den Upload von Punktdaten aus einem GeoPackage
  • Die Annotation zeitlicher Informationen im Upload-Prozess
  • Das zeitliche Mapping von Punktdaten
  • Das Einzeichnen von Polygonen und räumliche Filter
  • Den Vektor-Symbology-Editor und das Setzen von Labeln aus Attribut-Werten
  • Das Nachvollziehen von Berechnungen mittels Lineage-Graph

Daten-Zitierung

  1. M. Schäfer, M. Strohmeier, V. Lenders, I. Martinovic, and M. Wilhelm: Bringing up opensky: a large-scale ADS-B sensor network for research. In IPSN’14, pages 83–94, 2014.