Moments/GIS

[QGIS] Landsat 8/9 활용 2편: NDBI 추출하기 🏙️ (도시지역 추출/Built-up Index 계산/NDVI 비교)

행복한 메타몽 2026. 3. 4. 20:32

지난 편에서 Landsat 데이터로 NDVI(식생지수)를 추출했는데, 이번엔 같은 데이터로 NDBI(Normalized Difference Built-up Index), 즉 정규화 건축지수를 뽑아볼 거다.
NDBI는 도시 건축물·불투수면의 밀도를 수치화하는 지수로, NDVI와 세트로 분석하면 토지피복 변화나 도시화 정도를 파악하는 데 주로 사용한다.


데이터 다운로드는 1편과 동일하게 USGS EarthExplorer를 이용하면 되고, 이번 편에서는 밴드 선택부터 계산, 결과 시각화까지 집중적으로 다룬다. 레츠꼬 🏙️

 

👉 [QGIS] Landsat 8/9 활용 1편: NDVI 추출하기 🌿 (EarthExplorer 다운로드 포함)

 


 

1. Landsat 위성과 밴드 — 복습

1편에서 다뤘지만 NDBI를 이해하려면 밴드 구성을 다시 짚고 가야 한다.
Landsat은 USGS(미국지질조사국)와 NASA가 공동 운영하는 지구관측 위성 시리즈다. 1972년부터 지금까지 지구 전역을 무료로 제공하고 있으며, 다양한 분광 밴드를 통해 식생·수체·도시·토양 등 지표면 특성을 분석할 수 있다.

 

아래는 Landsat 시리즈별 분광 밴드 비교표다. 위성마다 밴드 번호가 달라서 어떤 위성을 쓰느냐에 따라 계산식이 달라진다.

Landsat 시리즈별 분광 밴드 비교표 (출처: USGS)
Landsat 시리즈별 분광 밴드 비교표 (출처: USGS)

 

 

이 글에서 사용할 Landsat 8/9 OLI의 밴드 구성은 아래와 같다.

 

Landsat 8 OLI/TIRS 밴드 상세 정보 (출처: USGS)
Landsat 8 OLI/TIRS 밴드 상세 정보 (출처: USGS)

 

 

NDBI 계산에 필요한 밴드는 두 개다.
Band 5 (NIR, Near Infrared): 파장 0.85~0.88 µm, 해상도 30m
Band 6 (SWIR 1, Shortwave Infrared): 파장 1.57~1.65 µm, 해상도 30m

 

 

2. L1 vs L2 — 대기보정 여부

1편에서도 설명했지만 NDBI 역시 L2(Level-2) 데이터를 써야 한다. 간단히 다시 정리하면 아래와 같다.

 

구분 Level-1 (L1) Level-2 (L2)
처리 단계 기하 보정만 완료 기하 보정 + 대기 보정 완료
반사율 단위 DN (Digital Number, 원시값) 지표면 반사율 (Surface Reflectance)
지수 계산 시 추가 변환 과정 필요 바로 계산 가능 ✅
파일명 접두어 _B5.TIF, _B6.TIF _SR_B5.TIF, _SR_B6.TIF

 

밴드 간 비율을 계산하는 지수는 대기 영향이 남아 있으면 결과가 왜곡된다. 그래서 작업할 때에는 L2 Surface Reflectance 데이터를 써야 한다. EarthExplorer에서 데이터를 받는 방법은 1편을 참고하면 된다.

 

👉 1편 — EarthExplorer에서 Landsat L2 데이터 다운로드하는 방법

 

 

3. NDBI(Normalized Difference Built-up Index)란?

NDBI(Normalized Difference Built-up Index)는 위성 영상에서 도시 건축물, 포장도로, 불투수면 등 인공 구조물의 밀도를 수치화하는 지수다.
수식은 아래와 같다.

 

$$\text{NDBI} = \frac{\text{SWIR} - \text{NIR}}{\text{SWIR} + \text{NIR}}$$

 

여기서 SWIR은 단파적외선(Shortwave Infrared) 밴드, NIR은 근적외선(Near Infrared) 밴드를 의미한다.
건축물·콘크리트·포장도로는 SWIR을 강하게 반사하고 NIR을 상대적으로 덜 반사하는 특성이 있다. 반대로 식생은 NIR을 강하게 반사하기 때문에 NDBI와 NDVI는 음의 상관관계를 가진다. 즉, NDBI가 높은 곳 = 도시/건축 밀집지역, NDVI가 높은 곳 = 식생 밀집지역이라고 이해하면 된다.

 

Landsat 8/9 기준으로 밴드 번호를 대입하면 아래와 같다.

 

$$\text{NDBI} = \frac{\text{Band6} - \text{Band5}}{\text{Band6} + \text{Band5}}$$

 

NDBI 값의 범위도 -1 ~ +1이며, 일반적인 해석은 아래와 같다.

 

