Harmonized Sentinel-2 MSI: MultiSpectral Instrument, Level-1C (TOA)

COPERNICUS/S2_HARMONIZED
資料集可用性
2015-06-27T00:00:00Z–2025-03-09T07:03:15Z
資料集供應器
Earth Engine 程式碼片段
ee.ImageCollection("COPERNICUS/S2_HARMONIZED")
重訪間隔
5 天
標記
copernicus esa eu msi radiance sentinel

自 2022 年 1 月 25 日起,如果 Sentinel-2 影像的 PROCESSING_BASELINE 為「04.00」或更高,其數位數 (值) 範圍會往上調整 1000。HARMONIZED 集合會將新場景中的資料移至舊場景中相同的範圍。

Sentinel-2 是寬幅、高解析度、多光譜影像拍攝任務,可支援哥白尼土地監測研究,包括監測植被、土壤和水覆蓋率,以及內陸水道和沿海區域的觀測。

Sentinel-2 資料包含 13 個 UINT16 光譜頻帶,代表以 10000 縮放的 TOA 反射率。詳情請參閱 Sentinel-2 使用手冊。QA60 是位元遮罩帶,包含已轉為點陣圖的雲遮罩多邊形,但這些多邊形已於 2022 年 2 月停止產生。自 2024 年 2 月起,我們會使用 MSK_CLASSI 雲端分類資料帶,建構與舊版相容的 QA60 資料帶。如需更多詳細資訊,請參閱雲端遮罩計算方式的完整說明

每個 Sentinel-2 產品 (ZIP 封存檔) 可能包含多個細節。每個微粒都會成為獨立的 Earth Engine 資產。Sentinel-2 資產的 EE 資產 ID 格式如下:COPERNICUS/S2/20151128T002653_20151128T102149_T56MNN。其中,第一個數字部分代表感測日期和時間,第二個數字部分代表產品產生日期和時間,最後的 6 個字元字串則是專屬的微格識別碼,用於表示其 UTM 格線參考資料 (請參閱 MGRS)。

您可以在 COPERNICUS/S2_SR 集合中找到 ESA 產生的第 2 層資料。

如需協助偵測雲和/或雲影的資料集,請參閱 COPERNICUS/S2_CLOUD_PROBABILITYGOOGLE/CLOUD_SCORE_PLUS/V1/S2_HARMONIZED

如要進一步瞭解 Sentinel-2 輻射解析度,請參閱這個頁面

錶帶

名稱 規模 像素大小 波長 說明
B1 0.0001 60 公尺 443.9nm (S2A) / 442.3nm (S2B)

氣溶膠

B2 0.0001 10 公尺 496.6nm (S2A) / 492.1nm (S2B)

藍色

B3 0.0001 10 公尺 560nm (S2A) / 559nm (S2B)

綠色

B4 0.0001 10 公尺 664.5nm (S2A) / 665nm (S2B)

紅色

B5 0.0001 20 公尺 703.9nm (S2A) / 703.8nm (S2B)

Red Edge 1

B6 0.0001 20 公尺 740.2nm (S2A) / 739.1nm (S2B)

Red Edge 2

B7 0.0001 20 公尺 782.5nm (S2A) / 779.7nm (S2B)

Red Edge 3

B8 0.0001 10 公尺 835.1nm (S2A) / 833nm (S2B)

NIR

B8A 0.0001 20 公尺 864.8nm (S2A) / 864nm (S2B)

Red Edge 4

B9 0.0001 60 公尺 945nm (S2A) / 943.2nm (S2B)

水蒸氣

B10 0.0001 60 公尺 1373.5nm (S2A) / 1376.9nm (S2B)

卷雲

B11 0.0001 20 公尺 1613.7nm (S2A) / 1610.4nm (S2B)

SWIR 1

B12 0.0001 20 公尺 2202.4nm (S2A) / 2185.7nm (S2B)

SWIR 2

QA10 10 公尺

一律空白

QA20 20 公尺

一律空白

QA60 60 公尺

雲遮罩。2022 年 2 月至 2024 年 2 月期間已遮蓋。

  • 位元 0 到 9:未使用
  • 位元 10:不透明雲朵
    • 0:無不透明雲
    • 1:有不透明的雲
  • 位元 11:捲雲
    • 0:沒有卷雲
    • 1:有捲雲
MSK_CLASSI_OPAQUE 60 公尺

不透明雲系分類頻帶 (0=無雲,1=有雲)。在 2024 年 2 月前遮蓋。

