제퍼넷 로고

Geemap을 이용한 지리공간 데이터 분석 – KDnuggets

시간

Geemap을 이용한 지리공간 데이터 분석
작가의 삽화
 

공간정보분석은 공간정보라고 불리는 특수한 형태의 데이터를 다루고, 시각화하고, 분석하는 분야이다. 일반 데이터와 비교하여 위도 및 경도와 같은 위치 정보인 추가 열이 있는 표 형식 데이터가 있습니다. 

데이터에는 벡터 데이터와 래스터 데이터라는 두 가지 주요 유형이 있습니다. 벡터 데이터를 처리할 때 여전히 표 형식의 데이터세트를 사용하는 반면, 래스터 데이터는 위성 이미지나 항공 사진과 같은 이미지와 더 유사합니다. 

이 기사에서는 위성 이미지의 방대한 데이터 카탈로그를 제공하는 클라우드 컴퓨팅 플랫폼인 Google Earth Engine에서 제공하는 래스터 데이터에 중점을 둘 것입니다. 이러한 종류의 데이터는 Geemap이라는 생명을 구하는 Python 패키지를 사용하여 Jupyter Notebook에서 쉽게 마스터할 수 있습니다. 시작하자!

Google 어스 엔진이란 무엇인가요?

Geemap을 이용한 지리공간 데이터 분석
작성자의 스크린샷. Google Earth Engine의 홈페이지입니다.
 

Python 라이브러리를 시작하기 전에 Python 라이브러리의 잠재력을 이해해야 합니다. Google 어스 엔진. Google Cloud 플랫폼을 기반으로 하는 이 클라우드 기반 플랫폼은 학술, 비영리, 비즈니스 목적을 위한 공개 및 무료 지리공간 데이터세트를 호스팅합니다.

 

Geemap을 이용한 지리공간 데이터 분석
작성자의 스크린샷. Earth Engine 데이터 카탈로그 개요. 
 

이 플랫폼의 장점은 Earth Engine 서버에 저장된 래스터 및 벡터 데이터의 멀티 페타바이트 카탈로그를 제공한다는 것입니다. 이것으로부터 빠른 개요를 얻을 수 있습니다 링크. 또한 래스터 데이터세트 분석을 용이하게 하는 API를 제공합니다. 

Geemap이란 무엇입니까?

Geemap을 이용한 지리공간 데이터 분석
작가의 일러스트레이션. 지맵 라이브러리.
 

지맵 Google Earth Engine의 방대한 지리공간 데이터를 분석하고 시각화할 수 있는 Python 라이브러리입니다. 

이 패키지 이전에는 이미 JavaScript 및 Python API를 통해 계산 요청을 할 수 있었지만 Python API에는 기능이 제한적이고 문서가 부족했습니다. 

이러한 격차를 메우기 위해 Geemap은 사용자가 몇 줄의 코드만으로 Google Earth Engine의 리소스에 액세스할 수 있도록 만들어졌습니다. Geemap은 다음을 기반으로 구축되었습니다. Eartengine-API, ipyleaflet 포륨.

라이브러리를 설치하려면 다음 명령만 있으면 됩니다.

pip install geemap

 

이 놀라운 패키지의 잠재력을 최대한 이해하려면 Google Colab에서 이 놀라운 패키지를 실험해 보시기 바랍니다. 보세요 이 무료 책 Geemap 및 Google Earth Engine을 시작하기 위해 Dr. Qiusheng Wu 교수가 작성한 글입니다.

Earth Engine에 액세스하는 방법은 무엇입니까?

먼저, 튜토리얼 내에서 사용될 두 개의 Python 라이브러리를 가져와야 합니다.

import ee
import geemap

 

geemap 외에도 ee라는 Earth Engine Python 클라이언트 라이브러리를 가져왔습니다. 

이 Python 라이브러리는 Earth Engine 인증에 활용될 수 있지만 Geemap 라이브러리를 직접 사용하면 더 빠를 수 있습니다.

m = geemap.Map()
m

 

인증 코드를 생성하는 이 코드 줄에서 반환된 URL을 클릭해야 합니다. 먼저 클라우드 프로젝트를 선택한 후 “GENERATE TOKEN” 버튼을 클릭하세요.

 

