레이블이 QGIS래스터계산기인 게시물을 표시합니다. 모든 게시물 표시
레이블이 QGIS래스터계산기인 게시물을 표시합니다. 모든 게시물 표시

2026-09-21

NDVI·NDWI는 무엇을 보는 지표인가 | GeoAI 기초 4편

NDVI·NDWI는 무엇을 보는 지표인가 | GeoAI 기초 4편

🎬 1분 브리핑 영상

📌 3줄 요약

  • 분광 지수는 밴드 간 반사율 차이로 지표 상태를 수치화한 값이다.
  • NDVI는 식생 활력, NDWI는 수분·침수, NBR은 산불 피해를 드러낸다.
  • 세 지수를 함께 읽으면 산불·가뭄·홍수 피해 범위를 빠르게 추정할 수 있다.

산불이 난 지 이틀 뒤, 소방·재난 담당자는 헬기를 띄우기 전에 위성영상부터 열어 봅니다. 그런데 영상을 그냥 보는 것이 아니라, 화면에 초록색과 붉은색이 섞인 이상한 지도를 띄워 놓고 수치를 읽습니다. 이것이 바로 분광 지수(spectral index) 지도입니다. 분광 지수란, 위성이 측정한 여러 파장대 반사율을 간단한 수식으로 조합해 특정 지표의 상태를 -1부터 1 사이 숫자 하나로 표현한 값입니다.

왜 굳이 계산을 할까요? 위성이 찍은 빨간색·초록색·근적외선 밴드 원본 숫자만 보면 식물이 얼마나 건강한지, 어디에 물이 고였는지 한눈에 알기 어렵습니다. 반면 두 밴드 값의 비율을 구하면 조도 변화나 대기 산란의 영향이 상당 부분 줄어들고, 같은 현상을 다른 날짜·다른 위성 영상과 비교하기도 쉬워집니다. 이번 글에서는 가장 자주 쓰이는 세 가지 지수인 NDVI, NDWI, NBR의 원리와 재난 현장 활용법을 차근차근 살펴보겠습니다.

🌿 식물은 왜 근적외선을 많이 반사하나요?

빛은 파장에 따라 물질과 반응하는 방식이 다릅니다. 건강한 잎은 가시광선 중 빨간색(적색, 약 650 nm 대역)을 광합성에 사용하므로 흡수하고, 근적외선(NIR, 약 700~900 nm 대역)은 세포 구조에 의해 강하게 반사합니다. 즉 건강한 식물은 적색 반사율이 낮고 NIR 반사율이 높습니다. 잎이 타거나 말라 세포 구조가 무너지면 이 차이가 줄어듭니다. 분광 지수는 바로 이 차이를 수치로 만든 것입니다. 재난 담당자 입장에서 이 원리가 중요한 이유는 단순합니다. 산불이나 가뭄으로 식생이 손상되면 NIR 반사율이 눈에 띄게 떨어지고, 그 변화가 지수값 변화로 바로 나타나기 때문입니다.

📊 NDVI는 정확히 어떤 값을 계산하는 건가요?

NDVI(Normalized Difference Vegetation Index, 정규화 식생 지수)는 (NIR - Red) / (NIR + Red) 로 계산합니다. 값이 0.6 이상이면 활력 있는 산림이나 농경지, 0.2~0.4 정도면 초지나 드문드문한 식생, 0 근처이거나 음수이면 나지·도시·수면으로 해석하는 것이 일반적입니다. 다만 이 범위는 계절, 지역, 위성 센서마다 달라지므로 절대 수치보다 같은 지역의 '전·후 비교'가 훨씬 신뢰도가 높습니다. 가뭄 모니터링에서는 평년 같은 시기의 NDVI와 현재 값을 빼서 편차를 구하는 방식을 씁니다. 산불 대피 결정 시에도 주변 산림의 NDVI가 갑자기 낮아진 구역을 파악하면 연소 취약 지점을 사전에 추정하는 데 도움이 됩니다.

💧 NDWI로 침수 구역을 어떻게 구분하나요?

NDWI(Normalized Difference Water Index, 정규화 수분 지수)는 연구자에 따라 두 가지 공식으로 쓰입니다. 수면·침수 탐지에는 (Green - NIR) / (Green + NIR)를, 식생 내 수분 함량 추정에는 (NIR - SWIR) / (NIR + SWIR)를 주로 씁니다. SWIR은 단파적외선(Short-Wave Infrared)으로, 물 분자가 이 파장을 강하게 흡수하는 특성을 이용합니다. 침수 판독 시에는 홍수 전 영상과 홍수 후 영상의 NDWI를 각각 만든 뒤 차이가 0.1 이상 커진 화소를 침수 후보로 분류합니다. 이 기준값 0.1은 절대적인 정답이 아니므로, 실제로 침수가 확인된 지점과 지수값을 대조해 임곗값을 조정하는 과정이 필요합니다. 이것이 이 글에서 '해봐야 아는 것'의 핵심입니다. 실무에서는 행정안전부나 국토위성센터가 제공하는 침수 전·후 영상 쌍을 구해 직접 임곗값을 바꿔 가며 육안 확인 침수 지점과 얼마나 일치하는지 검증해 보는 것이 가장 좋은 훈련입니다.

