CS-SI / eodag

Earth Observation Data Access Gateway
https://eodag.readthedocs.io
Apache License 2.0
324 stars 44 forks source link

Earth-search provider incorrectly configured #965

Closed louisstuart96 closed 3 days ago

louisstuart96 commented 10 months ago

Describe the bug Earth-search is an EODAG provider using StacSearch as its search plugin. Using current configuration in providers.yml cannot retrieve correct products (STAC items) from Earth-search.

To Reproduce Use EODAG's RESTful API to request items: GET /collections/S2_MSI_L1C/items?provider=earth_search The response consists of item(s) like:

"links": [
  {
    "rel": "self",
    "title": "S2B_MSIL1C_20210608T025549_N0300_R032_T50RLR_20210608T044415",
    "href": "http://127.0.0.1:5000/collections/S2_MSI_L1C/items/S2B_MSIL1C_20210608T025549_N0300_R032_T50RLR_20210608T044415"
  },
],
"id": "S2B_MSIL1C_20210608T025549_N0300_R032_T50RLR_20210608T044415",

Then, even with provider=earth_search query string, the request

GET /collections/S2_MSI_L1C/items/S2B_MSIL1C_20210608T025549_N0300_R032_T50RLR_20210608T044415?provider=earth_search

gets item from another provider like creodias rather than earth_search itself.

Additional context The original STAC item request corresponding to above is https://earth-search.aws.element84.com/v0/collections/sentinel-s2-l1c/items/S2B_50RLR_20210608_0_L1C. The response is like:

{
    "id": "S2B_50RLR_20210608_0_L1C",
    "properties": {
        "datetime": "2021-06-08T03:10:06Z",
        "sentinel:product_id": "S2B_MSIL1C_20210608T025549_N0300_R032_T50RLR_20210608T044415",
        "created": "2021-06-08T05:28:04.836Z",
        "updated": "2021-06-08T05:28:04.836Z"
    },
}

Requests like

GET /collections/S2_MSI_L1C/items/S2B_50RLR_20210608_0_L1C?provider=earth_search

gives the expected response. Therefore, it seems S2B_50RLR_20210608_0_L1C is the correct feature ID for querying the product, not the value of property sentinel:product_id

sbrunato commented 10 months ago

Hello @louisstuart96 and thanks for submitting this issue. This has to be fixed, id queryable should be mapped to sentinel:product_id for S2_MSI_L1C on earth_search

louisstuart96 commented 10 months ago

@sbrunato Thanks for replying! earth_search provides two Sentinal-2 products S2_MSI_L1C and S2_MSI_L2A. Both products need correct mapping.