BYOD – Bring your own data

Here we show a short example of how to bring your own data into Geo Engine via upload. In this case we have a GeoPackage (GPKG) with aircraft positions from the OpenSky network [1]. We would like to upload this as a point layer into Geo Engine and annotate it with time information. In the following we show the individual steps in the Geo Engine UI.

The upload dialog

First of all you get to the Add-Data dialog via “+”. There you can either select one or more files or drag and drop them. In the case of our GeoPackage, a single file is sufficient; with Shapefiles, for example, it is several files that make up a data set.

After the upload, Geo Engine performs an auto-detection of the dataset. In the system, each record is annotated with several descriptive fields and Geo Engine tries to pre-fill as many of them as possible.

The Main File is recognized as the entry point, the Layer Name in the GeoPackage, and additionally with MultiPoint the data type, since the flight positions are given as point coordinates. As Time Type nothing is selected at first because the fields time and lastposupdate are specified as UNIX timestamps in seconds after 1970 and not as date fields. We select Start / End for the time and can now enter the two columns manually. The text column is detected with icao24 as the aircraft identifier. Under Spatial Reference, the system has detected that Lat/Lon values are present. Geo Engine also supports other coordinate reference systems.

Now we can give the dataset a name and add it to the map. We can see flight positions in Central Europe.

Temporal localization

If you take a look at the time selection above the map, you will see August 8, 2018, at 12:00. All positions that are valid at this time are displayed on the map. We can set the selector so that clicks on Forward and Backward move the time selection in 15-minute increments.

Spatial selection

We can spatially filter the data, for example by manually drawing a polygon on the map. This is done in the Draw Features dialog and on the one hand, adds the drawing to the map, and on the other hand, Geo Engine stores the layer for later reuse.

Using the point-in-polygon operator, we can now spatially extract the area of the data using the polygon. The result appears as a new layer.


As the last step, we edit the appearance of the filtered layer. Under Edit Symbology we change, for example, the fill color of the circles. There are other options here, such as adjusting the border color or radius. But we can also make the appearance dependent on the attributes of the data. This way, we can display as label the values of the ICAO24 attribute.


We can see the workflow of the computation if we select the layer and display the lineage as a graph. Here we can see the two inputs, one consisting of the flight positions and the other of the drawn polygon. In addition, we can see the application of the point-in-polygon filter, which leads to the final result.


This use case demonstrates a number of features of the Geo Engine:

  • The upload of point data from a GeoPackage.
  • The annotation of temporal information in the upload process
  • The temporal mapping of point data
  • The drawing of polygons and spatial filters
  • The vector symbology editor and setting labels from attribute values
  • The reconstruction of the computation with the lineage graph

Data citation

  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.