🔥 NBR은 산불 피해 지도를 어떻게 그리나요?

NBR(Normalized Burn Ratio, 정규화 연소 비율)은 (NIR - SWIR2) / (NIR + SWIR2)로 계산합니다. 여기서 SWIR2는 Landsat 기준 7번 밴드처럼 더 긴 파장의 단파적외선입니다. 건강한 식생은 NIR이 높고 SWIR2가 낮아 NBR이 높게 나오고, 불탄 지역은 반대로 NIR이 낮고 SWIR2가 높아 NBR이 낮아집니다. 산불 전 NBR에서 산불 후 NBR을 뺀 값을 dNBR(differenced NBR)이라 하며, 이 값으로 피해 등급을 분류합니다. dNBR이 클수록 피해가 심한 구역으로, 미국 산림청 등에서는 이 값을 기준으로 피해 범위를 저피해·중피해·고피해로 나누는 가이드를 제공하기도 합니다. 산불 진화 이후 복구 우선 지역 선정이나 재식생 모니터링에 현업에서 직접 활용됩니다.

🗺️ 세 지수를 함께 쓰면 무엇이 보이나요?

NDVI, NDWI, NBR은 각각 다른 현상에 민감하므로, 복합 재난 상황에서는 세 지수를 겹쳐 읽는 것이 중요합니다. 예를 들어 장마철 산사태 이후에는 NDWI로 토사가 유입된 하천 범람 구역을 추적하고, NDVI로 사면의 식생 피복 훼손 여부를 확인하며, NBR로 산불이 함께 발생했는지 여부를 점검할 수 있습니다. QGIS에서 이 세 지수를 한 화면에 놓고 보려면, 각 지수를 래스터 계산기(Raster > Raster Calculator)로 계산한 뒤 레이어 패널에서 투명도를 조절해 반투명 겹치기(Blend Mode: Multiply 또는 Normal + 투명도 슬라이더)로 표현하면 됩니다. 버전에 따라 메뉴 위치나 혼합 모드 이름이 다를 수 있으므로, QGIS 공식 문서의 'Layer Styling' 항목을 함께 참고하시기 바랍니다. 재난 상황실에서 이 방식을 미리 익혀 두면 영상이 들어오는 순간 빠르게 피해 범위를 시각화할 수 있습니다.

🖥️ 화면에서 따라하기

따라하기 단계

  1. 영상 불러오기
    QGIS 실행 후 레이어 > 레이어 추가 > 래스터 레이어에서 Sentinel-2 또는 Landsat 밴드 파일(.tif)을 선택해 불러온다.
  2. 밴드 확인
    불러온 레이어에서 오른쪽 클릭 > 속성 > 밴드 탭에서 NIR·Red·Green·SWIR 밴드 번호를 메모한다.
  3. NDVI 계산
    래스터 > 래스터 계산기를 열고 수식 입력창에 (NIR밴드@레이어 - Red밴드@레이어) / (NIR밴드@레이어 + Red밴드@레이어)를 입력, 출력 파일명을 ndvi_result.tif로 지정 후 확인을 누른다.
  4. 색상 표현 설정
    생성된 NDVI 레이어 오른쪽 클릭 > 속성 > 심볼 탭에서 렌더 유형을 '단색 의사색상'으로 바꾸고 최솟값 -1, 최댓값 1을 입력, 색상 램프를 RdYlGn(적-황-녹)으로 설정한다.
  5. NDWI·NBR 반복
    같은 방법으로 NDWI((Green-NIR)/(Green+NIR))와 NBR((NIR-SWIR2)/(NIR+SWIR2))을 계산해 각각 별도 레이어로 저장한다.
  6. 임곗값 검증
    침수·산불 피해가 확인된 지점을 포인트 레이어로 만든 뒤, 각 지수 레이어에서 해당 포인트 값을 추출(래스터 > 포인트에서 래스터 값 추출)해 실제 피해 지점의 지수 범위를 직접 확인한다.

※ 프로그램 버전에 따라 메뉴 이름이 조금씩 다를 수 있습니다. 위 그림은 순서를 정리한 도식입니다.

✍️ 그대로 복사해 쓰는 프롬프트

분광 지수 계산 결과를 보고서 문장으로 정리할 때 사용

