diff --git a/extensions/card4l-sar-nrb/README.md b/extensions/card4l-sar-nrb/README.md index dde8c4549..cdb707ccf 100644 --- a/extensions/card4l-sar-nrb/README.md +++ b/extensions/card4l-sar-nrb/README.md @@ -13,6 +13,18 @@ This extension requires to use the following STAC extensions: - [SAR](../sar/README.md) - [Satelitle](../sat/README.md) +**To be discussed:** + ++ Does view:azimuth correspond to PlatformHeading? ++ [Does it make sense to fill view:incidence_angle with the central angle between IncAngleNearRange and IncAngleFarRange?](https://github.com/radiantearth/stac-spec/issues/912) ++ Replace the Asset role `card4l` to `card4l-sar-nrb`? ++ Should product type be `NRB` or `RTC`? + +**To do:** + +* Use new [proc extension](https://github.com/radiantearth/stac-spec/pull/907) once available, for `ProductAttributes` +* Make recommendations for STAC Collections. + ## STAC Item @@ -20,28 +32,28 @@ This extension requires to use the following STAC extensions: | --------------- | ------------------------- | ------------------------------------------------------------ | | stac_extensions | *n/a* | **REQUIRED.** Must contain at least the following values: `card4l-sar-nrb`, `projection`, `sar`, `sat` | | id | `ProductID` | **REQUIRED.** | -| geometry | | **REQUIRED.** | -| bbox | `GeographicalBoundingBox` | **REQUIRED.** | +| geometry | *n/a* | **REQUIRED.** The geometry of the acquisition. | +| bbox | `GeographicalBoundingBox` | **REQUIRED.** The bounding box of the acquisition. | ## STAC Item Properties ### Common Metadata -| Field Name | XML Tag | Description | -| -------------- | ---------------------- | ------------------------------------------------------------ | -| datetime | `` | **REQUIRED.** | -| start_datetime | `FirstAcquistionDate` | **REQUIRED.** | -| end_datetime | `LastAcquistitionDate` | **REQUIRED.** | -| instruments | `Instrument` | **REQUIRED.** Check STAC for potential values, example: `c-sar` for Sentinel-1 | -| constellation | `SatelliteName` | If part of a constellation (e.g. `sentinel-1` for Sentinel 1A and 1B), lower-case | -| platform | `SatelliteName` | **REQUIRED.** If part of constellation, use specific name, e.g. `sentinel-1a`. Should not duplicate `constellation`, lower-case | +| Field Name | XML Tag | Description | +| -------------- | ----------------------------------- | ------------------------------------------------------------ | +| datetime | *n/a* | **REQUIRED.** Recommended to set to the central timestamp between `start_datetime` and `end_datetime`. | +| start_datetime | `FirstAcquistionDate` | **REQUIRED.** Start time of the first acquisition. | +| end_datetime | `LastAcquistitionDate` | **REQUIRED.** End time of the last acquisition. | +| instruments | `Instrument` | **REQUIRED.** Check STAC for potential values, example: `c-sar` for Sentinel-1 | +| constellation | *n/a*, derived from `SatelliteName` | If part of a constellation (e.g. `sentinel-1` for Sentinel 1A and 1B), lower-case | +| platform | `SatelliteName` | **REQUIRED.** If part of constellation, use specific name, e.g. `sentinel-1a`. *Must not* duplicate `constellation`, lower-case | ### Projection -| Field Name | XML Tag | Description | -| ------------------------------------------- | --------------------------- | ------------------------------------------------------------ | -| proj:epsg *or* proj:wkt2 *or* proj:projjson | `CoordinateReferenceSystem` | **REQUIRED.** At least one of the three fields needs to be populated, preferably `proj:epsg`. | +| Field Name | XML Tag | Description | +| ------------------------------------- | --------------------------- | ------------------------------------------------------------ | +| proj:epsg / proj:wkt2 / proj:projjson | `CoordinateReferenceSystem` | **REQUIRED.** At least one of the three fields needs to be populated, *preferably* `proj:epsg`. | ### SAR @@ -51,7 +63,7 @@ This extension requires to use the following STAC extensions: | sar:frequency_band | `RadarBand` | **REQUIRED.** | | sar:center_frequency | `RadarCenterFrequency` | **REQUIRED.** Convert to GHz if required | | sar:polarizations | `Polarizations` | **REQUIRED.** | -| sar:product_type | `` | **REQUIRED.** Always `NRB` | +| sar:product_type | *n/a* | **REQUIRED.** Always `NRB` | | sar:observation_direction | `AntennaPointing` | **REQUIRED.** Lower-case | ### Satelite @@ -59,23 +71,24 @@ This extension requires to use the following STAC extensions: | Field Name | XML Tag | Description | | ------------------ | --------------- | ------------------------ | | sat:orbit_state | `PassDirection` | **REQUIRED.** Lower-case | -| sat:relative_orbit | `` | **REQUIRED.** | -| sat:absolute_orbit | `` | | - -Use PlatformHeading? - -Use new proc extension for ProductAttributes? +| sat:relative_orbit | *n/a* | *Recommended.* | +| sat:absolute_orbit | *n/a* | *Recommended.* | ## STAC Item Links -* root / collection -* derived_from (via?) -* self +| Relation Type | XML Tag | Description | +| ------------------ | ------------------------ | ------------------ | +| derived_from | *n/a* | *Recommended.* Points back to the source's STAC Item. The STAC Item *should* contain a representation of the metadata from the `SourceAttributes` XML tag. | +| source | based on `SourceDataRepository` | **REQUIRED.** Points back to the source data. | +| about | `NRAlgorithm`, `RTCAlgorithm`, `DEMReference`, `EGMReference`, `AccuracyReference` | *Recommended.* Links from the given XML tags can be added as additional information about the product. | +| related | `SensorCalibration`, `PerformanceIndicators` | *Recommended.* Links from the given XML tags can be added as additional information about the source data. | ## STAC Item Assets -- angle -- area -- {polarization} -- mask -- metadata \ No newline at end of file +| Asset Key | Role Name(s) | Additional properties | XML Tag | Description | +| ------------------ | --------------- | --------------- | --------------- | --------------- | +| angle | data | `proj:shape`, `proj:transform` | `LocalIncAngle` | **REQUIRED.** Points to the local incidence angle file. | +| area | data | `proj:shape`, `proj:transform` | `LocalContributingArea` | **REQUIRED.** Points to the normalized scattering area file. | +| hh / hv / vh / vv | data | `proj:shape`, `proj:transform`, `sar:polarizations` | `BackscatterMeasurementData` | **REQUIRED.** Points to the polarization file. | +| mask | data | `proj:shape`, `proj:transform` | `DataMask` | **REQUIRED.** Points to the data mask file. | +| metadata | metadata *and* card4l | - | *n/a* | **REQUIRED.** Points to the CARD4L metadata XML file. Media type: `application/xml` | diff --git a/extensions/card4l-sar-nrb/examples/s1_nrb_034C2E_S26E149_2019_09_17_metadata.json b/extensions/card4l-sar-nrb/examples/s1_nrb_034C2E_S26E149_2019_09_17_metadata.json index 8476fc2a9..387796618 100644 --- a/extensions/card4l-sar-nrb/examples/s1_nrb_034C2E_S26E149_2019_09_17_metadata.json +++ b/extensions/card4l-sar-nrb/examples/s1_nrb_034C2E_S26E149_2019_09_17_metadata.json @@ -82,7 +82,7 @@ "href": "s3:///s1_nrb/s1_nrb_catalog.json" }, { - "rel": "derived_from", + "rel": "source", "href": "s3://sentinel-s1-l1c/GRD/2019/9/17/IW/SH/S1A_IW_GRDH_1SSH_20190917T083331_20190917T083356_029058_034C2E_07F6" }, { diff --git a/extensions/card4l-sar-nrb/examples/s1_nrb_034C2E_S26E149_2019_09_17_metadata.xml b/extensions/card4l-sar-nrb/examples/s1_nrb_034C2E_S26E149_2019_09_17_metadata.xml new file mode 100644 index 000000000..acb216078 --- /dev/null +++ b/extensions/card4l-sar-nrb/examples/s1_nrb_034C2E_S26E149_2019_09_17_metadata.xml @@ -0,0 +1,180 @@ + + + CARD4L_Metadata-specification_Normalised_Radar_Backscatter-v5.0 + + 1 + 2019-09-17T08:33:31.300452 + 2019-09-17T08:33:56.299305 + + + s3://sentinel-s1-l1c/GRD/2019/9/17/IW/SH/S1A_IW_GRDH_1SSH_20190917T083331_20190917T083356_029058_034C2E_07F6 + Sentinel-1 + Synthetic Aperture Radar + + 2019-09-17T08:33:31.300452 + 2019-09-17T08:33:56.299305 + + + C + 5.40500045433435e+09 + IW + HH + Right + TOPS + + + ASCENDING + RESORB + S1A_OPER_AUX_RESORB_OPOD_20190917T092453_V20190917T052323_20190917T084053.EOF + -1.252027173623213e+01 + 693 + + + Copernicus S1 Core Ground Segment - UPA + 2019-09-17T09:32:59.096913 + Sentinel-1 IPF, 003.10 + S1A_IW_GRDH_1SSH_20190917T083331_20190917T083356_029058_034C2E_07F6 + GRD + 1 + 5 + + + Ground range + 1.000000e+01 + 1.000000e+01 + 22.5/22.6/22.6 + 20.4/20.3/20.5 + 30.21513 + 45.66679561424327 + https://sentinel.esa.int/web/sentinel/technical-guides/sentinel-1-sar/sar-instrument/calibration + + + https://sentinel.esa.int/documents/247904/2142675/Thermal-Denoising-of-Products-Generated-by-Sentinel-1-IPF + -22 to -30 + + + + + Sentinel Hub, Sinergise + 2020-11-17T16:02:09.500899 + Batch API, v1.0 + S3://s3-bucket/Australia_SH_products/S26E149/2019/09/17/034C2E + + + + 0.0002 + 0.0002 + + + false + + + -25.0 + 149.0 + + + -25.0 + 150.0 + + + -26.0 + 149.0 + + + -26.0 + 150.0 + + + -25.0 + 149.31237461749706 + + + -25.0 + 150.0 + + + -26.0 + 149.31237461749706 + + + -26.0 + 150.0 + + + 5000 + 5000 + 0 + 0 + + pixel centre + EPSG:4326 + + + s1_nrb_034C2E_S26E149_2019_09_17_MASK.tif + Mask + geotiff + UINT + 8 + Little Endian + + 0 + 1 + 0 + + + + s1_nrb_034C2E_S26E149_2019_09_17_AREA.tif + Normalized Scattering Area + geotiff + FLOAT + 32 + Little Endian + + + s1_nrb_034C2E_S26E149_2019_09_17_ANGLE.tif + Angle + geotiff + 255 + FLOAT + 8 + Little Endian + + + + Gamma-0 + linear power + HH + s1_nrb_034C2E_S26E149_2019_09_17_HH.tif + geotiff + FLOAT + 32 + Little Endian + + 10*log10(DN) + + true + https://sentinel.esa.int/web/sentinel/radiometric-calibration-of-level-1-products + + + https://www.geo.uzh.ch/microsite/rsl-documents/research/publications/peer-reviewed-articles/201108-TGRS-Small-tcGamma-3809999360/201108-TGRS-Small-tcGamma.pdf + 2.0 + 1 + + + + https://spacedata.copernicus.eu/web/cscda/dataset-details?articleId=394198 + GLO-30 + bilinear + https://earth-info.nga.mil/GandG/wgs84/gravitymod/egm2008/egm08_wgs84.html + EGM2008, 1x1 minute grid in WGS84 + bilinear + + + N/A + N/A + https://www.mdpi.com/2072-4292/9/6/607 + + pixel center + + + diff --git a/extensions/card4l-sar-nrb/json-schema/schema.json b/extensions/card4l-sar-nrb/json-schema/schema.json index b1717c2c6..180a1721f 100644 --- a/extensions/card4l-sar-nrb/json-schema/schema.json +++ b/extensions/card4l-sar-nrb/json-schema/schema.json @@ -55,8 +55,7 @@ "sar:polarizations", "sar:product_type", "sar:observation_direction", - "sat:orbit_state", - "sat:relative_orbit" + "sat:orbit_state" ], "anyOf": [ { @@ -84,19 +83,15 @@ } }, "links": { - "allOf": [ - { - "type": "array", - "contains": { - "type": "object", - "properties": { - "rel": { - "const": "derived_from" - } - } + "type": "array", + "contains": { + "type": "object", + "properties": { + "rel": { + "const": "source" } } - ] + } }, "assets": { "type": "object",