전체 글 952

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

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