분류 전체보기 897

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

국토정보플랫폼: 국토통계지도 서비스 소개

안녕하세요? 이번 글은 국토정보플랫폼에서 제공하는 국토통계지도 서비스에 관해 학습해 보겠습니다. 국토통계지도는 국토조사를 통해 생산한 국토지표를 표시한 지도로서 인구와 사회, 토지와 주택 등 6개 분야 208개 지표를 선정하여 관리하고 있습니다. 여기서는 인구와 사회 분야의 "격자단위 인구수" 공간데이터를 확인해 보겠습니다. 일단 국토정보플랫폼에 접속하고 로그인한 상태에서 왼쪽 메뉴 중 "국토통계지도"를 클릭합니다. 인구, 건물, 토지, 국토지표 중 원하는 분야를 선택할 수 있는데요, "인구"를 클릭해 봅니다. "인구"가 선택된 상태에서 분류, 자료유형, 시도, 시군구, 항목, 년도 등을 선택하고 검색해 보면 되겠습니다. "분류"를 클릭하고 항목 중 "총인구"를 선택해 보겠습니다. 자료유형은 "총 인구 ..

GIS 2024.03.25

Kakao 로컬 API로 사각형 범위 내 항목 검색하기

이번 코드 실습은 Kakao 로컬 API로 사각형 범위 내 항목 검색 기능을 학습해 보겠습니다. 이 코드를 활용하면 내가 정의한 중심점으로부터 너비와 높이를 지정해 사각형 범위를 설정한 후, 해당 범위 내 음식점, 카페를 비롯한 항목들을 검색할 수 있습니다. 이때 로컬 API는 한번에 45개까지만 결과값을 제공하기 때문에 전체 범위를 작은 크기로 분할(예: 음식점이 45개 미만으로 위치할 만한 정도의 크기)해서 각각 호출한 후, 이것을 하나로 병합해 봅니다. 그렇게 하더라도 일일쿼터가 1일 10만회로 제한되므로 적정하게 활용해야 합니다. 그럼 시작해보겠습니다. 이전 글: Kakao 로컬 API를 이용한 공간데이터 검색 기능 소개 import requests import pandas as pd import..

GIS 2024.03.24

Kakao 로컬 API를 이용한 공간데이터 검색 기능 소개

이번 코드 실습은 Kakao 로컬 API를 이용한 공간데이터 검색 기능을 학습해 보겠습니다. 공간데이터를 검색한 후 지도로 가시화하는 영역은 ipyleaflet을 통해 구현해 보겠습니다. 먼저 필요한 라이브러리들을 불러온 후, Kakao Developers에서 인증받은 REST API 키를 지정합니다. 로컬(local) API는 키워드로 특정 장소 정보를 조회하거나, 좌표를 주소 또는 행정구역으로 변환하는 등 장소에 대한 정보를 제공합니다. 특정 카테고리로 장소를 검색하는 등 폭넓은 활용이 가능하며, 지번 주소와 도로명 주소 체계를 모두 지원합니다. 로컬 API의 일일 쿼터는 10만 건으로 제한되며, 이를 초과하면 아래 코드에 대해 `Error: HTTP status code 429` 오류 메시지를 반환..

GIS 2024.03.23

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

TorchGeo: NWPU VHR-10 데이터셋 다운로드 방법 소개

TorchGeo는 torchvision과 유사한 PyTorch 도메인 라이브러리로, 지리공간 데이터에 특화된 데이터셋, 샘플러, 변환, 그리고 사전 훈련된 모델을 제공합니다. 이번 글은 TorchGeo에서 NWPU VHR-10 데이터셋 쉽게 다운로드받는 방법을 소개해 보겠습니다. VHR-10은 중국 서북공업대학교(NWPU: Northwestern Polytechnical University)에서 제공하는 초고해상도(Very High Resolution) 10개 클래스 원격탐사 이미지 데이터셋입니다. 총 800장의 초고해상도(VHR) 광학 원격탐사 이미지로 구성되어 있으며, 이 중 715장의 컬러 이미지는 Google Earth로부터 0.5에서 2m 사이의 공간 해상도로 획득되었고, 나머지 85장의 팬 샤..

PHOTOGRAMMETRY 2024.03.15

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