Geemap을 이용한 지리공간 데이터 분석
작성자의 스크린샷. 노트북 인증자.
 

그런 다음 계정을 선택하라는 메시지가 표시됩니다. Google Colab을 사용하는 경우 동일한 계정을 사용하는 것이 좋습니다.

 

Geemap을 이용한 지리공간 데이터 분석
작성자의 스크린샷. 계정을 선택하세요.
 

그런 다음 모두 선택 옆의 확인란을 클릭하고 “계속” 버튼을 누릅니다. 간단히 말해서, 이 단계를 통해 노트북 클라이언트가 Earth Engine 계정에 액세스할 수 있습니다.

 

Geemap을 이용한 지리공간 데이터 분석
작성자의 스크린샷. 노트북 클라이언트가 Earth Engine 계정에 액세스할 수 있도록 허용합니다.
 

이 작업을 수행하면 인증 코드가 생성되어 노트북 셀에 붙여넣을 수 있습니다.

 

Geemap을 이용한 지리공간 데이터 분석
작성자의 스크린샷. 인증코드를 복사하세요.
 

인증 코드를 입력하면 마침내 이 대화형 지도를 만들고 시각화할 수 있습니다.

m = geemap.Map()
m

 

Geemap을 이용한 지리공간 데이터 분석
 

지금은 Jupyter Notebook 내에서 대화형 지도를 시각화할 수 있는 Python 패키지인 ipyleaflet 위에 있는 기본 지도를 관찰하고 있습니다. 

대화형 지도 만들기

이전에는 한 줄의 코드를 사용하여 대화형 지도를 인증하고 시각화하는 방법을 살펴보았습니다. 이제 중심의 위도와 경도, 확대/축소 수준 및 높이를 지정하여 기본 지도를 사용자 정의할 수 있습니다. 유럽 ​​지도에 초점을 맞추기 위해 로마 좌표를 중심으로 선택했습니다. 

m = geemap.Map(center=[41, 12], zoom=6, height=600)
m

 

Geemap을 이용한 지리공간 데이터 분석

 

기본 지도를 변경하려면 두 가지 방법이 있습니다. 첫 번째 방법은 다음 코드 줄을 작성하고 실행하는 것입니다.

m.add_basemap("ROADMAP")
m

 

Geemap을 이용한 지리공간 데이터 분석
 

또는 오른쪽에 위치한 링 스패너 아이콘을 클릭하여 기본 맵을 수동으로 변경할 수 있습니다. 

 

Geemap을 이용한 지리공간 데이터 분석
 

또한 Geemap에서 제공하는 기본 맵 목록을 볼 수 있습니다.

basemaps = geemap.basemaps.keys()
for bm in basemaps:
   print(bm)

 

다음은 출력입니다.

OpenStreetMap
Esri.WorldStreetMap
Esri.WorldImagery
Esri.WorldTopoMap
FWS NWI Wetlands
FWS NWI Wetlands Raster
NLCD 2021 CONUS Land Cover
NLCD 2019 CONUS Land Cover
...

 

보시다시피, 일련의 긴 기본 지도가 있으며 대부분 OpenStreetMap, ESRI 및 USGS를 통해 사용할 수 있습니다.

지구 엔진 데이터 유형

Geemap의 모든 잠재력을 보여주기 전에 Earth Engine의 두 가지 주요 데이터 유형을 아는 것이 중요합니다. 다음을 살펴보세요. Google Earth Engine 문서 자세한 내용은.

 

Geemap을 이용한 지리공간 데이터 분석
작가의 일러스트레이션. 벡터 데이터 유형의 예: Geometry, Feature 및 FeatureCollection.
 

벡터 데이터를 처리할 때 우리는 주로 세 가지 데이터 유형을 사용합니다.

  • 기하학 지도에 벡터 데이터를 그리는 데 필요한 좌표를 저장합니다. Earth Engine은 Point, LineString, Polygon이라는 세 가지 주요 도형 유형을 지원합니다.
  • 특색 본질적으로 기하학과 비지리적 속성을 결합한 행입니다. GeoPandas의 GeoSeries 클래스와 매우 유사합니다.
  • FeatureCollection 일련의 기능을 포함하는 표 형식의 데이터 구조입니다. FeatureCollection과 GeoDataFrame은 개념적으로 거의 동일합니다.

 

