In this blog post we will walk you through the new feature we added in QGIS to access, browse and filter SpatioTemporal Asset Catalog (STAC) data.

What is STAC?

STAC stands for SpatioTemporal Asset Catalog. It's essentially a common language to describe geospatial information, making it easier to work with, index, and discover.  You can think of it like a standardised way to organise and access any kind of geospatial data, whether it's satellite imagery, drone footage, or sensor readings.

STAC provides a set of specifications for describing geospatial assets (like satellite images) in a consistent way. This includes information about the asset's location, time of capture, and other relevant metadata.  It also  makes it easier to find and use geospatial data from different sources. By standardising the metadata, STAC allows users to search for data using common criteria, regardless of where the data comes from.  

The key components of STAC:

  • STAC Item: The basic unit of STAC, representing one or more geospatial assets (e.g. a single Shapefile or a multi-band GeoTIFF: each band can be an asset within the item).  
  • STAC Collection: group of items with common meta-data
  • STAC Catalog: A folder containing STAC Items and/or collections
  • STAC API: A standardised way to access and query STAC Catalogs.  

STAC implementation in QGIS

There have been several plugins in QGIS to use with STAC. But often those plugins are built around a certain data provider and do not make use of the full STAC capabilities. Therefore, we decided to implement STAC as a core QGIS data provider. In QGIS 3.40, we initially added support for static STAC servers. In simple terms, static STAC does not include an API, so it is not possible to search based on spatial or temporal extent. Furthermore, in QGIS 3.42 you can browse and filter STAC catalogs.

Working with STAC catalogs in QGIS

To use the features described below, you will need QGIS 3.42 or later.

There are several open catalogs available online. For more catalogs, you can visit https://radiantearth.github.io/stac-browser

For the purpose of the examples below, we use Eco Data Cube (https://s3.eu-central-1.wasabisys.com/stac/odse/catalog.json) and  SnapPlanet (https://tamn.snapplanet.io/) catalogs

Adding a STAC connection

You can add a new STAC connection either through the Browser Panel or Data Source Manager:

  • From the Browser Panel, right click on STAC and select New STAC Connection … 
  • For the Name type Eco Data Cube
  • For URL type https://s3.eu-central-1.wasabisys.com/stac/odse/catalog.json

If you extend the connection, you should be able to see some collections:

You can expand a collection, you will be able to see items within that collection:

To see details of an item, right click and select Details. This will display the metadata, coverage, STAC extension, etc for the item.

If the item is a Cloud Optimized format (e.g. COG), you can simply drag and drop it in QGIS canvas to view it. If it is a flat file, you need to first download the item. Right-click on the asset and select Download….Select the path and the objects you want to download. It contains the main dataset and other auxiliary data (e.g. style, thumbnail, etc).

After download, you can add the TIFF file to QGIS:

The above method is more suitable for static collection. But if you want to search the data, you can use the Data Source Manager:

In the Data Source Manager, under STAC, create a new connection for SnapPlanet (https://tamn.snapplanet.io/).

When you connect you can see millions of assets! It is difficult to go through all the assets and find the right dataset. If you click on Filters … you will be presented with a new window to cut down the data spatially and temporally:

Once you filter data, you can also see the dataset footprints on the QGIS map:

When you select the items in the Data Source Manager, the footprint gets highlighted (in red). You can then download the asset(s) related to the item and visualise it in QGIS.

Future work

This work was carried out thanks to funding from KoBold Metals (https://www.koboldmetals.com/). There are other items on our wishlist,which we would like to add but they were not within the scope of the project or a core part of STAC:

  • Authentication with asset provider
  • Downloading data from s3:// links or other cloud stores (e.g. Azure or Google)
  • Expanding filters to work with QGIS Expressions
  • Support STAC API extensions like Query, Sort or Filter

If you are interested in sponsoring those features to appear in the future releases of QGIS, please contact us (info@lutraconsulting.co.uk).

You might also want to read these

Let's make the QGIS work for you

Lutra Consulting is a QGIS-focused expert provider of geospatial software development, consulting, training, and support services.

Get in touch
By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Cookie Policy for more information. Deny cookies here.