
- Dataset-Verfügbarkeit
- 2015-06-27T00:00:00Z–2025-10-13T00:35:59Z
- Dataset-Anbieter
- Europäische Union/ESA/Copernicus/SentinelHub
- Wiederholungsintervall
- 5 Tage
- Tags
Beschreibung
Die S2-Wolkenwahrscheinlichkeit wird mit der Bibliothek sentinel2-cloud-detector (mit LightGBM) erstellt.
Alle Bänder werden mithilfe der bilinearen Interpolation auf eine Auflösung von 10 m hochskaliert, bevor der Gradient-Boosting-Basisalgorithmus angewendet wird. Die resultierende Gleitkomma-Wahrscheinlichkeit 0..1
wird auf 0..100
skaliert und als UINT8 gespeichert. Bereiche, in denen einige oder alle Bänder fehlen, werden maskiert.
Höhere Werte sind eher Wolken oder stark reflektierende Oberflächen (z.B. Dächer oder Schnee).
Sentinel-2 ist eine großflächige, hochauflösende, multispektrale Bildgebungsmission, die Studien zur Landüberwachung im Rahmen von Copernicus unterstützt, einschließlich der Überwachung von Vegetation, Boden und Wasseroberfläche sowie der Beobachtung von Binnenwasserstraßen und Küstengebieten.
Die Daten der Stufe 2 finden Sie in der Sammlung COPERNICUS/S2_SR_HARMONIZED. Die Level-1B-Daten sind in der Sammlung COPERNICUS/S2_HARMONIZED verfügbar. Für Assets in diesen Sammlungen sind zusätzliche Metadaten verfügbar.
In dieser Anleitung wird beschrieben, wie Sie die Cloud-Maske anwenden.
Bänder
Bänder
Name | Min. | Max. | Pixelgröße | Beschreibung |
---|---|---|---|---|
probability |
0 | 100 | 10 Meter | Wahrscheinlichkeit, dass das Pixel bewölkt ist. |
Nutzungsbedingungen
Nutzungsbedingungen
Die Verwendung von Sentinel-Daten unterliegt den Nutzungsbedingungen für Copernicus-Sentinel-Daten.
Earth Engine nutzen
Code-Editor (JavaScript)
var s2Sr = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED'); var s2Clouds = ee.ImageCollection('COPERNICUS/S2_CLOUD_PROBABILITY'); var START_DATE = ee.Date('2019-01-01'); var END_DATE = ee.Date('2019-03-01'); var MAX_CLOUD_PROBABILITY = 65; var region = ee.Geometry.Rectangle({coords: [-76.5, 2.0, -74, 4.0], geodesic: false}); Map.setCenter(-75, 3, 12); function maskClouds(img) { var clouds = ee.Image(img.get('cloud_mask')).select('probability'); var isNotCloud = clouds.lt(MAX_CLOUD_PROBABILITY); return img.updateMask(isNotCloud); } // The masks for the 10m bands sometimes do not exclude bad data at // scene edges, so we apply masks from the 20m and 60m bands as well. // Example asset that needs this operation: // COPERNICUS/S2_CLOUD_PROBABILITY/20190301T000239_20190301T000238_T55GDP function maskEdges(s2_img) { return s2_img.updateMask( s2_img.select('B8A').mask().updateMask(s2_img.select('B9').mask())); } // Filter input collections by desired data range and region. var criteria = ee.Filter.and( ee.Filter.bounds(region), ee.Filter.date(START_DATE, END_DATE)); s2Sr = s2Sr.filter(criteria).map(maskEdges); s2Clouds = s2Clouds.filter(criteria); // Join S2 SR with cloud probability dataset to add cloud mask. var s2SrWithCloudMask = ee.Join.saveFirst('cloud_mask').apply({ primary: s2Sr, secondary: s2Clouds, condition: ee.Filter.equals({leftField: 'system:index', rightField: 'system:index'}) }); var s2CloudMasked = ee.ImageCollection(s2SrWithCloudMask).map(maskClouds).median(); var rgbVis = {min: 0, max: 3000, bands: ['B4', 'B3', 'B2']}; Map.addLayer( s2CloudMasked, rgbVis, 'S2 SR masked at ' + MAX_CLOUD_PROBABILITY + '%', true);