はじめに
Google Earth Engineにカスタムデータを200GBアップロードできると聞いたので、このくらいあれば実用的に使えるかな、と思って使ってみることにしました。自分はJavaScript使いではないので、WebのJaveScriptのIDEではなくローカルのPythonからEarth Engineを使いたいと思ったのですが、PythonからGoogle Earth Engineを操作する日本語情報がほとんどなかったので、自分メモを兼ねての覚え書きです。GoogleおすすめのDockerでもなく、あえて普通のPython環境を構築してみました。
実行環境
使った環境はAnaconda on macOS Mojaveです。パッケージマネージャーはconda 4.5.11でした。
仮想環境構築
https://developers.google.com/earth-engine/python_install_manual
を参考にPythonと必要なパッケージをインストールしていきます。公式情報では「Python 2.6 or 2.7を使え」って書いてありますが、あえてPython 3.7を使ってみます(今更Python 2系はなんだかなぁと思うので・・・)。とりあえずインストールまではうまくいったのですが、完全に互換性があるのかはわかりません(詳しい人教えてください)。不安な人は普通に2.6か2.7をインストールしてください。
まずはconda
でEarth Engine用の環境(ここではee
)を作りPython 3.7をインストールします。必要なパッケージをconda
からインストールするにはconda-forge
レポジトリが必要なので、バイナリ互換性問題を避けるため、レポジトリにはconda-forge
を指定しておきます。
conda create -n ee python=3.7 -c conda-forge
インストールが終わったら環境をアクティブにします。
# Mac/Linuxなどの人
source activate ee
# Windowsの人
activate ee
必要なパッケージのインストール
次に必要なパッケージをインストールします。まずはgoogle-api-python-client
を。
conda install google-api-python-client -c conda-forge
インストール手順に従ってcryptが使用可能かをテストします。
python -c "from oauth2client import crypt"
とりあえず自分の環境では問題がなかったので次にearthengine-api
をインストールします。
conda install earthengine-api -c conda-forge
アクセス許可
インストールしたローカルのクライアントにEarth Engineへのアクセス許可を与えるため、認証を行います。ターミナルに以下のコマンドを打ち込むと、ブラウザで認証を要求されるのでGoogleアカウントでログインし、「許可」ボタンを押してアクセス許可を与えます。Google Earth Engineへの登録はもう済んでいると仮定しています。登録済みではない人は登録しましょう。
earthengine authenticate
ブラウザで許可ボタンを押すと画面にアクセスコードが表示されるので、コマンドを実行したターミナルにコードをコピペします。
確認
最後にインストールがうまくいったかを確認します。
python -c "import ee; ee.Initialize()"
インストールがうまくいっていれば、エラーメッセージが表示されず、コマンドが実行できるはずです。