Skip to main content
`Ctrl`+`K`

# pystac.extensions.sat

Implements the Satellite Extension.

class pystac.extensions.sat.AssetSatExtension(asset: Asset)

  A concrete implementation of `SatExtension` on an `Asset` that extends the properties of the Asset to include properties defined in the Satellite Extension.

  This class should generally not be instantiated directly. Instead, call `SatExtension.ext()` on an `Asset` to extend it.

  additional_read_properties: Iterable[dict[str, Any]] | None = None

    If present, this will be a list containing 1 dictionary representing the properties of the owning `Item`.

  asset_href: str

    The `href` value of the `Asset` being extended.

  properties: dict[str, Any]

    The `Asset` fields, including extension properties.

class pystac.extensions.sat.ItemAssetsSatExtension(item_asset: ItemAssetDefinition)
  asset_defn: ItemAssetDefinition
  properties: dict[str, Any]

    The properties that this extension wraps.

    The extension which implements PropertiesExtension can use `_get_property` and `_set_property` to get and set values on this instance. Note that _set_properties mutates the properties directly.

class pystac.extensions.sat.ItemSatExtension(item: Item)

  A concrete implementation of `SatExtension` on an `Item` that extends the properties of the Item to include properties defined in the Satellite Extension.

  This class should generally not be instantiated directly. Instead, call `SatExtension.ext()` on an `Item` to extend it.

  item: Item

    The `Item` being extended.

  properties: dict[str, Any]

    The `Item` properties, including extension properties.

class pystac.extensions.sat.OrbitState(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
  ASCENDING = 'ascending'
  DESCENDING = 'descending'
  GEOSTATIONARY = 'geostationary'

class pystac.extensions.sat.SatExtension

  An abstract class that can be used to extend the properties of an `Item` or `Asset` with properties from the Satellite Extension. This class is generic over the type of STAC Object to be extended (e.g. `Item`, `Collection`).

  To create a concrete instance of `SatExtension`, use the `SatExtension.ext()` method. For example:

      >>> item: pystac.Item = ...
      >>> sat_ext = SatExtension.ext(item)

  property absolute_orbit: int | None

    Get or sets a absolute orbit number of the item.

  property anx_datetime: datetime | None
  apply(orbit_state: OrbitState | None = None, relative_orbit: int | None = None, absolute_orbit: int | None = None, platform_international_designator: str | None = None, anx_datetime: datetime | None = None) → None

    Applies ext extension properties to the extended `Item` or class:~pystac.Asset.

    Must specify at least one of orbit_state or relative_orbit in order for the sat extension to properties to be valid.

    Parameters:

      - orbit_state – Optional state of the orbit. Either ascending or descending for polar orbiting satellites, or geostationary for geosynchronous satellites.

      - relative_orbit – Optional non-negative integer of the orbit number at the time of acquisition.

  classmethod ext(obj: T, add_if_missing: bool = False) → SatExtension[T]

    Extends the given STAC Object with properties from the Satellite Extension.

    This extension can be applied to instances of `Item` or `Asset`.

    Raises:

      pystac.ExtensionTypeError – If an invalid object type is passed.

  classmethod get_schema_uri() → str

    Gets the schema URI associated with this extension.

  name: Literal['sat'] = 'sat'
  property orbit_state: OrbitState | None

    Get or sets an orbit state of the object.

  property platform_international_designator: str | None

    Gets or sets the International Designator, also known as COSPAR ID, and NSSDCA ID.

  property relative_orbit: int | None

    Get or sets a relative orbit number of the item.

  classmethod summaries(obj: Collection, add_if_missing: bool = False) → SummariesSatExtension

    Returns the extended summaries object for the given collection.

class pystac.extensions.sat.SatExtensionHooks
  prev_extension_ids = {'sat'}
  schema_uri: str = 'https://stac-extensions.github.io/sat/v1.0.0/schema.json'
  stac_object_types = {'Feature'}

class pystac.extensions.sat.SummariesSatExtension(collection: Collection)

  A concrete implementation of `SummariesExtension` that extends the `summaries` field of a `Collection` to include properties defined in the Satellite Extension.

  property absolute_orbit: RangeSummary[int] | None
  property anx_datetime: RangeSummary[datetime] | None
  property orbit_state: list[OrbitState] | None

    Get or sets the summary of `SatExtension.orbit_state` values for this Collection.

  property platform_international_designator: list[str] | None

    Get or sets the summary of `SatExtension.platform_international_designator` values for this Collection.

  property relative_orbit: RangeSummary[int] | None

class pystac.extensions.sat.T

  Generalized version of `Item`, `Asset` or `ItemAssetDefinition`

  alias of TypeVar(‘T’, ~pystac.item.Item, ~pystac.asset.Asset, ~pystac.item_assets.ItemAssetDefinition)