레이블이 재난안전GIS인 게시물을 표시합니다. 모든 게시물 표시
레이블이 재난안전GIS인 게시물을 표시합니다. 모든 게시물 표시

2026-09-28

산사태 위험지도는 어떻게 만드나 | 취약성 모델링 | GeoAI 기초 13편

산사태 위험지도는 어떻게 만드나 | 취약성 모델링 | GeoAI 기초 13편

🎬 1분 브리핑 영상

📌 3줄 요약

  • 경사·지질·강우 등 공간 인자를 조합해 산사태 취약성 지도를 만든다.
  • 통계 모델과 머신러닝 모델은 원리가 다르지만 목표는 같다.
  • 위험지도의 숫자는 확률이지 예언이 아니므로 해석에 주의가 필요하다.

장마철이 끝나고 뉴스에 "이 지역은 산사태 위험 1등급"이라는 자막이 뜹니다. 그 숫자는 어디서 나온 걸까요? 누군가가 산을 직접 걸어 다니며 위험도를 매긴 것은 아닙니다. 경사각, 지질 특성, 과거 강우 기록, 토지피복 정보 같은 여러 공간 데이터를 모아 모델에 넣고 계산한 결과입니다.

산사태 위험지도를 만드는 과정을 취약성 모델링이라고 합니다. 취약성(vulnerability)이란 어떤 조건에서 재난이 발생하기 쉬운 정도를 수치로 표현한 것입니다. 이 모델이 어떻게 만들어지고, 지도를 읽을 때 무엇을 조심해야 하는지 차근차근 살펴보겠습니다.

🏔️ 산사태 위험지도를 만들 때 어떤 데이터가 필요한가요?

취약성 모델링의 첫 단계는 입력 인자를 고르는 일입니다. 입력 인자란 산사태 발생과 관련이 있다고 알려진 지형·지질·기상 정보를 말합니다. 가장 기본이 되는 것은 경사각입니다. 경사가 가파를수록 중력 방향으로 토양이 미끄러지기 쉽습니다. 여기에 경사 방향(사면향), 곡률(지표면이 오목한지 볼록한지)도 함께 씁니다.

지질 정보도 중요합니다. 같은 경사라도 암석이 풍화된 정도, 점토 함량, 투수성에 따라 물이 스며드는 속도가 달라집니다. 강우 자료는 누적 강우량과 시간당 강도를 모두 고려합니다. 토지피복(숲, 나지, 논밭 등)은 뿌리가 토양을 붙잡는 효과를 반영합니다. 이 밖에 도로 절개지나 계곡 거리 같은 인위적 요소도 포함할 수 있습니다. 실무에서는 각 기관이 보유한 수치 표고 모델(DEM)과 지질도, 기상 관측 데이터를 GIS에서 같은 격자 크기로 정렬하는 작업부터 시작합니다.

📊 통계 모델로 취약성을 계산하면 어떤 원리인가요?

통계 기반 모델의 대표적인 방식은 로지스틱 회귀(logistic regression)입니다. 회귀라는 이름이 낯설어도 개념은 단순합니다. 과거에 산사태가 났던 지점과 나지 않은 지점을 비교해서, 어떤 인자 조합이 산사태와 얼마나 함께 나타났는지 수치로 정리하는 것입니다. 결과는 0과 1 사이의 값, 즉 발생 가능성으로 표현됩니다.

비슷한 원리의 도구로 빈도비(frequency ratio) 방법이 있습니다. 전체 지역에서 특정 경사 범위가 차지하는 면적 대비 그 범위에서 실제 산사태가 일어난 비율을 계산해 가중치를 매기는 방식입니다. 계산이 투명해서 결과를 설명하기 쉽다는 장점이 있습니다. 재난안전 담당자가 지방자치단체에 위험 등급을 설명할 때, 어떤 인자가 얼마나 기여했는지 보여 줄 수 있어 실무에서도 많이 활용됩니다.

🤖 머신러닝 모델은 통계 모델과 무엇이 다른가요?

머신러닝 모델은 인자 간의 비선형 관계를 스스로 찾아냅니다. 예를 들어 랜덤 포레스트(random forest)는 수백 개의 결정 트리를 만들고 투표로 결과를 냅니다. 결정 트리는 "경사 30도 이상이면서 점토 함량이 높으면 위험"처럼 조건을 나무 가지처럼 분기하는 구조입니다. 여러 트리의 의견을 합치니 한 트리가 과적합되는 문제를 줄일 수 있습니다.

모델을 직접 써보고 싶다면 파이썬의 scikit-learn 라이브러리로 시작할 수 있습니다.

from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_auc_score

X_train, X_test, y_train, y_test = train_test_split(
    features, labels, test_size=0.2, random_state=42
)
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
print("AUC:", roc_auc_score(y_test, model.predict_proba(X_test)[:,1]))

AUC(수신자 조작 특성 곡선 아래 면적)는 모델이 산사태 발생 지점과 미발생 지점을 얼마나 잘 구분하는지 보여주는 지표입니다. 1에 가까울수록 구분 능력이 높습니다. 실무 적용 전에 검증 데이터로 반드시 이 값을 확인해야 합니다.

🗺️ 완성된 위험지도, 어떻게 읽어야 하나요?

취약성 지도는 격자(픽셀) 또는 소유역 단위로 색깔을 달리해 등급을 표시합니다. '매우 높음'으로 표시된 구역은 과거 발생 패턴과 입력 인자를 종합했을 때 상대적으로 위험도가 높다는 뜻입니다. 반드시 기억해야 할 점은 이 값이 확률이지 예언이 아니라는 것입니다. 위험도가 낮은 구역에서도 예상치 못한 강우나 지형 변화로 산사태가 발생할 수 있고, 높은 구역이라고 해서 반드시 이번 장마에 무너진다는 뜻이 아닙니다.

해봐야 아는 것도 있습니다. 모델이 출력한 지도를 현장 사진이나 최근 항공영상과 겹쳐보면, 실제 산사태 흔적이 고위험 구역과 얼마나 일치하는지 직접 눈으로 확인할 수 있습니다. QGIS에서 래스터 레이어를 불러온 뒤 레이어 패널에서 오른쪽 클릭 > 속성 > 심볼로지 탭에서 단계 구분 색상을 설정하고, 위성영상 레이어를 아래에 깔아 투명도를 조절해 보면 지도의 신뢰성을 직관적으로 점검할 수 있습니다.

⚠️ 위험지도를 실무에 쓸 때 어떤 한계를 알아야 하나요?

모델은 학습 데이터 품질에 크게 좌우됩니다. 과거 산사태 목록이 불완전하거나 특정 지역에만 편중되어 있으면, 모델도 그 편향을 그대로 이어받습니다. 또한 입력 인자의 공간 해상도가 낮으면(예: 경사 데이터가 30m 격자일 때) 좁은 계곡이나 절개지처럼 세밀한 위험 구역을 놓칠 수 있습니다.

모델 종류마다 결과가 다르게 나오는 것도 흔한 일입니다. 같은 지역을 로지스틱 회귀와 랜덤 포레스트로 각각 분석하면 고위험 구역의 위치와 면적이 달라질 수 있습니다. 따라서 단일 모델의 결과를 절대적으로 믿기보다는 여러 모델의 결과를 비교하거나 앙상블(여러 모델의 결과를 합산)하는 방법을 씁니다. 실무에서는 위험지도를 만든 기관, 사용한 데이터의 기준 연도, 모델 검증 지표를 메타데이터로 함께 보관해야 다음 담당자가 지도를 올바르게 해석할 수 있습니다.

🖥️ 화면에서 따라하기

따라하기 단계

  1. DEM 내려받기
    국토지리정보원 공개 DEM 포털에서 연구 대상 지역의 수치 표고 모델 파일을 내려받는다.
  2. QGIS 불러오기
    QGIS 상단 메뉴 레이어 > 레이어 추가 > 래스터 레이어에서 내려받은 DEM 파일을 선택하고 추가를 누른다.
  3. 경사 계산
    상단 메뉴 래스터 > 분석 > 경사(Slope)를 선택하고 입력 레이어에 DEM을 지정한 뒤 실행을 누른다 (메뉴 위치는 QGIS 버전에 따라 다를 수 있으며, 못 찾으면 상단 검색창에 'Slope'를 입력한다).
  4. 심볼로지 설정
    경사 레이어에서 오른쪽 클릭 > 속성 > 심볼로지 탭에서 단일 밴드 의사 색상을 선택하고 등급 수를 5로 지정한 뒤 분류를 누른다.
  5. 위성영상 겹치기
    XYZ Tiles에서 Google Satellite 레이어를 레이어 패널 아래쪽으로 드래그해 배치하고, 경사 레이어의 투명도를 50%로 조절해 두 레이어를 함께 본다.
  6. 결과 점검
    실제 산사태 발생 이력 지점(시도 재난안전 부서 제공 데이터)을 벡터 레이어로 불러와 고경사 구역과 일치 여부를 눈으로 확인한다.

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

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

