Sentinel-2: Cloud Probability

COPERNICUS/S2_CLOUD_PROBABILITY
Disponibilità del set di dati
2015-06-27T00:00:00Z–2025-10-13T05:52:51Z
Fornitore di set di dati
Snippet di Earth Engine
ee.ImageCollection("COPERNICUS/S2_CLOUD_PROBABILITY")
Intervallo di rivisita
5 giorni
Tag
cloud copernicus esa eu msi radiance satellite-imagery sentinel
sentinelhub

Descrizione

La probabilità di nuvole S2 viene creata con la libreria sentinel2-cloud-detector (utilizzando LightGBM). Tutte le bande vengono sottoposte a sovracampionamento utilizzando l'interpolazione bilineare fino a una risoluzione di 10 metri prima dell'applicazione dell'algoritmo di base di potenziamento del gradiente. La probabilità in virgola mobile 0..1 risultante viene scalata a 0..100 e archiviata come UINT8. Le aree in cui mancano una o tutte le bande sono mascherate. I valori più elevati hanno maggiori probabilità di essere nuvole o superfici altamente riflettenti (ad es. tetti o neve).

Sentinel-2 è una missione di imaging multispettrale ad alta risoluzione e ad ampia fascia che supporta gli studi di monitoraggio del territorio di Copernicus, tra cui il monitoraggio della vegetazione, della copertura del suolo e dell'acqua, nonché l'osservazione di corsi d'acqua interni e aree costiere.

I dati di livello 2 sono disponibili nella raccolta COPERNICUS/S2_SR_HARMONIZED. I dati di livello 1B sono disponibili nella raccolta COPERNICUS/S2_HARMONIZED. Metadati aggiuntivi sono disponibili per gli asset in queste raccolte.

Consulta questo tutorial che spiega come applicare la maschera per le nuvole.

Bande

Bande

Nome Min Max Dimensioni dei pixel Descrizione
probability 0 100 10 metri

Probabilità che il pixel sia nuvoloso.

Termini e condizioni d'uso

Termini e condizioni d'uso

L'utilizzo dei dati Sentinel è regolato dai Termini e condizioni per i dati Sentinel di Copernicus.

Esplorare con Earth Engine

Editor di codice (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);
Apri nell'editor di codice