CS-SI / eodag

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

create a providers extension #941

Open alambare opened 11 months ago

alambare commented 11 months ago

Is your feature request related to a problem? Please describe. EODAG server allow a provider filter for most of its endpoint. But we don't have any schema to support it. We need to define a STAC extension describing the spec for this filter. This will help users onboard with the API.

Describe the solution you'd like

The current implementation is a single provider filter that accept as value the name of a host provider. I suggest we extend this definition to cross providers searches and considering other roles as well (producer, processor, licensor).

We could have something like that for filter:

{
    "providers": [
        {
            "name": "peps",
            "role": "host"
        },
        {
            "name": "another_provider",
            "role": "processor"
        }
    ]
}

We could default to host if not specified otherwise to allow more concise format with:

{
    "providers": [
        {
            "name": "peps",
        }
    ]
}

A GET filter shape could be

/search?providers=peps:host,another_provider:processor

And allow more concise as well:

/search?providers=peps,another_provider:processor

We should support this endpoint everywhere it is already supported by EODAG:

alambare commented 11 months ago

We need to have a conversation with the STAC community to get their view on this approach