산사태 취약성 분석 결과를 주민 설명 자료나 내부 보고서 형식으로 정리할 때 사용

당신은 재난안전 분야 보고서 작성을 돕는 전문 보조자입니다.
아래 조건에 맞게 산사태 취약성 분석 결과 요약문을 작성해 주세요.

- 대상 지역: [시·군·구명]
- 분석에 사용한 주요 인자: [경사, 지질, 강우 등 실제 사용 인자 목록]
- 모델 종류: [로지스틱 회귀 / 랜덤 포레스트 / 기타]
- 고위험 구역 비율: [전체 면적 대비 %]
- 모델 검증 지표(AUC 등): [값]

작성 조건:
1. 주민이나 비전문가도 이해할 수 있도록 전문용어는 괄호 안에 짧게 설명한다.
2. 위험지도는 확률적 결과이며 예언이 아님을 명시하는 문장을 반드시 포함한다.
3. 결과를 과장하거나 특정 지점이 반드시 붕괴된다는 표현은 쓰지 않는다.
4. 분량은 A4 반 페이지(약 400자) 이내로 한다.
5. 작성 후 사람이 확인해야 할 항목을 별도로 3가지 나열한다.

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

🧪 직접 해보기

  • 국토지리정보원 브이월드(Vworld) 지도 서비스에서 '산사태 위험지도' 레이어를 켜고, 내가 사는 지역의 등급을 직접 확인해 본다.
  • QGIS에서 공개 DEM 데이터를 내려받아 경사 분석을 실행하고, 결과 색상이 지형과 눈으로 봤을 때 일치하는지 위성영상과 겹쳐 비교해 본다.
  • 같은 지역에 대해 로지스틱 회귀와 랜덤 포레스트를 각각 돌려 결과 지도가 어떻게 달라지는지 비교하며 모델 선택의 영향을 직접 느껴본다.

❓ 자주 묻는 질문

Q. 산사태 위험지도에서 '1등급'이 나오면 무조건 위험한 건가요?
A. 1등급은 동일한 조건의 지역 중 상대적으로 취약성이 높다는 뜻이지, 반드시 산사태가 발생한다는 예언이 아닙니다. 등급은 모델이 사용한 데이터와 기준에 따라 달라질 수 있으므로, 지도를 만든 기관의 메타데이터(사용 데이터, 기준 연도, 검증 지표)를 함께 확인하는 것이 중요합니다.

Q. 머신러닝 모델이 통계 모델보다 항상 더 정확한가요?
A. 어떤 모델이 더 정확한지는 데이터 품질, 지역 특성, 학습 샘플 수에 따라 달라집니다. 머신러닝 모델은 복잡한 패턴을 잘 잡지만 결과를 설명하기 어렵고, 통계 모델은 해석이 쉽지만 비선형 관계를 놓칠 수 있습니다. 두 접근법의 장단점을 이해하고 목적에 맞게 선택하는 것이 바람직합니다.

Q. 강우 데이터 없이 경사와 지질 정보만으로도 위험지도를 만들 수 있나요?
A. 가능은 하지만 정확도가 떨어질 수 있습니다. 산사태는 강우가 방아쇠 역할을 하는 경우가 많아, 강우 인자를 제외하면 같은 지형에서도 발생 시점을 반영하지 못합니다. 보유한 데이터 종류에 따라 인자를 조합하되, 모델 검증 지표로 결과의 신뢰성을 반드시 점검해야 합니다.

산사태 위험지도는 수십 년의 지형·지질 정보와 기상 기록을 수치로 압축한 결과물입니다. 그 지도를 보는 사람이 확률과 예언의 차이를 이해하고 있어야 올바른 대피 계획과 예산 결정으로 이어질 수 있습니다. 모델이 틀릴 수 있다는 것을 알면서도 최선의 판단을 내리는 것, 그것이 재난안전 실무의 핵심입니다. 다음 편에서는 이렇게 만들어진 위험지도를 대피로 계획이나 주민 대피 의사결정에 어떻게 연결하는지, 공간 네트워크 분석의 기초를 함께 살펴보겠습니다.

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


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

📌 바로가기

2026-09-24

공간 AI의 학습 데이터는 어떻게 만드나 | 라벨링과 품질 | GeoAI 기초 9편

📌 3줄 요약

  • 위성·드론 영상 라벨링에는 점·폴리곤·마스크 세 방식이 있고 목적에 따라 선택한다.
  • 클래스 불균형과 특정 지역 편향은 모델 성능을 조용히 무너뜨리는 주요 원인이다.
  • 좋은 학습 데이터는 양보다 일관성과 다양성, 그리고 명확한 라벨 기준에서 나온다.

홍수 피해 건물을 자동으로 탐지하는 AI 모델을 만들었는데, 실제 재난 현장에서 돌려보니 엉뚱한 곳을 피해 건물로 잡아내거나 명백한 침수 지역을 그냥 지나치는 일이 생깁니다. 알고리즘 문제일까요? 꼭 그렇지는 않습니다. 모델을 훈련할 때 쓴 데이터 자체에 문제가 있었을 가능성이 높습니다.

공간 AI 모델은 사람이 직접 정답을 표시해 준 영상, 즉 라벨링된 데이터를 보고 패턴을 익힙니다. 라벨이 부정확하거나, 특정 상황만 잔뜩 포함되어 있거나, 한 지역 데이터만 쓰였다면 모델은 그 편향을 그대로 배웁니다. 이번 글에서는 위성·드론 영상에 라벨을 붙이는 방법, 데이터가 가질 수 있는 구조적 문제, 그리고 실무에서 쓸 만한 데이터셋이 갖춰야 할 조건을 하나씩 짚어 보겠습니다.

🗺️ 라벨링 방식은 왜 세 가지나 되나요?

라벨링이란 AI 모델이 '무엇이 무엇인지' 배울 수 있도록 영상 위에 정답 표시를 남기는 작업입니다. 위성·드론 영상에서는 크게 점(Point), 폴리곤(Polygon), 픽셀 마스크(Pixel Mask) 세 가지 방식을 씁니다.

점 라벨링은 건물 중심이나 나무 위치처럼 '이 근처에 무언가 있다'는 위치 정보만 기록합니다. 빠르게 작업할 수 있지만 크기나 경계는 알 수 없습니다. 폴리곤 라벨링은 건물 외곽선을 직접 따라 그려 면적과 형태 정보를 남깁니다. 픽셀 마스크(시맨틱 세그멘테이션용 라벨로, 영상의 픽셀 하나하나에 클래스 번호를 부여하는 방식)는 가장 정밀하지만 작업 시간도 가장 많이 걸립니다. 산사태 피해 범위나 홍수 침수 면적처럼 경계가 불규칙한 대상은 픽셀 마스크로 라벨링해야 모델이 실제 형태를 제대로 학습합니다.

🏗️ 폴리곤을 그릴 때 어디까지 따라야 올바른 라벨인가요?

라벨링 도구(QGIS, CVAT, Label Studio 등)를 열면 영상 위에 직접 폴리곤을 그릴 수 있습니다. 문제는 '얼마나 꼼꼼하게 따야 하는가'입니다. 건물 라벨이라면 처마 끝까지 포함할지, 그림자를 제외할지처럼 세부 기준이 없으면 작업자마다 결과가 달라집니다. 이것이 바로 '해봐야 아는 것'입니다. 같은 영상을 두 사람에게 라벨링시킨 뒤 두 결과물을 겹쳐 보면 일치율(IoU, Intersection over Union — 두 영역이 겹치는 넓이를 합친 넓이로 나눈 값)을 수치로 확인할 수 있습니다. IoU가 0.7에 못 미친다면 라벨 기준 문서가 더 구체적이어야 한다는 신호입니다. 재난 대응에서는 같은 건물을 '피해'로 볼지 '심각 피해'로 볼지 기준이 흔들리면 모델이 두 클래스를 구분하지 못하게 됩니다.

⚖️ 클래스 불균형이 모델을 어떻게 망가뜨리나요?

재난 영상에는 피해를 입은 건물보다 정상 건물이 압도적으로 많습니다. 예를 들어 피해 건물이 전체의 5%뿐이라면, 모델이 모든 건물을 '정상'으로 분류해도 정확도는 95%가 나옵니다. 숫자만 보면 훌륭해 보이지만 실제로는 피해 건물을 하나도 탐지하지 못한 것입니다.

