Skip to content

About

Defines a STAC extension for describing collections of geospatial vector embeddings.

Resources

Stars

17 stars

Watchers

2 watching

Forks

Latest commit

 

History

39 Commits

Folders and files

Repository files navigation

STAC Embedding Extension Specification

This document explains the Embedding Extension to the SpatioTemporal Asset Catalog (STAC) specification. It defines metadata for geospatial embedding products generated by running a geospatial foundation model on Earth observation data. It describes the produced embeddings and does not redefine STAC core objects.

Related Specifications and Schemas

Fields

The fields in the table below can be used in these parts of STAC documents:

  • Catalogs
  • Collections
  • Item Properties (incl. Summaries in Collections)
  • Assets (for both Collections and Items, incl. Item Asset Definitions in Collections and Asset Templates)
  • Links (incl. Link Templates)
  • Bands
Field Name Type Description
emb:type string enum REQUIRED. Embedding type: pixel or chip.
emb:dimensions [integer] REQUIRED. Embedding dimensions as an array of sizes, e.g. [768] for a single 768-dimensional vector.
emb:chip_size [integer] Chip size in pixels as [height, width].
emb:stride [integer] Step between the origins of neighboring chips in pixels as [row_stride, col_stride]. When stride < chip_size, chips overlap.
emb:grid_id string Grid system the chips are aligned to. See Grid IDs.
emb:temporal_period string Temporal compositing period as an ISO 8601 duration (e.g. P1Y, P3M).
emb:quantization_method string Quantization method (e.g. linear).
emb:original_data_type string Data type before quantization. Uses the same data type values as data_type.

Embeddings Asset

Items MUST include at least one asset with the role embeddings. This asset contains the actual embedding data (e.g., a GeoParquet file, COG, or Zarr store). An Item may have multiple embeddings assets. Collections SHOULD describe the expected embeddings assets in item_assets.

Grid IDs

emb:grid_id should use one of the grid designations from the Grid Extension. A link to the grid definition can be provided with the emb:grid relation type.

Grid ID Grid
MGRS Military Grid Reference System
MSIN MODIS Sinusoidal Tile Grid
WRS1 Worldwide Reference System 1
WRS2 Worldwide Reference System 2
DOQ Digital Orthophoto Quadrangle
DOQQ Digital Orthophoto Quarter Quadrangle
MXRA Maxar ARD Tile Grid
EASE-DGGS EASE-DGGS
CDEM Copernicus DEM Grid
EEA EEA Reference Grid
MAJORTOM Major TOM Grid
ADV AdV Tile Grid
SPOTGRS SPOT Reference Grid
PLQ Planet Mosaic Quad Grid

Relation types

The following types may be used as applicable rel types in the Link Object. None are required.

Type Description
emb:encoder_model Link to the encoder model used to produce the embeddings. If available, this should point to a STAC MLM Item.
emb:decoder_model Link to a decoder model to reconstruct the image from the embeddings, if one exists. If available, this should point to a STAC MLM Item.
emb:benchmark Link to benchmark/evaluation resources.
emb:grid Link to the grid/tiling definition used for chip embeddings.
emb:quantization Link to a document describing the quantization method.

Source data used to produce the embeddings SHOULD be linked with the derived_from relation type.

Best Practices

These recommendations are non-normative.

Relationship to STAC MLM

The STAC MLM Extension describes the model itself: its architecture, inputs, outputs, and available parameters. This extension describes the embeddings produced by running that model. Link to the model with the emb:encoder_model relation type, ideally pointing to a STAC MLM Item.

Embedding types

Geospatial embeddings fall into two categories (per arXiv:2601.13134):

Type Description Typical Format
pixel Dense, per-pixel embeddings preserving full spatial detail COG, Zarr
chip One embedding vector per spatial tile/chip GeoParquet

The embedding type drives storage format, resolution, and cost trade-offs. A pixel product at 10m resolution for Africa is ~38-77 TB; a chip product for the same area can be under 4 GB.

Common metadata

Always provide data_type for the stored embeddings (e.g. float32, int8), so that users can read them without inspecting the data.

Use gsd for the ground sample distance or spatial extent per embedding, in meters.

For quantized embeddings, data_type is the stored (quantized) type. Use emb:original_data_type for the type before quantization, and the Raster Extension raster:scale and raster:offset fields for dequantization.

Related extensions

Consider using these extensions alongside this one:

  • Processing Extension:
    • processing:datetime for when the embeddings were generated
    • processing:version for the source data processing baseline (e.g. Sentinel-2 processing baseline)
    • processing:software for the libraries and versions used to generate the embeddings
  • Scientific Extension: sci:doi, sci:citation, and sci:publications for papers describing the model or embedding product
  • Projection Extension: CRS and geometry of pixel embeddings

Contributing

All contributions are subject to the STAC Specification Code of Conduct. For contributions, please follow the STAC specification contributing guide Instructions for running tests are copied here for convenience.

Running tests

The same checks that run as checks on PRs are part of the repository and can be run locally to verify that changes are valid. To run tests locally, you'll need npm, which is a standard part of any node.js installation.

First you'll need to install everything with npm once. Just navigate to the root of this repository and on your command line run:

npm install

Then to check markdown formatting and test the examples against the JSON schema, you can run:

npm test

This will spit out the same texts that you see online, and you can then go and fix your markdown or examples.

If the tests reveal formatting problems with the examples, you can fix them with:

npm run format-examples

About

Defines a STAC extension for describing collections of geospatial vector embeddings.

Resources

Stars

17 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors