Time series processing of satellite and point data – tree populations and the Sentinel-2 NDVI index

Here we show a use case of Geo Engine to perform calculations on Earth observation time series and enrich point data with these results. In this case, we want to automatically evaluate tree populations using a vegetation index that is calculated from infrared images taken by the Sentinel-2 satellite. In the following, we show the individual steps in the Geo Engine UI.

Tree population data

First, we insert a dataset of tree populations from Marburg Open Forest [1], where each tree is referenced as a data point, each with an ID and metadata. If we zoom into the area, we can identify the individual points.

Calculate NDVI from Sentinel-2 data

Next, we add to the map two infrared bands from Sentinel-2 [2] from our data repository. The NDVI (Normalized Difference Vegetation Index) is calculated from channels 4 and 8. Using the expression operator, mathematical expressions can be calculated on multiple bands. Geo Engine uses parallel processing methods for this purpose. As a user, one specifies the expression and specifies the output data type. In the case of NDVI, the output is a floating-point value in the range -1 to 1.

After the result is calculated, you initially see only black raster tiles on the screen, since the previous color gradient was specified from 0 to 255. In the Symbology Editor, Geo Engine offers a histogram that represents the value distribution. Here you can easily create a color gradient in the range -1 to 1. Finally, you can see the NDVI result visually on the map.

The effect of native time series processing

In the window above you can see the calculated map for the selected result time of the data. If this is changed via the temporal navigation buttons – in this case, we jump to the next month – then one of the strengths of Geo Engine becomes apparent. The calculation is now automatically performed over the data in the updated time selection. Geo Engine loads the corresponding new input data from the time series without any new effort on the part of the user.

In the Symbology Editor on the right side, you can also see the recalculation of the histogram over the value distribution. This also automatically adapts to the newly selected point in time.

Spatio-temporal data combination

With a click on the points menu of the tree layer, you can display the data table. It contains metadata for the respective trees. The goal of this application is to evaluate the NDVI values for each individual tree. Consequently, we want to enrich the tree layer with the values of the NDVI layer.

The Raster-Point-Join operator allows the spatio-temporal combination of raster and vector data – in this case, NDVI and tree population data. A look into the data table of the new layer shows that NDVI values are now available for each data point. If one changes the result time point via the time navigation, this is reflected in adjusted values in the data table.

Temporal chart of the index values

Finally, we can perform further operations on the NDVI-enriched tree population data using Geo Engine, for example, to create temporal charts. The Feature Attribute over Time plot draws each tree (via its ID) on a line chart. The chart shows time on the X-axis and NDVI value on the Y-axis.

At first, only one data point is visible, because only one point in time was selected in the time navigation. If you change this to a time interval of several months, the plot will be updated and the time range will be extended. Here, you can also move the interval month by month, whereby the calculation and thus the chart, as a result, adapt accordingly.


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

  • The loading of point and earth observation data
  • The calculation of mathematical expressions on raster time series
  • The spatio-temporal linking of point and raster data
  • Temporal diagrams and the data table
  • The raster symbology editor and supporting histograms

Data citation

  • MOFGeoDB – Database for MarburgOpenForest related Data: https://github.com/MarburgOpenForest/MOFGeoDB
  • M. Drusch, U. Del Bello, S. Carlier, O. Colin, V. Fernandez, F. Gascon, B. Hoersch, C. Isola, P. Laberinti, P. Martimort, A. Meygret, F. Spoto, O. Sy, F. Marchese, P. Bargellini: Sentinel-2: ESA’s Optical High-Resolution Mission for GMES Operational Services, Remote Sensing of Environment, Volume 120, 2012, Pages 25-36, ISSN 0034-4257, https://doi.org/10.1016/j.rse.2011.11.026.