안녕하세요? 이번 글은 Google Earth Engine에서 Sentinel-2 위성영상의 분광지수 이미지 생성방법을 소개해 보겠습니다. 여기서는 NDBI, NDVI, NDWI 이미지를 생성해 보겠습니다. Sentinel-2 위성영상의 분광지수 관련해서는 다음 링크를 참고하시면 좋겠습니다.
Sentinel-2 위성영상은 아래와 같은 밴드 구성을 가지고 있습니다. NDBI(정규시가화지수)는 SWIR(Band11) - NIR(Band8) / SWIR(Band11) + NIR(Band8)로 계산됩니다. GEE에서 해당 공식을 적용해 주면 됩니다.
s2_image 위성영상으로부터 NDBI 이미지를 생성해 보겠습니다.
# NDBI 계산
ndbi = s2_image.normalizedDifference(['B11', 'B8']).rename('NDBI')
# NDBI layer
Map = geemap.Map(layout={"height": "400px", "width": "800px"})
vis_params = {
"bands": ["NDBI"],
"min": -1,
"max": 1,
"palette": ['#2c7bb6', '#d9ef8b', '#d73027'],
}
Map.addLayer(ndbi, vis_params, "NDBI")
Map.add_colorbar(
vis_params, label="NDBI", orientation="vertical", layer_name="ndbi"
)
Map.centerObject(kor.geometry(), 6)
Map
NDBI 특성을 이해하기 위해 시가지지역으로 이동해 봤습니다. 아래와 같이 시가지와 비시가지가 구분되는 것을 확인할 수 있습니다.
같은 방식으로 NDVI(Normalized Difference Vegetation Index, 정규식생지수)와 NDWI(Normalized Difference Water Index, 정규수분지수)도 아래 코드로 분광지수 이미지를 생성할 수 있습니다.
# NDVI 계산
ndvi = s2_image.normalizedDifference(['B8', 'B4']).rename('NDVI')
# NDWI 계산
ndwi = s2_image.normalizedDifference(['B3', 'B8']).rename('NDWI')