Google Earth Engineって?

Google Earthじゃないよ、Google Earth Engineだよ

2010年、Googleは新たなサービス「Google Earth Engine」をリリースしました。これは、大量の衛星画像を、クラウド上で(研究・教育・非営利目的ならば)無料で解析・利用できるという画期的なものです。

Google Earthは割と有名だと思いますが、別物です。Google Earth、いちおう紹介しておくと、自分の端末にアプリをインストールして(オンライン閲覧サービスもありますが)、地球の3Dモデルをグリグリ回しながら高解像度の衛星画像を表示できるアレです。あれはあれで大変便利なのですが、基本的には表示のためのアプリですので、GIS解析としては簡単な距離計算くらいしかできません。また、表示されている衛星画像をダウンロードして使う、といったこともできません(購入したら一枚数万〜数十万円もする商用衛星画像を全世界無料で見れるというだけでたいへん画期的なのですが)。

いっぽう、Google Earth Engineは、Googleのクラウド環境と、豊富なツールが用意されたAPIを利用して、大量のオープン衛星データを解析できるサービスです。必要ならば解析結果や、オリジナルの衛星画像をダウンロードすることもできます。


何がそんなにすごいの?

オープン衛星データ(つまり既に無料公開されている衛星データ)だったら、自分で配布機関からダウンロードして好きに解析すればいいじゃん、何がそんなに画期的なの、と思われるかもしれません。

一言で言うと、それ大変なんです。

データのダウンロード先を探し当て(しばしばユーザー登録&認証も必要)、各機関のデータフォーマットを解読してそれぞれにあわせた前処理を行い、専用のGISソフトを使って、ようやく画像1枚表示することができる。私は専門で衛星リモートセンシングをやっている研究者の端くれですが、それでも初めて使う衛星データを前にすると、読み込みだけで悪戦苦闘することしばしばです。いろんな種類の衛星データを組み合わせて使いたいなあ、などとなった日にはその手間が複数回発生します。

また、大量の衛星データを使うとなると、誠にストレージを食います。昨今は衛星データの蓄積(数十年分)とオープンデータ化が進んできており、入手可能なデータを全部使って解析しようと思うと、対象地域を限定しても何十テラバイトもの容量が必要になったりします。

また、人生において貧弱な解析マシンしか手元にない、という状況は当然ありえます。メモリの少ないノートPCでは画像の読み込みさえ困難かもしれません。数世代前のCPUでは、高度な機械学習が一年経っても終わらない可能性があります。

というわけで、

  • 形式の整った前処理済みデータ(analysis ready data: ARDといいます)が集積されており、

  • データをダウンロードしなくても解析でき、

  • 計算をGoogleのサーバに任すことができる、

というのは大変ありがたいわけです(オンライン環境さえあれば、ですが・・・)。特に、長期の時系列解析をやりたい場合にこの利点が顕著にでます。公開衛星画像というのはふつうそれなりの空間的広がりをもったシーン単位で提供されます。あるシーンの中の1点(観測所とか自分の家とか)にだけ関心がある場合でも、ローカルで解析するなら、いらない地域も含めた大量の時系列画像をまずダウンロードしなければなりません。それらに1シーン1シーン前処理を行い、あらためて見たい点のデータだけを抽出して時系列に並べ直す、という不毛が発生します。Google Earth Engineを使えば、関心のある点の時系列変化をグラフにするところまでクラウド上でできますし、元データをダウンロードするにしても、関心点の周りだけ切り出したデータを自動ダウンロード、みたいなことができます。

また、これはGoogle Earth Engineというよりクラウドサービス全般がそうだと思いますが、コードの管理や共有が効率化されます。ローカルに自作スクリプトを置いておくと、出先で見れないとかバックアップが大変とかあると思いますが、後述するようにGoogle Earth Engineはクラウド上のAPIに解析スクリプト(javascript)が保存できるので、オンライン環境さえあればどこからでも見れますし、ワンクリックでコード&解析結果を共有できます。

まあそもそもローカルで解析する場合でも、日頃からJupyter notebookを使ったり、githubでコード管理しろという話なのかもしれませんがそんなに意識が高くな


そういうわけなので、まあやってみましょう。

クラウドサービスなので、事前登録が必要です。といっても、Googleアカウントを作り、signupページにアクセスすれば完了です。次に進む前にやっておいてください。