Thomas' Learning Hub
Completefundamentalstutorial

SpatioTemporal Asset Catalog (STAC)

Metadata standards for discovery.

Techniques Learned

JSON-LD MappingCatalog Navigation

Tools Introduced

STAC APIPySTAC

Overview

STAC is a specification designed to standardize how geospatial assets are exposed online and queried. A 'spatiotemporal asset' is any file that represents information about the earth captured in a certain space and time.

Key Concepts

STAC Items

A STAC Item is a GeoJSON feature with additional metadata properties and links. It represents a single spatiotemporal asset, such as a satellite image, and includes:

  • A geometry describing the spatial extent of the asset
  • A timestamp or temporal extent for when the data was captured
  • Asset links pointing to the actual data files
  • Properties providing additional context and metadata

STAC Catalogs

A STAC Catalog is a JSON object that contains links to STAC Items or other catalogs. It provides a way to organize and navigate through collections of spatiotemporal assets.

STAC Collections

A STAC Collection is a specialization of a catalog that provides additional information about a group of related STAC Items, such as common properties, temporal and spatial extents, and licensing information.

STAC API

The STAC API specification extends the core STAC specification to provide a RESTful API for querying and accessing spatiotemporal assets. It enables powerful filtering capabilities based on spatial, temporal, and other metadata properties.

Why STAC Matters for Cloud-Native Geospatial

STAC addresses several key challenges in the geospatial data ecosystem:

  1. Discoverability: Makes it easier to find relevant geospatial data across different providers
  2. Interoperability: Provides a common language for describing geospatial assets
  3. Scalability: Enables efficient querying of large catalogs of geospatial data
  4. Integration: Facilitates the integration of geospatial data into cloud-based workflows

Common STAC Extensions

STAC Extensions allow the core specification to be extended for specific use cases:

  • EO Extension: Adds properties specific to Earth Observation data
  • SAR Extension: Adds properties specific to Synthetic Aperture Radar data
  • Scientific Extension: Adds properties for scientific datasets
  • Projection Extension: Adds properties related to the spatial reference system

Tools and Libraries

  • PySTAC: Python library for working with STAC
  • STAC Browser: Web application for browsing STAC catalogs
  • stac-fastapi: Framework for building STAC APIs in Python
  • STAC Index: Registry of public STAC catalogs

Public STAC Catalogs

Practical Exercises

Three exercises walk you through the full STAC lifecycle: building a catalog from scratch with PySTAC, querying a public API for satellite imagery, and wiring that imagery into a real NDVI analysis workflow.

Additional Resources

For more in-depth learning about STAC, check out these resources:

Foundational Concepts

<!-- TODO: Verify this YouTube ID is the correct STAC<>Zarr session video -->

Modern CNG Technical Sessions (2025-2026)

  • STAC as an OGC Community Standard: In 2025, STAC was officially adopted as an OGC Community Standard, solidifying its place in global geospatial infrastructure.
  • STAC + Zarr Community Sprint 2025: Key findings on representing massive multidimensional arrays in STAC catalogs.
  • Cloud-Native Geospatial Forum 2026: Join the community in Snowbird, Utah (Oct 2026) for the latest on GeoParquet, STAC, and Iceberg implementation.

For more, browse the full CNG Conference archive.

Practical Implementation

Source files from src/exercises/stac/

Download exercise files from GitHub
SpatioTemporal Asset Catalog (STAC) | Cloud-Native Geospatial Tutorial