ラスターデータを使用して温度を分析する
このチュートリアルでは、ラスターデータに対して地理空間分析を行う方法について説明します。
目標
- BigQuery Sharing(旧 Analytics Hub)で一般公開されている Google Earth Engine データを見つけます。
ST_REGIONSTATS
関数を使用して、特定の時点における各国の平均気温を計算します。- 結果を BigQuery Geo Viz で可視化します。BigQuery Geo Viz は、Google Maps API を使用して BigQuery の地理空間データを可視化するためのウェブツールです。
費用
のドキュメントでは、課金対象である次の Trusted Cloud by S3NSコンポーネントを使用します。
始める前に
このチュートリアル用に Trusted Cloud プロジェクトを作成することをおすすめします。また、このチュートリアルを完了するために必要なロールが付与されていることを確認してください。
Trusted Cloud プロジェクトを設定する
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.
-
Verify that billing is enabled for your Trusted Cloud project.
-
Enable the BigQuery, BigQuery sharing, and Google Earth Engine APIs.
-
Earth Engine リソース閲覧者(
roles/earthengine.viewer
) -
Service Usage ユーザー(
roles/serviceusage.serviceUsageConsumer
) -
BigQuery データ編集者(
roles/bigquery.dataEditor
) -
earthengine.computations.create
-
serviceusage.services.use
-
bigquery.datasets.create
[共有(Analytics Hub)] ページに移動します。
[リスティングを検索]
をクリックします。[リスティングを検索] フィールドに「
"ERA5-Land Daily Aggregated"
」と入力します。結果をクリックします。詳細ペインが開き、ERA5-Land 気候再解析データセットに関する情報が表示されます。これには、説明、バンド情報へのリンク、提供状況、ピクセルサイズ、利用規約が含まれます。
[登録] をクリックします。
省略可: [プロジェクト] を更新します。
[リンクされたデータセット名] を「
era5_climate_tutorial
」に変更します。[保存] をクリックします。リンクされたデータセットがプロジェクトに追加されます。このデータセットには、
climate
という単一のテーブルが含まれます。Geo Viz ウェブツールを開きます。
または、[クエリ結果] ペインで、[次で開く] > [GeoViz] をクリックします。
手順 1 の [クエリ] で [承認] をクリックします。
[アカウントの選択] ダイアログで Google アカウントをクリックします。
アクセス ダイアログで [許可] をクリックして、Geo Viz に BigQuery データへのアクセスを許可します。
ステップ 1 の [データを選択] で [プロジェクト ID] フィールドにプロジェクト ID を入力します。
クエリ ウィンドウで、次の GoogleSQL クエリを入力します。クエリ結果から Geo Viz を開いた場合、このフィールドにはクエリがすでに入力されています。
WITH SimplifiedCountries AS ( SELECT ST_SIMPLIFY(geometry, 10000) AS simplified_geometry, names.primary AS name FROM `bigquery-public-data.overture_maps.division_area` WHERE subtype = 'country' ) SELECT sc.simplified_geometry AS geometry, sc.name, ST_REGIONSTATS( sc.simplified_geometry, 'ee://ECMWF/ERA5_LAND/DAILY_AGGR/20250101', 'temperature_2m' ).mean - 273.15 AS mean_temperature FROM SimplifiedCountries AS sc ORDER BY mean_temperature DESC;
[実行] をクリックします。
[fillColor] パネルを開くには、ステップ 3 の [スタイル] をクリックします。
[データドリブン] 切り替えボタンをクリックしてオンにします。
[関数] で [線形] を選択します。
[フィールド] で [
mean_temperature
] を選択します。[ドメイン] で最初のボックスに「
-20
」、2 番目のボックスに「32
」と入力します。[範囲] で最初のボックスをクリックし、[16 進数] のボックスに「
#0006ff
」と入力し、2 番目のボックスをクリックして「#ff0000
」と入力します。これにより、2025 年 1 月 1 日の平均気温に基づいて各国の色が変わります。青は低温、赤は高温を表します。[fillOpacity] をクリックします。
[値] に「
.5
」と入力します。[スタイルを適用] をクリックします。
マップ上で確認します。国をクリックすると、国の名前、平均気温、簡略化されたジオメトリが表示されます。
- In the Trusted Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- 地理空間分析のオプションを可視化する。地理空間データの可視化をご覧ください。
- ラスターデータを操作する。ラスターデータを操作するをご覧ください。
- 地理空間分析で使用できる地理関数の詳細を確認する。GoogleSQL の地理関数をご覧ください。
必要なロール
このチュートリアルのタスクを実行するために必要な権限を取得するには、プロジェクトに対して次の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
これらの事前定義ロールには、このチュートリアルのタスクを実行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
このチュートリアルのタスクを実行するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
データセットを購読する
このチュートリアルで使用するデータセットを見つける手順は次のとおりです。
ラスター ID を確認する
era5_climate_tutorial.climate
テーブルの各行には、特定の日付の気象データを含むラスター画像のメタデータが含まれています。次のクエリを実行して、2025 年 1 月 1 日のラスター画像のラスター ID を抽出します。
SELECT
assets.image.href
FROM
`era5_climate_tutorial.climate`
WHERE
properties.start_datetime = '2025-01-01';
結果は ee://ECMWF/ERA5_LAND/DAILY_AGGR/20250101
です次のセクションでは、これを ST_REGIONSTATS
関数の raster_id
引数に使用します。
平均気温を計算する
次のクエリを実行して、ST_REGIONSTATS
関数を使用して、2025 年 1 月 1 日の各国の平均気温を計算します。
WITH SimplifiedCountries AS (
SELECT
ST_SIMPLIFY(geometry, 10000) AS simplified_geometry,
names.primary AS name
FROM
`bigquery-public-data.overture_maps.division_area`
WHERE
subtype = 'country'
)
SELECT
sc.simplified_geometry AS geometry,
sc.name,
ST_REGIONSTATS(
sc.simplified_geometry,
'ee://ECMWF/ERA5_LAND/DAILY_AGGR/20250101',
'temperature_2m'
).mean - 273.15 AS mean_temperature
FROM
SimplifiedCountries AS sc
ORDER BY
mean_temperature DESC;
このクエリは、国を含む地球上のさまざまな地域の境界を表す GEOGRAPHY
値を含む、一般公開されている division_area
テーブルで実行されます。ST_REGIONSTATS
関数は、ラスター画像の temerature_2m
バンドを使用します。このバンドには、指定したピクセルの地表から 2 m 上空の空気の温度が含まれています。
Geo Viz でクエリ結果を可視化する
次に、BigQuery Geo Viz を使用して結果を可視化します。
Geo Viz を起動して認証する
Geo Viz を使用するには、その前に認証を行い、BigQuery のデータへのアクセス権を付与する必要があります。
Geo Viz を設定するには、次の手順で操作します。
Geo Viz でクエリを実行する
認証してアクセス権を付与したら、次に Geo Viz でクエリを実行します。
クエリを実行する手順は次のとおりです。
スタイルを適用する
[スタイル] セクションには、カスタマイズ可能なビジュアル スタイルの一覧が表示されます。各スタイルの詳細については、可視化をフォーマットするをご覧ください。
マップの形式を設定する手順は次のとおりです。