이를 클래스 불균형 문제라고 합니다. 해결 방법은 여러 가지입니다. 소수 클래스 샘플을 인위적으로 늘리는 오버샘플링, 손실 함수에 가중치를 달리 주는 방식(Focal Loss 등), 또는 피해 사례를 더 많이 수집하는 원천적 접근이 있습니다. 홍수·산불 피해 탐지 모델을 만들 때 재현율(Recall — 실제 피해 중 모델이 맞춘 비율)을 정밀도(Precision)만큼 반드시 점검해야 하는 이유가 여기에 있습니다.

🌏 지역 편향이란 무엇이고 왜 생기나요?

학습 데이터가 특정 나라나 기후대의 영상에만 쏠려 있으면 모델은 그 지역의 시각적 특성에 최적화됩니다. 예를 들어 유럽 도시의 건물 영상으로만 학습한 모델은 한국의 붉은 지붕 단독주택이나 동남아시아의 판자촌을 제대로 분류하지 못할 수 있습니다. 이것이 지역 편향입니다.

계절과 식생도 같은 문제를 만듭니다. 여름 녹음이 우거진 영상으로만 학습했다면, 겨울 낙엽 상태의 같은 지역에서 모델 성능이 크게 떨어집니다. 국내 재난 대응 모델을 만들 때 해외 공개 데이터셋을 그대로 쓰면 안 되는 핵심 이유가 여기 있습니다. 국내 다양한 지형과 계절을 반영한 데이터를 별도로 수집하거나 파인튜닝(기존 모델을 새 데이터로 추가 학습하는 과정)을 거쳐야 합니다.

✅ 좋은 학습 데이터셋은 어떤 조건을 갖춰야 하나요?

좋은 데이터셋은 세 가지 조건을 충족합니다. 첫째, 라벨 기준이 문서화되어 있어야 합니다. '침수 건물'의 정의, 라벨 경계 처리 방법, 애매한 케이스 판단 예시가 기록으로 남아 있어야 다른 사람도 일관되게 작업할 수 있습니다. 둘째, 클래스와 지역·계절이 고루 분포해야 합니다. 숫자만 많은 것은 의미가 없고, 모델이 마주칠 실제 환경을 다양하게 포함해야 합니다. 셋째, 검수 이력이 있어야 합니다. 라벨링 담당자 외에 검수자가 따로 있고, 수정 내역이 버전으로 관리되면 신뢰도가 높아집니다. 재난 분야에서는 현장 전문가(소방, 토목, 기상 등)와 라벨러가 협력해 기준을 잡는 것이 데이터 품질을 높이는 가장 현실적인 방법입니다.

🖥️ 화면에서 따라하기

  1. QGIS 설치 확인
    QGIS 공식 사이트(qgis.org)에서 버전에 맞는 설치 파일을 받아 설치한다. 메뉴 이름은 버전마다 다를 수 있으므로 공식 문서를 함께 열어 둔다.
  2. 영상 불러오기
    레이어 > 레이어 추가 > 래스터 레이어 를 클릭해 드론·위성 영상 파일(GeoTIFF 등)을 선택하고 추가 를 누른다.
  3. 라벨 레이어 생성
    레이어 > 레이어 생성 > 새 GeoPackage 레이어 에서 도형 유형을 폴리곤 으로 선택, 클래스명 필드(텍스트)를 추가하고 확인 을 누른다.
  4. 폴리곤 그리기
    편집 > 편집 모드 켜기 후 디지타이징 도구모음에서 폴리곤 피처 추가 를 클릭, 건물 외곽을 클릭해 따라 그린 뒤 오른쪽 클릭 > 완료 로 저장한다.
  5. 라벨 일치율 확인
    두 사람이 동일 영역을 각각 라벨링한 뒤, 벡터 > 지오프로세싱 도구 > 교차(Intersection) 로 겹치는 면적을 계산해 IoU를 수동으로 확인한다.
  6. 저장 및 내보내기
    레이어 오른쪽 클릭 > 내보내기 > 피처를 다른 이름으로 저장 에서 형식을 GeoJSON 또는 Shapefile 로 선택하고 내보내기 를 완료한다.

※ 프로그램 버전에 따라 메뉴 이름이 조금씩 다를 수 있습니다.

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

위성·드론 영상 라벨링 기준 문서 초안을 빠르게 만들 때

당신은 공간정보 데이터 품질 전문가입니다.
아래 조건에 맞는 위성·드론 영상 라벨링 기준 문서 초안을 작성해 주세요.

[대상 재난 유형]: (예: 홍수 침수 건물 탐지)
[영상 해상도 및 종류]: (예: 해상도 0.5m 광학 위성영상)
[라벨링 방식]: (예: 폴리곤 라벨링)
[클래스 목록]: (예: 정상 건물, 부분 침수, 완전 침수, 불명확)

문서에는 다음 항목을 반드시 포함하세요.
1. 각 클래스의 정의와 판별 기준(시각적 특징 포함)
2. 경계가 애매할 때의 처리 원칙(예: 건물 처마, 그림자, 식생 겹침)
3. 작업자 간 일치율(IoU) 목표 수치와 검수 절차
4. 자주 발생하는 오류 유형 3가지와 예방 지침

확인되지 않은 수치나 특정 도구의 현재 기능을 단정하지 마세요.
결과는 실무자가 바로 편집할 수 있도록 표 형식과 번호 목록을 섞어 작성하세요.
생성된 문서는 현장 전문가와 함께 반드시 검토하고 수정해야 합니다.

데이터셋의 클래스 불균형 현황을 파악하고 대응 방안을 정리할 때

당신은 머신러닝 데이터 품질을 검토하는 전문가입니다.
아래 데이터셋 정보를 바탕으로 클래스 불균형 문제와 대응 방안을 분석해 주세요.

[클래스별 샘플 수]: (예: 정상 건물 8,000개 / 피해 건물 400개)
[학습 목적]: (예: 산사태 피해 건물 탐지)
[사용 예정 모델 유형]: (예: 이미지 세그멘테이션 모델)

분석에는 다음을 포함하세요.
1. 불균형 비율 계산과 위험 수준 판단
2. 권장 대응 방법 2~3가지와 각각의 장단점
3. 모델 평가 시 정밀도(Precision), 재현율(Recall), F1 중 우선해야 할 지표와 이유
4. 이 데이터셋으로 학습할 때 주의해야 할 점

특정 라이브러리 버전이나 현재 성능을 단정하는 표현은 쓰지 마세요.
결과는 비전공자 실무자도 이해할 수 있도록 쉬운 말로 설명하고, 생성 결과는 반드시 담당자가 검토 후 적용하세요.

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

🧪 직접 해보기

  • QGIS에 공개 드론 영상(국토지리정보원 등에서 제공하는 공개 정사영상)을 불러온 뒤, 건물 하나를 직접 폴리곤으로 따라 그려 라벨링이 얼마나 주관적인지 체감해 본다.
  • 같은 영상 구역을 동료나 지인과 각각 독립적으로 라벨링한 뒤 두 결과물을 QGIS에서 겹쳐 보고, 어느 부분에서 경계가 다르게 나왔는지 확인해 본다.
  • 공개된 위성영상 라벨링 데이터셋(예: 재난 대응 관련 국제 공모전에서 공개된 데이터셋)을 내려받아 클래스별 샘플 수를 세어 보고, 불균형 여부를 직접 판단해 본다.

❓ 자주 묻는 질문

Q. 라벨링 작업을 AI가 자동으로 해줄 수는 없나요?
A. 반자동 라벨링 도구를 활용하면 초안을 빠르게 만들 수 있습니다. 하지만 재난 영상처럼 정확도가 중요한 경우, 자동 생성된 라벨을 사람이 반드시 검수하고 수정해야 합니다. 자동화는 작업 속도를 높이는 보조 수단이지, 품질을 보장하지는 않습니다.

Q. 라벨링 작업자는 GIS 전문가여야 하나요?
A. 반드시 그렇지는 않습니다. 도구 사용법은 비교적 짧은 교육으로 익힐 수 있지만, 어떤 대상을 어떤 기준으로 분류할지 판단하는 데는 재난 분야 현장 지식이 필요합니다. 라벨링 기준 문서를 만들 때 현장 전문가가 참여하는 것이 중요한 이유입니다.

