Often our users would like to get all available dates for a 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 100 km x 100 km 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:
- CLM (cloud masks) and CLP (cloud probabilities)
- L2A scene classification data (currently only available for Europe and on-demand processed areas)
- s2cloudless Python package in combination with Sentinel Hub Python API
- Braaten-Cohen-Yang cloud detector
- Hollstein’s cloud detection
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.
Comments
Article is closed for comments.