気象データをMapDに入れて分析してみた

投稿日: 2017年11月02日

使用するデータ

今回は気象データをMapDに入れて、分析したいと思います。
気象データは、農業環境技術研究所さんが開発されたgamsDB(Ghg Agro-stat MeteoCrop Soil-information Data Base; 農業環境情報データセンター)で公開されていた降水量の月別平均値を利用しました。

==
大澤剛士氏、神山 和則氏、桑形 恒男氏、 須藤 重人氏、Web APIを活用した農業環境データベースシステムの横断利用、農業情報研究、Vol. 21 (2012) No. 1 P 1-10
https://www.jstage.jst.go.jp/article/air/21/1/21_1_1/_article/-char/ja/
==
入手したデータは次のような形式でした。
左から順に
 標準地域メッシュコード 年 2次メッシュの南西端の緯度 経度 1月のデータ 2月のデータ …12月のデータ
となっています(スペース区切り)。データ量は約30,000地点分でした。

36225717 2010 24.42 122.88 138 61 141 107 55 71 315 211 250 363 169 68
36225718 2010 24.42 122.88 137 61 141 107 54 70 316 211 249 366 169 68
36225724 2010 24.42 122.88 137 61 137 106 54 70 311 210 249 359 167 68

MapDに取り込むにあたり以下のテーブルを作成しました。

CREATE TABLE TM (
date_tm DATE,
lat FLOAT,
lon FLOAT,
temperature FLOAT)

座標(lat, lon)は標準地域メッシュコードから計算して求めました。
計算方法は以下の資料を参考にしています。
http://www.stat.go.jp/data/mesh/pdf/gaiyo1.pdf
これを1地点1か月ごとに1レコードになるように前処理プログラムを作成し、以下のようなcsv形式で出力しました。

2010-01-01,44.607727,142.362198,-8.100000
2010-01-01,39.991554,140.224792,-2.100000
2010-01-01,35.275394,137.799911,-1.100000

出力されたcsvファイルをMapDに”COPY FROM”を使って取り込みます。

特定の月のデータを表示してみる

チャートを用意する

降雨量のデータを可視化してみます。
MapD Immerseを利用し、地図チャートと、月別平均降雨量のチャートを用意しました。
地図チャートではGeo Heatmapを利用しています。Geo Heatmapについては、別のブログで改めて紹介します。


左側には年間の平均降雨量の分布を描画し、右側には全国の月別平均降雨量をチャートにしています。

月別の降雨量を表示する

右側の月別平均降雨量チャートの中から1月だけを選択すると、1月の降雨量の分布を表示できます。

日本海側の豪雪地帯での降雨(降雪)量が非常に多いことがわかります。

複数の月を選択して、その平均を表示することも可能です。

5月、6月、7月を選択した結果です。
台風や梅雨の影響を受ける九州、四国、本州の南側に降雨が多いことがわかります。

地域ごとの降雨量を表示する

続いて地図上で特定の範囲での、降雨量の傾向を見てみます。

これは左側の地図の範囲内での月別平均降雨量を、右側のグラフで表示させています。
スクロールまたは拡大して表示エリアを変更すると、MapDは降雨量を自動で再集計します。
その地域降雨量の傾向が地図とグラフの両方でわかります。

東京近辺と札幌近辺の、月別降雨量の傾向をグラフ化しました。
それぞれの地域での傾向が読み取れると思います。

降雨量のデータは40万件を超えていますが、なめらかに動かすことが出来ました。

今回は1年分のデータでしたが、もっと多くのデータで分析をしてみようと思っています。十数年のデータ、もしくは日ごとのデータを使って何が見えるかもやってみたいです。