
Heat Shadow: Gemini와 Earth Engine을 활용한 델리의 보이지 않는 열 위험 매핑
요약
Gemini와 Google Earth Engine을 활용하여 델리 지역의 불균형한 열 위험을 시각화하는 'Heat Shadow' 프로젝트를 소개합니다. 단순 기온 측정을 넘어 수관 피복과 지표면 온도를 분석해 실제 열 노출 시간을 계산합니다.
핵심 포인트
- 단일 기온 수치가 놓치는 지역별 열 위험 격차를 가시화함
- Google Earth Engine을 통해 위성 열 데이터와 수관 분석 수행
- 그늘이 없는 시간(unshaded hours)을 핵심 위험 지표로 활용
- NGO 및 현장 팀을 위한 실질적인 자원 배분 도구 제공
매년 여름, 델리의 폭염은 기록적인 고온, IMD(인도 기상청)의 적색 경보, 병원 포화 상태 등 헤드라인을 장식합니다. 하지만 모두가 인용하는 도시 전체의 기온 수치는 중요한 사실 하나를 숨기고 있습니다. 바로 열 위험(heat risk)이 균등하게 분포되어 있지 않다는 점입니다. 나무 덮개가 있는 거주지와 그렇지 않은 거주지는 불과 2km 떨어져 있어 공식 기온은 동일하게 기록될 수 있지만, 현장에서 마주하는 현실은 완전히 다를 수 있습니다.
저는 이러한 차이를 가시화하고, 실제로 대응하는 사람들, 즉 매일 아침 한정된 냉방 자원을 어디로 보낼지 결정해야 하는 NGO와 현장 팀들이 실행에 옮길 수 있는 무언가를 만들고 싶었습니다.
그것이 바로 Heat Shadow입니다.
## "오늘 기온은 47°C입니다"라는 말의 문제점
델리의 비공식 거주지(jhuggis, 재정착촌)는 단일 기온 측정값으로는 포착할 수 없는 이유들로 인해 폭염의 영향을 지속적으로 가장 심하게 받습니다:
- 양철 지붕 (Tin roofs) 은 열을 재방사하여 실내 온도가 실외 측정값보다 3~5°C 더 높게 나타날 수 있습니다.
- 좁고 밀집된 골목 (Narrow, dense lanes) 은 밤 동안 열을 가두어, 주민들이 다음 날의 최고 기온이 오기 전까지 거의 휴식을 취하지 못하게 합니다.
- 수관층 (Tree canopy) 분포가 불균형함 — 일부 구역은 태양이 가장 강한 시간대에 부분적인 그늘이 있지만, 다른 구역은 그늘이 거의 없습니다.
기존의 열 대응 도구들은 도시 전체에 대해 하나의 수치만을 보고합니다. 이 도구들은 현장 팀에게 _오늘 오전 11시부터 오후 4시까지 어느 특정 거주지_에 그늘이 전혀 없는지, 혹은 그 _이유_가 무엇인지(양철 지붕의 밀도 때문인지, 매립지와의 근접성 때문인지, 아니면 열지수(heat index)를 높이는 범람원 습도 때문인지)를 알려주지 않습니다. Heat Shadow는 바로 그 간극을 메우고자 합니다.
## 핵심 아이디어: 단순한 기온이 아닌 노출 시간
이 프로젝트를 관통하는 핵심 통찰은 다음과 같습니다. 최고 기온이 동일하더라도, 하루 중 '그늘이 전혀 없는(zero shade)' 시간이 얼마나 되느냐에 따라 두 거주지가 직면하는 실제 위험은 매우 다를 수 있습니다. 따라서 Heat Shadow는 단순히 온도만으로 클러스터를 순위 매기는 대신, 각 거주지별로 "그늘이 없는 시간(unshaded hours)" 수치를 계산합니다. 즉, 오전 9시부터 오후 6시 사이의 피크 태양 시간대 중 수관 피복(canopy cover)이 전혀 없는 시간이 몇 시간인지를 계산하여, 이를 위험 점수에 강력하게 반영합니다.
이 수치는 대시보드의 시각적 중심이 됩니다. 각 거주지별로 24시간 방사형 "그림자 다이얼(shadow dial)"을 표시하며, 채워진 호(arc)를 통해 정확히 어느 시간대에 노출되는지를 보여줍니다.
## 작동 방식
1. 위성 열 데이터 + 수관 분석 — Google Earth Engine
매일 밤, 스크립트가 Landsat 8/9 지표면 온도(land surface temperature) 데이터와 Dynamic World 토지 피복 분류(land-cover classification) 데이터를 등록된 모든 거주지 클러스터별로 가져와, 최고 기온과 수관 비율(tree-canopy fraction)을 계산합니다.
2. 위험 점수 산정 (Risk scoring)
투명하고 조정 가능한 공식을 통해 최고 기온, 그늘이 없는 시간, 인구 밀도를 하나의 0~100 위험 점수로 변환합니다. 이때 일반적인 열지도(heat maps)가 놓치는 요소인 노출 지속 시간(exposure duration)에 더 높은 가중치를 둡니다.
3. 초국지적 권고 사항 — Gemini API
이 단계에서 프로젝트는 단순한 지도를 넘어섭니다. gemini-2.5-flash는 각 클러스터의 원시 데이터와 특정 지역의 위험 요인(매립지 인접성, 양철 지붕 밀도, 범람원 습도 등)을 결합하여, 당일 현장에 대응하는 팀을 위해 영어와 힌디어로 작성된 짧고 구체적인 권고 사항을 생성합니다. 프롬프트는
| 구성 요소 | 기술 |
|---|---|
| 열 + 그늘 분석 (Thermal + shade analysis) | Google Earth Engine (Landsat 8/9, Sentinel-2, Dynamic World V1) |
| ... |
## 다음에 구축할 사항
이것은 프로토타입(prototype)이며, 파일럿(pilot)이 아닙니다. 솔직한 다음 단계는 다음과 같습니다:
- NGO와 협력하여 실제 클러스터 경계를 등록하고, 구역 조사(ward surveys)를 통해 인구 데이터를 검증합니다.
- 그늘 휴리스틱(shade heuristic)을 적절한 태양 위치(solar-position) + 건물 높이 그림자 모델로 교체합니다.
- 현장 팀뿐만 아니라 WhatsApp Business API를 통해 거주자들에게 직접 권고 사항을 전달합니다.
- 현장 팀이 냉방 지점(cooling point)이 실제로 필요했는지 여부를 표시하여, 한 시즌 동안 모델을 수정할 수 있는 피드백 루프(feedback loop)를 추가합니다.
## 체험하기
코드, 아키텍처 기술서, 그리고 실제 Earth Engine + Gemini 통합 스크립트는 GitHub에서 확인할 수 있습니다: https://github.com/Harjotsingh00/heat-shadow
비디오 링크: https://drive.google.com/file/d/1RhS5stfwkwe2YSbZHnXdqMbTkQyvka0S/view?usp=sharing
만약 인도에서의 열 회복력(heat resilience) 또는 시민 기술(civic tech)을 위해 유사한 작업을 하고 계신다면, 여러분의 이야기를 듣고 싶습니다.
_ [Google AI APAC Builder 제출물]을 위해 제작되었습니다. 사용된 Google 기술: Gemini API, Google Earth Engine, Firebase/Firestore, Google Maps Platform._
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기