WCS time_difference not working


#1

Hi,

I’m trying some WCS requests for a delimited bounding box, but for some dates, it always downloads just one satellite data strip.
Including the parameter “time_difference=datetime.timedelta(hours=2)” made no difference at all.
It just downloads one image, but with the same white strip.

Am I missing something?

Thanks in advance.
Best regards,


#2

Hi @a.paz,

I assume your image is at the edge of satellite orbit and that is why there is no more data available for that time period of 2 hours.

To be sure you haven’t missed anything I suggest you check your location in EO Browser. You will be able to see all satellite data available for your chosen date.


#3

The images in EO Browser are available for all dates. So it isn’t the edge of satellite orbit.
After some tests, I saw that it also happens for other areas as well.
But if I request images from some months, it doesn’t work well, and some images present this issue (but always same images).
There is something strange on those cases, because if I save the URL of the request for those images, the image that the URL downloads it’s full and… diferent?.

I did some additional tests, and selected a wide date range of 7 months of a random area (I just drawn a random bbox). I requested via WCS to download images with 10% clouds max. For this case, 3 of 50 images were cropped.
But if a save request URLs and use them too to download them manually, images are different from “get_data(save_data=True)”.

Same bbox from random polygon download. Left one from URL that the request used. Right one from save_data=True
compare

If you open both tiff files in a GIS program, they are just in the same location


#4

Hi,

Can you share a code example of WCS request or bbox coordinates, so we can replicate your issue.

Thanks


#5

Of course. Just an example on a different date with the same random polygon:

bbox_coords = [-7.196914634561119,38.819952782739364,-7.1694068070557035,38.85403056011773]
test_bbox = BBox(bbox=bbox_coords, crs=CRS.WGS84)
FROM_DATE = '2018-09-19'
TO_DATE = '2018-09-20'
wcs_request = WcsRequest(data_folder='./wcs_issue',
                         layer='NDVI',
                         data_source=DataSource.SENTINEL2_L1C,
                         bbox=test_bbox,
                         time=(FROM_DATE, TO_DATE),
                         resx='10m', resy='10m',
                         maxcc=0.1,
                         instance_id=INSTANCE_ID,
                         image_format=MimeType.TIFF_d32f,
                         time_difference=datetime.timedelta(hours=2),
                         custom_url_params={CustomUrlParam.SHOWLOGO: False})

wcs_request_images = wcs_request.get_data(save_data=True)

Image downloaded is from “2018-09-19” and there is no difference using “time_difference=datetime.timedelta(hours=2),” or not.
In this case, URL request image and wcs_request image are the same. Both have part of the image with no data (all values equal to 1 in this case).

But the image is available at EO Browser: https://apps.sentinel-hub.com/eo-browser/?lat=38.83697&lng=-7.18317&zoom=14&time=2018-09-19&preset=3_NDVI&datasource=Sentinel-2%20L1C


#6

Thank you for the example.

The bounding box is at the edge of two overlapping tiles, as shown below, one with cloud coverage of 0.07 and the other 0.15. To get both tiles with the wcs_request increase the maxcc parameter to maxcc=0.2. To always get all possible tiles set max cloud coverage to maxcc=1.


#7

That makes sense for this case.

If I find some case like the other I saw (where URL request image is different from downloaded one) I will re-open/post a new thread.

Thanks!