To learn about STAC and Extensions start with the extensions section of the core specification. It explains how extensions work, lists all the known extensions, and has instructions for how to go about ‘extending STAC’.
The stac-extensions github organization is a home for many of the leading ‘community extensions’, providing a neutral home for collaboration. Many of these used to be in the core stac-spec repository, but were removed for 1.0.0 so they could evolve at their own pace, instead of having to follow the core STAC release cycle.
The definitive list of STAC Extensions is in the core spec repository, in the Extensions README. This includes the official core extensions, as well as a complete list of ‘community’ extensions. A subset of the community extensions use this stac-extensions GitHub organization, and those are listed in the next section.
These extensions add new fields or semantics to STAC objects.
|Extension Title||Field Name Prefix||Scope||Maturity||Published?||Description|
|Aerial Photography||aerial-photo||Item, Collection||WIP||No||Aerial photography related metadata, such as run, sequence number, altitude and scale.|
|Alternate Assets||-||Asset||Proposal||Yes||Provides a way to specify alternate locations for an asset.|
|Anonymized Location||anon||Item, Collection||WIP||No||Provides a way to anonymize location data.|
|Camera||camera||Item, Collection||WIP||No||Camera related metadata, such as focal length and sequence number. Especially useful for aerial imagery surveys.|
|CARD4L||card4l||Item||Proposal||Yes||How to comply to the CEOS CARD4L product family specifications (Optical and SAR).|
|Classification||classification||Item, Collection||Proposal||Yes||Describes categorical values and bitfields.|
|Data Cube||cube||Item, Collection||Proposal||Yes||Data Cube related metadata, especially to describe their dimensions.|
|Electro-Optical||eo||Item, Collection||Stable||Yes||Covers electro-optical data that represents a snapshot of the Earth for a single date and time. It could consist of multiple spectral bands, for example visible bands, infrared bands, red edge bands and panchromatic bands. The extension provides common fields like bands, cloud cover, gsd and more.|
|File Info||file||Item, Collection||Proposal||Yes||Provides a way to specify file details such as size, data type and checksum for assets in Items and Collections.|
|Film||film||Item, Collection||WIP||No||Film related metadata, such as roll, negative sequence and other physical attributes. Especially useful for digitised historic aerial imagery surveys.|
|Forecast||forecast||Item, Collection||WIP||No||Common fields for (meteorological/weather) forecast data.|
|Hyperspectral Imagery||hsi||Item, Collection||Proposal||Yes||Desribes necessary not specific to vendor hyperspectral imagery fields.|
|Item Asset Definition||-||Collection||Proposal||Yes||Provides a way to specify details about what assets may be found in Items belonging to a Collection.|
|Label||label||Item, Collection||Proposal||Yes||Items that relate labeled AOIs with source imagery.|
|ML AOI||ml-aoi||Item, Collection||WIP||No||An Item and Collection extension to provide labeled training data for machine learning models.|
|ML Model||ml-model||Item, Collection||Proposal||Yes||An Item and Collection extension to describe machine learning (ML) models that operate on Earth observation data.|
|Order||order||Item, Collection||Proposal||Yes||Allows assets ordering management within STAC specification.|
|Perspective Imagery||pers||Item, Collection||WIP||No||Provides a way to describe perspective imagery collected by photogrammetric or non-photogrammetric frame cameras.|
|Point Cloud||pc||Item, Collection||Proposal||Yes||Provides a way to describe point cloud datasets. The point clouds can come from either active or passive sensors, and data is frequently acquired using tools such as LiDAR or coincidence-matched imagery.|
|Processing||processing||Item, Collection||Proposal||Yes||Indicates from which processing chain data originates and how the data itself has been produced.|
|Projection||proj||Item, Collection||Stable||Yes||Provides a way to describe Items whose assets are in a geospatial projection.|
|Quality||quality||Collection||Proposal||No||Geospatial quality and accuracy of collections, such as horizontal and vertical accuracy.|
|Raster||raster||Item, Collection||Proposal||Yes||Describes raster assets at band level (one or multiple) with specific information such as data type, unit, number of bits used, nodata.|
|SAR||sar||Item, Collection||Proposal||Yes||Covers synthetic-aperture radar data that represents a snapshot of the earth for a single date and time.|
|Satellite||sat||Item, Collection||Proposal||Yes||Satellite related metadata for data collected from satellites.|
|Scanning||scan||Item, Collection||WIP||No||Scanning related metadata, such as the scan date and time. Especially useful for digitised images.|
|Scientific Citation||sci||Item, Collection||Stable||Yes||Metadata that indicate from which publication data originates and how the data itself should be cited or referenced.|
|Single File STAC||-||Catalog||Deprecated||No||An extension to provide a set of Collections and Items within a single file STAC.|
|Storage||storage||Item, Collection||Proposal||Yes||Provides additional fields relating to how the asset is stored.|
|Table||table||Item, Collection||Proposal||Yes||An Collection or Item can describe a tabular data assets, using a list of Column objects. Additionally, Collections can describe many tabular datasets using Table objects.|
|Tiled Assets||tiles||Item, Catalog, Collection||Proposal||No||Allows to specify numerous assets using asset templates via tile matrices and dimensions.|
|Timestamps||-||Item, Collection||Proposal||Yes||Allows to specify numerous timestamps for assets and metadata.|
|Versioning Indicators||-||Item, Collection||Proposal||Yes||Provides fields and link relation types to provide a version and indicate deprecation.|
|Video||video||Item||Proposal||Yes||Allows the description of video sources.|
|View Geometry||view||Item, Collection||Stable||Yes||View Geometry adds metadata related to angles of sensors and other radiance angles that affect the view of resulting data.|
|Virtual Assets||virtual||Item, Collection||WIP||No||Allows the description of virtual assets composed from 2 or more assets with cross references and repositioning.|
|Web Map Links||- (wmts/xyz)||Item, Catalog, Collection||Proposal||Yes||Allows to provide links to web maps for visualization purposes. Currently, OGC WMTS and XYZ are supported.|
Extensions in this directory are meant to evolve to maturity, and thus may be in different states in terms of stability and number of implementations. All extensions included must include a maturity classification, so that STAC spec users can easily get a sense of how much they can count on the extension.
|Maturity Classification||Min Impl #||Description||Stability|
|Proposal||0||An idea put forward by a community member to gather feedback||Not stable - breaking changes almost guaranteed as implementers try out the idea.|
|Pilot||1||Idea is fleshed out, with examples and a JSON schema, and implemented in one or more catalogs. Additional implementations encouraged to help give feedback||Approaching stability - breaking changes are not anticipated but can easily come from additional feedback|
|Candidate||3||A number of implementers are using it and are standing behind it as a solid extension. Can generally count on an extension at this maturity level||Mostly stable, breaking changes require a new version and minor changes are unlikely. The extension has a code owner.|
|Stable||6||Highest current level of maturity. The community of extension maintainers commits to a STAC review process for any changes, which are not made lightly.||Completely stable, all changes require a new version number and review process.|
|Deprecated||N/A||A previous extension that has likely been superseded by a newer one or did not work out for some reason.||DO NOT USE, is not supported|
Maturity mostly comes through diverse implementations, so the minimum number of implementations column is the main gating function for an extension to mature. But extension authors can also choose to hold back the maturity advancement if they don’t feel they are yet ready to commit to the less breaking changes of the next level.
A ‘mature’ classification level will likely be added once there are extensions that have been stable for over a year and are used in twenty or more implementations.
TODO: Overview of using the template.
Step-by-step (add an image or two)