このクイックスタートでは、Earth Engine Python インターフェースを使用して地理空間データを可視化、分析する方法についてインタラクティブに説明します。
始める前に
Google Cloud プロジェクトを登録または作成します。次の手順を完了するよう求められます。Earth Engine アクセス用にプロジェクトがすでに登録されている場合は、次のセクションに進みます。
- プロジェクトの目的(商用または非商用)を選択します。
- 目的が非営利の場合は、プロジェクト タイプを選択します。
- 新しい Google Cloud プロジェクトを作成するか、既存のプロジェクトを選択します。
- 目的が商業目的の場合は、プロジェクトの請求先を確認または設定します。
- プロジェクト情報を確認します。
注: この手順で作成するリソースをそのまま保持する予定でない場合、既存のプロジェクトを選択するのではなく、新しいプロジェクトを作成してください。これらの手順が完了したら、プロジェクトを削除して、プロジェクトが所有するすべてのリソースを削除できます。
ノートブックの設定
Jupyter ノートブックを使用すると、Earth Engine を使用して結果をインタラクティブに探索できます。すぐに始めるには、Google Colab ノートブックのノートブックを使用します。新しいノートブックを開くして次のコード チャンクを個々のセルにコピーするか、事前入力された Earth Engine Python クイックスタート ノートブックを使用します。- Earth Engine ライブラリと geemap ライブラリをインポートします。
import ee import geemap.core as geemap
- Earth Engine サービスを認証して初期化します。表示されるプロンプトに沿って認証を完了します。PROJECT_ID は、このクイックスタート用に設定したプロジェクトの名前に置き換えてください。
ee.Authenticate() ee.Initialize(project='PROJECT_ID')
ラスターデータを地図に追加する
- 特定の期間の気候データを読み込み、そのメタデータを表示します。
jan_2023_climate = ( ee.ImageCollection('ECMWF/ERA5_LAND/MONTHLY_AGGR') .filterDate('2023-01', '2023-02') .first() ) jan_2023_climate
- 地図オブジェクトをインスタンス化し、特定のビジュアリゼーション プロパティを持つレイヤとして温度帯を追加します。地図を表示します。
m = geemap.Map(center=[30, 0], zoom=2) vis_params = { 'bands': ['temperature_2m'], 'min': 229, 'max': 304, 'palette': 'inferno', } m.add_layer(jan_2023_climate, vis_params, 'Temperature (K)') m
ベクターデータを地図に追加する
- 3 つの都市の地点を含むベクター データ オブジェクトを作成します。
cities = ee.FeatureCollection([ ee.Feature(ee.Geometry.Point(10.75, 59.91), {'city': 'Oslo'}), ee.Feature(ee.Geometry.Point(-118.24, 34.05), {'city': 'Los Angeles'}), ee.Feature(ee.Geometry.Point(103.83, 1.33), {'city': 'Singapore'}), ]) cities
- 都市の場所を地図に追加して、地図を再表示します。
m.add_layer(cities, name='Cities') m
データの抽出とチャート化
- Altair チャート ライブラリをインポートします。
%pip install -q --upgrade altair import altair as alt
- 3 つの都市の気候データを pandas DataFrame として抽出します。
city_climates = jan_2023_climate.reduceRegions(cities, ee.Reducer.first()) city_climates_dataframe = ee.data.computeFeatures( {'expression': city_climates, 'fileFormat': 'PANDAS_DATAFRAME'} ) city_climates_dataframe
- 都市の温度を棒グラフとしてプロットします。
alt.Chart(city_climates_dataframe).mark_bar(size=100).encode( alt.X('city:N', sort='y', axis=alt.Axis(labelAngle=0), title='City'), alt.Y('temperature_2m:Q', title='Temperature (K)'), tooltip=[ alt.Tooltip('city:N', title='City'), alt.Tooltip('temperature_2m:Q', title='Temperature (K)'), ], ).properties(title='January 2023 temperature for selected cities', width=500)
次のステップ
- Earth Engine のオブジェクトとメソッドを使用してデータを分析する方法について学習する。
- Earth Engine の処理環境について学習する。
- Earth Engine のML 機能について学習する。
- 計算結果を BigQuery にエクスポートする方法を学習する。