MSK_CLASSI_CIRRUS 60 公尺

卷雲雲系分類帶 (0=無雲,1=有雲)。在 2024 年 2 月前遮蓋。

MSK_CLASSI_SNOW_ICE 60 公尺

積雪/結冰分類頻帶 (0=無積雪/結冰,1=積雪/結冰)。在 2024 年 2 月前遮蓋。

圖片屬性

名稱 類型 說明
CLOUDY_PIXEL_PERCENTAGE DOUBLE

從原始中繼資料擷取的區塊特定雲遮率百分比

CLOUD_COVERAGE_ASSESSMENT DOUBLE

包含此格陵的整個封存檔案的雲霧像素百分比。取自原始中繼資料

DATASTRIP_ID STRING

資料條產品資料項目 (PDI) 的專屬 ID

DATATAKE_IDENTIFIER STRING

用於識別特定 Datatake。這個 ID 包含 Sentinel-2 衛星、開始日期和時間、絕對軌道編號,以及處理基準。

DATATAKE_TYPE STRING

MSI 作業模式

DEGRADED_MSI_DATA_PERCENTAGE DOUBLE

降級 MSI 和輔助資料的百分比

FORMAT_CORRECTNESS STRING

綜合在粒度 (Product_Syntax) 和資料條 (Product_Syntax 和 DS_Consistency) 層級執行的線上品質驗證 (OLQC) 檢查

GENERAL_QUALITY STRING

在資料條層級執行的 OLQC 檢查結果合成 (Relative_Orbit_Number)

GENERATION_TIME DOUBLE

產品產生時間

GEOMETRIC_QUALITY STRING

合成在資料條層級執行的 OLQC 檢查 (Attitude_Quality_Indicator)

GRANULE_ID STRING

細粒度 PDI 的專屬 ID (PDI_ID)

MEAN_INCIDENCE_AZIMUTH_ANGLE_B1 DOUBLE

平均值,包含頻帶 B1 和所有感應器的視角入射方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B2 DOUBLE

平均值,包含頻帶 B2 和所有感應器的視線入射方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B3 DOUBLE

平均值,包含頻帶 B3 和所有感應器的視角入射方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B4 DOUBLE

平均值,包含頻帶 B4 和所有感應器的視角入射方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B5 DOUBLE

平均值,包含頻帶 B5 和所有感應器的觀測入射方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B6 DOUBLE

包含 B6 頻帶和所有偵測器的觀測方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B7 DOUBLE

平均值,包含 B7 頻帶和所有感應器的觀測入射方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B8 DOUBLE

包含頻帶 B8 和所有偵測器的觀測方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B8A DOUBLE

平均值,包含頻帶 B8a 和所有感應器的視角入射方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B9 DOUBLE

平均值,包含頻帶 B9 和所有感應器的視角入射方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B10 DOUBLE

平均值,包含頻帶 B10 和所有感應器的視角方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B11 DOUBLE

包含頻帶 B11 和所有感應器的觀測入射方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B12 DOUBLE

平均值,包含頻帶 B12 和所有感應器的視線入射方位角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B1 DOUBLE

平均值,包含頻帶 B1 和所有感應器的觀測入射天頂角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B2 DOUBLE

平均值,包含頻帶 B2 和所有感應器的觀測入射天頂角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B3 DOUBLE

平均值,包含頻帶 B3 和所有感應器的觀測入射天頂角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B4 DOUBLE

平均值,包含頻帶 B4 和所有感應器的觀測入射天頂角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B5 DOUBLE

平均值,包含頻帶 B5 和所有感應器的觀測入射天頂角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B6 DOUBLE

包含 B6 頻帶和所有偵測器的觀測入射天頂角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B7 DOUBLE

平均值,包含頻帶 B7 和所有感應器的觀測入射天頂角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B8 DOUBLE

平均值,包含頻帶 B8 和所有偵測器的觀測入射天頂角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B8A DOUBLE

平均值,包含頻帶 B8a 和所有感應器的觀測入射天頂角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B9 DOUBLE

平均值,包含頻帶 B9 和所有感應器的觀測入射天頂角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B10 DOUBLE

平均值,內含頻帶 B10 和所有感應器的觀測入射天頂角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B11 DOUBLE

平均值,包含頻帶 B11 和所有感應器的觀測入射天頂角平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B12 DOUBLE

平均值,包含 B12 頻帶和所有感應器的觀測入射天頂角平均值