Q. 오픈소스 라벨링 도구로는 무엇이 있나요?
A. CVAT, Label Studio, QGIS의 디지타이징 기능 등이 널리 쓰입니다. 각 도구의 기능과 지원 형식은 버전마다 다르고 지속적으로 변하므로, 사용 전에 공식 문서에서 최신 정보를 확인하는 것이 좋습니다.

공간 AI의 성능은 결국 학습 데이터의 품질에서 시작됩니다. 아무리 정교한 모델 구조를 갖춰도, 라벨이 제각각이거나 특정 지역·상황에 편향된 데이터로 학습했다면 실제 재난 현장에서 믿고 쓰기 어렵습니다. 라벨링 기준 문서를 만들고, 두 작업자의 결과를 비교하고, 클래스별 샘플 수를 세어 보는 일이 번거로워 보여도 이 과정이 모델의 신뢰도를 결정합니다. 데이터가 마련되었다면 이제 실제로 모델을 어떻게 학습시키는지, 그 구체적인 흐름이 궁금해지지 않으시나요?

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


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

📌 바로가기

2026-09-23

좌표계(CRS)가 헷갈릴 때 | EPSG:4326과 5186 | GeoAI 기초 6편

좌표계(CRS)가 헷갈릴 때 | EPSG:4326과 5186 | GeoAI 기초 6편

🎬 1분 브리핑 영상

📌 3줄 요약

  • 지리좌표계는 경·위도, 투영좌표계는 미터 단위로 거리를 잰다.
  • 한국에서 EPSG:4326과 EPSG:5186은 목적에 따라 구분해 써야 한다.
  • 좌표계가 어긋나면 레이어가 엉뚱한 곳에 놓이고 면적 계산이 틀어진다.

QGIS에 홍수 침수 범위 레이어를 불러왔는데, 분명히 서울 데이터인데 지도 위에서 아프리카 근처에 점이 찍혀 있는 경험을 해보신 적 있으신가요? 혹은 두 레이어를 겹쳤더니 딱 맞아야 할 도로와 건물이 수십 미터씩 어긋나 있는 경우도 있습니다. 이런 증상의 가장 흔한 원인이 바로 좌표계, 즉 CRS(Coordinate Reference System, 지구 위 위치를 숫자로 나타내는 기준 체계)가 서로 다르거나 잘못 지정되어 있기 때문입니다.

GIS를 처음 배울 때 좌표계는 그냥 넘어가기 쉬운 개념이지만, 재난안전 업무처럼 공간 정확도가 생명과 직결되는 분야에서는 좌표계 오류 하나가 대피소 위치를 엉뚱한 행정구역에 배치하거나 침수 면적을 잘못 계산하는 결과로 이어질 수 있습니다. 이번 글에서는 지리좌표계와 투영좌표계의 차이, 한국에서 자주 쓰는 EPSG 코드, 그리고 좌표계가 어긋났을 때 어떤 순서로 해결하는지를 차근차근 짚어 보겠습니다.

🌐 지리좌표계와 투영좌표계는 어떻게 다른가요?

지리좌표계(Geographic CRS)는 경도와 위도처럼 각도 단위로 위치를 표현합니다. 지구를 둥근 타원체로 보고 "북쪽으로 몇 도, 동쪽으로 몇 도"라고 말하는 방식입니다. 대표적인 예가 WGS84인데, 이것을 EPSG 코드로 표현하면 EPSG:4326입니다. GPS 기기가 찍어주는 좌표, 스마트폰 지도 앱의 위치 공유, 국제 데이터 교환에 가장 흔히 쓰입니다.

투영좌표계(Projected CRS)는 둥근 지구를 평면 종이 위에 펼칠 때 쓰는 기준입니다. 종이에 펼치면서 어쩔 수 없이 면적이나 모양에 왜곡이 생기는데, 투영법의 종류에 따라 거리 왜곡을 줄이거나 면적 왜곡을 줄이는 방향을 선택합니다. 단위는 미터 또는 피트가 됩니다. 재난안전 업무에서 침수 면적이 몇 제곱킬로미터인지, 대피 경로가 몇 미터인지 계산하려면 반드시 투영좌표계 위에서 작업해야 합니다. 각도 단위인 경위도로는 거리와 면적을 직접 계산할 수 없기 때문입니다.

🗺️ 한국에서 EPSG:4326과 EPSG:5186은 각각 언제 쓰나요?

EPSG:4326은 앞서 말한 WGS84 지리좌표계입니다. 웹 지도, API, GPS 데이터, 국제 공유 데이터에서 자주 만납니다. 좌표값이 경도 126~130, 위도 34~38 범위에 있다면 이 체계일 가능성이 높습니다.

EPSG:5186은 국토지리정보원이 고시한 한국 중부원점 TM(Transverse Mercator, 횡단 메르카토르) 투영좌표계입니다. 국내 공간 분석에서 가장 흔히 권장되는 투영좌표계 중 하나로, 단위는 미터입니다. 국가공간정보포털이나 행정안전부 재난정보 레이어처럼 국내 공공 데이터에서 자주 볼 수 있습니다. 좌표값이 200,000~600,000 범위라면 투영좌표계를 의심해 볼 수 있습니다.

추가로 EPSG:5179(Korea 2000 / Unified CS)도 자주 등장합니다. 전국 단위 지도를 하나의 투영계로 커버하고 싶을 때 씁니다. EPSG:3857은 웹 메르카토르로, OpenStreetMap이나 카카오맵처럼 웹 타일 지도에 주로 쓰이지만 고위도로 갈수록 면적 왜곡이 크기 때문에 정확한 면적·거리 계산에는 적합하지 않습니다. 산불 피해 범위나 홍수 침수 구역의 면적을 공식 보고서에 올릴 때는 EPSG:5186 또는 EPSG:5179 위에서 계산하는 것이 안전합니다.

🔍 좌표계가 어긋났을 때 어떤 증상이 나타나나요?

가장 흔한 증상은 레이어가 엉뚱한 위치에 놓이는 것입니다. 대표적인 경우가 좌표값은 있는데 CRS 정보가 없거나 잘못 할당된 경우입니다. 예를 들어 실제로는 EPSG:5186 미터 좌표인 데이터를 QGIS가 EPSG:4326(경위도)으로 읽으면, 200,000을 경도 200도로 해석해서 지도 밖으로 날아가 버립니다.

두 번째 증상은 레이어는 비슷한 위치에 보이는데 수십 미터에서 수백 미터씩 어긋나는 경우입니다. 이때는 QGIS가 프로젝트 CRS에 맞춰 실시간으로 좌표를 변환하는 '온더플라이(On the Fly) 투영' 기능이 작동하고 있을 가능성이 큽니다. 두 레이어의 CRS가 다르면 겹쳐 보이더라도 실제 지오메트리 데이터는 서로 다른 기준점을 참조하므로 공간 연산(교차, 버퍼, 면적 계산 등) 결과가 틀어집니다. 산사태 위험 구역과 주민 거주지를 겹쳐 취약 인구를 추출하는 분석을 할 때 이 오류가 숨어 있으면 결과를 신뢰할 수 없습니다.

🛠️ 좌표계 오류는 어떤 순서로 해결하면 되나요?

해봐야 아는 것이기도 한데, 먼저 레이어의 현재 CRS 정보를 직접 눈으로 확인하는 것이 첫 번째 단계입니다. QGIS에서는 레이어 패널에서 해당 레이어를 오른쪽 클릭 > 속성(Properties) > 정보(Information) 탭을 열면 "CRS" 항목에 현재 지정된 좌표계 이름과 EPSG 코드가 표시됩니다. 여기서 'Unknown CRS' 또는 전혀 다른 EPSG 코드가 보이면 문제의 원인이 확인된 것입니다.

두 번째는 '정의 설정'과 '재투영'을 구분하는 일입니다. 데이터 파일에 CRS 정보 자체가 없을 때는 레이어 오른쪽 클릭 > 레이어 CRS 설정(Set Layer CRS)으로 올바른 CRS를 할당합니다. 반면 CRS는 이미 맞는데 다른 좌표계로 변환이 필요할 때는 벡터 데이터라면 벡터(Vector) > 데이터 관리 툴(Data Management Tools) > 레이어 재투영(Reproject Layer)을 사용합니다. 래스터라면 래스터(Raster) > 투영(Projections) > 워프(변환)(Warp (Reproject)) 메뉴를 이용합니다. 메뉴 이름은 QGIS 버전에 따라 조금씩 다를 수 있으므로, 못 찾을 때는 상단 처리(Processing) > 툴박스(Toolbox)를 열고 "reproject"로 검색하면 버전과 관계없이 찾을 수 있습니다.

