Skip to main content

Hi,

I try download NDVI with a custom script, but some areas are returning partial data.

Example:

 

Request is WmsRequest:

bounding_box = BBox(bbox, crs=CRS.WGS84)
my_evalscript = '''
let ndvi = (B08 - B04) / (B08 + B04);
return ndvi]
'''
wms_bands_request = WmsRequest(layer=LAYER_NAME,
custom_url_params={
CustomUrlParam.EVALSCRIPT: my_evalscript,
CustomUrlParam.ATMFILTER: 'NONE'
},
bbox=bounding_box,
time=periodo,
width=512,
image_format=MimeType.TIFF_d32f,
instance_id=INSTANCE_ID)

I try change time to (YYYY-MM-DD/YYYY-MM-DD) or YYYY-MM-DD and the period of interest is always one day. My BBOX is: -50.0587174799318, -18.0326097521582, -50.0398848154049, -18.0147805189594] and day is 2019-12-24

In Sentinel Hub Playground, is showing full image:

 

Regards,

Sentinel Playground is doing automatic mosaicking (stitching images really) over a month of data (I think). If you go to Effects, you can turn “Show dates” and you will probably see different dates.

So it might be that you need to add longer period as well, for areas on the border of orbits


If this does not work for you, please let us know the first two blocks of the INSTANCE_ID, so that we can check in more details.


My INSTANCE_ID start with c9382042-6a78. I understand, I will run a test increasing the period, with date range 3-5 days


I tried replicating this but I do unfortunately get different results. Looking at the mentioned BBOX and date, I get the image embedded below.


Can you perhaps create a new instance, a copy of the mentioned one, and use it only for the mentioned action, so that we get a clear log of your actions?


One other thing coming to my mind - since the border of the image on your screenshot seems perfectly vertical it seems this is not on the border of the orbit but perhaps on border of two scenes. If you have MAXCC=20 (or not defined at all), one of the scenes might have cloud coverage over 20 and it would be filtered out. I suggest you try with MAXCC=100.



Thanks, I solved the problem by adding two parameters:


maxcc=100

time_difference=datetime.timedelta(hours=2) => this is necessary because had two scenes with minutes difference


Great. For the time difference, Sentinel-2 orbit has 100 minutes round time. If you were looking into areas close to poles you might end up merging two separate acqusitions. Adding ± 25 minutes should probably be sufficient.


While designing the process API, a successor of OGC WMS API, we actually improved this by adding an option to mosaic by orbits or scenes:
https://docs.sentinel-hub.com/api/latest/#/Evalscript/V3/README?id=mosaicking


Reply