MEAN_SOLAR_AZIMUTH_ANGLE DOUBLE

平均值,包含所有頻帶和感應器的太陽方位角平均值

MEAN_SOLAR_ZENITH_ANGLE DOUBLE

平均值,包含所有頻帶和感應器的太陽天頂角平均值

MGRS_TILE STRING

美國軍事格線參考系統 (MGRS) 圖塊

PROCESSING_BASELINE STRING

產品產生時使用的設定基準,包括處理器軟體版本和主要地面圖像處理參數 (GIPP) 版本

PRODUCT_ID STRING

原始 Sentinel-2 產品的完整 ID

RADIOMETRIC_QUALITY STRING

根據 Datastrips/QI_DATA 中含有 RADIOMETRIC_QUALITY 檢查清單名稱的 OLQC 報告

REFLECTANCE_CONVERSION_CORRECTION DOUBLE

地球-太陽距離修正係數

SENSING_ORBIT_DIRECTION STRING

拍攝軌道方向

SENSING_ORBIT_NUMBER DOUBLE

影像軌道編號

SENSOR_QUALITY STRING

綜合在粒度 (Missing_Lines、Corrupted_ISP 和 Sensing_Time) 和資料列 (Degraded_SAD 和 Datation_Model) 層級執行的 OLQC 檢查

SOLAR_IRRADIANCE_B1 DOUBLE

頻帶 B1 的平均太陽外大氣層輻照度

SOLAR_IRRADIANCE_B2 DOUBLE

頻帶 B2 的平均太陽外大氣層輻射量

SOLAR_IRRADIANCE_B3 DOUBLE

波段 B3 的平均太陽外大氣層輻射量

SOLAR_IRRADIANCE_B4 DOUBLE

頻帶 B4 的平均太陽外大氣層輻射量

SOLAR_IRRADIANCE_B5 DOUBLE

頻帶 B5 的平均太陽外大氣層輻射量

SOLAR_IRRADIANCE_B6 DOUBLE

頻帶 B6 的平均太陽外大氣層日射量

SOLAR_IRRADIANCE_B7 DOUBLE

頻帶 B7 的平均太陽外大氣層輻照度

SOLAR_IRRADIANCE_B8 DOUBLE

頻帶 B8 的平均太陽外大氣層輻射量

SOLAR_IRRADIANCE_B8A DOUBLE

頻帶 B8a 的平均太陽外大氣層輻照度

SOLAR_IRRADIANCE_B9 DOUBLE

頻帶 B9 的平均太陽外大氣層輻射量

SOLAR_IRRADIANCE_B10 DOUBLE

頻帶 B10 的平均太陽外大氣層輻照度

SOLAR_IRRADIANCE_B11 DOUBLE

頻帶 B11 的平均太陽外大氣層輻照度

SOLAR_IRRADIANCE_B12 DOUBLE

波段 B12 的平均外大氣層日射量

SPACECRAFT_NAME STRING

Sentinel-2 太空船名稱:Sentinel-2A、Sentinel-2B

使用條款

使用 Sentinel 資料時,請遵守《哥白尼 Sentinel 資料條款及細則》。

使用 Earth Engine 探索

/**
 * 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);
}

// Map the function over a month of data and take the median.
// Load Sentinel-2 TOA reflectance data (adjusted for processing changes
// that occurred after 2022-01-25).
var dataset = ee.ImageCollection('COPERNICUS/S2_HARMONIZED')
                  .filterDate('2022-01-01', '2022-01-31')
                  // Pre-filter to get less cloudy granules.
                  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
                  .map(maskS2clouds);

var rgbVis = {
  min: 0.0,
  max: 0.3,
  bands: ['B4', 'B3', 'B2'],
};

Map.setCenter(-9.1695, 38.6917, 12);
Map.addLayer(dataset.median(), rgbVis, 'RGB');

請參閱「 Python 環境」頁面,瞭解 Python API 和如何使用 geemap 進行互動式開發。

import ee
import geemap.core as geemap
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_HARMONIZED')
    .filterDate('2022-01-01', '2022-01-31')
    # Pre-filter to get less cloudy granules.
    .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
    .map(mask_s2_clouds)
)

rgb_vis = {
    'min': 0.0,
    'max': 0.3,
    'bands': ['B4', 'B3', 'B2'],
}

m = geemap.Map()
m.set_center(-9.1695, 38.6917, 12)
m.add_layer(dataset.median(), rgb_vis, 'RGB')
m
在程式碼編輯器中開啟