세 번째는 재투영 후 결과를 반드시 확인하는 것입니다. 위성영상이나 행정경계 레이어와 겹쳐 놓고 경계선이 맞는지 눈으로 검토한 뒤, 면적 계산이 필요하다면 필드 계산기($area 함수)로 이상한 값이 나오지 않는지 체크합니다. 대피소 위치 데이터라면 한두 곳을 골라 실제 주소와 좌표를 대조해 보는 것이 가장 확실합니다.

📋 프로젝트를 시작할 때 CRS를 어떻게 통일하면 되나요?

여러 출처의 데이터를 함께 쓰는 프로젝트라면 시작 전에 기준 CRS를 하나로 정해 두는 것이 가장 효율적입니다. 국내 공간 분석을 목적으로 한다면 EPSG:5186이나 EPSG:5179 중 기관에서 자주 쓰는 쪽으로 맞추고, 모든 레이어를 해당 CRS로 재투영한 뒤 저장합니다. QGIS에서 프로젝트 CRS는 프로젝트(Project) > 속성(Properties) > CRS 탭에서 설정할 수 있습니다.

데이터를 받을 때마다 파일명 또는 메타데이터에 EPSG 코드를 기록해 두는 습관도 중요합니다. 특히 공공 포털에서 내려받은 shp 파일은 .prj 파일이 함께 있는지 확인하세요. .prj 파일이 없으면 QGIS가 CRS를 자동으로 인식하지 못해 Unknown CRS로 처리합니다. 홍수 대피 경로를 분석하거나 산불 피해 구역 면적을 산정하는 업무처럼 결과의 정확도가 중요한 경우, 데이터 수신 단계에서 CRS를 확인하는 절차를 작업 체크리스트에 포함시켜 두면 나중에 발생할 수 있는 오류를 미리 막을 수 있습니다.

🖥️ 화면에서 따라하기

따라하기 단계

  1. CRS 확인
    레이어 패널에서 레이어 오른쪽 클릭 > 속성(Properties) > 정보(Information) 탭 > CRS 항목 확인
  2. CRS 할당
    CRS가 Unknown일 때: 레이어 오른쪽 클릭 > 레이어 CRS 설정(Set Layer CRS) > EPSG 코드 입력 후 확인
  3. 벡터 재투영
    벡터(Vector) > 데이터 관리 툴 > 레이어 재투영(Reproject Layer) > 목표 CRS에 EPSG:5186 입력 후 실행
  4. 래스터 재투영
    래스터(Raster) > 투영(Projections) > 워프(Warp) > 목표 CRS에 EPSG:5186 입력 후 실행
  5. 결과 시각 검토
    재투영된 레이어를 기준 레이어(행정경계 등)와 겹쳐 경계 일치 여부 눈으로 확인
  6. 면적 계산 확인
    레이어 오른쪽 클릭 > 속성 테이블 열기 > 필드 계산기 > $area 입력해 이상값 여부 점검

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

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

좌표계 오류 원인과 해결 절차를 단계별로 정리해 달라고 요청할 때

너는 GIS 기술 지원 전문가야. 나는 공간정보를 처음 배우는 실무자야.
아래 상황을 읽고, 좌표계 오류의 원인과 해결 순서를 단계별로 설명해 줘.

상황: [데이터 출처(예: 국가공간정보포털 shp 파일)], [사용 도구(예: QGIS 최신 버전)],
[증상(예: 레이어가 지도 밖에 표시됨 / 두 레이어가 수백 미터 어긋남)]

답변 형식:
1. 추정 원인 (2줄 이내)
2. 확인 절차 (번호 목록, 각 줄 1단계)
3. 해결 방법 (재투영 vs CRS 할당 중 무엇인지 구분해서)
4. 재발 방지를 위한 체크리스트 (3항목 이내)

추측이 필요한 경우 "추정:"이라고 표시하고, 확실하지 않은 수치나 메뉴 이름은 단정하지 마.
결과물을 사람이 반드시 검토해야 하는 항목을 마지막에 별도로 적어 줘.

팀원에게 CRS 통일 기준을 안내하는 내부 가이드 초안을 만들 때

너는 공공기관 GIS 업무 담당자를 돕는 기술 문서 작성 보조자야.
아래 조건에 맞는 내부 가이드 초안을 작성해 줘.

기관: [기관명]
주요 업무: [재난안전 공간분석 / 도시계획 등]
사용 도구: [QGIS / ArcGIS Pro 등]
기준 CRS: [EPSG:5186 또는 EPSG:5179]

포함할 내용:
- 데이터 수신 시 CRS 확인 방법 (1~2줄)
- 재투영이 필요한 경우와 아닌 경우 구분
- 파일 저장 시 명명 규칙 예시 (CRS 코드 포함)
- 담당자가 반드시 육안으로 검토해야 하는 항목

전문용어는 처음 나올 때 괄호로 풀어 써. 위협적이거나 단정적인 표현은 쓰지 마.

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

🧪 직접 해보기

  • QGIS에 가지고 있는 shp 파일을 불러온 뒤 레이어 오른쪽 클릭 > 속성 > 정보 탭에서 CRS 항목을 직접 읽어보고, EPSG 코드가 무엇인지 확인해 본다.
  • epsg.io 사이트에서 5186, 4326, 5179, 3857을 각각 검색해 지도 미리보기와 단위(degree/metre)가 어떻게 다른지 비교해 본다.
  • QGIS에서 같은 지역의 shp 파일을 EPSG:4326과 EPSG:5186으로 각각 저장한 뒤 필드 계산기에서 $area 값을 비교해, 경위도 좌표 위에서 계산한 면적이 얼마나 틀리는지 직접 확인해 본다.

❓ 자주 묻는 질문

Q. QGIS에서 레이어를 불러왔는데 지도 위에 아무것도 안 보여요. 좌표계 문제인가요?
A. 가능성이 높습니다. 레이어 패널에서 해당 레이어 오른쪽 클릭 > 레이어로 확대(Zoom to Layer)를 눌러서 레이어가 실제로 어디에 놓여 있는지 먼저 확인하세요. 지도 범위 밖 엉뚱한 곳에 있다면 CRS가 잘못 지정되었거나 할당되지 않은 경우입니다.

Q. CRS를 바꾸면 원본 데이터가 손상되나요?
A. 레이어 CRS 설정(Set Layer CRS)은 파일 자체의 좌표값을 바꾸지 않고 해석 기준만 바꿉니다. 반면 재투영(Reproject Layer)은 좌표값 자체를 새 CRS 기준으로 변환해서 새 파일로 저장합니다. 원본을 보존하려면 재투영 전에 원본 파일을 별도로 백업해 두는 것이 안전합니다.

Q. 웹 지도(카카오맵, 네이버 지도)에서 좌표를 복사했는데 QGIS에 붙이면 왜 안 맞나요?
A. 웹 지도에서 제공하는 좌표는 대부분 EPSG:4326(경위도) 기준입니다. QGIS 프로젝트가 EPSG:5186 같은 투영좌표계로 설정되어 있다면, 좌표 입력 시 반드시 해당 좌표가 EPSG:4326임을 명시하거나, 프로젝트 CRS를 일시적으로 4326으로 바꿔서 입력한 뒤 다시 변환해야 합니다.

좌표계는 GIS 작업의 가장 기초적인 설정이지만, 익숙해지기까지 의외로 많은 시행착오를 겪는 부분이기도 합니다. 핵심만 정리하면, 데이터를 받는 순간 CRS를 확인하고, 분석 전에 모든 레이어를 하나의 투영좌표계로 통일하고, 결과를 눈과 수치 두 가지로 검토하는 세 가지 습관이면 대부분의 오류를 예방할 수 있습니다. 재난안전 분야에서는 이 단순한 확인 절차 하나가 대피소 배치 오류나 침수 면적 오산을 막는 안전망이 됩니다. 좌표계를 제대로 맞췄다면 이제 그 위에서 공간 분석을 수행할 차례인데, 다음 편에서는 벡터 데이터의 버퍼(buffer)와 교차(intersect) 분석이 재난안전 업무에서 어떻게 쓰이는지를 살펴보겠습니다.

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


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

📌 바로가기

2026-09-21

QGIS 입문 | 처음 열고 무엇부터 해보면 되나 | GeoAI 기초 5편

QGIS 입문 | 처음 열고 무엇부터 해보면 되나 | GeoAI 기초 5편

📌 3줄 요약

  • QGIS는 설치만 하면 바로 쓸 수 있는 무료 오픈소스 GIS 소프트웨어다.
  • 좌표계·레이어·속성테이블, 이 세 개념을 이해하면 기초가 잡힌다.
  • 오픈 데이터로 첫 실습을 마치면 재난안전 데이터도 다룰 수 있다.

