Matthew Hanson develops software for the use and analysis of remote sensing data
The SpatioTemporal Asset Catalog (STAC) specification has become an increasingly popular way of cataloging and searching for geospatial datasets in the cloud. STAC provides a standard way to define spatial (GeoJSON) location, temporal info and metadata important for search and discovery, along with references to the underlying data (assets). STAC objects link to each other, allowing groups to be created, exposed as catalogs, and crawled by indexers. Links also provide a way to track provenance by linking to source STAC Items used to derive new STAC Items.
Developed in an open community over the last 4 years, STAC has now reached a stable 1.0.0 version. With a variety of extensions built on this core, an API spec compatible with OGC API Features, and an increasing open-source software ecosystem, STAC is an important precursor for cloud-native workflows, in-place analysis, data fusion, and scaling processing of large geospatial datasets.
This talk will discuss the most recent developments in the STAC and STAC-API specifications, what the future holds for STAC, common STAC extensions, as well as a discussion of best practices for the creation and use of STAC. A brief overview of the most common software tools and catalogs will also be included.
The last year has seen a huge increase in the number of software tools and public catalogs made available as SpatioTemporal Asset Catalogs. NASA has made their Common Metadata Repository (CMR) available via a STAC compliant API, exposing petabytes of freely available data. Microsoft has launched the Planetary Computer that exposes datasets through a STAC API. E84’s Earth-Search provides a STAC API for public datasets on AWS. Google now provides a STAC Catalog for all their datasets available on Google Earth Engine.
It’s great that all this data is available because it allows the user of a common set of tools to interact with that data. But, what are those tools? Given a STAC API with data of interest how does one go about searching and accessing that data?
This talk will give an overview of several publicly available STAC API endpoints and how to use several open-source tools with them. It will be demonstrated how to use libraries such as PySTAC and PySTAC-Client to open and quickly search catalogs, and access the assets for different tasks through libraries such as intake-stac, stac-vrt, and stackstac. Finally, attendees will learn best practices to create their own STAC metadata and catalogs for derived data, allowing data provenance to be tracked from new data back to it's source.