Discrepancy between FIS Request and EO Browser

Hi Guys,

How are you doing?

We’re facing some discrepancy between FIS Request and EO Browser

I notice that in EO Browser the Cloud Coverage is made in frontend after the data is processed.

What is better instance (NDVI for sentinel) to use ?

This is the payload I am using in FIS Endpoint

{ layer: ‘NDVI’,
style: ‘index’,
type: ‘EQUALFREQUENCY’,
time: ‘2018-10-11/2019-11-12’,
geometry:
‘POLYGON((-13.5943150520325 -51.9328880310059,-13.5866761207581 -51.9432306289673,-13.5858178138733 -51.9427585601807,-13.5851311683655 -51.9431018829346,-13.5835433006287 -51.9399261474609,-13.5825991630554 -51.939582824707,-13.582170009613 -51.9367933273315,-13.581440448761 -51.9347763061523,-13.5818696022034 -51.9300556182861,-13.5943150520325 -51.9328880310059))’,
resolution: ‘10m’,
maxcc: 10,
crs: ‘EPSG:4326’ }

Look that both in my request and EO is using 10% of Cloud Coverage, but the Mean NDVI Curve is different

EO Browser uses NDVI layer, which is defined along the following lines:

var ndvi = (B08-B04)/(B08+B04);
var cloud = ...;
return [ndvi, cloud);

FIS request then returns at the same time NDVI and cloud cover. EO Browser then simply reads one and another and does the filtering based on the chosen parameter.

This speficially is the NDVI index script:

function index(x, y) {
	return (x - y) / (x + y);
}

const NGDR = index(B03, B04);
const bRatio = (B03 - 0.175) / (0.39 - 0.175);

const isCloud = bRatio > 1 || (bRatio > 0 && NGDR > 0);
const ndvi = index(B08, B04);
return isCloud ? [ndvi, 1] : [ndvi, 0];

You can find some more options for cloud detection mentioned here:
https://www.sentinel-hub.com/faq/best-way-do-cloud-filtering-specific-aoi

I hope this helps?

Hey Grega, I think I got it.

So, using this custom script (or any scripts that avoid clouds) I can use the C1 FIS return as cloud index. Can I ?

And the value 0 means there are no clouds, 0.5 means the half of polygon is covered, 1 fully covered.

Am I right ?

Thanks,

Regards,

Guilherme Costa

Yep, that is correct.

In similar way you can combine other indices to, in case you plan to use them. Execution of the code will be faster altogether and you will use less resources.