당신은 공간정보 분석 결과를 재난안전 보고서로 정리하는 전문가입니다.
아래 분석 결과를 바탕으로 재난안전 담당자가 읽을 보고서 본문 단락을 작성해 주세요.
분석 대상 재난: [산불 / 홍수 / 가뭄 중 선택]
분석 지역: [시·군·구 이름]
분석 날짜: [영상 촬영일]
사용한 지수와 결과값: [예: dNBR 평균 0.45, 고피해 면적 약 OO ha]
작성 조건:
- 지수값이 의미하는 바를 비전문가도 이해할 수 있도록 한 문장으로 먼저 설명한다.
- 피해 범위와 등급을 구체적으로 서술한다.
- 수치는 제가 입력한 값만 쓰고, 없는 수치는 절대 지어내지 않는다.
- 추가 현장 확인이 필요한 사항을 마지막 문장으로 명시한다.
- 분량은 200자 내외, 한국어 공문서 체로 작성한다.
결과를 사람이 반드시 확인해야 할 항목: 수치가 입력값과 일치하는지, 없는 지역명이나 날짜가 생성되지 않았는지 검토하세요.

※ 대괄호 부분을 상황에 맞게 바꿔서 쓰세요. 받은 답은 그대로 쓰지 말고 사실 확인을 거치세요.

🧪 직접 해보기

  • Copernicus Browser(copernicus.eu)에 접속해 관심 지역을 검색한 뒤, 레이어 선택 메뉴에서 NDVI·NDWI 항목을 골라 날짜를 바꿔 가며 계절별 변화를 눈으로 확인해 본다.
  • QGIS 래스터 계산기로 같은 지역의 홍수 전·후 영상을 구해 NDWI를 각각 계산하고, 임곗값을 0.05·0.1·0.2로 바꿔 가며 침수 화소 수가 어떻게 달라지는지 비교해 본다.
  • 국토지리정보원 국토위성센터 또는 NASA Earthdata에서 공개된 재난 전·후 영상 쌍을 내려받아 dNBR을 직접 계산하고, 언론 보도의 피해 면적과 실제로 얼마나 차이가 나는지 확인해 본다.

❓ 자주 묻는 질문

Q. NDVI 값이 음수가 나왔는데 잘못 계산한 건가요?
A. 음수는 계산 오류가 아닙니다. 수면, 구름, 눈 덮인 지역처럼 근적외선보다 적색 반사율이 높은 곳에서는 NDVI가 음수로 나옵니다. 분석 전 구름 마스크 처리를 했는지 먼저 확인해 보세요.

Q. NDWI 공식이 두 가지라고 하는데 어떤 걸 써야 하나요?
A. 침수나 수면 경계를 탐지할 때는 Green과 NIR을 쓰는 공식을, 식물체 내부 수분 스트레스를 볼 때는 NIR과 SWIR을 쓰는 공식을 씁니다. 목적에 맞는 공식을 고르고, 사용한 공식을 보고서에 명시하는 것이 좋습니다.

Q. 구름이 낀 날 영상에도 분광 지수를 쓸 수 있나요?
A. 광학 영상 기반 분광 지수는 구름에 가려진 지역의 값을 신뢰하기 어렵습니다. 구름 마스크를 먼저 적용해 해당 화소를 제외하거나, 구름을 통과하는 SAR 영상과 함께 활용하는 방식을 검토해 볼 수 있습니다.

분광 지수는 위성영상이 담고 있는 반사율 정보를 간단한 수식으로 뽑아내는 도구입니다. NDVI가 식생의 활력을, NDWI가 수분과 침수를, NBR이 산불 피해 강도를 드러낸다는 원리를 이해하면, 재난 발생 직후 위성영상 한 장에서 어떤 정보를 먼저 꺼내야 하는지 판단하는 속도가 달라집니다. 세 지수 모두 전·후 비교가 절댓값보다 훨씬 중요하다는 점, 그리고 현장 확인 없이 지수값만으로 결론을 내리는 것은 항상 위험하다는 점을 기억해 주세요. 다음 편에서는 이 지수들을 GeoAI 모델과 결합해 피해 범위를 자동으로 분류하는 방법, 즉 머신러닝 기반 변화 탐지가 어떻게 작동하는지 살펴볼 예정입니다.

GeoAI 기초 시리즈 4편 · 전체 43편


재난안전과 GeoAI 이야기를 더 보고 싶다면 아래 채널도 함께 보세요.

📌 바로가기

GeoAI 위성·드론 영상 분석, 재난대응 산업이 뜬다 | 재난안전과 GeoAI

GeoAI 위성·드론 영상 분석 기술이 재난대응 산업의 중심으로 떠오르고 있다. 누리호 5차 발사, 위성·드론 영상 분석 스타트업, ArcGIS 경사지 위험 분석 서비스까지 오늘의 관련 소식을 정리했다. 📌 3줄 요약 아크넥사는 위성·드론 영상을...