Hi,
I’m trying to request all Sentinel-1 IW ASC tiles for a given polygon within a given time interval (i.e. no mosaicking intended).
My evalscript:
evalscript = """
//VERSION=3
function setup() {
return {
input: :"VV"],
output: :{id:"VV", bands: 1, sampleType: "FLOAT32"}],
mosaicking: "TILE",
}
}
function evaluatePixel(samples) {
return ntoDb(samples.VV)]
}
function toDb(linear) {
return 10 * Math.log(linear) / Math.LN10
}
"""
And my request:
request = sentinelhub.SentinelHubRequest(
evalscript=evalscript,
input_data=a
sentinelhub.SentinelHubRequest.input_data(
data_collection=sentinelhub.DataCollection.SENTINEL1_IW_ASC,
time_interval=('2022-03-15T00:00:00', '2022-04-24T23:59:59.999999'),
other_args={
"dataFilter": {
"resolution": "HIGH"
},
"processing": {
"orthorectify": "true",
"demInstance": "COPERNICUS",
"backCoeff": "SIGMA0_ELLIPSOID",
"speckleFilter": {
"type": "LEE",
"windowSizeX": 3,
"windowSizeY": 3
}
}
}
),
],
responses=ssentinelhub.SentinelHubRequest.output_response('VV', sentinelhub.MimeType.TIFF)],
bbox=search_bbox,
size=e51, 49],
config=config
)
result = request.get_data()
Unfortunately, the result
is a numpy array filled with NaN values.
The above request works (i.e. returns a non-NaN array) if mosaicking: "SIMPLE"
is used instead of TILE
. However, this is not optimal because the result is a mosaic of all the tiles available for the polygon between the given dates and I need to request all tiles for further processing.
My initial solution was to check dates when tiles were available for that polygon (using SentinelHubCatalog.search()
) and put the above code inside a for-loop to request tiles for each date individually. But such solution is very costly in terms of requests (not necessarily PUs).
- Is there a way to request all tiles between given dates using a single request?
- Will such a request cost 1 request from my quota even though I requested tiles from multiple days?
- Is it possible to somehow assign a date to each tile so I know which date the tile was collected?
Thanks!