Best way to do cloud filtering at specific AOI

Home > Faq > Best way to do cloud filtering at specific AOI

Often our users would like to get all available dates for specific area of interest (e.g. agriculture field) together with cloud coverage. The basic cloud coverage meta-data that we provide through our services is based on scene meta-data and is valid for 100km x 100km area, which is often not really useful if you are looking at one hectare field.

What we recommend to do in this case is:

1. Create a new layer configuring it to show cloud data. Make sure you output actual cloud values (e.g. 1=cloud, 0=not cloud) rather than cloud mask as an image (e.g. red=cloud, transparent=no cloud)..

2. You can use one of several cloud detection options, such as:

Or you define some of your own. For this exercise we will use L2A scene classification. The custom script would look something along the lines:

switch (SCL) {
  // No Data (Missing data)    
  case 0: return [0];
  // Saturated or defective pixel   
  case 1: return [0];
  // Cloud shadows
  case 3: return [0];
  // Cloud medium probability
  case 8: return [1];    
  // Cloud high probability 
  case 9: return [1];
  // Thin cirrus 
  case 10: return [1];

  default : return [0];

3.  Use Statistical API to query the cloud layer values over specified time range (e.g. 2017-01-01/2017-12-31) over your area of interest specified as GEOMETRY parameter.

4. Output of the service will give you array of all dates along with mean value of "cloud" for each of the dates. Mean value "0" means there are no clouds, "1" fully covered, "0.7" 70% covered.