App Engine の例アプリ

以下では、GitHub の Earth Engine デモ ディレクトリにある例について説明します。各例のタイトルは、GitHub のソースへのリンクです。サンプルは、Earth Engine で認証する方法別に整理されています。認証オプションとこれらのアプリケーションのデプロイ方法の詳細については、App Engine と Earth Engine の概要をご覧ください。

サービス アカウントによる認証

server-auth-python

アセット

始める前に、この例を App Engine プラットフォーム上の Earth Engine アプリケーションの「Hello World」と見なしてください。このアプリには、Earth Engine 画像(SRTM 標高)を含むインタラクティブな地図が表示されます。config.py ファイルを調べます。このファイルは、プロジェクトのサービス アカウントの認証情報で変更する必要があります。Earth Engine 固有のコードは server.py にのみ存在します(2 行)。Earth Engine は、アプリのページに表示する画像の mapid を取得し、この値をページのレンダリングに使用される Jinja テンプレートに渡します。


server-auth-nodejs

上記の例と同じように、代わりに Node.js を使用します。server.js ファイルは、.private-key.json ファイルからサービス アカウントの認証情報を読み込み、アプリのページに表示する画像のマップ ID を取得します。


trendy-lights

アセット

これは、サーバー認証を使用する複雑な例です。地図に複数のポリゴンを追加し、ユーザーがポリゴンをクリックすると、ポリゴンの詳細が表示されます。グラフ作成には Google Visualization API を使用し、AJAX と呼ばれる手法でページを更新せずにサーバーから新しいデータを取得します。


cloud-functions

アセット

この例では、サーバー認証に Node.js の Cloud Functions を使用します。Earth Engine API と TurfJS を使用すると、この関数はヘキサビン可視化用の GeoJSON を作成します。ウェブページは静的(Cloud Storage でホスト)で、地図上にヘキサビン可視化を表示します。他の例とは異なり、このデモでは App Engine は使用しません。


OAuth2 による認証

client-auth

アセット

この例は、クライアントから認証するための OAuth フローを説明しています。具体的には、ユーザーがアプリを使用するには、自身として認証する必要があります(つまり、すでに Earth Engine ユーザーである必要があります)。これを実現するには、デベロッパー コンソールから JavaScript オリジンと承認済みのリダイレクトを設定する必要があります。


map-layer

アセット

この例では、クライアント認可フローも使用します。ee.MapLayerOverlay を使用して Earth Engine データを地図に追加し、コールバック関数を使用して読み込まれたタイルの数を追跡する方法を示しています。(このデモのマッピング機能はすべて、サーバー認証デモで行っているように、サーバー上で生成されたマップ ID を使用して行うことができます)。


polygon-drawing

アセット

この例では、クライアント認可フローも使用します。この例では、地図上にポリゴンを描画し、Earth Engine でポリゴンを使用して減算領域を実行し、ポリゴンの平均を表示する機能について説明します。(このデモのマッピング機能はすべて、サーバー認証デモと同様に、サーバー上で生成されたマップ ID を使用して実行できます)。


export-to-drive

アセット

これは比較的複雑な例です。2 つの認証フローの使用方法を示します。1 つはアプリケーションの認証情報を使用する Earth Engine 用、もう 1 つはユーザーの個人認証情報を使用する Google ドライブ用です。ユーザーは、レイヤを選択してポリゴンを描画し、ポリゴンでクリップされたレイヤをドライブにエクスポートできます。