GIS를 배워보고 싶은데 어디서 시작해야 할지 막막한 분들이 많습니다. 비싼 소프트웨어를 사야 하나, 코딩을 먼저 익혀야 하나 고민하다가 결국 시작도 못하는 경우도 흔합니다. 그런데 실은 설치 파일 하나를 내려받아 실행하는 것만으로도 시작할 수 있습니다. 그 도구가 QGIS입니다.

QGIS는 개인도 기관도 별도 비용 없이 쓸 수 있는 오픈소스 GIS 소프트웨어입니다. 전 세계 공공기관, 연구소, 재난관리 현장에서 실제로 활용되고 있고, 한국어 인터페이스도 지원합니다. 이번 글에서는 처음 QGIS를 열었을 때 무엇을 보게 되는지, 반드시 알아야 할 세 가지 개념은 무엇인지, 그리고 첫 실습으로 무엇을 해보면 좋은지를 차근차근 안내합니다.

🖥️ QGIS는 어떻게 설치하고, 처음 화면에서 뭘 봐야 하나요?

QGIS 공식 사이트(qgis.org)에서 운영체제에 맞는 설치 파일을 내려받을 수 있습니다. 버전은 크게 장기 지원 버전과 최신 버전 두 종류가 제공되는데, 안정성을 우선한다면 장기 지원 버전을 선택하는 것이 일반적입니다. 설치 후 처음 실행하면 가운데 지도 캔버스, 왼쪽 레이어 패널, 위쪽 메뉴 바와 툴바가 보입니다. 지도 캔버스는 말 그대로 지도가 그려지는 도화지입니다. 레이어 패널은 현재 불러온 데이터 목록을 보여주는 곳으로, 여기 아무것도 없으면 지도에도 아무것도 안 보입니다. 메뉴 버전에 따라 위치나 이름이 조금씩 다를 수 있으니, 찾기 어려울 때는 상단 메뉴 보기 > 패널에서 원하는 패널을 켜거나 끌 수 있습니다. 재난안전 업무에서는 대피소·침수구역·산사태 위험지역 같은 레이어를 이 캔버스 위에 겹쳐 놓고 상황을 한눈에 파악합니다.

🌐 좌표계가 뭔가요? 왜 신경 써야 하나요?

좌표계(Coordinate Reference System, CRS)는 지구 위의 위치를 숫자로 표현하는 약속 체계입니다. 지구는 둥글고 지도는 평면이기 때문에, 어떤 방식으로 둥근 면을 펼치느냐에 따라 같은 위치의 좌표값이 달라집니다. 예를 들어 위도·경도로 나타내는 WGS84와, 한국에서 주로 쓰는 미터 단위 평면 좌표계인 EPSG:5186은 같은 지점이라도 숫자 자체가 완전히 다릅니다. QGIS에서 레이어를 불러오면 오른쪽 아래 상태 표시줄에 현재 좌표계가 표시됩니다. 레이어마다 좌표계가 다르면 지도 위에서 서로 어긋나 보이는 문제가 생깁니다. 이 상태를 '좌표계 불일치'라고 부르며, 이것을 처음에 잡아 두지 않으면 홍수 범람 구역과 도로 레이어가 수백 미터씩 어긋나는 황당한 결과가 나옵니다. 레이어 오른쪽 클릭 > 레이어 속성 > 소스 탭에서 해당 레이어의 좌표계를 확인하고, 필요하면 레이어 > 저장 > 다른 이름으로 저장에서 좌표계를 바꿔 내보낼 수 있습니다.

📂 레이어란 무엇이고, 어떤 종류가 있나요?

레이어는 GIS에서 데이터를 담는 단위입니다. 투명한 필름지 여러 장을 겹치는 것과 비슷합니다. 한 장에는 도로, 한 장에는 하천, 한 장에는 건물 정보가 들어 있고, 이것을 순서대로 쌓으면 완성된 지도가 됩니다. QGIS에서 다루는 레이어는 크게 벡터(Vector)와 래스터(Raster) 두 종류입니다. 벡터는 점·선·면 형태로 위치를 표현하는 방식이고, 래스터는 위성사진이나 수치표고모델처럼 격자(픽셀)로 이루어진 데이터입니다. 레이어를 불러올 때는 상단 메뉴 레이어 > 레이어 추가에서 벡터 레이어 추가, 래스터 레이어 추가, WMS/WMTS 등 원하는 유형을 고릅니다. 레이어 패널 안에서 레이어 이름 왼쪽 체크박스를 끄면 해당 레이어가 캔버스에서 숨겨지므로, 여러 레이어를 켜고 끄며 원하는 정보만 확인할 수 있습니다. 산불 대응 현장에서는 연소 위험지역(래스터)과 소방서 위치(벡터 점)를 같은 캔버스에 올려 놓고 대응 거리를 분석합니다.

🗂️ 속성 테이블에는 어떤 정보가 들어 있나요?

속성 테이블(Attribute Table)은 레이어에 포함된 각 공간 객체의 정보를 행과 열로 정리한 표입니다. 데이터베이스의 테이블과 구조가 같습니다. 예를 들어 대피소 레이어라면 각 대피소마다 이름, 주소, 수용인원, 운영 기관 같은 정보가 열(Column)로 들어 있고, 각 대피소 하나하나가 행(Row)이 됩니다. 속성 테이블을 보려면 레이어 패널에서 원하는 레이어를 오른쪽 클릭 > 속성 테이블 열기를 선택합니다. 표 안의 특정 행을 클릭하면 지도 위에서 해당 객체가 선택(노란색 하이라이트)되므로 위치와 정보를 동시에 확인할 수 있습니다. 해봐야 아는 것 한 가지가 있는데, 속성 테이블을 열어서 상단 연필 아이콘(편집 모드 전환)을 누르지 않으면 값을 수정할 수 없습니다. 편집 모드로 들어가지 않은 상태에서는 셀을 클릭해도 글자가 바뀌지 않습니다. 직접 열어보고 편집 모드 전후 차이를 확인하는 것이 가장 빠른 이해 방법입니다. 재난 상황에서는 대피소별 수용인원 열을 기준으로 일정 인원 이상인 시설만 골라내는 필터 작업에 속성 테이블이 핵심적으로 쓰입니다.

🎯 첫 실습으로 무엇을 해보면 좋을까요?

첫 실습으로 가장 추천하는 과제는 공개 행정 경계 데이터를 불러와 색상을 바꾸고, 속성 테이블에서 특정 조건으로 객체를 선택해 보는 것입니다. 국가공간정보포털(nsdi.go.kr) 또는 통계지리정보서비스(sgis.kostat.go.kr) 같은 공공 사이트에서 시도·시군구 경계 SHP 파일을 내려받을 수 있습니다. 파일을 내려받은 뒤 QGIS에서 레이어 > 레이어 추가 > 벡터 레이어 추가를 선택하고, 찾아보기 버튼으로 .shp 파일을 지정한 다음 추가 버튼을 누릅니다. 레이어가 캔버스에 올라오면 레이어 패널에서 해당 레이어를 더블 클릭해 레이어 속성 창을 열고, 심볼 탭에서 색상과 테두리를 바꿔 보세요. 이어서 속성 테이블을 열고 상단 표현식으로 객체 선택 버튼(ε 모양 아이콘)을 눌러 인구수나 면적 같은 특정 조건을 입력해 보면, 필터 개념을 몸으로 익히게 됩니다. 이 과정이 익숙해지면 침수 예상 구역 레이어에서 특정 침수 깊이 이상인 구역만 골라 대피소 레이어와 겹쳐 보는 분석으로 자연스럽게 이어집니다.

🖥️ 화면에서 따라하기

따라하기 단계

  1. QGIS 설치
    qgis.org 접속 > 다운로드 페이지에서 운영체제 선택 후 장기 지원 버전 설치 파일 내려받기
  2. 데이터 준비
    국가공간정보포털(nsdi.go.kr) 로그인 > 오픈마켓 > 행정경계 SHP 파일 내려받기
    새 프로젝트를 열면 보이는 빈 작업창
    새 프로젝트를 열면 보이는 빈 작업창
  3. 벡터 레이어 추가
    상단 메뉴 레이어 > 레이어 추가 > 벡터 레이어 추가 > 찾아보기로 .shp 파일 선택 > 추가 클릭
    벡터 레이어를 불러온 뒤 레이어 패널에 나타난 모습
    벡터 레이어를 불러온 뒤 레이어 패널에 나타난 모습
  4. 좌표계 확인
    레이어 패널에서 레이어 오른쪽 클릭 > 레이어 속성 > 소스 탭에서 CRS 항목 확인
    화면 오른쪽 아래의 좌표계 표시
    화면 오른쪽 아래의 좌표계 표시
  5. 심볼 변경
    레이어 패널에서 레이어 더블 클릭 > 심볼 탭 > 색 채우기·테두리 색 변경 후 확인 클릭
  6. 속성 테이블 조회
    레이어 오른쪽 클릭 > 속성 테이블 열기 > 표현식으로 객체 선택 버튼 클릭 > 조건식 입력 후 선택 실행
    속성 테이블에서 값 확인하기
    속성 테이블에서 값 확인하기

