Sentinel-2: Cloud Probability

COPERNICUS/S2_CLOUD_PROBABILITY
ความพร้อมใช้งานของชุดข้อมูล
2015-06-27T00:00:00Z–2025-10-13T02:15:39Z
ผู้ให้บริการชุดข้อมูล
ตัวอย่างข้อมูล Earth Engine
ee.ImageCollection("COPERNICUS/S2_CLOUD_PROBABILITY")
ช่วงเวลาการกลับมา
5 วัน
แท็ก
cloud copernicus esa eu msi radiance satellite-imagery sentinel
sentinelhub

คำอธิบาย

ความน่าจะเป็นของเมฆ S2 สร้างขึ้นด้วยไลบรารี sentinel2-cloud-detector (ใช้ LightGBM) ระบบจะอัปแซมปลิงแถบทั้งหมดโดยใช้การประมาณค่าแบบเส้นคู่เป็นความละเอียด 10 เมตร ก่อนที่จะใช้อัลกอริทึมพื้นฐานของ Gradient Boost ความน่าจะเป็นของจุดทศนิยม 0..1 ที่ได้จะปรับขนาดเป็น 0..100 และจัดเก็บเป็น UINT8 ระบบจะมาสก์พื้นที่ที่ไม่มีแถบความถี่บางส่วนหรือทั้งหมด ค่าที่สูงขึ้นมีแนวโน้มที่จะเป็นเมฆหรือพื้นผิวที่มีการสะท้อนสูง (เช่น หลังคาหรือหิมะ)

Sentinel-2 เป็นภารกิจการถ่ายภาพแบบหลายสเปกตรัมความละเอียดสูงที่มีแถบกว้าง ซึ่งสนับสนุนการศึกษาการตรวจสอบภาคพื้นดินของ Copernicus รวมถึงการตรวจสอบพืชพรรณ ดิน และพื้นที่น้ำปกคลุม ตลอดจนการสังเกตทางน้ำภายในประเทศและพื้นที่ชายฝั่ง

ข้อมูลระดับ 2 จะอยู่ในคอลเล็กชัน COPERNICUS/S2_SR_HARMONIZED ข้อมูลระดับ 1B จะอยู่ในคอลเล็กชัน COPERNICUS/S2_HARMONIZED ข้อมูลเมตาเพิ่มเติมจะพร้อมใช้งานในเนื้อหาในคอลเล็กชันเหล่านั้น

ดูบทแนะนำนี้ ซึ่งอธิบายวิธีใช้มาสก์เมฆ

ย่านความถี่

ย่านความถี่

ชื่อ ต่ำสุด สูงสุด ขนาดพิกเซล คำอธิบาย
probability 0 100 10 เมตร

ความน่าจะเป็นที่พิกเซลจะมีเมฆ

ข้อกำหนดในการใช้งาน

ข้อกำหนดในการใช้งาน

การใช้ข้อมูล Sentinel อยู่ภายใต้ข้อกำหนดและเงื่อนไขของข้อมูล Copernicus Sentinel

สำรวจด้วย Earth Engine

ตัวแก้ไขโค้ด (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);
เปิดในตัวแก้ไขโค้ด