Skip to main content
`Ctrl`+`K`

# pystac.extensions.sar

Implements the Synthetic-Aperture Radar (SAR) Extension.

class pystac.extensions.sar.AssetSarExtension(asset: Asset)

  A concrete implementation of `SarExtension` on an `Asset` that extends the Asset fields to include properties defined in the SAR Extension.

  This class should generally not be instantiated directly. Instead, call `SarExtension.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.sar.FrequencyBand(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
  C = 'C'
  K = 'K'
  KA = 'Ka'
  KU = 'Ku'
  L = 'L'
  P = 'P'
  S = 'S'
  X = 'X'

class pystac.extensions.sar.ItemAssetsSarExtension(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.sar.ItemSarExtension(item: Item)

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

  This class should generally not be instantiated directly. Instead, call `SarExtension.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.sar.ObservationDirection(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
  LEFT = 'left'
  RIGHT = 'right'

class pystac.extensions.sar.Polarization(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
  HH = 'HH'
  HV = 'HV'
  VH = 'VH'
  VV = 'VV'

class pystac.extensions.sar.SarExtension

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

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

      >>> item: pystac.Item = ...
      >>> sar_ext = SarExtension.ext(item)

  apply(instrument_mode: str, frequency_band: FrequencyBand, polarizations: list[Polarization], product_type: str, center_frequency: float | None = None, resolution_range: float | None = None, resolution_azimuth: float | None = None, pixel_spacing_range: float | None = None, pixel_spacing_azimuth: float | None = None, looks_range: int | None = None, looks_azimuth: int | None = None, looks_equivalent_number: float | None = None, observation_direction: ObservationDirection | None = None) → None

    Applies sar extension properties to the extended Item.

    Parameters:

      - instrument_mode – The name of the sensor acquisition mode that is commonly used. This should be the short name, if available. For example, WV for “Wave mode.”

      - frequency_band – The common name for the frequency band to make it easier to search for bands across instruments. See section “Common Frequency Band Names” for a list of accepted names.

      - polarizations – Any combination of polarizations.

      - product_type – The product type, for example SSC, MGD, or SGC.

      - center_frequency – Optional center frequency of the instrument in gigahertz (GHz).

      - resolution_range – Optional range resolution, which is the maximum ability to distinguish two adjacent targets perpendicular to the flight path, in meters (m).

      - resolution_azimuth – Optional azimuth resolution, which is the maximum ability to distinguish two adjacent targets parallel to the flight path, in meters (m).

      - pixel_spacing_range – Optional range pixel spacing, which is the distance between adjacent pixels perpendicular to the flight path, in meters (m). Strongly RECOMMENDED to be specified for products of type GRD.

      - pixel_spacing_azimuth – Optional azimuth pixel spacing, which is the distance between adjacent pixels parallel to the flight path, in meters (m). Strongly RECOMMENDED to be specified for products of type GRD.

      - looks_range – Optional number of groups of signal samples (looks) perpendicular to the flight path.

      - looks_azimuth – Optional number of groups of signal samples (looks) parallel to the flight path.

      - looks_equivalent_number – Optional equivalent number of looks (ENL).

      - observation_direction – Optional Antenna pointing direction relative to the flight trajectory of the satellite.

  property center_frequency: float | None

    Gets or sets a center frequency for the item.

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

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

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

    Raises:

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

  property frequency_band: FrequencyBand

    Gets or sets a FrequencyBand for the item.

  classmethod get_schema_uri() → str

    Gets the schema URI associated with this extension.

  property instrument_mode: str

    Gets or sets an instrument mode string for the item.

  property looks_azimuth: int | None

    Gets or sets a looks azimuth for the item.

  property looks_equivalent_number: float | None

    Gets or sets a looks equivalent number for the item.

  property looks_range: int | None

    Gets or sets a looks range for the item.

  name: Literal['sar'] = 'sar'
  property observation_direction: ObservationDirection | None

    Gets or sets an observation direction for the item.

  property pixel_spacing_azimuth: float | None

    Gets or sets a pixel spacing azimuth for the item.

  property pixel_spacing_range: float | None

    Gets or sets a pixel spacing range for the item.

  property polarizations: list[Polarization]

    Gets or sets a list of polarizations for the item.

  property product_type: str

    Gets or sets a product type string for the item.

  property resolution_azimuth: float | None

    Gets or sets a resolution azimuth for the item.

  property resolution_range: float | None

    Gets or sets a resolution range for the item.

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

    Returns the extended summaries object for the given collection.

class pystac.extensions.sar.SarExtensionHooks
  migrate(obj: dict[str, Any], version: STACVersionID, info: STACJSONDescription) → None

    Migrate a STAC Object in dict format from a previous version. The base implementation will update the stac_extensions to the latest schema ID. This method will only be called for STAC objects that have been identified as a previous version of STAC. Implementations should directly manipulate the obj dict. Remember to call super() in order to change out the old ‘stac_extension’ entry with the latest schema URI.

  prev_extension_ids = {'sar'}
  schema_uri = 'https://stac-extensions.github.io/sar/v1.0.0/schema.json'
  stac_object_types = {'Feature'}

class pystac.extensions.sar.SummariesSarExtension(collection: Collection)

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

  property center_frequency: RangeSummary[float] | None

    Get or sets the summary of `SarExtension.center_frequency` values for this Collection.

  property frequency_band: list[FrequencyBand] | None

    Get or sets the summary of `SarExtension.frequency_band` values for this Collection.

  property instrument_mode: list[str] | None

    Get or sets the summary of `SarExtension.instrument_mode` values for this Collection.

  property looks_azimuth: RangeSummary[int] | None

    Get or sets the summary of `SarExtension.looks_azimuth` values for this Collection.

  property looks_equivalent_number: RangeSummary[float] | None

    Get or sets the summary of `SarExtension.looks_equivalent_number` values for this Collection.

  property looks_range: RangeSummary[int] | None

    Get or sets the summary of `SarExtension.looks_range` values for this Collection.

  property observation_direction: list[ObservationDirection] | None

    Get or sets the summary of `SarExtension.observation_direction` values for this Collection.

  property pixel_spacing_azimuth: RangeSummary[float] | None

    Get or sets the summary of `SarExtension.pixel_spacing_azimuth` values for this Collection.

  property pixel_spacing_range: RangeSummary[float] | None

    Get or sets the summary of `SarExtension.pixel_spacing_range` values for this Collection.

  property polarizations: list[Polarization] | None

    Get or sets the summary of `SarExtension.polarizations` values for this Collection.

  property product_type: list[str] | None

    Get or sets the summary of `SarExtension.product_type` values for this Collection.

  property resolution_azimuth: RangeSummary[float] | None

    Get or sets the summary of `SarExtension.resolution_azimuth` values for this Collection.

  property resolution_range: RangeSummary[float] | None

    Get or sets the summary of `SarExtension.resolution_range` values for this Collection.

class pystac.extensions.sar.T

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

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