Earth Observation for QGIS (EO4Q)

Earth Observation for QGIS (EO4Q) is a collection of EnMAP-Box tools and applications designed to integrate well in both, EnMAP-Box and QGIS environments. In both environments, EO4Q applications can be started from the Earth Observation for QGIS (EO4Q) Toolbar:

../../_images/EO4QToolbar.png

GEE Time Series Explorer

The GEE Time Series Exlorer integrates Google Earth Engine (GEE) into QGIS/EnMAP-Box. It allows the interactive exploration of temporal raster data available in the Earth Engine Data Catalog .

A first version of the GEE Time Series Exlorer was released as a QGIS plugin. Future versions will be maintained as an EO4Q application that integrates into QGIS and EnMAP-Box GUI.

Live demonstration
Slides from the Living Planet Symposium 2022 talk in Bonn, Germany

Janz, A. et al. (2022, May 26). GEE Time Series Explorer: Planetary-scale visualization and temporal profile sampling of EO imagery from the Earth Engine Data Catalog in QGIS and the EnMAP-Box [oral presentation]. Living Planet Symposium, Bonn, Germany

How to cite

Rufin, P., Rabe, A., Nill, L., and Hostert, P. (2021) GEE TIMESERIES EXPLORER FOR QGIS - INSTANT ACCESS TO PETABYTES OF EARTH OBSERVATION DATA , Int. Arch. Photogramm. Remote Sens. Spatial Inf. Sci., XLVI-4/W2-2021, 155-158, https://doi.org/10.5194/isprs-archives-XLVI-4-W2-2021-155-2021, 2021.

Used in scientific research

Marionei Fomaca de Sousa Junior, Leila Maria Garcia Fonseca and Hugo do Nascimento Bendini (2022) Estimation of Water Use in Center Pivot Irrigation Using Evapotranspiration Time Series Derived by Landsat: A Study Case in a Southeastern Region of the Brazilian Savanna

Philippe Rufin, Mayra Daniela Peña-Guerrero, Atabek Umirbekov, Yanbing Wei and Daniel Müller (2022) Post-Soviet changes in cropping practices in the irrigated drylands of the Aral Sea basin

Philippe Rufin, Adia Bey, Michelle Picoli, Patrick Meyfroidt (2022) Large-area mapping of active cropland and short-term fallows in smallholder landscapes using PlanetScope data

Agência Nacional de Águas. Atlas Irrigação: Uso Da Água Na Agricultura Irrigada , 2nd ed.; Agência Nacional de Águas: Brasilia, Brazil (2021)

Prerequisite

The GEE Time Series Exlorer depends on the QGIS Google Earth Engine plugin . In order to access Earth Engine, you must have an Google account that is authorized for Earth Engine. If you haven’t used Earth Engine so far, the easiest way to make sure that everything is working on your system, is to follow the instruction here: https://gee-community.github.io/qgis-earthengine-plugin/

Getting started

Usage
  1. Start the application from the View > Panels > GEE Time Series Exlorer menu or from the Earth Observation for QGIS (EO4Q) Toolbar iconGeeTimeSeriesExplorer.

    ../../_images/GeeTimeSeriesExplorer_DataCatalog.png

    Fig. 24 GEE Time Series Explorer main panel, showing the Data Catalog tab with Landsat collections.

  2. Select a collection.

    ../../_images/GeeTimeSeriesExplorer_ProfileViewer.png

    Fig. 25 GEE Time Series Explorer (Profile Viewer) panel, showing available bands and spectral indices.

Load a collection, plot a temporal profile and visualize an image
  1. Select the Landsat 8 Surface Reflectance collection in the Data Catalog tab of the main panel.

  2. Select the NDVI band in the Profile Viewer panel.

  3. Activate the Current Location map tool |icon_location| and select a location on the map. This will plot the temporal profile for that location in the Profile Viewer panel.

  4. Select a data point in the plot to visualize the associated image. The image is displayed in it’s default visualization.

Improve image contrast stretch

The default visualization may give a poor image contrast, which you may want to improve. In the Band Rendering tab of the main panel, you may set suitable min/max values manually, or specify lower/upper percentile cut off values, e.g. 2% to 98%. Note that the statistics are calculated for the current map extent.

Visualize derived vegetation indices

Beside visualizing original image bands in Multiband color RGB, it is possible to visualize derived vegetation indices.

Prepare a cloud-free composite

To create a composite that aggregates all images in a given date range, we just switch from Image Selection mode to Composite Selection mode in the Profile Viewer panel. In the plot we can now select a date range and create our first, very cloudy, composite. By applying a Pixel Quality Filter we can easily exclude all pixel affected by cloud and cloud shadow. And finally, we can improve the contrast stretch of the visualization.

Location Browser

The Location Browser panel allows to a) navigate to a map location directly, or to b) send a request to the Nominatim geocoding service.

