Project Extension Specification

This document explains the Project Extension to the SpatioTemporal Asset Catalog (STAC) specification. Describes the associated project that is responsible for creating the data and metadata. Such projects often appear in the context of funded agency or government work.

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)
  • Links
Field Name Type Description
project:name string The name of the project.
project:purpose string The purpose/aim/description of the project.
project:status string Status of the project (see below).

project:status

The project status can have any of the following values:

  • proposed (proposed, but not yet approved)
  • planned (approved, but has not started yet)
  • ongoing (project has started, work is ongoing)
  • paused (temporarily stopped, results may be incomplete)
  • completed (successfully completed, final results are available)
  • cancelled (permanently stopped, results may be incomplete)

Relation types

The following types should be used as applicable rel types in the Link Object.

Type Description
project Link to a website of the project.

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 PR's 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