REMOTE SENSING 245

TorchGeo: 객체 탐지(object detection) 예제 소개

TorchGeo는 torchvision과 유사한 PyTorch 도메인 라이브러리로, 지리공간 데이터에 특화된 데이터셋, 샘플러, 변환, 그리고 사전 훈련된 모델을 제공합니다. 이번 실습은 TorchGeo에서 객체 탐지(object detection) 예제를 소개해 보겠습니다. 이 예제는 Microsoft AI for Good의 케일럽 로빈슨(Caleb Robinson) 님이 제공하는 Jupyter Notebook 코드에 설명을 덧붙인 것입니다. GPU 선택 학습에 앞서 노트북 상단 메뉴에서 런타임 > 런타임 유형 변경을 선택한 후, 하드웨어 가속기 메뉴에서 GPU를 선택하고 저장합니다. 저는 Colab Pro를 구독하고 있으며 A100 GPU를 사용했습니다. TorchGeo 설치 TorchGeo는 `pi..

REMOTE SENSING 2024.04.07

cartoee: Google Earth Engine 결과를 인쇄용 지도로 생성하기

cartoee는 Cartopy를 사용하여 Google Earth Engine 결과를 인쇄용 지도(publication quality map)로 만들 수 있는 Python 패키지입니다. GEE 처리 결과를 별도 다운로드 과정 없이 빠르게 시각화할 수 있기 때문에 보고서나 논문을 작성할 때 매우 유용한 도구입니다. Geemap Tutorials는 현재 cartoee에 관한 5가지 콘텐츠를 제공하고 있습니다: How to create publication quality maps using cartoee Adding a scale bar to a cartoee map Adding a legend to publication quality maps using cartoee Plotting Earth Engine v..

REMOTE SENSING 2024.03.31

Google Earth Engine Tutorials 컨트리뷰터 활동 소식

안녕하세요? GGRS 기술 블로거 유병혁입니다! 이번에 Google Earth Engine Tutorials에 컨트리뷰터로 활동하게 되어 소식 공유 드립니다. "Species Distribution Modeling" 튜토리얼을 등록했습니다! 아래 URL에 접속하시면 바로 확인하실 수 있습니다. Google Earth Engine에서 Presence-Absence Method(출현-부재 기법)로 종 분포 모델링을 구현하는 전반적인 흐름을 정리해 봤습니다. 관심있는 분들께 도움이 되기를 바라며, 또다른 내용의 튜토리얼이 필요하시면 제안 부탁드리겠습니다. 튜토리얼 작성 과정에서 처음부터 끝까지 도움 주신 Google Earth Engine 프로젝트의 Justin Braaten(저스틴 브라튼) 님과, Googl..

REMOTE SENSING 2024.03.29

Google Earth Engine을 활용한 산림 변화 데이터 분석

안녕하세요? 이번 코드 실습은 Google Earth Engine을 활용한 산림 변화 데이터 분석을 진행해 보겠습니다. 실습 내용은 다음과 같습니다: GEE를 사용하여 설악산 생물권보전지역의 경계를 추출합니다. Global Forest Change 데이터셋에 관해 학습해 봅니다. 2001년부터 2022년까지의 기간 동안 산림손실 면적을 계산하고, 그 결과를 그래프로 시각화해봅니다. 먼저 GEE Python API를 설치하고 인증해야 합니다. import ee import geemap from ipyleaflet import TileLayer import pandas as pd import matplotlib.pyplot as plt # Earth Engine 인증 ee.Authenticate() # Ea..

REMOTE SENSING 2024.03.16

Google Earth Engine을 활용한 설악산국립공원의 식생 분석

안녕하세요? 이번 코드 실습은 Google Earth Engine(GEE)에서 설악산국립공원의 식생 분석을 진행해 보겠습니다. 분석 단계는 다음과 같습니다: GEE의 Python API를 사용하여 설악산국립공원의 경계를 추출합니다. 2024년 1월 동안 구름 없는 Sentinel-2 이미지를 선택합니다. NDVI 계산을 수행하고, 국립공원 경계 내에서 NDVI 통계치를 계산해 봅니다. 그럼 실습을 시작해볼까요?! 먼저 GEE Python API를 설치하고 인증해야 합니다. import ee import geemap import pandas as pd # Earth Engine 인증 ee.Authenticate() # Earth Engine 초기화 ee.Initialize(project='my-projec..

REMOTE SENSING 2024.03.03

Google Earth Engine & QGIS: Sentinel-2 이미지 조회 및 내보내기

안녕하세요? 이번 글은 Google Earth Engine에서 Sentinel-2 이미지를 조회 및 내보내는 방법을 정리해 보겠습니다. GEE에서는 내가 원하는 시기와 지역을 대상으로 다수의 이미지를 조회 및 병합할 수 있습니다. 예를 들면, 1년간 특정 국립공원을 관측한 다수의 이미지를 수집한 후, 구름 피복이 5% 미만인 데이터만 픽셀 단위로 요약(예: 중간값)해서 하나의 이미지로 병합하는 것이 가능합니다. 또한 이것을 Google Drive로 내보낸 후 다운로드 해서 QGIS와 같은 지리공간 소프트웨어에서 사용할 수도 있습니다. 일련의 과정을 코드로 확인해 보도록 하겠습니다. 먼저 ee와 geemap 라이브러리를 호출하고 Earth Engine 인증 및 초기화를 진행하겠습니다. import ee i..

REMOTE SENSING 2024.02.07

Google Earth Engine: Vworld 레이어 추가하는 방법 소개

안녕하세요? 이번 글은 Google Earth Engine에서 Vworld 레이어 추가하는 방법을 정리해 보겠습니다. GEE가 다양한 배경지도를 제공하고 있지만, 국내 사용자 입장에서는 대한민국 지명 표현이 중요하기 때문에 이런 경우에 활용하시면 좋겠습니다(예: 동해 '일본해' 표기). 실습을 위해 대한민국 행정경계 레이어를 지도 시각화해 보겠습니다. 아래와 같이 현재 배경지도는 OpenStreetMap으로 설정되어 있습니다. # 패키지 호출 import ee, geemap ee.Authenticate() # Earth Engine 인증 ee.Initialize(project='my-earth-engine-project') # Earth Engine 초기화 # FAO GAUL: Global Adminis..

REMOTE SENSING 2024.01.31

Google Earth Engine: Google Cloud Project 생성 과정 소개

안녕하세요? 이번 글은 Google Earth Engine을 활용하기 위해 필요한 Google Cloud Project 생성 과정을 정리해 보겠습니다. Google Earth Engine은 강력한 지리공간 데이터 분석 및 시각화 플랫폼으로, 전 세계의 위성 이미지와 지리 데이터를 분석하는 데 사용됩니다. 하지만, 이 모든 기능을 이용하기 위해서는 Google Cloud Project를 설정하는 것이 필수적입니다. Google Earth Engine은 Google Cloud의 인프라와 서비스를 기반으로 작동할 수 있기 때문입니다. 사용자는 Google Cloud Project를 통해 Earth Engine API에 접근하고, Google Cloud의 다양한 서비스와 통합하여 지리공간 데이터를 더욱 효과적으..

REMOTE SENSING 2024.01.18

Google Earth Engine(구글 어스 엔진): WDPA(세계 보호지역 데이터베이스) 데이터셋 불러오기

안녕하세요? 이번 글은 Google Earth Engine(구글 어스 엔진)에서 WDPA(세계 보호지역 데이터베이스) 데이터셋을 불러오는 방법을 정리해 보겠습니다. 먼저 ee와 geemap 패키지를 호출하고 GEE를 초기화합니다. import ee import geemap # GEE 초기화 ee.Initialize() WDPA 데이터셋을 불러옵니다. # WDPA 데이터셋 불러오기 wdpa = ee.FeatureCollection("WCMC/WDPA/current/polygons") ID를 통해 원하는 WDPA 경계를 선택합니다. 여기서는 변산반도국립공원 경계를 선택해 보겠습니다. Protected Planet | Byeonsanbando Explore the World's Protected Areas i..

REMOTE SENSING 2024.01.03

Streamlit(스트림릿)으로 Google Earth Engine 웹 앱 배포하기

안녕하세요? 이번 글은 Streamlit(스트림릿)으로 Google Earth Engine 웹 앱 배포하는 방법을 정리해 보겠습니다. Streamlit(https://streamlit.io/)은 머신러닝 및 데이터 과학을 위한 사용자 웹 앱을 쉽게 만들고 공유할 수 있게 해주는 오픈소스 Python 라이브러리입니다. 여기서는 Streamlit Cloud를 통해 GEE 웹 앱을 배포해 보겠습니다. 동영상 출처: https://streamlit.io/cloud 먼저 실습을 위해 geemap(지맵)의 개발자, 추생 우 박사님(Dr. Qiusheng Wu)의 "geemap-apps" GitHub 저장소(https://github.com/giswqs/geemap-apps)에 접속해 보겠습니다. 해당 저장소를 내 ..

REMOTE SENSING 2023.12.28