Home

Awesome

SAR Extension Specification

This document explains the fields of the Synthetic-Aperture Radar (SAR) Extension to the SpatioTemporal Asset Catalog (STAC) specification.

SAR data is considered to be data that represents a snapshot of the earth for a single date and time taken by a synthetic-aperture radar system such as Sentinel-1, RADARSAT or EnviSAT.

If the data has been collected by a satellite, it is strongly recommended to use the sat extension. If the data has been collected on an airborne platform it is strongly recommended to use the Instrument Fields.

To describe frame start and end times, use the Date and Time Range fields.

Item Properties or Asset Fields

Field NameTypeDescription
sar:instrument_modestringREQUIRED. 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" of Sentinel-1 and Envisat ASAR satellites.
sar:frequency_bandstringREQUIRED. 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.
sar:center_frequencynumberThe center frequency of the instrument, in gigahertz (GHz).
sar:polarizations[string]REQUIRED. Any combination of polarizations.
sar:product_typestringDEPRECATED in favor of product:type. The product type, for example SSC, MGD, or SGC
sar:resolution_rangenumberThe range resolution, which is the maximum ability to distinguish two adjacent targets perpendicular to the flight path, in meters (m).
sar:resolution_azimuthnumberThe azimuth resolution, which is the maximum ability to distinguish two adjacent targets parallel to the flight path, in meters (m).
sar:pixel_spacing_rangenumberThe 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.
sar:pixel_spacing_azimuthnumberThe 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.
sar:looks_rangenumberNumber of range looks, which is the number of groups of signal samples (looks) perpendicular to the flight path.
sar:looks_azimuthnumberNumber of azimuth looks, which is the number of groups of signal samples (looks) parallel to the flight path.
sar:looks_equivalent_numbernumberThe equivalent number of looks (ENL).
sar:observation_directionstringAntenna pointing direction relative to the flight trajectory of the satellite, either left or right.
sar:relative_burstnumberIdentification number that uniquely identifies a burst cycle within each repeat cycle.
sar:beam_ids[string]Composition of the swath of the SAR acquision referencing the beam identifiers.

Note: In this specification range values are meant to be measured perpendicular to the flight path and azimuth values are meant to be measured parallel to the flight path.

Additional Field Information

sar:polarizations

Specifies a single polarization or a polarization combination. For single polarized radars one of HH, VV, HV or VH must be set. Fully polarimetric radars add all four polarizations to the array. Dual polarized radars and alternating polarization add the corresponding polarizations to the array, for instance for HH+HV add both HH and HV.

Important: In the properties of a STAC Item sar:polarizations must be a set with unique elements. In assets sar:polarizations can contain duplicate elements and, if possible, the polarizations must appear in the same order as in the file.

sar:beam_ids

The sar:beam_ids field is used to reference the beam identifiers of the SAR acquisition. According to the mission and the sensor mode, the beam identifiers can be used to identify the composition of the swath of the SAR acquisition. The beam identifiers are usually provided in the metadata of the SAR data.

Common Frequency Band Names

The sar:frequency_band is the name that is commonly used to refer to that band's spectral properties. The table below shows the common name based on the wavelength and frequency ranges for several SAR satellites.

Common NameWavelength Range (cm)Frequency Range (GHz)Satellites
P30 - 1200.25 - 1
L15 - 301 - 2ALOS, JERS, NISAR, SOACOM
S7.5 - 152 - 4HJ-1C
C3.8 - 7.54 - 8EnviSat, ERS, Radarsat, Risat-1, Sentinel-1
X2.4 - 3.88 - 12.5Cosmo-SkyMed, TerraSAR-X, TanDEM-X, PAZ, KOMPSat-5
Ku1.7 - 2.412.5 - 18
K1.1 - 1.718 - 26.5
Ka0.75 - 1.126.5 - 40

Product type

The product type for SAR data defines the type of processed data contained in the assets. A list of suggestions for product:type include:

product:typeTypeDescription
SSCcomplexSingle-look Slant-range Complex image (standard SLC)
MGDamplitudeMultilooked Ground-range Detected image
GRDamplitudeMultilooked Ground-range Detected image (used by Sentinel-1)
GECamplitudeGeocoded Ellipsoid Corrected image
GTCamplitudeGeocoded Terrain Corrected image
RTCamplitudeGeocoded Radiometrically Terrain Corrected image
SGCcomplexSingle-look Ground projected Complex image
SLCcomplexSingle-look Ground projected Complex image (used by Sentinel-1)

This can vary by data provider, who all may use slightly different names. Sentinel-1 for instance uses GRD, which is the same as the more general MGD and SLC instead of SGC.

Note:

Date and Time

In SAR, you usually have frame start and end time. To describe this information it is recommended to use the Date and Time Range fields. The center time of the frame should be specified with the datetime property for STAC Items.

Best Practices

One of the emerging best practices is to use Asset Roles to provide clients with more information about the assets in an item. The following list includes a shared vocabulary for some common SAR assets. This list should not be considered definitive, and implementors are welcome to use other asset roles. If consensus and tooling consolidates around these role names then they will be specified in the future as more standard than just 'best practices'.

Role NameDescription
local-incidence-anglePoints to the local incidence angle file.
ellipsoid-incidence-anglePoints to the ellipsoid incidence angle file.
noise-powerPoints to the noise power file.
amplitudePoints to the intensity file with focused SAR data that has been ground range detected (e.g. GRD).
magnitudePoints to the intensity file where data are represented as complex numbers containing amplitude and phase information (e.g SLC).
sigma0Points to the radar backscatter file where data is referenced in ground surface. It is often derived from an amplitude or a magnitude role asset.
beta0Points to the radar backscatter file where data is referenced in the slant range plane and is radiometrically calibrated. It is often derived from an amplitude or a magnitude role asset.
gamma0Points to the radar backscatter file where data is referenced in the plane perpendicular to the line of sight. It is often derived from an amplitude or a magnitude role asset.
date-offsetPoints to the date-offset file.
covmatPoints to the Points to the Normalized Polarimetric Radar Covariance Matrix (CovMat) file.
prdPoints to the Polarimetric Radar Decomposition (PRD) file.

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