※ 프로그램 버전에 따라 메뉴 이름이 조금씩 다를 수 있습니다.

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

QGIS에서 처음 마주치는 오류 메시지나 개념을 빠르게 이해하도록 AI에게 물을 때 쓰는 프롬프트

너는 GIS 초보자를 돕는 QGIS 튜터다.
내가 QGIS를 사용하다 겪은 문제나 이해 안 되는 개념을 설명하면, 다음 형식으로 답해줘.
1. 이 오류나 개념이 왜 생기는지 원리를 두 문장 이내로 설명
2. QGIS 화면에서 실제로 눌러야 할 메뉴와 버튼 이름을 순서대로 나열
3. 해결 후 결과가 올바른지 확인하는 방법 한 줄
전문용어는 처음 나올 때 괄호 안에 한 줄 풀이를 붙여줘.
확인되지 않은 버전 정보나 외부 링크는 만들지 마.
내 문제: [QGIS에서 겪은 오류 메시지 또는 이해 안 되는 개념을 여기에 붙여넣기]
사용 중인 운영체제: [Windows / macOS / Linux]

공개 재난 데이터를 QGIS 실습에 활용하는 방법을 단계별로 안내받을 때 쓰는 프롬프트

너는 재난안전 분야 GIS 실무 교육 전문가다.
아래 조건에 맞는 QGIS 실습 시나리오를 만들어줘.
대상 재난 유형: [홍수 / 산사태 / 산불 중 하나 선택]
사용 가능한 데이터: 공개 행정경계 SHP, 공개 수치표고모델(DEM) 래스터
실습 목표: QGIS에서 레이어 추가 → 좌표계 확인 → 속성 테이블 필터 → 결과 저장까지 한 번에 경험
형식: 단계별 번호 목록, 각 단계마다 QGIS 메뉴 이름과 버튼 이름을 실제 명칭으로 표기
제약: 유료 데이터나 로그인이 필요한 서비스는 제외, 초보자가 1시간 내에 완료할 수 있는 분량
사람이 반드시 확인해야 할 항목: 좌표계 일치 여부, 속성 테이블 필드명이 한글 깨짐 없이 표시되는지

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

🧪 직접 해보기

  • 국가공간정보포털(nsdi.go.kr)에서 시군구 경계 SHP 파일을 내려받아 QGIS에 불러오고, 좌표계가 무엇으로 설정되어 있는지 오른쪽 아래 상태 표시줄에서 직접 확인해 본다.
  • 속성 테이블을 열어 표현식으로 객체 선택 기능으로 특정 조건(예: 면적이 일정 값 이상)을 입력해 보고, 선택된 객체가 캔버스에서 어떻게 강조되는지 눈으로 확인한다.
  • 같은 지역의 레이어 두 개를 각각 다른 좌표계로 불러와 캔버스에서 어긋나는 현상을 직접 재현해 보고, 좌표계를 맞춘 뒤 차이를 비교한다.

❓ 자주 묻는 질문

Q. QGIS는 완전 무료인가요? 나중에 비용이 생기지는 않나요?
A. QGIS는 오픈소스 라이선스(GPL)로 배포되어 소프트웨어 자체를 내려받아 쓰는 데는 별도 비용이 없습니다. 다만 함께 쓰는 플러그인이나 데이터 서비스는 제공 주체에 따라 정책이 다를 수 있으므로, 개별 플러그인의 라이선스는 설치 전에 확인하는 것이 좋습니다.

Q. SHP 파일 말고 다른 형식의 데이터도 QGIS에서 열 수 있나요?
A. 네, QGIS는 GeoJSON, KML, GeoPackage, CSV(좌표 열 포함), GeoTIFF 등 다양한 공간 데이터 형식을 지원합니다. CSV 파일처럼 좌표 정보가 열로 들어 있는 파일은 레이어 > 레이어 추가 > 구분된 텍스트 레이어 추가를 통해 불러올 수 있습니다.

Q. 좌표계를 잘못 지정했을 때 데이터가 손상되나요?
A. 원본 파일 자체가 바뀌지는 않습니다. 좌표계를 잘못 지정하면 지도 위 표시 위치가 틀어질 뿐이고, 레이어 속성에서 올바른 좌표계로 다시 지정하면 됩니다. 단, 잘못된 좌표계로 다른 이름으로 저장한 경우에는 원본 파일을 다시 불러와 처음부터 작업하는 것이 안전합니다.

QGIS를 처음 열었을 때 낯선 화면에 당황하는 것은 누구나 겪는 일입니다. 하지만 좌표계, 레이어, 속성 테이블 이 세 가지 개념만 자기 것으로 만들면 그 이후의 모든 작업이 이 세 가지 위에서 돌아간다는 것을 금방 느끼게 됩니다. 처음부터 모든 기능을 파악하려 하지 말고, 오늘 안내한 순서대로 파일 하나를 불러와 색을 바꾸고 속성 테이블을 한 번 열어보는 것만으로도 충분한 시작입니다. 실제 재난안전 업무에서는 이 기초 위에 공간 분석(버퍼, 오버레이, 경로 분석 등)이 얹히는데, 다음 편에서는 QGIS에서 처음 해보는 공간 분석, 그중에서도 '버퍼'와 '교차 분석'이 재난 대피 계획에서 어떻게 쓰이는지를 다룰 예정입니다.

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


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

📌 바로가기

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 이야기를 더 보고 싶다면 아래 채널도 함께 보세요.

📌 바로가기

2026-09-17

위성영상 기초 | 해상도·밴드·광학과 SAR의 차이 | GeoAI 기초 3편

위성영상 기초 | 해상도·밴드·광학과 SAR의 차이 | GeoAI 기초 3편

🎬 1분 브리핑 영상

📌 3줄 요약

  • 위성영상의 해상도는 공간·시간·분광 세 가지로 나뉘며 각각 의미가 다르다.
  • 광학위성은 햇빛이 필요하고, SAR은 구름·야간에도 지표를 볼 수 있다.
  • 재난 상황에서는 광학과 SAR을 상황에 맞게 골라 쓰거나 함께 활용한다.

2025년 여름, 어느 지역에 태풍이 상륙했다고 가정해 봅시다. 피해 현황을 파악하려면 위성영상이 필요한데, 하늘은 두꺼운 구름으로 덮여 있습니다. 이때 일반 카메라 방식의 위성을 띄워 봤자 구름 한 장만 찍힐 뿐입니다. 그렇다면 재난 대응 기관은 어떤 위성을 써야 할까요?

이 질문에 답하려면 위성영상이 어떻게 만들어지는지, 그리고 영상마다 '해상도'가 왜 다른지를 먼저 이해해야 합니다. 위성영상은 단순한 사진이 아닙니다. 언제, 얼마나 자주, 어떤 빛을 이용해 찍혔느냐에 따라 담긴 정보의 종류와 양이 완전히 달라집니다. GeoAI가 위성영상을 학습 데이터로 삼는 이유도 바로 그 풍부한 정보 때문입니다. 이번 글에서는 위성영상을 처음 접하는 분들이 반드시 알아야 할 세 가지 해상도 개념과, 광학위성과 SAR 위성의 차이를 재난 대응 관점에서 풀어 드리겠습니다.

📐 위성영상의 해상도, 왜 세 가지나 있나요?

일상에서 '해상도'라고 하면 보통 사진이 얼마나 선명한지를 떠올립니다. 위성영상에서도 선명함은 중요하지만, 그것만이 전부가 아닙니다. 위성영상의 해상도는 크게 공간 해상도, 시간 해상도, 분광 해상도 세 가지로 나뉩니다.

