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

COPERNICUS/S2_HARMONIZED
数据集可用性
2015-06-27T00:00:00Z–2025-03-04T18:31:51Z
数据集提供程序
Earth Engine 代码段
ee.ImageCollection("COPERNICUS/S2_HARMONIZED")
重新访问间隔
5 天
标签
copernicus esa eu msi radiance sentinel

2022 年 1 月 25 日之后,如果 Sentinel-2 场景的 PROCESSING_BASELINE 为“04.00”或更高,则其 DN(值)范围会向右偏移 1000。HARMONIZED 集合会将较新场景中的数据移至与较旧场景中的数据相同的范围。

Sentinel-2 是一项宽幅高分辨率多光谱成像任务,可支持哥白尼陆地监测研究,包括监测植被、土壤和水域覆盖率,以及观察内陆水道和沿海地区。

Sentinel-2 数据包含 13 个 UINT16 光谱波段,表示经过 10000 倍缩放的 TOA 反射率。如需了解详情,请参阅 Sentinel-2 用户手册。QA60 是一个位掩码带,在 2022 年 2 月之前包含光栅化云遮罩多边形,之后便停止生成这些多边形。从 2024 年 2 月开始,系统将根据 MSK_CLASSI 云分类带构建与旧版一致的 QA60 带。如需了解详情,请参阅有关计算云遮罩方式的完整说明

每个 Sentinel-2 产品(ZIP 归档文件)都可能包含多个 granule。每个 granule 都会成为一个单独的 Earth Engine 资产。Sentinel-2 资产的 EE 资产 ID 采用以下格式:COPERNICUS/S2/20151128T002653_20151128T102149_T56MNN。其中,第一个数字部分表示感知日期和时间,第二个数字部分表示产品生成日期和时间,最后一个 6 位字符串是唯一的 granule 标识符,表示其 UTM 网格参考(请参阅 MGRS)。

您可以在集合 COPERNICUS/S2_SR 中找到由欧洲航天局生成的 Level-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)

红色边缘 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 米 945 纳米 (S2A) / 943.2 纳米 (S2B)

水蒸气

B10 0.0001 60 米 1373.5nm (S2A) / 1376.9nm (S2B)

Cirrus

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 双精度

来自原始元数据的特定于 granule 的云雾像素百分比

CLOUD_COVERAGE_ASSESSMENT 双精度

包含此 granule 的整个归档中的阴云像素所占的百分比。取自原始元数据

DATASTRIP_ID STRING

数据条商品数据项 (PDI) 的唯一标识符

DATATAKE_IDENTIFIER STRING

用于唯一标识给定数据集。该 ID 包含 Sentinel-2 卫星、开始日期和时间、绝对轨道编号和处理基准。

DATATAKE_TYPE STRING

MSI 操作模式

DEGRADED_MSI_DATA_PERCENTAGE 双精度

降级的 MSI 和辅助数据的百分比

FORMAT_CORRECTNESS STRING

对在 granule (Product_Syntax) 和 datastrip (Product Syntax 和 DS_Consistency) 级别执行的在线质量控制 (OLQC) 检查进行合成

GENERAL_QUALITY STRING

在数据条级别执行的 OLQC 检查的综合结果 (Relative_Orbit_Number)

GENERATION_TIME 双精度

商品生成时间

GEOMETRIC_QUALITY STRING

对数据条级别执行的 OLQC 检查的综合结果 (Attitude_Quality_Indicator)

GRANULE_ID STRING

granule PDI 的唯一标识符 (PDI_ID)

MEAN_INCIDENCE_AZIMUTH_ANGLE_B1 双精度

包含频段 B1 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B2 双精度

包含频段 B2 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B3 双精度

包含频段 B3 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B4 双精度

包含频段 B4 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B5 双精度

包含频段 B5 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B6 双精度

包含频段 B6 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B7 双精度

包含频段 B7 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B8 双精度

包含频段 B8 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B8A 双精度

包含频段 B8a 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B9 双精度

包含频段 B9 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B10 双精度

平均值,包含频段 B10 和所有探测器的视场入射方位角平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B11 双精度

包含频段 B11 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_AZIMUTH_ANGLE_B12 双精度

包含频段 B12 和所有探测器的视场入射方位角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B1 双精度

包含频段 B1 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B2 双精度

包含频段 B2 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B3 双精度

包含频段 B3 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B4 双精度

包含频段 B4 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B5 双精度

包含频段 B5 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B6 双精度

包含频段 B6 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B7 双精度

包含频段 B7 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B8 双精度

包含频段 B8 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B8A 双精度

包含频段 B8a 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B9 双精度

包含频段 B9 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B10 双精度

包含频段 B10 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B11 双精度

包含频段 B11 和所有探测器的视场入射天顶角平均值的平均值

MEAN_INCIDENCE_ZENITH_ANGLE_B12 双精度

包含频段 B12 和所有探测器的视场入射天顶角平均值的平均值

MEAN_SOLAR_AZIMUTH_ANGLE 双精度

包含所有波段和探测器的太阳方位角平均值的平均值

MEAN_SOLAR_ZENITH_ANGLE 双精度

包含所有波段和探测器的太阳天顶角平均值的平均值

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 双精度

地球与太阳的距离校正系数

SENSING_ORBIT_DIRECTION STRING

成像轨道方向

SENSING_ORBIT_NUMBER 双精度

成像轨道编号

SENSOR_QUALITY STRING

在 granule(Missing_Lines、Corrupted_ISP 和 Sensing_Time)和 datastrip(Degraded_SAD 和 Datation_Model)级别执行的 OLQC 检查的综合

SOLAR_IRRADIANCE_B1 双精度

波段 B1 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B2 双精度

波段 B2 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B3 双精度

波段 B3 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B4 双精度

波段 B4 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B5 双精度

波段 B5 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B6 双精度

波段 B6 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B7 双精度

波段 B7 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B8 双精度

波段 B8 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B8A 双精度

波段 B8a 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B9 双精度

波段 B9 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B10 双精度

波段 B10 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B11 双精度

频段 B11 的平均太阳外大气辐射

SOLAR_IRRADIANCE_B12 双精度

波段 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 API 以及如何使用 geemap 进行交互式开发,请参阅 Python 环境页面。

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
在代码编辑器中打开