ゼファーネットのロゴ

Geemap を使用した地理空間データ分析 – KDnuggets

日付:

Geemap を使用した地理空間データ分析
著者によるイラスト
 

地理空間データ分析は、地理空間データと呼ばれる特殊な種類のデータを処理、視覚化、分析することを目的とした分野です。通常のデータと比較して、緯度や経度などの位置情報の列が追加された表形式のデータがあります。 

データには主にベクター データとラスター データの 2 種類があります。ベクター データを扱う場合も表形式のデータセットが使用されますが、ラスター データは衛星画像や航空写真などの画像に似ています。 

この記事では、衛星画像の膨大なデータ カタログを提供するクラウド コンピューティング プラットフォームである Google Earth Engine によって提供されるラスター データに焦点を当てます。この種のデータは、Geemap と呼ばれる命を救う Python パッケージを使用して、Jupyter Notebook から簡単にマスターできます。始めましょう!

Google Earth エンジンとは何ですか?

Geemap を使用した地理空間データ分析
作者によるスクリーンショット。 Google Earth エンジンのホームページ。
 

Python ライブラリを使い始める前に、次の可能性を理解する必要があります。 Google Earth Engine。 Google Cloud プラットフォームを利用したこのクラウドベースのプラットフォームは、学術、非営利、ビジネス目的で公開されている無料の地理空間データセットをホストします。

 

Geemap を使用した地理空間データ分析
作者によるスクリーンショット。 Earth Engine データ カタログの概要。 
 

このプラットフォームの利点は、Earth Engine サーバーに保存されたラスター データとベクター データのマルチ ペタバイトのカタログを提供できることです。ここから概要を簡単に把握できます 。さらに、ラスター データセットの分析を容易にする API も提供します。 

ジーマップとは何ですか?

Geemap を使用した地理空間データ分析
著者によるイラスト。ジーマップライブラリ。
 

ジーマップ は、Google Earth Engine からの膨大な量の地理空間データを分析および視覚化できる Python ライブラリです。 

このパッケージが登場する前は、JavaScript および Python API を介して計算リクエストを行うことがすでに可能でしたが、Python API には機能が制限されており、ドキュメントが不足していました。 

このギャップを埋めるために、ユーザーが数行のコードで Google Earth Engine のリソースにアクセスできるようにする Geemap が作成されました。 Geemap は以下に基づいて構築されています イヤーエンジンAPI, アイピーリーフレット & folium.

ライブラリをインストールするには、次のコマンドのみが必要です。

pip install geemap

 

この素晴らしいパッケージの可能性を最大限に理解するには、Google Colab でこの素晴らしいパッケージを試してみることをお勧めします。を見てみましょう この無料の本 Geemap と Google Earth Engine の入門用に Qiusheng Wu 教授によって書かれたものです。

Earth Engine にアクセスするにはどうすればよいですか?

まず、チュートリアル内で使用する 2 つの 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 を使用した地理空間データ分析
作者によるスクリーンショット。アカウントを選択してください。
 

次に、「すべて選択」の横にあるチェックボックスをクリックし、「続行」ボタンを押します。簡単に言うと、この手順により、Notebook クライアントが Earth Engine アカウントにアクセスできるようになります。

 

Geemap を使用した地理空間データ分析
作者によるスクリーンショット。 Notebook クライアントが Earth Engine アカウントにアクセスできるようにします。
 

このアクションの後、認証コードが生成され、それをノートブックのセルに貼り付けることができます。

 

Geemap を使用した地理空間データ分析
作者によるスクリーンショット。認証コードをコピーします。
 

確認コードを入力すると、最終的にこの対話型マップを作成して視覚化できるようになります。

m = geemap.Map()
m

 

Geemap を使用した地理空間データ分析
 

現時点では、Jupyter Notebook 内で対話型マップの視覚化を可能にする Python パッケージである ipyleaflet 上のベース マップを観察しているだけです。 

インタラクティブなマップを作成する

これまで、1 行のコードを使用してインタラクティブ マップを認証および視覚化する方法について説明しました。ここで、重心の緯度と経度、ズームのレベル、高さを指定して、デフォルトのマップをカスタマイズできます。ヨーロッパの地図に焦点を当てるために、中心としてローマの座標を選択しました。 

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

 

Geemap を使用した地理空間データ分析

 

ベースマップを変更したい場合は、2 つの方法があります。最初の方法は、次のコード行を記述して実行することで構成されます。

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 のおかげで利用可能です。

Earth Engine のデータ型

Geemap の可能性を最大限に発揮する前に、Earth Engine の 2 つの主要なデータ タイプを理解しておくことが重要です。を見てください。 Google Earth Engine のドキュメント のガイドをご参照ください。

 

Geemap を使用した地理空間データ分析
著者によるイラスト。ベクトル データ タイプの例: Geometry、Feature、FeatureCollection。
 

ベクトル データを処理するときは、主に 3 つのデータ型を使用します。

  • 幾何学 マップ上にベクトル データを描画するために必要な座標を格納します。 Earth Engine では、ポイント、ラインストリング、ポリゴンの 3 つの主要なタイプのジオメトリがサポートされています。
  • 特徴 は基本的に、ジオメトリと非地理的属性を組み合わせた行です。これは、GeoPandas の GeoSeries クラスに非常に似ています。
  • 機能コレクション は、一連の機能を含む表形式のデータ構造です。 FeatureCollection と GeoDataFrame は概念的にはほぼ同一です。

 

Geemap を使用した地理空間データ分析
作者によるスクリーンショット。画像データ型の例。これは、オーストラリアの平滑化デジタル標高モデル (DEM-S)
 

ラスター データの世界では、次の点に重点を置いています。 画像 オブジェクト。 Google Earth Engine の画像は 1 つ以上のブランドで構成されており、各バンドには特定の名前、推定最小値と最大値、および説明が付いています。

画像のコレクションまたは時系列がある場合、 画像コレクション データ型としては、より適切です。

 

Geemap を使用した地理空間データ分析
著者によるスクリーンショット。 コペルニクス コリンの土地被覆.
 

ヨーロッパの土地被覆地図を示す衛星画像を視覚化します。このデータセットは、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 を使用した地理空間データ分析
著者によるスクリーンショット。
 

それは素晴らしいことです!この地図から、温室効果への最も重要な寄与物質の 1 つであるメタンが地球内でどのように分布しているかがわかります。 

最終的な考え

これは、Python を使用して Google Earth Engine データを操作するのに役立つ入門ガイドでした。 Geemap は、この種のデータを視覚化および分析するための最も完全な Python ライブラリです。 

このパッケージについてさらに詳しく知りたい場合は、以下で提案したリソースを参照してください。 

コードは見つけることができます こちら。この記事がお役に立てば幸いです。良い1日を!

有用なリソース:

 
 

ユージニア・アネロ 現在、イタリアのパドバ大学の情報工学科の研究員です。 彼女の研究プロジェクトは、異常検出と組み合わせた継続的学習に焦点を当てています。

スポット画像

最新のインテリジェンス

スポット画像