공간 해상도는 영상 한 픽셀이 실제 지표면에서 몇 미터를 나타내는지를 의미합니다. 예를 들어 1픽셀이 10m라면, 10m보다 작은 물체는 구별되지 않습니다. 시간 해상도는 같은 장소를 얼마나 자주 촬영할 수 있는지, 즉 재방문 주기를 뜻합니다. 매일 찍히는 위성이 있는가 하면, 수십 일에 한 번 지나가는 위성도 있습니다. 분광 해상도는 몇 개의 파장대(밴드)로 빛을 나눠 기록하느냐입니다. 가시광선만 기록하는 위성도 있고, 근적외선·단파적외선 등 다양한 밴드를 함께 기록하는 위성도 있습니다. 산불 현장에서 연기 뒤에 숨은 불씨를 찾거나, 식생 상태를 진단할 때는 분광 해상도가 높은 영상이 훨씬 유리합니다.

🌿 밴드가 많으면 뭐가 좋은가요?

밴드(band)란 위성 센서가 측정하는 특정 파장 범위를 말합니다. 사람의 눈이 빨강·초록·파랑 세 가지 색을 조합해 세상을 보듯, 위성도 여러 밴드를 조합해 지표의 특성을 파악합니다.

가시광선 밴드만 쓰면 우리 눈에 보이는 것과 비슷한 영상이 만들어집니다. 여기에 근적외선 밴드를 추가하면 식물이 건강한지 아닌지를 수치로 나타낼 수 있습니다. 이 수치를 NDVI(정규화 식생지수)라고 부르는데, 식물이 빛을 강하게 반사하는 근적외선 특성을 이용한 것입니다. 단파적외선 밴드는 수분에 민감하게 반응해서, 토양이나 식생의 수분량을 추정하는 데 씁니다. 이를 통해 산불 직후 탄화된 영역과 살아남은 식생을 구분하거나, 산사태 발생 가능 지역의 토양 수분을 사전에 모니터링할 수 있습니다. 밴드 수가 수십 개 이상인 초분광(hyperspectral) 영상은 더욱 세밀한 물질 분류가 가능하지만, 데이터 용량이 크고 처리가 복잡하다는 단점이 있습니다.

☁️ 광학위성은 구름이 끼면 왜 아무것도 못 보나요?

광학위성은 태양빛이 지표에 반사되어 올라오는 신호를 기록합니다. 카메라와 작동 원리가 같기 때문에, 빛을 차단하는 구름이 끼거나 밤이 되면 지표를 볼 수 없습니다. 이것이 광학위성의 가장 큰 제약입니다.

구름 피복률이 높은 장마철이나 태풍 통과 직후에는 광학영상을 며칠씩 확보하지 못하는 상황이 발생합니다. 재난은 날씨를 가리지 않고 일어나는데, 영상은 맑은 날에만 쓸 수 있다는 것은 심각한 한계입니다. 반면 광학영상은 우리 눈에 익숙한 색과 형태로 표현되어 판독이 직관적이고, 고해상도 제품의 경우 건물 윤곽이나 도로 파손 상황을 육안으로도 파악할 수 있습니다. 피해가 발생한 뒤 구름이 걷혔을 때 광학영상을 확보해 변화 탐지를 수행하는 것이 일반적인 재난 대응 절차입니다.

📡 SAR 영상은 구름도 뚫고 밤에도 찍힌다는데, 어떤 원리인가요?

SAR(합성개구레이더, Synthetic Aperture Radar)는 위성 스스로 마이크로파를 지표로 쏘고, 반사돼 돌아오는 신호를 기록하는 방식입니다. 자체적으로 신호를 발사하기 때문에 태양빛이 없어도 되고, 마이크로파는 구름을 통과하므로 날씨 영향을 거의 받지 않습니다. 마치 손전등을 들고 스스로 비추며 촬영하는 것과 비슷합니다.

SAR 영상에서 물 표면은 입사된 마이크로파를 정반사(specular reflection)하여 센서 쪽으로 거의 돌려보내지 않습니다. 그 결과 물은 어둡게, 거친 지표나 건물은 밝게 나타납니다. 이 원리를 이용하면 홍수 침수 지역을 빠르게 파악할 수 있습니다. 홍수 전후 SAR 영상을 비교하면 물이 새로 들어찬 지역이 어두워진 것을 확인할 수 있어, 침수 범위 지도를 자동으로 만드는 GeoAI 모델의 핵심 입력 데이터로 활용됩니다. 다만 SAR 영상은 광학영상과 달리 우리 눈에 낯선 형태로 표현되어 해석에 별도의 학습이 필요합니다.

🔥 재난 현장에서는 광학과 SAR 중 어느 쪽을 선택하나요?

정답은 '상황에 따라 다르다'입니다. 두 방식의 장단점이 서로 다르기 때문에, 실제 재난 대응에서는 두 영상을 함께 쓰는 융합 방식이 점점 많아지고 있습니다.

태풍·홍수처럼 구름이 두껍고 야간에도 상황이 급변하는 재난에서는 SAR이 거의 유일한 선택지입니다. 신속하게 침수 범위를 파악해야 할 때 구름이 걷히길 기다릴 수 없기 때문입니다. 반면 산사태나 산불처럼 피해 지역의 세밀한 형태 파악이 중요하고 날씨가 허락하는 상황에서는 고해상도 광학영상이 더 직관적으로 활용됩니다. 실무에서 해봐야 아는 것이 있는데, 같은 지역을 광학영상과 SAR 영상으로 각각 열어서 어떤 정보가 다르게 보이는지 직접 비교하는 것입니다. 예를 들어 물이 고인 지역이 SAR에서는 뚜렷하게 어둡게 표현되는지, 광학영상에서는 구름 탓에 그 부분이 가려지는지 확인해 보면 두 방식의 차이를 훨씬 빠르게 체감할 수 있습니다.

🧪 직접 해보기

  • Copernicus Browser(copernicus.eu)에 접속해 관심 지역을 선택한 뒤, Sentinel-2(광학)와 Sentinel-1(SAR) 영상을 같은 날짜 범위로 각각 불러와 동일 지역을 비교해 본다.
  • Sentinel-2 영상에서 밴드 조합을 바꿔 보면서(예: 자연색 합성과 근적외선 합성) 식생이나 수체가 어떻게 달라 보이는지 확인한다.
  • 홍수나 산불 전후 사례를 Copernicus Emergency Management Service(CEMS) 아카이브에서 찾아, 실제 재난 대응에 사용된 영상이 광학인지 SAR인지 살펴본다.

❓ 자주 묻는 질문

Q. SAR 영상에서 물은 왜 어둡게 보이나요?
A. SAR은 마이크로파를 지표에 쏘고 반사된 신호를 기록합니다. 잔잔한 수면은 마이크로파를 센서 반대 방향으로 정반사해 거의 돌려보내지 않기 때문에 신호가 약하게 수신되어 영상에서 어둡게 나타납니다. 거친 지표나 모서리가 많은 건물은 신호를 강하게 되돌려 밝게 보입니다.

Q. 공간 해상도가 높을수록 항상 좋은 건가요?
A. 공간 해상도가 높으면 더 작은 물체를 식별할 수 있지만, 파일 용량이 커지고 처리 시간도 늘어납니다. 또한 넓은 지역을 빠르게 모니터링해야 하는 상황이라면 중간 해상도 영상이 오히려 실용적일 수 있습니다. 목적에 맞는 해상도를 선택하는 것이 중요합니다.

Q. 위성이 매일 지나가지 않으면 재난 대응에 어떻게 쓰나요?
A. 단일 위성의 재방문 주기가 길더라도, 여러 위성을 운용하거나 다른 기관의 위성 데이터를 함께 활용하면 관측 빈도를 높일 수 있습니다. 국제 재난 협력 체계를 통해 비상 시 다른 나라 위성 데이터를 긴급 제공받는 방식도 활용됩니다.

위성영상은 GeoAI의 눈이라고 할 수 있습니다. 공간·시간·분광 해상도를 이해하고, 광학과 SAR이 각각 어떤 상황에 강한지를 알면 재난 현장에서 어떤 데이터를 먼저 요청해야 할지 판단이 훨씬 빠라집니다. 광학영상이 구름에 막혀 있는 동안 SAR이 침수 범위를 잡아내고, 구름이 걷힌 뒤 고해상도 광학영상이 피해 건물 수를 세는 방식으로 두 데이터는 서로를 보완합니다. 이제 위성영상이 단순한 '사진'이 아니라 여러 파장과 시간의 정보가 담긴 데이터라는 감이 오셨길 바랍니다. 다음 편에서는 이 영상 데이터를 GeoAI 모델이 어떻게 학습하고, 변화를 탐지하는지 그 구체적인 방법을 살펴볼 예정인데, 과연 AI는 홍수 전후 영상에서 무엇을 보고 침수 지역을 판단하는 걸까요?

GeoAI 기초 시리즈 3편 · 전체 26편


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

📌 바로가기

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

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