Skip to content

Commit

Permalink
Update STAC extension URLs and fix typo in package.json scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
emmanuelmathot committed Mar 11, 2024
1 parent c48dab8 commit 138a336
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 41 deletions.
35 changes: 28 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,13 @@

This document explains the InSAR Extension to the [SpatioTemporal Asset Catalog](https://github.com/radiantearth/stac-spec) (STAC) specification.

Interferometric synthetic aperture radar, abbreviated InSAR (or deprecated IfSAR), is a radar technique used in geodesy and remote sensing. This geodetic method uses two or more synthetic aperture radar (SAR) images to generate maps of surface deformation or digital elevation, using differences in the phase of the waves returning to the satellite or aircraft. The technique can potentially measure millimetre-scale changes in deformation over spans of days to years. It has applications for geophysical monitoring of natural hazards, for example earthquakes, volcanoes and landslides, and in structural engineering, in particular monitoring of subsidence and structural stability.
Interferometric synthetic aperture radar, abbreviated InSAR (or deprecated IfSAR),
is a radar technique used in geodesy and remote sensing.
This geodetic method uses two or more synthetic aperture radar (SAR) images to generate maps of surface deformation or digital elevation,
using differences in the phase of the waves returning to the satellite or aircraft.
The technique can potentially measure millimetre-scale changes in deformation over spans of days to years.
It has applications for geophysical monitoring of natural hazards, for example earthquakes, volcanoes and landslides,
and in structural engineering, in particular monitoring of subsidence and structural stability.

The extension is primarly intented to describe **products** of InSAR processing, typically interferograms and related products.

Expand All @@ -28,7 +34,7 @@ The extension is primarly intented to describe **products** of InSAR processing,
| insar:height_of_ambiguity | number | This height of ambiguity is the 2 π interferometric phase cycle scaled with the perpendicular baseline between both satellites. The smaller the height of ambiguity is, the lower is the influence of errors caused by the instrument or the different decorrelation effects. |
| insar:reference_datetime | string | Date of reference acquisition, in UTC. It is formatted according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6). |
| insar:secondary_datetime | string | Date of secondary acquisition, in UTC. It is formatted according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6). |
| insar:processsing_dem | string | String representing the Digital Elevation Model used for processing the input data. A list is proposed in the [DEMs section](#digital-elevation-models-dems) |
| insar:processing_dem | string | String representing the Digital Elevation Model used for processing the input data. A list is proposed in the [DEMs section](#digital-elevation-models-dems) |
| insar:geocoding_dem | string | String representing the Digital Elevation Model used for geocoding the product. A list is proposed in the [DEMs section](#digital-elevation-models-dems) |

## Best Practices
Expand All @@ -45,10 +51,10 @@ It is higly recommended to use the following fields to describe the InSAR produc
| [sar:looks_range](https://github.com/stac-extensions/sar/#item-properties-or-asset-fields) | Number of range looks, which is the number of groups of signal samples (looks) perpendicular to the flight path |
| [sar:looks_azimuth](https://github.com/stac-extensions/sar/#item-properties-or-asset-fields) | Number of azimuth looks, which is the number of groups of signal samples (looks) parallel to the flight path. |
| [sar:observation_direction](https://github.com/stac-extensions/sar/#item-properties-or-asset-fields) | Antenna pointing direction relative to the flight trajectory of the satellite, either left or right. |
| [sar:pixel_spacing_range ](https://github.com/stac-extensions/sar/#item-properties-or-asset-fields) | The range pixel spacing, which is the distance between adjacent pixels perpendicular to the flight path, in meters (m). |
| [sar:pixel_spacing_azimuth ](https://github.com/stac-extensions/sar/#item-properties-or-asset-fields) | The azimuth pixel spacing, which is the distance between adjacent pixels parallel to the flight path, in meters (m) |
| [sar:resolution_range ](https://github.com/stac-extensions/sar/#item-properties-or-asset-fields) | The range resolution, which is the maximum ability to distinguish two adjacent targets perpendicular to the flight path, in meters (m). |
| [sar:resolution_azimuth ](https://github.com/stac-extensions/sar/#item-properties-or-asset-fields) | 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](https://github.com/stac-extensions/sar/#item-properties-or-asset-fields) | The range pixel spacing, which is the distance between adjacent pixels perpendicular to the flight path, in meters (m). |
| [sar:pixel_spacing_azimuth](https://github.com/stac-extensions/sar/#item-properties-or-asset-fields) | The azimuth pixel spacing, which is the distance between adjacent pixels parallel to the flight path, in meters (m) |
| [sar:resolution_range](https://github.com/stac-extensions/sar/#item-properties-or-asset-fields) | The range resolution, which is the maximum ability to distinguish two adjacent targets perpendicular to the flight path, in meters (m). |
| [sar:resolution_azimuth](https://github.com/stac-extensions/sar/#item-properties-or-asset-fields) | The azimuth resolution, which is the maximum ability to distinguish two adjacent targets parallel to the flight path, in meters (m). |
| [processing:level](https://github.com/stac-extensions/processing#suggested-processing-levels) | `L3` level is recommended since InSAR is a composite product. |
| [processing:lineage](https://github.com/stac-extensions/processing#item-properties-and-collection-provider-fields) | Describe InSAR specific technique. For instance, `Geocoded Unwrapped Interferogram TOPSAR` |
| [processing:software](https://github.com/stac-extensions/processing#item-properties-and-collection-provider-fields) | Software used for InSAR processing. For instance `{"ESA SNAP Toolbox": "8.0"}, {"SNAPHU": "1.4.2"}` |
Expand All @@ -68,7 +74,7 @@ these role names then they will be specified in the future as more standard than

| Role Name | Description |
| ---------------- | ------------------------------------------------------- |
| coherence | 2D Coherence [0-1] from filtered interferogram |
| coherence | 2D Coherence \[0-1\] from filtered interferogram |
| phase | 2D Filtered wrapped interferogram geocoded in radians |
| unwrapped_phase | 2D Filtered unwrapped interferogram geocoded in radians |
| los_displacement | 2D Displacement in the satellite line of sight (LOS) |
Expand Down Expand Up @@ -101,6 +107,21 @@ The following types should be used as applicable `rel` types in the
| reference | This link points to the reference input product STAC Item |
| secondary | This link points to the secondary input product STAC Item |

### Links roles

It is possible to use [Links Roles](https://github.com/radiantearth/stac-spec/tree/master/item-spec/item-spec.md#link-roles)
to provide clients with more information about the linked item in an item or a collection.
The following list includes a shared vocabulary for InSAR 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 Name | Description |
| --------- | ------------------------------------------------------------------------- |
| event | Item is related to an event (e.g. earthquake, volcano eruption) |
| coesismic | Item is related to a coesismic event or data results (e.g. interferogram) |
| post | Item is related to a post event or data results (e.g. interferogram) |
| pre | Item is related to a pre event or data results (e.g. interferogram) |

## Contributing

All contributions are subject to the
Expand Down
36 changes: 20 additions & 16 deletions examples/item-epos.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
"stac_version": "1.0.0",
"stac_extensions": [
"https://stac-extensions.github.io/insar/v1.0.0/schema.json",
"https://stac-extensions.github.io/sar/v1.1.0/schema.json",
"https://stac-extensions.github.io/sat/v1.1.0/schema.json",
"https://stac-extensions.github.io/sar/v1.0.0/schema.json",
"https://stac-extensions.github.io/sat/v1.0.0/schema.json",
"https://stac-extensions.github.io/processing/v1.1.0/schema.json",
"https://stac-extensions.github.io/view/v1.1.0/schema.json",
"https://stac-extensions.github.io/view/v1.0.0/schema.json",
"https://stac-extensions.github.io/projection/v1.1.0/schema.json",
"https://stac-extensions.github.io/scientific/v1.1.0/schema.json"
"https://stac-extensions.github.io/scientific/v1.0.0/schema.json"
],
"type": "Feature",
"id": "InU_CNRIREA_20200814_20200820_ECJT",
Expand Down Expand Up @@ -46,21 +46,25 @@
},
"properties": {
"created": "2020-08-31T07:24:01Z",
"date_time": "2020-08-14T21:30:32Z",
"datetime": "2020-08-14T21:30:32Z",
"start_datetime": "2020-08-14T21:30:39.872810Z",
"end_datetime": "2020-08-20T21:30:17.536197Z",
"processing:level": "L3",
"processing:lineage": "Parallel SBAS Interferometry Chain",
"processing:sftware": {
"processing:software": {
"CNR-IREA P-SBAS": "28"
},
"proj:epsg": "4326",
"proj:epsg": 4326,
"sat:orbit_state": "descending",
"sat:relative_orbit": "82",
"sat:relative_orbit": 82,
"sar:product_type": "InU",
"sar:instrument_mode": "IW",
"sar:polarizations": "VV",
"sar:frequency_band": "C",
"sar:polarizations": [
"VV"
],
"sar:looks_range": 20,
"sar:looks_azimuth" : 5,
"sar:looks_azimuth": 5,
"sar:observation_direction": "right",
"sar:resolution_range": 73,
"sar:resolution_azimuth": 73,
Expand All @@ -74,15 +78,15 @@
"citation": "SBAS-DInSAR Parallel Processing for Deformation Time-Series Computation"
}
],
"view:azimuth": "-11.0",
"view:incidence_angle": "30.0",
"insar:height_of_ambiguity": -1.27421945559537858E+03,
"view:azimuth": 11,
"view:incidence_angle": 30,
"insar:height_of_ambiguity": -1274.2194555953786,
"insar:temporal_baseline": 12,
"insar:perpendicular_baseline": 1.21935032939007009E+01,
"insar:perpendicular_baseline": 12.1935032939007,
"insar:reference_datetime": "2022-03-15T07:57:41Z",
"insar:secondary_datetime": "2022-03-27T07:58:06Z",
"insar:processsing_dem": "SRTM1",
"insar:geocoding_dem": "SRTM1",
"insar:processing_dem": "SRTM1",
"insar:geocoding_dem": "SRTM1"
},
"links": [
{
Expand Down
26 changes: 16 additions & 10 deletions examples/item.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
"stac_version": "1.0.0",
"stac_extensions": [
"https://stac-extensions.github.io/insar/v1.0.0/schema.json",
"https://stac-extensions.github.io/sar/v1.1.0/schema.json",
"https://stac-extensions.github.io/sat/v1.1.0/schema.json",
"https://stac-extensions.github.io/sar/v1.0.0/schema.json",
"https://stac-extensions.github.io/sat/v1.0.0/schema.json",
"https://stac-extensions.github.io/view/v1.0.0/schema.json",
"https://stac-extensions.github.io/processing/v1.1.0/schema.json"
],
"type": "Feature",
Expand Down Expand Up @@ -42,21 +43,26 @@
]
},
"properties": {
"date_time": "2022-03-21T07:57:45.000Z",
"sar:polarizations": "VV",
"datetime": "2022-03-21T07:57:45.000Z",
"sar:polarizations": [
"VV"
],
"sar:instrument_mode": "IW",
"sar:frequency_band": "C",
"sar:product_type": "GUNW",
"processing:level": "L3",
"processing:lineage": "Geocoded Unwrapped Interferogram TOPSAR",
"processing:sftware": {
"processing:software": {
"ESA SNAP Toolbox": "8.0",
"SNAPHU": "1.4.2"
},
"sat:orbit_state": "descending",
"sat:relative_orbit": "82",
"view:azimuth": "-11.0",
"view:incidence_angle": "30.0",
"insar:height_of_ambiguity": -1.27421945559537858E+03,
"sat:relative_orbit": 82,
"view:azimuth": 11,
"view:incidence_angle": 30,
"insar:height_of_ambiguity": -1274.2194555953786,
"insar:temporal_baseline": 12,
"insar:perpendicular_baseline": 1.21935032939007009E+01,
"insar:perpendicular_baseline": 12.1935032939007,
"insar:reference_datetime": "2022-03-15T07:57:41Z",
"insar:secondary_datetime": "2022-03-27T07:58:06Z"
},
Expand Down
26 changes: 20 additions & 6 deletions json-schema/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,16 @@
"required": [
"insar:secondary_datetime"
]
},
{
"required": [
"insar:processing_dem"
]
},
{
"required": [
"insar:geocoding_dem"
]
}
]
},
Expand Down Expand Up @@ -118,15 +128,13 @@
"type": "object",
"properties": {
"insar:perpendicular_baseline": {
"type": "string"
"type": "number"
},
"insar:temporal_baseline": {
"type": "integer",
"minimum": 1
"type": "number"
},
"insar:height_of_ambiguity": {
"type": "integer",
"minimum": 1
"type": "number"
} ,
"insar:reference_datetime": {
"type": "string",
Expand All @@ -135,10 +143,16 @@
"insar:secondary_datetime": {
"type": "string",
"format": "date-time"
},
"insar:processing_dem": {
"type": "string"
},
"insar:geocoding_dem": {
"type": "string"
}
},
"patternProperties": {
"^(?!sat:)": {
"^(?!insar:)": {
"$comment": "Do not allow unspecified fields prefixed with insar:"
}
},
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"scripts": {
"test": "npm run check-markdown && npm run check-examples",
"check-markdown": "remark . -f -r .github/remark.yaml",
"check-examples": "stac-node-validator . --lint --verbose --schemaMap https://stac-extensions.github.io/template/v1.0.0/schema.json=./json-schema/schema.json",
"format-examples": "stac-node-validator . --format --schemaMap https://stac-extensions.github.io/template/v1.0.0/schema.json=./json-schema/schema.json"
"check-examples": "stac-node-validator . --lint --verbose --schemaMap https://stac-extensions.github.io/insar/v1.0.0/schema.json=./json-schema/schema.json",
"format-examples": "stac-node-validator . --format --schemaMap https://stac-extensions.github.io/insar/v1.0.0/schema.json=./json-schema/schema.json"
},
"dependencies": {
"remark-cli": "^8.0.0",
Expand Down

0 comments on commit 138a336

Please sign in to comment.