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일 이후 PROCESSING_BASELINE이 '04.00' 이상인 Sentinel-2 장면의 DN (값) 범위가 1, 000으로 이동합니다. HARMONIZED 컬렉션은 최신 장면의 데이터를 이전 장면과 동일한 범위로 이동합니다.

Sentinel-2는 식생, 토양, 수역 모니터링, 내륙 수로 및 연안 지역 관찰을 비롯한 코페르니쿠스 육지 모니터링 연구를 지원하는 광범위한 고해상도 다중 스펙트럼 이미지 처리 임무입니다.

Sentinel-2 데이터에는 TOA 반사율을 10,000으로 조정한 13개의 UINT16 스펙트럼 밴드가 포함되어 있습니다. 자세한 내용은 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에서 생성한 Level-2 데이터는 컬렉션 COPERNICUS/S2_SR에서 확인할 수 있습니다.

구름 또는 구름 그림자 감지를 지원하는 데이터 세트는 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)

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: cirrus clouds
    • 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 문자열

데이터 스트립 제품 데이터 항목 (PDI)의 고유 식별자입니다.

DATATAKE_IDENTIFIER 문자열

지정된 Datatake를 고유하게 식별합니다. ID에는 Sentinel-2 위성, 시작 날짜 및 시간, 절대 궤도 번호, 처리 기준이 포함됩니다.

DATATAKE_TYPE 문자열

MSI 작업 모드

DEGRADED_MSI_DATA_PERCENTAGE DOUBLE

저하된 MSI 및 보조 데이터의 비율

FORMAT_CORRECTNESS 문자열

그래뉼 (Product_Syntax) 및 데이터 스트립 (Product Syntax 및 DS_Consistency) 수준에서 실행된 온라인 품질관리 (OLQC) 검사의 종합

GENERAL_QUALITY 문자열

데이터 스트립 수준 (Relative_Orbit_Number)에서 수행된 OLQC 검사의 종합

GENERATION_TIME DOUBLE

제품 생성 시간

GEOMETRIC_QUALITY 문자열

데이터 스트립 수준에서 실행된 OLQC 검사의 종합 (Attitude_Quality_Indicator)

GRANULE_ID 문자열

그래뉼 PDI의 고유 식별자 (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 문자열

미국 군사 그리드 참조 시스템 (MGRS) 카드

PROCESSING_BASELINE 문자열

프로세서 소프트웨어 버전 및 주요 지상 이미지 처리 매개변수 (GIPP) 버전 측면에서 제품 생성 시 사용된 구성 기준점

PRODUCT_ID 문자열

원본 Sentinel-2 제품의 전체 ID

RADIOMETRIC_QUALITY 문자열

RADIOMETRIC_QUALITY 체크리스트 이름이 포함된 Datastrips/QI_DATA에 포함된 OLQC 보고서를 기반으로 합니다.

REFLECTANCE_CONVERSION_CORRECTION DOUBLE

지구-태양 거리 보정 계수

SENSING_ORBIT_DIRECTION 문자열

이미징 궤도 방향

SENSING_ORBIT_NUMBER DOUBLE

이미징 궤도 번호

SENSOR_QUALITY 문자열

그래뉼(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 문자열

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
코드 편집기에서 열기