pystac.extensions.sar#

Implements the Synthetic-Aperture Radar (SAR) Extension.

class pystac.extensions.sar.AssetSarExtension(asset: Asset)[source]#

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)[source]#

An enumeration.

C = 'C'#
K = 'K'#
KA = 'Ka'#
KU = 'Ku'#
L = 'L'#
P = 'P'#
S = 'S'#
X = 'X'#
class pystac.extensions.sar.ItemAssetsSarExtension(item_asset: AssetDefinition)[source]#
asset_defn: item_assets.AssetDefinition#
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)[source]#

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: pystac.Item#

The Item being extended.

properties: dict[str, Any]#

The Item properties, including extension properties.

class pystac.extensions.sar.ObservationDirection(value)[source]#

An enumeration.

LEFT = 'left'#
RIGHT = 'right'#
class pystac.extensions.sar.Polarization(value)[source]#

An enumeration.

HH = 'HH'#
HV = 'HV'#
VH = 'VH'#
VV = 'VV'#
class pystac.extensions.sar.SarExtension[source]#

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[source]#

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][source]#

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[source]#

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[pystac.extensions.sar.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[source]#

Returns the extended summaries object for the given collection.

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

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 = {STACObjectType.ITEM}#
class pystac.extensions.sar.SummariesSarExtension(collection: Collection)[source]#

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.

summaries: Summaries#

The summaries for the Collection being extended.