Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For descriptions of the fields, please refer to the Sentinel extensions or the stactools-package implementations.

Idea is to keep a small variant of the Sentinel extensions as best practices, mostly using other extensions.
EOPF is for "private" fields that externals are not interested in.

Field nameData TypeRelevant to general public?
Potential future extension or field
Comments
Multi-Mission
s1:processing_datetime
s2:generation_time
date-timeYesprocessing:datetime (PR)
created in assets
OData: processingDate
S2 Example: 2024-04-19T01:31:52+00:00 (in STAC Z instead of +00:00)
s1:datatake_id
s2:datatake_id
stringYesexternalIds or EOPFkeep as isOData: productGroupId
S2 Example: GS2A_20240308T100841_045493_N05.10
s2:product_type
s3:product_type
s5p:product_type
stringNo?New
product extension: product:type

potentially restricted in s2 extension
What's the difference between name and type?
Can it be just one property, e.g. the name?
S2 example: S2MSI2A

s3:product_name
s5p:product_name
stringYes?
s1:product_timeliness
s3:processing_timeliness
stringYes?New
product extension: product:timeliness

potentially restricted in s2 extension

Can Can we find a common set of values for this? e.g. ISO 8601 Durations?
Sentinel-1 
s1:instrument_configuration_IDstringNo?

s1:orbit_sourcestringNo?

s1:product_identifierstring?externalIds?
s1:resolutionstringNo?

s1:slice_numberstringNo

s1:total_slicesstringNo

Sentinel-2 
s2:tile_idstringYes?

grid:code

or
mgrs:utm_zone
mgrs:grid_square
mgrs:latitude_bandor

grid:code

  • mgrs extention requires 3 fields (56, NN, G)
  • grid:code is one field (MGRS-56NNG)
  • Odata: tileId (56NNG)
s2:product_uristringYes?
  • id
? as a normal
  • STAC Link
?
  • EOPF extension

s2:datastrip_idstringYes?externalIds or EOPFkeep as isOData field: datastripId
Example: S2A_OPER_MSI_L2A_DS_2APS_20240308T143352_S20240308T101546_N05.10
s2:datatake_typestringNo?EOPFOData: operationalMode
Example: INS-NOBS
s2:processing_baselinestringYes?processing:version (PR)
or
version
OData: processorVersion, example: 5.1
STAC example: 05.10
s2:reflectance_conversion_factornumberYes?keep as is or EOPFExample: 1.01707999697991
Sentinel-3 
s3:gsdvariousNo?gsd as a single value?
s3:lrm_modenumberYes?altm:instrument_type
s3:sar_modenumberYes?altm:instrument_mode
Sentinel-3 (Asset-level properties) 
s3:spatial_resolution (in assets)[number]?raster:spatial_resolution as a single value?
s3:altimetry_bands (in assets)[Altimetry Band Object]?bands in STAC 1.1
Sentinel-5 
s5p:processing_modestring?

s5p:collection_identifierstring?

s5p:spatial_resolution[number]?raster:spatial_resolution as a single value?
Sentinel-5 Container Objects 
s5p:aer_aiAer Ai ObjectFlatten into top-level propertiesNone
s5p:aer_lhAer Lh ObjectFlatten into top-level propertiesNone
s5p:ch4CH4 ObjectFlatten into top-level propertiesNone
s5p:cloudCloud ObjectFlatten into top-level propertiesNone
s5p:coCO ObjectFlatten into top-level propertiesNone
s5p:hchoHCHO ObjectFlatten into top-level propertiesNone
s5p:no2NO2 ObjectFlatten into top-level propertiesNone
s5p:npbd3NPBD ObjectFlatten into top-level propertiesNone
s5p:npbd6NPBD ObjectFlatten into top-level propertiesNone
s5p:npbd7NPBD ObjectFlatten into top-level propertiesNone
s5p:o3O2 ObjectFlatten into top-level propertiesNone
s5p:o3_tclO3 TCL ObjectFlatten into top-level propertiesNone
s5p:so2SO2 ObjectFlatten into top-level propertiesNone
Sentinel 5P Container Object Fields
These fields appear in at least one of the Sentinel-5 Container Objects above.


input_bandstring / [string]No?

irradiance_accompaniedstringNo?

geolocation_grid_from_bandintegerNo?

cloud_modestringNo?

shape_ccd[integer]No?

shape_csa[integer]No?

stratosphere_start_datetimestring?

stratosphere_end_datetimestring?

troposphere_start_datetimestring?

troposphere_end_datetimestring?

input_orbits[integer]No?

input_files[string]No?

analysed_s5p_bandintegerNo?

VIIRS_band[integer]No?

number_of_scaled_fovintegerNo?

...

Field nameRelevant to general public?
Potential future extension or field
Comments
General and Other
 
s3:land?

s2:unclassified_percentage?Yes, not queryableclassification:classes[*].percentage
Clouds
 
s2:cloud_shadow_percentageNo? 
Yes, not queryable
classification:classes[*].percentage  
s2:high_proba_clouds_percentageYes, not queryableclassification:classes[*].percentageNo?
s2:medium_proba_clouds_percentageYes, not queryableclassification:classes[*].percentageNo?
s2:thin_cirrus_percentageYes, not queryableclassification:classes[*].percentageNo?
Water and Coastal
 
s2:water_percentageYes?, queryable
new: eo:water_cover ?
+ classification:classes[*].percentage

s3:s3:closed_sea?

s3:fresh_inland_water?

s3:open_ocean?

s3:saline_water


s3:tidal_region?

s3:coastal?

s3:continental_ice?

Unusable 
s2:nodata_pixel_percentageYes, queryablenew: raster:nodata_percentage ?
+ classification:classes[*].percentage

s3:bright


s3:dubious_samples?

s3:duplicated?

s3:invalid


s3:out_of_range?

s2:dark_features_percentageYes, not queryableclassification:classes[*].percentageNo?
s3:saturated
s2:saturated_defective_pixel_percentage
Yes, not queryableclassification:classes[*].percentageNo?
Vegetation 
s2:vegetation_percentageYes, queryable?new: eo:vegetation_cover ?
+ classification:classes[*].percentage

s2:not_vegetated_percentage?Yes, not queryableclassification:classes[*].percentagenew: eo:barren_cover ?

Depending on the asset structure, some percentages may be provided as a classification percentages as proposed in https://github.com/stac-extensions/classification/pull/49

...