
- Dostępność zbioru danych
- 2015-06-27T00:00:00Z–2025-10-13T05:52:51Z
- Dostawca zbioru danych
- Unia Europejska/ESA/Copernicus/SentinelHub
- Odstęp między kolejnymi wizytami
- 5 dni
- Tagi
Opis
Prawdopodobieństwo wystąpienia chmur S2 jest tworzone za pomocą biblioteki sentinel2-cloud-detector (z użyciem LightGBM).
Wszystkie pasma są próbkowane w górę za pomocą interpolacji dwuliniowej do rozdzielczości 10 m
przed zastosowaniem podstawowego algorytmu wzmacniania gradientowego. Wynikowe prawdopodobieństwo zmiennoprzecinkowe 0..1
jest skalowane do wartości 0..100
i zapisywane jako liczba całkowita bez znaku (UINT8). Obszary, w których brakuje wszystkich lub niektórych pasm, są zamaskowane.
Wyższe wartości częściej oznaczają chmury lub powierzchnie o wysokim współczynniku odbicia (np. dachy lub śnieg).
Sentinel-2 to misja obrazowania wielospektralnego o wysokiej rozdzielczości i szerokim zasięgu, która wspiera badania w ramach programu Copernicus Land Monitoring, w tym monitorowanie roślinności, pokrywy gleby i wody, a także obserwację śródlądowych dróg wodnych i obszarów przybrzeżnych.
Dane poziomu 2 znajdziesz w zbiorze COPERNICUS/S2_SR_HARMONIZED. Dane poziomu 1B znajdziesz w kolekcji COPERNICUS/S2_HARMONIZED. Dodatkowe metadane są dostępne w przypadku komponentów w tych kolekcjach.
Zobacz ten samouczek, w którym wyjaśniamy, jak zastosować maskę chmur.
Pasma
Pasma
Nazwa | Minimum | Maksimum | Rozmiar piksela | Opis |
---|---|---|---|---|
probability |
0 | 100 | 10 metrów | Prawdopodobieństwo, że piksel jest zachmurzony. |
Warunki korzystania z usługi
Warunki usługi
Korzystanie z danych z satelitów Sentinel podlega Warunkom korzystania z danych z satelitów Copernicus Sentinel.
Odkrywanie za pomocą Earth Engine
Edytor kodu (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);