Hi @chung.horng ,
It does not seem to explain the discrepancy. I believe we use the acquisition times, not the publish ones. Here are more details how we get the data:
Subscription deliveries:
- Url used is https://services.sentinel-hub.com/api/v1/dataimport/subscriptions/{subscription_id}/deliveries.
- subscription id is ‘e0b8d5ea-b44c-4ef2-9397-4e0d7530f014’.
- the
timRange
used for creating the subscription is 5 years ago, so there are deliveries since March 2020 till yesterday.
- on each page of the paginated response we look into ‘data’ (which contain a list of deliveries), and from each delivery we collect ‘itemId’. I believe that ‘itemId’ is made of the capture time. One example of the delivery item looks like this:
{
"id": "e994e27e-acf9-44cd-bb1e-c1a3ea7dfe1f",
"itemId": "20231004_093546_13_2473",
"provider": "PLANET",
"created": "2023-10-05T05:48:41.176777Z",
"status": "DONE"
}
Moreover, the subscription was created a yesterday, so the timeRange
field should already refer to the acquisition time, if I understand well this.
Simple search
- Url used is https://services.sentinel-hub.com/api/v1/dataimport/search
- The same query (below) is used except that due to the result limit we sequentially query for periods of 150 days starting with 2020-01-01 (first
timeRange
is from
‘2020-01-01T00:00:00Z’ to
‘2020-05-30T00:00:00Z’, then from
‘2020-05-30T00:00:00Z’ to
‘2020-10-27T00:00:00Z’, etc.)
We end up with a close number of items, but in this particular subscription there are more items returned by search (777) than the number of deliveries (775), and one date included in the search is completely missing from delivery items ‘2022-04-15’.
Subscription query:
{
"bounds": {
"geometry": {
"type": "Polygon",
"coordinates": polygon_shape
},
"properties": {}
},
"data": [
{
"dataFilter": {
"timeRange": {
"from": "2018-10-05T09:31:13.880402Z"
},
"maxCloudCoverage": 100,
"nativeFilter": {
"type": "StringInFilter",
"config": [
"standard"
],
"field_name": "quality_category"
}
},
"itemType": "PSScene",
"productBundle": "analytic_8b_sr_udm2",
"harmonizeTo": "Sentinel-2"
}
],
"provider": "PLANET"
}
Simple search query:
query = {
"provider": "PLANET",
"bounds": {
"geometry": {
"type": "Polygon",
"coordinates": polygon_shape,
}
}, "data": [
{
"itemType": "PSScene",
"productBundle": "analytic_8b_sr_udm2",
"dataFilter": {
"timeRange": {
"from": date_from,
"to": date_to
},
"maxCloudCoverage": 100,
"nativeFilter": {
"type": "StringInFilter",
"field_name": "quality_category",
"config": [
"standard"
]
}
},
"harmonizeTo": "Sentinel-2"
}
]
}