- Disponibilité de l'ensemble de données
- 2017-03-28T00:00:00Z–2026-10-12T18:38:08.874000Z
- Producteur de l'ensemble de données
- Union européenne/ESA/Copernicus
- Intervalle de revisite
- 5 jours
- Tags
Description
Consultez également la collection COPERNICUS/S2_SR_HARMONIZED qui décale les données avec PROCESSING_BASELINE "04.00" ou version ultérieure (après le 25/01/2022) pour qu'elles se trouvent dans la même plage que celles des scènes plus anciennes.
Sentinel-2 est une mission d'imagerie multispectrale à haute résolution et à large fauchée qui soutient les études Copernicus sur la surveillance des terres, y compris la surveillance de la couverture végétale, des sols et de l'eau, ainsi que l'observation des voies navigables intérieures et des zones côtières.
Les données Sentinel-2 L2 sont téléchargées depuis le CDSE. Elles ont été calculées en exécutant sen2cor. WARNING: 2017-2018 L2 coverage in the EE collection is not yet global.
Les composants contiennent 12 bandes spectrales UINT16 représentant la réflectance de surface (SR, Surface Reflectance) multipliée par 10 000 (contrairement aux données de niveau 1, il n'y a pas de bande B10). Il existe également plusieurs autres bandes spécifiques à L2 (consultez la liste des bandes pour en savoir plus). Pour en savoir plus, consultez le manuel de l'utilisateur de Sentinel-2.
QA60 est une bande de masque de bits qui contenait des polygones de masque de nuages rastérisés jusqu'au 25 janvier 2022, date à laquelle ces polygones ont cessé d'être produits. Depuis le 28 février 2024, les bandes QA60 cohérentes avec l'ancienne version sont construites à partir des bandes de classification du nuage MSK_CLASSI. Pour en savoir plus, consultez l'explication complète sur le calcul des masques de nuages.
Les ID de ressources EE pour les ressources Sentinel-2 L2 se présentent au format suivant : COPERNICUS/S2_SR/20151128T002653_20151128T102149_T56MNN. Dans cet exemple, la première partie numérique représente la date et l'heure de la détection, la deuxième partie numérique représente la date et l'heure de génération du produit, et la chaîne de six caractères finale est un identifiant unique de granule indiquant sa référence de grille UTM (voir MGRS).
Pour obtenir des ensembles de données permettant de détecter les nuages et/ou les ombres de nuages, consultez COPERNICUS/S2_CLOUD_PROBABILITY et GOOGLE/CLOUD_SCORE_PLUS/V1/S2_HARMONIZED.
Pour en savoir plus sur la résolution radiométrique de Sentinel-2, consultez cette page.
Bandes
Bandes de fréquences
Taille des pixels : variable
| Nom | Unités | Marie | Max | Échelle | Taille des pixels | Longueur d'onde | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
B1 |
0,0001 | 60 mètres | 443,9 nm (S2A) / 442,3 nm (S2B) | Aérosols |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B2 |
0,0001 | 10 mètres | 496,6 nm (S2A) / 492,1 nm (S2B) | Bleu |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B3 |
0,0001 | 10 mètres | 560 nm (S2A) / 559 nm (S2B) | Vert |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B4 |
0,0001 | 10 mètres | 664,5 nm (S2A) / 665 nm (S2B) | Rouge |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B5 |
0,0001 | 20 mètres | 703,9 nm (S2A) / 703,8 nm (S2B) | Red Edge 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B6 |
0,0001 | 20 mètres | 740,2 nm (S2A) / 739,1 nm (S2B) | Red Edge 2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B7 |
0,0001 | 20 mètres | 782,5 nm (S2A) / 779,7 nm (S2B) | Red Edge 3 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B8 |
0,0001 | 10 mètres | 835,1 nm (S2A) / 833 nm (S2B) | NIR |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B8A |
0,0001 | 20 mètres | 864,8 nm (S2A) / 864 nm (S2B) | Red Edge 4 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B9 |
0,0001 | 60 mètres | 945 nm (S2A) / 943,2 nm (S2B) | Vapeur d'eau |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B11 |
0,0001 | 20 mètres | 1 613,7 nm (S2A) / 1 610,4 nm (S2B) | SWIR 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B12 |
0,0001 | 20 mètres | 2 202,4 nm (S2A) / 2 185,7 nm (S2B) | SWIR 2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AOT |
0,001 | 10 mètres | Aucun | Épaisseur optique des aérosols |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WVP |
cm | 0,001 | 10 mètres | Aucun | Pression de vapeur d'eau. Hauteur que l'eau occuperait si la vapeur était condensée en liquide et répartie uniformément sur la colonne. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SCL |
1 | 11 | 20 mètres | Aucun | Carte de classification des scènes (la valeur "Aucune donnée" de 0 est masquée) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TCI_R |
10 mètres | Aucun | Image en vraies couleurs, canal rouge |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TCI_G |
10 mètres | Aucun | Image en vraies couleurs, canal vert |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TCI_B |
10 mètres | Aucun | Image en vraies couleurs, canal bleu |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MSK_CLDPRB |
0 | 100 | 20 mètres | Aucun | Carte de probabilité de couverture nuageuse (manquante dans certains produits) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MSK_SNWPRB |
0 | 100 | 10 mètres | Aucun | Carte de probabilité de neige (manquante dans certains produits) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QA10 |
10 mètres | Aucune | Toujours vide |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QA20 |
20 mètres | Aucune | Toujours vide |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QA60 |
60 mètres | Aucune | Masque de nuage. Masqué entre le 25/01/2022 et le 28/02/2024 inclus. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MSK_CLASSI_OPAQUE |
60 mètres | Aucune | Bande de classification des nuages opaques (0=pas de nuages, 1=nuages). Masqué avant février 2024. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MSK_CLASSI_CIRRUS |
60 mètres | Aucune | Bande de classification des cirrus (0=aucun nuage, 1=nuages). Masqué avant février 2024. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MSK_CLASSI_SNOW_ICE |
60 mètres | Aucune | Bande de classification de la neige/du verglas (0=pas de neige/de verglas, 1=neige/verglas). Masqué avant février 2024. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tableau des classes de l'indicateur de confiance du score (SCL)
| Valeur | Couleur | Description |
|---|---|---|
| 1 | #ff0004 | Saturé ou défectueux |
| 2 | #868686 | Pixels de la zone sombre |
| 3 | #774b0a | Ombres de nuages |
| 4 | #10d22c | Végétation |
| 5 | #ffff52 | Sols nus |
| 6 | #0000ff | Eau |
| 7 | #818181 | Nuages : faible probabilité / non classé |
| 8 | #c0c0c0 | Nuages à moyenne probabilité |
| 9 | #f1f1f1 | Nuages (probabilité élevée) |
| 10 | #bac5eb | Cirrus |
| 11 | #52fff9 | Neige / Verglas |
Propriétés des images
Propriétés des images
| Nom | Type | Description |
|---|---|---|
| AOT_RETRIEVAL_ACCURACY | DOUBLE | Précision du modèle d'épaisseur optique des aérosols |
| CLOUDY_PIXEL_PERCENTAGE | DOUBLE | Pourcentage de pixels nuageux spécifiques à un granule, extrait des métadonnées d'origine |
| CLOUD_COVERAGE_ASSESSMENT | DOUBLE | Pourcentage de pixels nuageux pour l'ensemble de l'archive contenant ce granule. Extrait des métadonnées d'origine |
| CLOUDY_SHADOW_PERCENTAGE | DOUBLE | Pourcentage de pixels classés comme ombre de nuage |
| DARK_FEATURES_PERCENTAGE | DOUBLE | Pourcentage de pixels classés comme éléments sombres ou ombres |
| DATASTRIP_ID | STRING | Identifiant unique de l'élément de données produit (PDI) de la bande de données |
| DATATAKE_IDENTIFIER | STRING | Identifie de manière unique une prise de données spécifique. L'ID contient le satellite Sentinel-2, la date et l'heure de début, le numéro d'orbite absolue et la référence de traitement. |
| DATATAKE_TYPE | STRING | Mode de fonctionnement MSI |
| DEGRADED_MSI_DATA_PERCENTAGE | DOUBLE | Pourcentage de données MSI et auxiliaires dégradées |
| FORMAT_CORRECTNESS | STRING | Synthèse des contrôles qualité en ligne (OLQC) effectués au niveau des granules (Product_Syntax) et des bandes de données (Product Syntax et DS_Consistency) |
| GENERAL_QUALITY | STRING | Synthèse des vérifications de la qualité de l'overlap effectuées au niveau de la bande de données |
| GENERATION_TIME | DOUBLE | Date et heure de génération du produit |
| GEOMETRIC_QUALITY | STRING | Synthèse des contrôles OLQC effectués au niveau de la bande de données |
| GRANULE_ID | STRING | Identifiant unique du PDI du granule (PDI_ID) |
| HIGH_PROBA_CLOUDS_PERCENTAGE | DOUBLE | Pourcentage de pixels classés comme nuages à haute probabilité |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B1 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B1 et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B2 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B2 et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B3 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B3 et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B4 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B4 et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B5 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de visionnage pour la bande B5 et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B6 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B6 et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B7 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B7 et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B8 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B8 et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B8A | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B8a et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B9 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B9 et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B10 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B10 et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B11 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B11 et pour tous les détecteurs |
| MEAN_INCIDENCE_AZIMUTH_ANGLE_B12 | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut d'incidence de la vue pour la bande B12 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B1 | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B1 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B2 | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B2 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B3 | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B3 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B4 | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B4 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B5 | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B5 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B6 | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B6 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B7 | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B7 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B8 | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B8 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B8A | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B8a et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B9 | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B9 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B10 | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B10 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B11 | DOUBLE | Valeur contenant la moyenne de l'angle zénithal d'incidence de la vue pour la bande B11 et pour tous les détecteurs |
| MEAN_INCIDENCE_ZENITH_ANGLE_B12 | DOUBLE | Valeur contenant l'angle zénithal moyen de l'incidence de vision pour la bande B12 et pour tous les détecteurs |
| MEAN_SOLAR_AZIMUTH_ANGLE | DOUBLE | Valeur contenant la moyenne de l'angle d'azimut solaire pour toutes les bandes et tous les détecteurs |
| MEAN_SOLAR_ZENITH_ANGLE | DOUBLE | Valeur contenant la moyenne de l'angle zénithal du soleil pour toutes les bandes et tous les détecteurs |
| MEDIUM_PROBA_CLOUDS_PERCENTAGE | DOUBLE | Pourcentage de pixels classés comme nuages à probabilité moyenne |
| MGRS_TILE | STRING | Tuile MGRS (Military Grid Reference System) des États-Unis |
| NODATA_PIXEL_PERCENTAGE | DOUBLE | Pourcentage de pixels sans données |
| NOT_VEGETATED_PERCENTAGE | DOUBLE | Pourcentage de pixels classés comme non végétalisés |
| PROCESSING_BASELINE | STRING | Configuration de référence utilisée au moment de la génération du produit en termes de version du logiciel du processeur et de version GIPP (paramètres de traitement des images au sol) principale |
| PRODUCT_ID | STRING | ID complet du produit Sentinel-2 d'origine |
| RADIATIVE_TRANSFER_ACCURACY | DOUBLE | Précision du modèle de transfert radiatif |
| RADIOMETRIC_QUALITY | STRING | Basé sur les rapports OLQC contenus dans Datastrips/QI_DATA avec le nom de checklist RADIOMETRIC_QUALITY |
| REFLECTANCE_CONVERSION_CORRECTION | DOUBLE | Facteur de correction de la distance Terre-Soleil |
| SATURATED_DEFECTIVE_PIXEL_PERCENTAGE | DOUBLE | Pourcentage de pixels saturés ou défectueux |
| SENSING_ORBIT_DIRECTION | STRING | Direction de l'orbite d'imagerie |
| SENSING_ORBIT_NUMBER | DOUBLE | Numéro d'orbite d'imagerie |
| SENSOR_QUALITY | STRING | Synthèse des vérifications OLQC effectuées au niveau du granule (Missing_Lines, Corrupted_ISP et Sensing_Time) et de la bande de données (Degraded_SAD et Datation_Model) |
| SOLAR_IRRADIANCE_B1 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B1 |
| SOLAR_IRRADIANCE_B2 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B2 |
| SOLAR_IRRADIANCE_B3 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B3 |
| SOLAR_IRRADIANCE_B4 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B4 |
| SOLAR_IRRADIANCE_B5 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B5 |
| SOLAR_IRRADIANCE_B6 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B6 |
| SOLAR_IRRADIANCE_B7 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B7 |
| SOLAR_IRRADIANCE_B8 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B8 |
| SOLAR_IRRADIANCE_B8A | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B8a |
| SOLAR_IRRADIANCE_B9 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B9 |
| SOLAR_IRRADIANCE_B10 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B10 |
| SOLAR_IRRADIANCE_B11 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B11 |
| SOLAR_IRRADIANCE_B12 | DOUBLE | Irradiance solaire exoatmosphérique moyenne pour la bande B12 |
| SNOW_ICE_PERCENTAGE | DOUBLE | Pourcentage de pixels classés comme neige ou glace |
| SPACECRAFT_NAME | STRING | Nom du satellite Sentinel-2 : Sentinel-2A, Sentinel-2B |
| THIN_CIRRUS_PERCENTAGE | DOUBLE | Pourcentage de pixels classés comme cirrus fins |
| UNCLASSIFIED_PERCENTAGE | DOUBLE | Pourcentage de pixels non classés |
| VEGETATION_PERCENTAGE | DOUBLE | Pourcentage de pixels classés comme végétation |
| WATER_PERCENTAGE | DOUBLE | Pourcentage de pixels classés comme de l'eau |
| WATER_VAPOUR_RETRIEVAL_ACCURACY | DOUBLE | Précision déclarée du modèle de vapeur d'eau |
Conditions d'utilisation
Conditions d'utilisation
L'utilisation des données Sentinel est régie par les Conditions d'utilisation des données Copernicus Sentinel.
Explorer avec Earth Engine
Éditeur de code (JavaScript)
/** * Function to mask clouds using the Sentinel-2 QA band * @param {ee.Image} image Sentinel-2 image * @return {ee.Image} cloud masked Sentinel-2 image */ function maskS2clouds(image) { var qa = image.select('QA60'); // Bits 10 and 11 are clouds and cirrus, respectively. var cloudBitMask = 1 << 10; var cirrusBitMask = 1 << 11; // Both flags should be set to zero, indicating clear conditions. var mask = qa.bitwiseAnd(cloudBitMask).eq(0) .and(qa.bitwiseAnd(cirrusBitMask).eq(0)); return image.updateMask(mask).divide(10000); } var dataset = ee.ImageCollection('COPERNICUS/S2_SR') .filterDate('2020-01-01', '2020-01-30') // Pre-filter to get less cloudy granules. .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE',20)) .map(maskS2clouds); var visualization = { min: 0.0, max: 0.3, bands: ['B4', 'B3', 'B2'], }; Map.setCenter(83.277, 17.7009, 12); Map.addLayer(dataset.mean(), visualization, 'RGB');
import ee import geemap.core as geemap
Colab (Python)
def mask_s2_clouds(image): """Masks clouds in a Sentinel-2 image using the QA band. Args: image (ee.Image): A Sentinel-2 image. Returns: ee.Image: A cloud-masked Sentinel-2 image. """ qa = image.select('QA60') # Bits 10 and 11 are clouds and cirrus, respectively. cloud_bit_mask = 1 << 10 cirrus_bit_mask = 1 << 11 # Both flags should be set to zero, indicating clear conditions. mask = ( qa.bitwiseAnd(cloud_bit_mask) .eq(0) .And(qa.bitwiseAnd(cirrus_bit_mask).eq(0)) ) return image.updateMask(mask).divide(10000) dataset = ( ee.ImageCollection('COPERNICUS/S2_SR') .filterDate('2020-01-01', '2020-01-30') # Pre-filter to get less cloudy granules. .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20)) .map(mask_s2_clouds) ) visualization = { 'min': 0.0, 'max': 0.3, 'bands': ['B4', 'B3', 'B2'], } m = geemap.Map() m.set_center(83.277, 17.7009, 12) m.add_layer(dataset.mean(), visualization, 'RGB') m