7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめに

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);

描画した結果は以下の画像です。暖かいところが暖色、寒いところが寒色になっています。パレットの影響もありますが、綺麗に描画することができました。

スクリーンショット 2023-07-21 21.53.51(3).png

気温データを使ったチャートを作成してみる

今回は名古屋駅周辺で 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);

実際に描画できたチャートは以下の画像です。

ee-chart (1).png

1日ごとのデータが入っているので、詳細に描画することができました。このデータセットは、 1950 年から毎日観測されていて、それが無料で使えると考えるととんでもないです...!

さいごに

今回は、GEE の気温に関するデータを使って、地図への描画やチャートの作成を行いました。 GEE には気温のデータ以外にも標高のデータなどさまざまなデータを扱うことができ、それらを組み合わせることも可能です。それが無料できるのは、改めてとんでもないことだと思いました...!

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?