NDBI 값 범위 의미
0.2 ~ 1.0 고밀도 건축지역, 도심 시가지
0.0 ~ 0.2 저밀도 건축지역, 교외 주거지
-0.1 ~ 0.0 나지, 토양, 사막
-0.3 ~ -0.1 식생 (농경지, 초지)
-1.0 ~ -0.3 울창한 산림, 수체

 

 

4. 필요한 밴드 파일 준비하기

1편과 동일하게 EarthExplorer에서 받은 Landsat L2 번들 압축을 풀면 여러 TIF 파일이 들어 있다.
NDBI 계산에 필요한 파일은 두 개다.

 

_SR_B5.TIF (NIR 밴드)와 _SR_B6.TIF (SWIR 1 밴드)

 

1편 NDVI에서 B4, B5를 썼다면 이번엔 B5, B6을 쓴다고 이해하면 된다. B5(NIR)는 두 지수에서 공통으로 사용된다.

Finder에서 다운로드 폴더 → SR_B5.TIF와 SR_B6.TIF 확인
Finder에서 다운로드 폴더 → SR_B5.TIF와 SR_B6.TIF 확인

 

 

5. QGIS에서 밴드 불러오기

QGIS를 열고 SR_B5.TIF (NIR)SR_B6.TIF (SWIR) 파일을 드래그 앤 드롭으로 불러온다.
1편에서 작업하던 프로젝트를 그대로 이어서 쓴다면 Band6 (SWIR) 레이어 하나만 추가로 불러오면 된다. 레이어 이름을 Band6 (SWIR)로 변경해줬다.

QGIS에서 Band6(SWIR), Band5(NIR) 불러온 화면
QGIS에서 Band6(SWIR), Band5(NIR) 불러온 화면

 

 

SWIR 밴드는 단파 적외선 영역이라 육안으로는 흑백 영상처럼 보이지만 도시 지역이 상대적으로 밝게(높은 반사율), 수체·식생 지역이 어둡게 표현된다.

 

 

6. 래스터 계산기로 NDBI 계산하기

QGIS 상단 메뉴에서 래스터(Raster) → 래스터 계산기(Raster Calculator)를 클릭한다.

QGIS 상단 메뉴 → 래스터 > 래스터 계산기 클릭
QGIS 상단 메뉴 → 래스터 > 래스터 계산기 클릭

 

 

래스터 계산기 창이 열리면 왼쪽 래스터 밴드 목록에 불러온 레이어들이 표시된다. 아래 표현식을 입력한다.

 

$$\text{NDBI} = \frac{\text{"Band6 (SWIR)@1"} - \text{"Band5 (NIR)@1"}}{\text{"Band6 (SWIR)@1"} + \text{"Band5 (NIR)@1"}}$$

 

("Band6 (SWIR)@1" - "Band5 (NIR)@1") / ("Band6 (SWIR)@1" + "Band5 (NIR)@1")

 

1편 NDVI 수식과 비교하면 분자·분모에서 Band6(SWIR)과 Band5(NIR)의 위치가 바뀌었다. NDVI는 NIR - Red, NDBI는 SWIR - NIR 구조다.
산출 레이어 경로를 설정하고 OK를 누르면 계산이 시작된다.

QGIS 래스터 계산기 → NDBI 수식 입력 및 산출 레이어 경로 설정
QGIS 래스터 계산기 → NDBI 수식 입력 및 산출 레이어 경로 설정

 

 

7. NDBI 결과 확인 및 색상 적용

계산이 완료되면 NDBI 레이어가 추가된다. 레이어 패널에서 값 범위를 확인할 수 있다.

NDBI 계산 완료
NDBI 계산 완료

 

 

색상을 입혀보자. NDBI 레이어 선택 → 속성창 → 심볼로지(Symbology) 탭에서 렌더링 타입을 단일 밴드 유사색상(Singleband pseudocolor)으로 변경한다.
NDBI는 도시화 정도를 나타내므로 낮은 값(식생·수체)은 차갑고 어두운 계열, 높은 값(건축·도시)은 따뜻한 계열로 표현되는 색상표를 쓰면 된다.

NDBI 색상 적용 결과
NDBI 색상 적용 결과

 

결과를 보면 서울 도심·수도권 시가지는 노란색~갈색(높은 NDBI), 산림 지역은 청록색(낮은 NDBI), 한강·수체는 파란색으로 뚜렷하게 구분된다.
1편의 NDVI 결과와 겹쳐보면 식생이 풍부한 곳과 건축이 밀집한 곳이 정반대의 패턴을 보이는 게 확인된다.

확대한 모습
확대한 모습

 

 

이렇게 Landsat L2 데이터 하나로 NDVI(식생)와 NDBI(건축) 두 가지 지수를 모두 추출할 수 있다. 토지피복 분석, 도시 열섬 연구, 환경 모니터링 등 다양한 분야에 활용할 수 있으니 참고하길 바란다. 이상 끝! 🏙️