Skip to content

Commit

Permalink
simplified swath descriptiomn
Browse files Browse the repository at this point in the history
  • Loading branch information
emmanuelmathot committed Jun 26, 2024
1 parent 4ffe085 commit 78bbf8c
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 126 deletions.
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"jira-plugin.workingProject": ""
}
78 changes: 22 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,23 +32,23 @@ To describe frame start and end times, use the

## Item Properties or Asset Fields

| Field Name | Type | Description |
| --------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| sar:instrument_mode | string | **REQUIRED.** 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_band | string | **REQUIRED.** 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_frequency | number | The center frequency of the instrument, in gigahertz (GHz). |
| sar:polarizations | \[string] | **REQUIRED.** Any combination of polarizations. |
| sar:product_type | string | ***DEPRECATED** in favor of [`product:type`](https://github.com/stac-extensions/product).* The product type, for example `SSC`, `MGD`, or `SGC` |
| sar:resolution_range | number | The range resolution, which is the maximum ability to distinguish two adjacent targets perpendicular to the flight path, in meters (m). |
| sar:resolution_azimuth | number | The azimuth resolution, which is the maximum ability to distinguish two adjacent targets parallel to the flight path, in meters (m). |
| sar:pixel_spacing_range | number | The 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_azimuth | number | The 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_range | number | Number of range looks, which is the number of groups of signal samples (looks) perpendicular to the flight path. |
| sar:looks_azimuth | number | Number of azimuth looks, which is the number of groups of signal samples (looks) parallel to the flight path. |
| sar:looks_equivalent_number | number | The equivalent number of looks (ENL). |
| sar:observation_direction | string | Antenna pointing direction relative to the flight trajectory of the satellite, either `left` or `right`. |
| sar:relative_burst | number | Identification number that uniquely identifies a burst cycle within each repeat cycle. |
| sar:swath | \[[Beam Object](#beam-object)] | Composition of the swath of the SAR acquisition. |
| Field Name | Type | Description |
| --------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| sar:instrument_mode | string | **REQUIRED.** 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_band | string | **REQUIRED.** 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_frequency | number | The center frequency of the instrument, in gigahertz (GHz). |
| sar:polarizations | \[string] | **REQUIRED.** Any combination of polarizations. |
| sar:product_type | string | ***DEPRECATED** in favor of [`product:type`](https://github.com/stac-extensions/product).* The product type, for example `SSC`, `MGD`, or `SGC` |
| sar:resolution_range | number | The range resolution, which is the maximum ability to distinguish two adjacent targets perpendicular to the flight path, in meters (m). |
| sar:resolution_azimuth | number | The azimuth resolution, which is the maximum ability to distinguish two adjacent targets parallel to the flight path, in meters (m). |
| sar:pixel_spacing_range | number | The 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_azimuth | number | The 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_range | number | Number of range looks, which is the number of groups of signal samples (looks) perpendicular to the flight path. |
| sar:looks_azimuth | number | Number of azimuth looks, which is the number of groups of signal samples (looks) parallel to the flight path. |
| sar:looks_equivalent_number | number | The equivalent number of looks (ENL). |
| sar:observation_direction | string | Antenna pointing direction relative to the flight trajectory of the satellite, either `left` or `right`. |
| sar:relative_burst | number | Identification 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.
Expand All @@ -65,45 +65,11 @@ 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.

### Beam Object

The beam object is used to describe the subswaths of a SAR acquisition.
According to the instrument mode defined in `sar:instrument_mode`, the `sar:swath` is composed of one or more beams.

| Field Name | Type | Description |
| -------------- | --------------------- | -------------------------------------------------------------------------------------- |
| id | string | **REQUIRED.** The unique identifier of the beam. It can be the subswath identifier |
| relative_burst | number | Identification number that uniquely identifies a burst cycle within each repeat cycle. |
| polarizations | \[string] | Any combination of polarizations. |

As every beam is a specific view in the acquisition, the object can also contain additional fields from the [View extension](https://github.com/stac-extensions/view).

> \[!NOTE]
> If the value of a field repeats for all beams, it is recommended to include it only in the parent scope, i.e. usually in the Item Properties.
Examples of a `sar:swath` field for sentinel-1 IW mode:

```json
"sar:relative_burst": 541,
"sar:polarizations": ["VV", "VH"],
"sar:swath": [
{
"id": "IW1",
"view:off_nadir": 28.3,
"view:incident_angle": 32.1
},
{
"id": "IW2",
"view:off_nadir": 33.3,
"view:incident_angle": 37.1
},
{
"id": "IW3",
"view:off_nadir": 38.3,
"view:incident_angle": 42.1
}
]
```
#### 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

Expand Down
10 changes: 2 additions & 8 deletions examples/sentinel-1-grd-ew.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,8 @@
"sar:looks_equivalent_number": 2.7,
"sar:frequency_band": "C",
"sar:center_frequency": 5.405,
"sar:swath": [
{
"id": "EW",
"polarizations": [
"HH"
],
"view:incident_angle": 40.1
}
"sar:beam_ids": [
"EW"
],
"product:type": "GRD"
},
Expand Down
6 changes: 2 additions & 4 deletions examples/sentinel-1-grd-s4.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,8 @@
"processing:datetime": "2024-05-31T11:25:04.541000+00:00",
"sar:instrument_mode": "SM",
"processing:level": "L1",
"sar:swath": [
{
"id": "S6"
}
"sar:beam_ids": [
"S6"
],
"processing:facility": "Production Service-SERCO",
"processing:version": "003.71",
Expand Down
22 changes: 4 additions & 18 deletions examples/sentinel-1-slc-iw.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,24 +40,10 @@
"processing:datetime": "2024-06-18T18:24:17.837861+00:00",
"sar:instrument_mode": "IW",
"processing:level": "L1",
"sar:swath": [
{
"id": "IW1",
"relative_burst": 541,
"polarizations": [
"VV",
"VH"
],
"view:incident_angle": 32.1
},
{
"id": "IW2",
"view:incident_angle": 34.1
},
{
"id": "IW3",
"view:incident_angle": 36.1
}
"sar:beam_ids": [
"IW1",
"IW2",
"IW3"
],
"processing:facility": "Production Service-SERCO",
"processor:version": "003.80",
Expand Down
43 changes: 3 additions & 40 deletions json-schema/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -174,11 +174,11 @@
"right"
]
},
"sar:swath": {
"title": "Swath",
"sar:beam_ids": {
"title": "Beam identifiers",
"type": "array",
"items": {
"$ref": "#/definitions/beam"
"type": "string"
}
}
},
Expand All @@ -189,43 +189,6 @@
},
"additionalProperties": false
},
"beam": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"title": "Beam identification",
"type": "string",
"minLength": 1
},
"relative_burst": {
"title": "Relative burst identificator",
"type": "integer",
"minimum": 0
},
"polarizations": {
"title": "Polarizations",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/polarizations"
}
}
},
"additionalProperties": true
},
{
"$ref": "https://stac-extensions.github.io/view/v1.0.0/schema.json#/definitions/fields",
"additionalProperties": true
},
{
"required": [
"id"
]
}
]
},
"polarizations": {
"type": "string",
"enum": [
Expand Down

0 comments on commit 78bbf8c

Please sign in to comment.