Usage
  1. Start the tool from the View > Panels > Location Browser menu or from the Earth Observation for QGIS (EO4Q) Toolbar.

  2. Go to locations directly by entering the coordinates in one of the following formats:

    • 53.07478793449, 13.895089018465338 (longitude, latitude in decimal format)

    • 53°04'29.2"N, 13°53'42.3"E (longitude, latitude in GPS format)

    • 13.895089018465338, 53.07478793449, [EPSG:4326] (east, north, EPSG ID)

    Or send a request to the Nominatim geocoding service and explore the results:

    • berlin (free-form textual description of the location to be geocoded)

GUI
../../_images/LocationBrowser.png

../../_images/LocationBrowser_2.png
Live demonstration

Profile Analytics

The Profile Analytics panel allows to visualize various types of spectral, temporal and spatial profiles. Additionally, profile data can be analysed by user-defined functions (ufuncs). A ufunc has access to the plot widget and can draw additional plot items.

Usage
  1. Start the tool from the View > Panels > Profile Analytics menu or from the Earth Observation for QGIS (EO4Q) Toolbar.

  2. Select the Source type, that is providing the profiles. Note that we’re currently only support raster layer as source, but we plan to have other sources like profiles from the GEE Time Series Explorer.

  3. Select the Profile type you want to extract from the raster layer:

  4. Select a Raster.

  5. In case of a spatial profile (i.e. X-Profile, Y-Profile and Profile along a line), also select a Band. In case of a Z-Profile), the selected band is ignored.

  6. Style the profile.

  7. Apply data Scaling.

  8. Choose an ufunc to perform Analytics on the profile data and add extra plot annotations. The ufunc has full access to the plot widget and can add plot items like:

    • plot line (e.g. fitted data, vegetation regrowth, trend lines, etc.)

    • plot marker symbols (e.g. forest clear cut events, mowing events, fire events, red-edge inflection point, etc.)

    • plot text

    • insert images

    Examples can be found under /enmapbox/eo4qapps/profileanalyticsapp/examples/.

  9. Depending on the Profile type and availability of raster metadata, different X Axis units can be choosen:

    Z-Profile values:

    • can always be plotted against Band Numbers

    • can be plotted against Wavelength, if band center wavelength is specified

    • can be plotted against Date Time, if band (aquisition) date time is specified

    X-Profile values are always plotted against the Column Number.

    Y-Profile values are always plotted against the Row Number.

    Profile along a line values are always plotted against the Distance from line start.

  10. In case of X-Profile, Y-Profile and Z-Profile, use the Cursor Location map tool to select a location that specifies the profile.

    In case of Profile along a line, use the Select Feature map tool to select a line-vector feature that specifies the profile.

GUI
Spectral Z-Profile
../../_images/ProfileAnalytics.png
Temporal Z-Profiles
../../_images/ProfileAnalytics_2.png
Temporal Z-Profile annotated with a Support Vector Regression fit (svr_fitting.py used as ufunc)
../../_images/ProfileAnalytics_3.png

../../_images/ProfileAnalytics_4.png
Live demonstration

Raster Band Stacking

The Raster Band Stacking panel allows to stack bands into a new VRT raster layer. Raster bands can be selected inside the panel or added via drag&drop in various ways.

Usage
  1. Start the tool from the View > Panels > Raster Band Stacking menu or from the Earth Observation for QGIS (EO4Q) Toolbar.

  2. Add raster sources and select bands:

    • add a new raster source via the “+” button

    • select raster(s) inside the Data Sources panel and drag&drop the selection into the table

    • select band(s) inside the Data Sources panel and drag&drop the selection into the table

    • select raster layer(s) inside the Data Views panel and drag&drop the selection into the table

    • select raster files inside the file explorer (e.g. Windows Explorer) and drag&drop the selection into the table

  3. Prepare the final band stack inside the table by:

    • changing individual band selections

    • removing rows

    • moving rows up and down

  4. Choose an output filename and create the band stack. By default, the output pixel grid (i.e. extent, resolution, crs) is derived automatically (i.e. gdal.BuildVrt defaults). To use a custom pixel grid, switch to the Raster option and select a raster.

GUI
../../_images/RasterBandStacking.png
Live demonstration

Sensor Product Import

The Sensor Product Import panel allows to import various sensor products via drag&drop. E.g. a downloaded Landsat product can be imported as is:

Landsat 9 Product Example
../../_images/SensorProductImport.png

All the surface reflectance bands are automatically stacked, band offset and scaling factors are applied, and proper metadata, like center wavelength and band names, are specified.

Usage
  1. Start the tool from the View > Panels > Sensor Product Import menu or from the Earth Observation for QGIS (EO4Q) Toolbar.

  2. Drag&drop the product folder, or any file inside the product folder, into the Drop Product Here area.

  3. Run the import algorithm. Note that the result is stored next to the source product. When opening the product for the next time, this algorithm is not shown.

  4. Visualize the result raster.

GUI
../../_images/SensorProductImport_2.png
Live demonstration