はじめに
Google Earth Engine (GEE) では、人工衛星などで観測したさまざまな情報を元に解析ができます。標高のデータを使ったり、植生を調べたりすることもできます。
GEEでは気温のデータを扱うこともできるので、今回はGEEでは気温のデータをどのように扱えるか紹介したいと思います。
Google Earth Engine で気温を扱ってみた
使うデータセット
今回は気温のデータを扱うといいましたが、気温に関するデータをどのように探せばいいでしょうか。 Google Earth Engine で使えるデータセットはカタログとして、以下のページに掲載されています。
そこには大量のデータセットを見ることができるのですが、多すぎて探すことが難しいかもしれません。そこで、タグによる検索機能を使います。データセットにはタグがついているので(全部は見てないので、おそらくついています)、今回は temperture
のタグを使って、気温に関するデータセットを決めました。
今回使用するデータセットは、ERA5-Land Daily Aggregated - ECMWF Climate Reanalysis
です。このデータセットは、利用可能なデータが 2023/07/11 といった最近のデータを扱えるため選びました。
気温データを地図に描画してみる
まずは気温データを描画してみます。先ほど紹介したデータセットの temperature_2m
というバンドを使って描画していきます。これは地表、もしくは水面から 2m 上部の気温がまとまっているバンドです。
// 先ほど指定したデータセットを取得する
// 今回は 2022/04/01 から観測されている最初のデータを扱う
var dataset = ee.ImageCollection('ECMWF/ERA5_LAND/DAILY_AGGR')
.filterDate('2022-04-01', '2022-12-31')
.select('temperature_2m')
.first();
// データが絶対温度なので、摂氏 -20 度から 50 度までの範囲で絞る
var options = {
min: 253,
max: 323,
palette: [
'000080', '0000d9', '4000ff', '8000ff', '0080ff', '00ffff',
'00ff80', '80ff00', 'daff00', 'ffff00', 'fff500', 'ffda00',
'ffb000', 'ffa400', 'ff4f00', 'ff2500', 'ff0a00', 'ff00ff',
]
};
// 地図に描画する
Map.addLayer(dataset, options, 'temperture', true);
描画した結果は以下の画像です。暖かいところが暖色、寒いところが寒色になっています。パレットの影響もありますが、綺麗に描画することができました。
気温データを使ったチャートを作成してみる
今回は名古屋駅周辺で 2022 年の気温を表示するチャートを作成してみようと思います。
今回は以下のコードを参考に作成しました。
// 名古屋駅周辺の指定(気温を取得する地域を指定)
var meieki = ee.Feature(
ee.Geometry.Rectangle(136.87569750673498,35.16519174439816, 136.88891543276037,35.175049491446224),
{label: '名古屋駅'}
);
var Regions = new ee.FeatureCollection([meieki]);
// 2022 年のデータを取得
var dataset = ee.ImageCollection('ECMWF/ERA5_LAND/DAILY_AGGR')
.filterDate('2022-01-01', '2022-12-31')
.select('temperature_2m');
// 絶対温度からセルシウス温度に変換して、 Temp というバンドを追加
var temperture = dataset.map(function(image) {
return image.addBands(image.subtract(273).select([0], ['Temp']));
});
// 気温の時系列変化のグラフを作成
// 気温の平均をとっている
var chart = ui.Chart.image.seriesByRegion({
imageCollection: temperture,
regions: Regions,
reducer: ee.Reducer.mean(),
band: 'Temp',
scale: 200,
xProperty: 'system:time_start',
seriesProperty: 'label'
});
// チャートの設定を追加
chart.setOptions({
title: '名古屋駅周辺における 2022 年の気温',
vAxis: {
title: '気温(度)'
},
lineWidth: 1,
pointSize: 4,
});
print(chart);
実際に描画できたチャートは以下の画像です。
1日ごとのデータが入っているので、詳細に描画することができました。このデータセットは、 1950 年から毎日観測されていて、それが無料で使えると考えるととんでもないです...!
さいごに
今回は、GEE の気温に関するデータを使って、地図への描画やチャートの作成を行いました。 GEE には気温のデータ以外にも標高のデータなどさまざまなデータを扱うことができ、それらを組み合わせることも可能です。それが無料できるのは、改めてとんでもないことだと思いました...!