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

COPERNICUS/S2_HARMONIZED
数据集可用时间
2015-06-27T00:00:00Z–2025-09-01T10:48:36.978000Z
数据集提供方
Earth Engine 片段
ee.ImageCollection("COPERNICUS/S2_HARMONIZED")
再次访问间隔
5 天
标签
哥白尼 esa eu msi 辐射 卫星图像 哨兵

说明

自 2022 年 1 月 25 日起,处理基准为“04.00”或更高级别的 Sentinel-2 场景的 DN(值)范围将偏移 1000。HARMONIZED 集合会将较新场景中的数据调整到与较旧场景中相同的范围。

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

Sentinel-2 数据包含 13 个 UINT16 光谱波段,表示按 10000 缩放的 TOA 反射率。如需了解详情,请参阅 Sentinel-2 用户手册。QA60 是一个位掩码波段,其中包含栅格化的云掩码多边形,直到 2022 年 2 月这些多边形停止生成为止。自 2024 年 2 月起,旧版一致性 QA60 波段由 MSK_CLASSI 云分类波段构建而成。 如需了解详情,请参阅有关云掩码计算方式的完整说明

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

ESA 生成的 2 级数据可在 COPERNICUS/S2_SR 集合中找到。

如需获取有助于进行云检测和/或云阴影检测的数据集,请参阅 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 米 560nm (S2A) / 559nm (S2B)

绿色

B4 0.0001 10 米 664.5 纳米 (S2A) / 665 纳米 (S2B)

红色

B5 0.0001 20 米 703.9 纳米 (S2A) / 703.8 纳米 (S2B)

Red Edge 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)

Cirrus

B11 0.0001 20 米 1613.7 纳米 (S2A) / 1610.4 纳米 (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 月期间已屏蔽。

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

从原始元数据中提取的特定于粒度的多云像素百分比

CLOUD_COVERAGE_ASSESSMENT 双精度

包含相应粒度的整个归档的云像素百分比。取自原始元数据

DATASTRIP_ID STRING

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

DATATAKE_IDENTIFIER STRING

唯一标识给定的数据提取。该 ID 包含 Sentinel-2 卫星、开始日期和时间、绝对轨道号以及处理基准。

DATATAKE_TYPE STRING

MSI 操作模式

DEGRADED_MSI_DATA_PERCENTAGE 双精度

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

FORMAT_CORRECTNESS STRING

在数据粒度(Product_Syntax)和数据条带(Product_Syntax 和 DS_Consistency)级别执行的在线质量控制 (OLQC) 检查的综合结果

GENERAL_QUALITY STRING

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

GENERATION_TIME 双精度

商品生成时间

GEOMETRIC_QUALITY STRING

在数据条级执行的 OLQC 检查的合成结果 (Attitude_Quality_Indicator)

GRANULE_ID STRING

粒度 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 中且具有 RADIOMETRIC_QUALITY 核对清单名称的 OLQC 报告

REFLECTANCE_CONVERSION_CORRECTION 双精度

日地距离校正系数

SENSING_ORBIT_DIRECTION STRING

拍摄轨道方向

SENSING_ORBIT_NUMBER 双精度

成像轨道号

SENSOR_QUALITY STRING

在以下级别执行的 OLQC 检查的合成结果:影像块(Missing_Lines、Corrupted_ISP 和 Sensing_Time)和数据条带(Degraded_SAD 和 Datation_Model)

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 探索

代码编辑器 (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 API 和如何使用 geemap 进行交互式开发,请参阅 Python 环境页面。

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