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

COPERNICUS/S2_HARMONIZED
資料集可用性
2015-06-27T00:00:00Z–2025-10-04T00:30:09.368000Z
資料集供應來源
Earth Engine 程式碼片段
ee.ImageCollection("COPERNICUS/S2_HARMONIZED")
重新造訪間隔
5 天
標記
copernicus esa eu msi radiance satellite-imagery sentinel

說明

2022 年 1 月 25 日後,PROCESSING_BASELINE 為「04.00」或以上的 Sentinel-2 場景,其 DN (值) 範圍會偏移 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.9 奈米 (S2A) / 442.3 奈米 (S2B)

氣溶膠

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

藍色

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

綠色

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

紅色

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

紅邊 1

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

Red Edge 2

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

Red Edge 3

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

NIR

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

Red Edge 4

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

水蒸氣

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

卷雲

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

SWIR 1

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

SWIR 2

QA10 10 公尺

一律為空

QA20 20 公尺

一律為空

QA60 60 公尺

雲朵遮罩。2022 年 2 月至 2024 年 2 月期間的資料已遮蓋。

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) 和資料帶 (ProductSyntax 和 DS_Consistency) 層級執行的線上品質控管 (OLQC) 檢查

GENERAL_QUALITY STRING

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

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 中包含的 OLQC 報告,並以 RADIOMETRIC_QUALITY 檢查清單名稱為準

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 資料時,須遵守《Copernicus Sentinel Data Terms and Conditions》。

使用 Earth Engine 探索

程式碼編輯器 (JavaScript)

/**
 * 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 環境頁面,瞭解 Python API 和如何使用 geemap 進行互動式開發。

import ee
import geemap.core as geemap

Colab (Python)

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
在程式碼編輯器中開啟