/ssys

SSYS STAC Extension Specification

The UnlicenseUnlicense

Solar System Extension Specification

This document explains the fields of the STAC Solar System (SSYS) Extension to a STAC Item, Catalog, or Collection. SSYS covers data sets that represents an individual image, mosaic, or derived raster of a planetary body. Examples of SSYS data include sensors with visible, short-wave and mid-wave IR bands (e.g., the THEMIS instrument on Mars Odyssey), visible images (e.g. Context Camera (CTX) aboard Mars Global Surveyor), or derived data sets like digital elevation models (DEM/DTM).

Item Properties

Field Name Type Description
ssys:targets [string] Array to hold list of target bodies (e.g. Mars, Moon, Earth) conforming to the International Virtual Observatory Alliance target name specification.
ssys:local_time string Lexicographically sortable time string (e.g., 01:115:12.343)
ssys:target_class string The identity of the type of the target as defined by the International Virtual Observatory Alliance

Additional Field Information

ssys:targets

the field ssys:targets allows to have one or more targets listed within an array of strings. This can happen, for example, if several moons are in the same view. As an example, this scene has both of Ganymede and Jupiter in the same image as taken by the NASA mission Cassini PIA02862.

ssys:local_time

the field ssys:local_time allows for API searchable non-UTC time definitions. The time should be encoded in a string that is lexicographically sortable. It is unlikley that this time should be something like the SpacecraftClockCount or another entry from the PDS metadata as most metadata files do not include a local (or local solar time). This field exists to support discovery in a time format that is meaningful to the user. Suggested formats are provided below:

Body Time String Format
Mars MarsYear:Sol:LocalTime

As a fallback one can consider using the Julian date. This has drawbacks though, as the Julian date does not account for the day/night cycle in different bodies which is often a factor in selecting data.

ssys:target_class

the field ssys:target_class identifies the type of the target. Solar System bodies are defined without ambiguity by the couple target_class and target_name. Values for this class are derived from the International Virtual Observatory Alliance target description parameter.

Accepted values are:

  • asteroid
  • dwarf_planet
  • planet
  • satellite
  • comet
  • exoplanet
  • interplanetary_medium
  • sample
  • sky
  • spacecraft
  • spacejunk
  • star
  • calibration

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