Geemap을 이용한 지리공간 데이터 분석
작성자의 스크린샷. 이미지 데이터 유형의 예. 호주의 Smoothed Digital Elevation Model(DEM-S)
 

래스터 데이터의 세계에서 우리는 다음에 중점을 둡니다. 영상 사물. Google Earth Engine의 이미지는 하나 이상의 브랜드로 구성되며, 각 밴드에는 특정 이름, 추정 최소값 및 최대값, 설명이 포함됩니다.

이미지 컬렉션이나 시계열이 있는 경우 이미지 컬렉션 데이터 유형으로 더 적합합니다.

 

Geemap을 이용한 지리공간 데이터 분석
작성자의 스크린샷. 코페르니쿠스 CORINE 토지 덮개.
 

우리는 유럽의 토지 피복 지도를 보여주는 위성 이미지를 시각화합니다. 이 데이터 세트는 1986년부터 2018년 사이의 변경 사항을 제공합니다.

먼저 ee.Image를 사용하여 이미지를 로드한 다음 "landcover" 밴드를 선택합니다. 마지막으로 Map.addLayer를 사용하여 로드된 데이터세트를 지도에 레이어로 추가하여 이미지를 시각화해 보겠습니다. 

Map = geemap.Map()
dataset = ee.Image('COPERNICUS/CORINE/V20/100m/2012')
landCover = dataset.select('landcover')
Map.setCenter(16.436, 39.825, 6)
Map.addLayer(landCover, {}, 'Land Cover')
Map

 

Geemap을 이용한 지리공간 데이터 분석
작성자의 스크린샷.
 

마찬가지로 유럽의 토지 피복 지도를 보여주는 위성 이미지를 로드하고 시각화하기 위해 동일한 작업을 수행할 수 있습니다. 이 데이터 세트는 1986년부터 2018년 사이의 변경 사항을 제공합니다.

 

Geemap을 이용한 지리공간 데이터 분석
작성자의 스크린샷. 메탄 농도의 오프라인 고해상도 이미지.

 

Earth Engine ImageCollection을 시각화하기 위한 코드 줄은 ee.ImageCollection을 제외하고 유사합니다. 

Map = geemap.Map()
collection = ee.ImageCollection('COPERNICUS/S5P/OFFL/L3_CH4').select('CH4_column_volume_mixing_ratio_dry_air').filterDate('2019-06-01', '2019-07-16')
band_viz = {
 'min': 1750,
 'max': 1900,
 'palette': ['black', 'blue', 'purple', 'cyan', 'green', 'yellow', 'red']
}

Map.addLayer(collection.mean(), band_viz, 'S5P CH4')
Map.setCenter(0.0, 0.0, 2)
Map

 

Geemap을 이용한 지리공간 데이터 분석
작성자의 스크린샷.
 

훌륭해요! 이 지도에서 우리는 온실 효과의 가장 중요한 원인 중 하나인 메탄이 지구 내에서 어떻게 분포되어 있는지 알 수 있습니다. 

최종 생각

이것은 Python을 사용하여 Google Earth Engine 데이터로 작업하는 데 도움이 되는 입문 가이드였습니다. Geemap은 이러한 유형의 데이터를 시각화하고 분석하는 가장 완벽한 Python 라이브러리입니다. 

이 패키지에 대해 더 자세히 알아보려면 아래에서 제안한 리소스를 살펴보세요. 

코드를 찾을 수 있습니다 여기에서 지금 확인해 보세요.. 이 기사가 도움이 되었기를 바랍니다. 좋은 하루 되세요!

유용한 자료 :

 
 

유지니아 아넬로 현재 이탈리아 파도바대학교 정보공학과 연구원으로 재직 중이다. 그녀의 연구 프로젝트는 이상 탐지와 결합된 지속적인 학습에 초점을 맞추고 있습니다.

spot_img

최신 인텔리전스

spot_img