
Sentinel-1 SAR과 Google Earth Engine을 이용한 2026년 구마모토 지진 이후 지표면 변화 시각화
요약
2026년 구마모토 지진 발생 이후, Sentinel-1 SAR 영상과 Google Earth Engine을 활용하여 지표면 변화를 시각화하는 기술적 방법을 소개합니다. Python과 geemap 라이브러리를 사용하여 지진 전후의 레이더 후방산란 데이터를 비교 분석하는 워크플로우를 다룹니다.
핵심 포인트
- Sentinel-1 SAR 데이터를 활용한 지표면 변화 모니터링
- Google Earth Engine 및 geemap을 이용한 클라우드 기반 분석
- Python 환경에서의 지진 전후 레이더 영상 비교 방법론
- 지진 발생 지역의 지형 변화 시각화 프로세스
서론
2026년 7월 28일, 일본 표준시 오후 약 4시 27분경, 마그니튜드(magnitude) 7.1의 지진이 일본 남서부 구마모토 지역을 강타했습니다. 깊이는 약 10킬로미터였습니다.
일본 기상청은 최대 진도 7을 보고했으며, 이는 일본의 지진 등급에서 가장 높은 수준입니다. 일본 외 거주자 독자들을 위해 설명하자면, 이것은 단순히 지진 규모(magnitude)를 나타내는 또 다른 표현이 아닙니다. 규모는 지진으로 방출된 에너지를 의미하는 반면, 일본의 지진 등급은 개별 위치에서 관찰되는 흔들림의 강도를 묘사합니다. 진도 7에서는 고정되지 않은 가구가 움직이거나 넘어질 수 있고, 건물에 심각한 피해가 발생할 수 있으며, 산사태나 대규모 지반 붕괴가 일어날 수 있습니다.
이 지진은 사망자, 부상자, 구조물 피해, 정전, 교통 마비 등을 야기했으며, 긴급 대응 작전이 계속되고 있습니다. 가장 많이 보도된 지역 중 한 곳은 AEON Mall Kumamoto였는데, 이곳에서는 지진 이후 폭발과 심각한 건물 피해가 발생했습니다.
구마모토는 어디인가?
구마모토현은 일본의 4대 주요 섬 중 가장 남서쪽에 위치한 규슈(Kyushu)에 있습니다.
도쿄, 교토, 오사카는 훨씬 더 큰 혼슈(Honshu) 섬에 위치합니다. 구마모토는 그보다 상당히 남서쪽에 자리하며, 규슈의 중앙 근처에 있습니다. 이 현에는 구마모토 시, 아소산(Mount Aso), 해안 및 농업 지역, 그리고 수많은 작은 공동체들이 포함됩니다.
본 기사에서 사용된 연구 지역은 구마모토 시와 카시마(Kashima), 우키(Uki), 야츠시로(Yatsushiro)를 포함한 주변 지역과 아소 지역의 일부를 포괄합니다.
역사적 배경
2026년 지진은 파괴적이었던 2016년 구마모토 지진 사태가 발생한 지 겨우 10년이 조금 넘은 시점이었습니다.
2016년 4월, 이 지역은 먼저 강력한 전진 (foreshock)의 타격을 받았으며, 이후 4월 16일 현지 시간 오전 1시 25분에 더 큰 규모의 지진이 발생했습니다. 일본 기상청 (Japan Meteorological Agency)은 후자의 사건을 규모 7.3으로 측정했으며, USGS는 모멘트 규모 (moment magnitude) 7.0으로 보고했습니다.
2016년의 지진 시퀀스 (sequence)는 히나구 (Hinagu) 및 후도가와 (Futagawa) 단층계를 포함하였으며, 구마모토 현 전역에 걸쳐 주요 피해를 입혔습니다.
이 글은 2016년과 2026년 지진 사이의 직접적인 지진학적 관계를 설정하려는 시도가 아닙니다. 그러나 지리적 근접성과 이 지역의 최근 역사는 위성 기반의 변화 모니터링 (change monitoring)을 특히 유의미하게 만듭니다.
이 글의 목적
이 글은 계획된 시리즈의 첫 번째 글입니다.
이 초기 단계에서 저는 다음을 사용합니다:
Google Earth Engine
Google Colab
Sentinel-1 합성 개구 레이더 (Synthetic Aperture Radar, SAR) 영상
Python 및 geemap
목표는 다음과 같습니다:
지진 발생 전에 획득된 Sentinel-1 SAR 영상을 가져옵니다.
지진 발생 후 획득 가능한 첫 번째 영상을 가져옵니다.
VV 편파 (VV-polarized) 레이더 후방산란 (backscatter)의 차이를 계산합니다.
큰 변화가 있는 지역을 대화형 지도 (interactive map)에 표시합니다.
지리적 참조 지점으로 이온 몰 구마모토 (AEON Mall Kumamoto)의 위치를 표시합니다.
이는 최종적인 피해 분류 (damage-classification) 결과물이 아닌, 신속한 1차 시각화 (first-pass visualization)입니다.
목적은 광학 영상 (optical imagery), 공식 피해 보고서, 항공 사진, 현장 관측 및 추가적인 위성 분석을 사용하여 더 면밀한 조사가 필요할 수 있는 위치를 식별하는 것입니다.
SAR란 무엇인가?
SAR는 합성 개구 레이더 (Synthetic Aperture Radar)의 약자입니다.
광학 위성 (Optical satellites)은 지구 표면에서 반사된 햇빛을 관측합니다. 이는 구름, 어둠, 연기 및 기타 대기 상태가 광학 센서가 볼 수 있는 범위를 제한할 수 있음을 의미합니다.
SAR 위성은 지구를 향해 마이크로파 신호(microwave signals)를 송신하고, 센서로 다시 반사되어 돌아오는 신호를 측정합니다. 이를 통해 레이더 위성은 낮과 밤 모두, 그리고 대부분의 구름층을 통과하여 지표면을 관측할 수 있습니다.
본 분석을 위해 저는 유럽의 C-band SAR 미션인 Sentinel-1을 사용합니다.
Google Earth Engine 컬렉션:
은 보정(calibrated) 및 지형 보정(terrain-corrected)된 지표 범위 탐지(Ground Range Detected) 영상을 포함하고 있습니다. 후방산란(backscatter) 값은 데시벨(decibels) 단위로 제공됩니다. Earth Engine은 궤도 정보, 열잡음 제거(thermal-noise removal), 복사 보정(radiometric calibration) 및 지형 보정(terrain correction)을 포함한 전처리(preprocessing)를 적용합니다.
레이더 후방산란(Radar backscatter)은 다음과 같은 여러 요인의 영향을 받습니다:
- 지표 거칠기 (Surface roughness)
- 건물 기하구조 (Building geometry)
- 토양 수분 (Soil moisture)
- 식생 (Vegetation)
- 수역 범위 (Water coverage)
- 레이더 입사각 (Radar incidence angle)
- 위성 궤도 방향 (Satellite orbit direction)
따라서 후방산란의 큰 변화는 의미 있는 지표면 변화를 나타낼 수 있지만, 그 자체로 원인을 식별하지는 못합니다.
구현 (Implementation)
- 필수 라이브러리 설치
Google Colab에서 다음 셀을 실행하세요:
!pip install -q -U earthengine-api geemap
그 다음 라이브러리를 임포트(import)합니다:
import ee
import geemap
Earth Engine 액세스 및 가격 정보
earthengine-api는 Earth Engine을 위한 Google의 공식 Python 클라이언트 라이브러리입니다. 라이브러리 자체는 무료로 설치할 수 있습니다.
상업적 Earth Engine 사용은 사용량 기반 및 구독 플랜을 통해 가능합니다. 2026년 8월 기준으로, Basic 플랜은 월 $500의 플랫폼 요금이 부과되며, Professional 플랜은 월 $2,000입니다. 고정된 월간 플랫폼 요금이 없는 Limited 플랜도 이용 가능하지만, 컴퓨팅 및 스토리지 사용량에 대한 비용은 여전히 청구될 수 있습니다.
자격 요건을 갖춘 교육, 연구, 비영리 및 개인 학습 프로젝트를 포함한 검증된 비상업적 프로젝트(noncommercial projects)는 월간 무료 컴퓨팅 할당량(free compute quotas)을 사용할 수 있습니다. 비상업적 프로젝트로 등록해야 하며, 단순히 학생이라는 사실만으로는 프로젝트가 무료 액세스로 자동 설정되지 않습니다.
공식 정보:
Google Earth Engine 가격 책정 (pricing)
Earth Engine 비상업적 티어(noncommercial tiers):
Google Cloud에서의 Earth Engine 설정:
Earth Engine 인증 및 초기화 (Authenticate and initialize Earth Engine)
ee.Authenticate()
ee.Initialize(project='YOUR_GOOGLE_CLOUD_PROJECT_ID')
YOUR_GOOGLE_CLOUD_PROJECT_ID를 등록된 Google Cloud 프로젝트의 ID로 교체하세요.
예시:
ee.Authenticate()
ee.Initialize(project='ee-takeofuture')
인증(authentication) 단계에서는 Google 계정 권한 부여 흐름이 열립니다. 그 후 ee.Initialize()에 전달된 프로젝트가 Earth Engine 요청에 사용됩니다.
구마모토를 중심으로 하는 지도 생성 (Create a map centered on Kumamoto)
Map = geemap.Map(
center=[32.72, 130.70],
zoom=10
...
중심점은 더 넓은 진앙 지역과 이온 몰 구마모토(AEON Mall Kumamoto) 사이에 위치합니다.
하이브리드(HYBRID) 베이스맵(basemap)은 위성 이미지와 지리적 레이블, 도로 및 지명을 결합합니다.
관심 영역 정의 (Define the area of interest)
선택된 영역은 구마모토시, 가시마, 우키, 야쓰시로를 포함하여 아소(Aso)와 아마쿠사(Amakusa) 방향의 지역까지 아우르는 구마모토현의 비교적 넓은 부분을 포함합니다.
kumamoto_aoi = ee.Geometry.BBox(
130.40,
32.45,
...
ee.Geometry.BBox()는 다음과 같은 좌표 순서를 사용합니다:
서경 (west longitude),
남위 (south latitude),
동경 (east longitude),
북위 (north latitude)
선택된 경계는 다음과 같습니다:
서쪽: 동경 130.40°
남쪽: 북위 32.45°
동쪽: 동경 131.10°
북쪽: 북위 32.95°
Sentinel-1 컬렉션 로드 (Load the Sentinel-1 collection)
s1 = (
ee.ImageCollection('COPERNICUS/S1_GRD')
.filter(ee.Filter.eq('instrumentMode', 'IW'))
...
- Interferometric Wide Swath 모드
.filter(ee.Filter.eq('instrumentMode', 'IW'))
IW는 Interferometric Wide Swath를 의미합니다. 이는 광범위한 지역의 지표 관측을 위한 일반적인 Sentinel-1 획득 모드입니다.
- VV 편파 (VV polarization)
.filter(
ee.Filter.listContains(
'transmitterReceiverPolarisation',
...
VV는 레이더 신호가 수직 편파 (vertical polarization)로 송신되고 수직 편파로 수신됨을 의미합니다.
- 지리적 필터링 (Geographic filtering)
.filterBounds(kumamoto_aoi)
이 단계는 구마모토 연구 지역과 겹치는 장면(scenes)을 유지합니다.
- 시간대 변환 처리 (Handle the time-zone conversion)
지진은 대략 다음 시간에 발생했습니다: 2026년 7월 28일, 16:27 JST (일본 표준시). Earth Engine의 날짜 문자열은 시간대가 명시적으로 처리되지 않으면 UTC로 해석됩니다. 일본 표준시(JST)는 UTC보다 9시간 빠르므로, 이에 상응하는 UTC 시간은 2026년 7월 28일, 07:27 UTC입니다. 따라서 이벤트 경계를 다음과 같이 정의합니다:
EARTHQUAKE_TIME_UTC = '2026-07-28T07:27:00Z'
이렇게 하면 지진 이후에 획득된 이미지가 실수로 지진 전 관측 데이터로 분류되는 것을 방지할 수 있습니다.
최신 지진 전 이미지 선택 (Select the latest pre-earthquake image)
pre_eq = (
s1
.filterDate(
...
컬렉션은 최신순에서 과거순으로 정렬되며, first()는 지진 전 사용 가능한 가장 최근의 관측 데이터를 선택합니다.
"지진 전(Pre-earthquake)"이라는 것이 반드시 위성이 지진 발생 불과 몇 분 전에 구마모토 상공을 통과했음을 의미하지는 않습니다. 이는 지정된 기간 내에서 사용 가능한 가장 가까운 Sentinel-1 획득 데이터임을 의미합니다.
첫 번째 지진 후 이미지 선택 (Select the first post-earthquake image)
post_eq = (
s1
.filterDate(
...
이번에는 지진 후 사용 가능한 첫 번째 획득 데이터를 선택할 수 있도록 이미지가 과거순에서 최신순으로 정렬됩니다.
이미 Earth Engine에 수집된 장면들만 사용할 수 있습니다. 미래의 종료 날짜를 설정한다고 해서 이미지가 생성되거나 예측되지는 않습니다.
실제 획득 시간 출력하기 (Print the actual acquisition times)
결과를 해석할 때는 실제 위성 관측 시간이 반드시 포함되어야 합니다.
pre_date_jst = ee.Date(
pre_eq.get('system:time_start')
).format(
...
이렇게 하면 획득 시간이 UTC가 아닌 일본 표준시 (Japan Standard Time, JST)로 출력됩니다.
SAR 차이 계산하기 (Calculate the SAR difference)
지진 전 VV 이미지를 지진 후 이미지에서 뺍니다:
diff = post_eq.subtract(pre_eq)
개념적으로는 다음과 같습니다:
SAR 변화량 = 지진 후 VV − 지진 전 VV
강한 음수(-) 값은 지진 후에 레이더 후방산란 (radar backscatter)이 감소했음을 의미합니다.
강한 양수(+) 값은 레이더 후방산란이 증가했음을 의미합니다.
가능한 원인으로는 다음이 포함됩니다:
- 건물 또는 구조물의 변화
- 붕괴되거나 기울어진 지표면
- 잔해 또는 새로 노출된 물체
- 산사태 및 퇴적물 이동
- 침수 또는 새로운 수면
- 토양 수분 (soil moisture)의 변화
- 식생 (vegetation) 변화
- 궤도 기하학 (orbit geometry)의 차이
- SAR 스펙클 노이즈 (speckle noise)
따라서 차이 지도 (difference map)는 특정 유형의 피해를 직접적으로 나타내는 라벨이 아니라, 변화를 나타내는 지표 (change indicator)로 취급하는 것이 가장 좋습니다.
시각화 설정하기 (Configure the visualization)
vis_diff = {
'min': -12,
'max': 4,
...
대략적인 해석은 다음과 같습니다:
- 빨간색 및 주황색: 후방산란 감소. 이 지역들은 지진 후에 더 약한 레이더 신호를 반사했습니다. 가능한 설명은 다음과 같습니다:
- 건물의 방향이 바뀌었거나 부분적으로 붕괴됨
- 이전에 복잡했던 지표면이 더 매끄러워짐
- 지반 침하로 인해 국부적인 기하학적 구조가 변함
- 지역이 물로 덮임
이러한 위치들은 지진과 관련된 변화를 나타낼 수 있으며 정밀한 조사가 필요합니다.
- 흰색: 변화가 상대적으로 적음
두 관측값 사이의 차이가 상대적으로 작습니다.
이것이 피해가 전혀 없었음을 증명하는 것은 아닙니다. 더 작은 변화, 실내 피해, 그리고 유효 공간 해상도 (effective spatial resolution) 미만의 변화는 명확하게 나타나지 않을 수 있습니다.
- 연한 파란색 및 파란색: 후방산란 (backscatter) 증가. 이 지역들은 지진 이후 더 강한 레이더 신호를 반사했습니다. 가능한 원인은 다음과 같습니다:
- 잔해로 인한 지표면 거칠기 (surface roughness) 증가
- 무너진 구조물로 인한 새로운 레이더 반사 기하 구조 (geometry) 형성
- 퇴적물 또는 노출된 물질로 인한 지표면 변화
- 물체들이 위성을 향해 더 많은 에너지를 반사하는 방향으로 배치됨
따라서 강한 빨간색과 강한 파란색 영역 모두 관심 지역 (locations of interest)으로 간주할 수 있습니다.
-12와 4라는 값은 큰 변화를 더 쉽게 볼 수 있도록 선택된 시각화 제한값 (visualization limits)입니다. 이는 보편적인 피해 임계값 (damage thresholds)은 아닙니다. 하지만 색상이 강하게 나타나는 영역을 통해 넓은 지역을 후속 분석을 위한 더 작은 위치 집합으로 좁히는 데 도움을 줄 수 있습니다.
지도에 SAR 레이어 추가하기
Map.addLayer(
pre_eq.clip(kumamoto_aoi),
{
...
지진 전(pre-earthquake) 및 지진 후(post-earthquake) 레이어는 처음에 숨겨져 있습니다.
차이(difference) 레이어는 지도가 처음 로드될 때 표시됩니다.
사용자는 다음 레이어들 사이를 전환할 수 있습니다:
- 지진 전 SAR
- 지진 후 SAR
- SAR 후방산란 (backscatter) 변화
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기