PythonでGoogle Earth Engine APIを使う方法【ビッグデータと衛星画像分析】

Google Earth Engine を使って衛星画像分析・リモートセンシングがしたいというあなたに。

 

グリット
この記事では、PythonでGoogle Earth EngineのAPIを利用する方法をご紹介します。

Python はAnaconda でダウンロードし、IDEとしては、Jupyter Notebookをわたしは使っていますが、他のIDEでも問題なく利用できます。

 

AnacondaのパッケージダウンロードやJupyter Notebookの使い方については、すでに多くの資料がありますので、Googleで調べてみてください。
Ad

Google Earth Engineでできる分析と利用する理由

ここでは、衛星画像分析やリモートセンシング、GISという分野で、なぜGoogle Earth Engineを利用すると良いのかということについて説明します。

すでにGoogle Earth Engineを利用しており、何ができるか分かっているという方は、次の章まで飛ばしてください。

夜間の光・地表面温度など、目で見える衛星画像以上データを分析できる

まず1点目の特徴が、目で見える衛星画像以上のデータ分析ができるところです。

通常のGoogleマップやGoogle Earth で扱われているのは、目で見える衛星画像のデータです。

例えば、こんな画像ですよね。

(出典: Google Earth)

 

グリット
海は青色で自然のあるところは緑、都市はグレーで、ズームすると道路や建物が見れるという感じですよね。

 

Google Earth Engineを使うことにより、目で見るだけでは分からない、様々なデータを分析することができます。

例えば、次の図は2018年7月の平均気温

気温のデータを利用して、過去と比べて気温が暑くなっている都道府県はどこなのか分析してみました。

詳細は「日本一暑い街ランキング:1位は群馬県の○町」の記事を読んでみてください。

他にも、自然(みどり)の量や降雨量、夜の光の量などのデータを扱うこともできます。

衛星画像データをダウンロードする必要がない

2つ目の特徴は、データサイズの大きい衛星画像データをコンピュータ上にダウンロードする必要がない点です。

これまで、GISなどのソフトウェアを用いた分析では、基本的にデータをダウンロードして、パソコン上で分析するのが主流でした。

しかし、Google Earth Engineはコードさえ書けば、Google Earth Engineのシステム上で分析をしてくれるので、スピードが早い上に、自分のパソコンの容量を気にする必要がありません。

通常、このコードというのは、

Google Earth Engineの使い方【入門編】夜間光データ分析」を読んでみてください。

関連記事

前回の記事で紹介した、夜間光を用いた経済分析は、実際にGoogle Earth Engine (グーグル アース エンジン)を使って分析しました。[blogcard url=https://www.global-li[…]

GEE data analysis title

 

Pythonを用いたGoogle Earth Engine分析

この章では、Pythonを用いてGoogle Earth Engineのサーバーにつなぎ、分析する方法をご紹介します。

 

基本的には、Google Earth EngineはオンラインのコードエディタでJavaScriptを使用して分析するのが基本です。

Pythonを用いた分析は、その前後の作業と含めて自動化ができたり、整合性が取りやすいメリットがありますが、まだ資料が少なく少し使いにくいデメリットはあります。

Python のバージョンは2.x 3.xともに対応しています。

手順1:Pythonをインストールする

まず、Pythonをインストールしていない人はインストールしましょう。

わたしはAnacondaのパッケージとしてインストールしました。

ターミナルウィンドウ(Anacondaプロンプト、またはそれ以外の方法でインストールした方は、Windowsならコマンドプロンプト、Macならターミナル)を開きましょう。

Pythonのどのバージョンが入っているかは、次のコードで確認しましょう。

python --version

ここまでで、Pythonをインストールすることができました。

手順2:Google Earth Engine APIのパッケージをインストールする

続いて、ターミナルウィンドウにてGoogle Earth Engineのパッケージをインストールしていきます。

次のコードを入力しましょう。

conda install -c conda-forge earthengine-api 

もしAnacondaではなく、pipを利用している場合は、次のコードを利用してください。

Anacondaとpipは両方使うとよくないので注意しましょう。

sudo pip install earthengine-api

これで、Google Earth Engineのパッケージをインストールすることができました。

しかし、パッケージをダウンロードしただけでは使う許可が下りていないため、実際に使うことはできません。

そこで、Google Earth Engine の認証手続きをしていきましょう。

手順3:認証手続き

それでは、認証手続きの方法についてご紹介します。

Earth Engine APIは、クライアントの認証にOAuth 2.0プロトコルというものを使用しています。

Googleのアカウントがない人は必要なので、登録しておいてください。

Google Earth Engineへの登録もおそらく必要だと思います。

 

登録が終わった方、すでにできている方は、次のコードを入力して認証手続きを始めましょう。

python -c "import ee; ee.Initialize()"

このコードを入力すると、コンピュータはGoogle Earth Engineの認証データを探します。

まだ認証手続きをしていないので、エラーメッセージが出ると思います。

エラーメッセージの指示に従い、認証手続きを進めていきます。

主な流れは次の通りです。

  1. エラーメッセージに表示されたコマンドを新しいターミナルウィンドウ(Anacondaプロンプトなど)にコピーして実施する
  2. accept(同意する)をクリックすると、ウェブサイトが開かれ、認証コードが表示されます。
  3. この認証コードをコピーして、ターミナルウィンドウに貼り付ければ完了です。

手順4:インストールできているか確認する

認証が正しく設定されたことをテストしてみましょう。

次の3つのコードがそれぞれうまく行けば、インストールと認証がうまくいっています。

#Earth Engine Python Packageをインストールするimport ee
# 認証情報をもとに、初期化するee.Initialize()
# イメージの情報を表示するimage = ee.Image('srtm90_v4')print(image.getInfo())

無事ここまでできれば、Google Earth EngineをPythonでアクセスして利用する準備は整いました。

手順5:Jupyter Notebook(IDE)などで分析する

このままターミナルウィンドウで分析をすることもできますが、Jupyter NotebookなどのIDEを使って開発するのが便利です。

Google Earth Engineで分析を始めるには、次のコードでGoogle Earth Engineのパッケージをインストールし、コードを入力していきましょう。

import ee

PythonでGoogle Earth Engine APIを使う方法【Jupyter Notebook】まとめ

この記事では、Pythonを用いてGoogle Earth Engineで分析する方法をご紹介しました。

Google Earth Engineの公式ホームページの情報(英語)を参考にさせていただきました。

それではまとめに入ります。

Google Earth Engineを使うメリットは2つ

  1. 夜間の光・地表面温度など、目で見える衛星画像以上データを分析できる
  2. 衛星画像データをダウンロードする必要がないから早くて軽い

Pythonを用いてアクセスし、分析することもでき、その方法を後半でご紹介しました。

多くのコードがJavascriptなので、Pythonで分析するには細々として修正作業が必要になり、まだ利便性は限定的です。

しかし、Pythonを用いると前後の衛星画像分析以外の分析と一連の流れとして分析しやすいというメリットもあります。

 

グリット
ぜひ、ビッグデータの時代に衛星画像データの分析をしてみたいという方は、トライしてみてください。

 

記事はいかがでしたか?

読んでいただいた方に関心がありそうな広告が表示されます。

<スポンサーリンク>

最新情報をチェックしよう!
Ad