QGISで気象データを扱ってみよう!〜気象庁GPVデータをQGISで可視化〜
この記事でわかること
- GPVデータとは
- 気象庁GPVデータをQGISで扱う方法
こんな人におすすめ
- QGISで気象データを扱いたい方
- QGISで天気予報のような天気図を表現したい方
はじめに
皆さんはGPVデータというのをご存知でしょうか。気象庁が行なっている数値予報やアンサンブル予報などの結果はGPVデータとして公開されています。天気予報などはこのGPVデータを元に作成されますが、その際にはWGRIB2といった専門のソフトウェアで行われています。しかし、QGISでもこのGPVのデータを開いて、データを可視化することができるのです。
今回はQGISでGPVデータを開いて可視化する方法を紹介します。
GPVデータとは
GPVデータは「Grid Point Value」の略であり、格子点毎に値が配置されたデータの総称です。
気象庁のGPVデータは、各種気象観測によって得られた気温や気圧などの観測値をスーパーコンピューターを用いて数値予報を行います。それによって出力される初期値から数時間後先の気温や風などの気象要素がGPVデータとして公開されることになります。
GPVデータの特徴としては、水平方向に格子が並んでいるだけでなく垂直方向にも格子が整備されているので、各高度(各気圧面)ごとの気象要素も含んでいます。
GPVデータの取得
気象庁が提供しているGPVは通常、「気象業務支援センター」より有償で受け取ることができるほか、民間の気象会社などから購入も可能です。また、研究・教育目的であれば京都大学生存圏研究所の「生存圏データベース」から取得することもできます。
今回は気象庁が公開しているメソ数値予報モデルGPVのサンプルデータを例にGPVデータをQGISで扱ってみたいと思います。
データの仕様などは気象庁の情報カタログをご覧いただくとよく分かりますが、例えばダウンロードしたファイル名を確認すると、以下のような構成になっています。
- 予報の初期時刻:2017年12月5日の0時(UTC)
- 数値モデルの種類:MSM(メソ数値予報モデル)のほか、GSM(全球モデル)、LFM(局地モデル)などがある
- 高度面:L-pallは各気圧面であることを示しています。(Lsurfとなっているものは地表面の状況であることを示しています。)
- 予報時間:初期時刻から何時間先の値であるかを示しています。
つまり、このデータは2017年12月5日の0時(UTC)を初期値とした0時間〜15時間先までの地表面の状況を出力したメソ数値予報モデルによるプロダクトであることがわかります。
気象庁の情報カタログのメソ数値予報モデルについて確認すると、地上面や各気圧面についての気温や相対湿度、風(東西風、南北風)などの情報を持っていることがわかります。
GPVデータの追加
QGISにGPVを読み込むには、ラスタレイヤとして読み込む方法とメッシュレイヤとして読み込む方法があります。
ラスタレイヤとは、ピクセル単位の各セルに固定の値が格納されており、静的なグリッドデータになります。
メッシュレイヤは、グリッド状にデータを分割して、グリッドごとの面とその頂点においてデータを視覚化するレイヤです。面的に表現する点ではラスタデータと似ていますが、メッシュレイヤでは、グリッドの頂点におけるベクトル値や、時間的要素を格納することができるため、ラスタに比べてさまざまな表現が可能になっています。
ラスタレイヤについては以下の記事もあわせてご覧ください。
ラスタレイヤとして読み込む
ラスタレイヤとして読み込むには、メニューバーの[レイヤ]から「レイヤを追加]→[ラスタレイヤの追加]を選択します。
データソースマネージャが開くので、[ソース」の項目の右側にある[•••]ボタンをクリックして、開きたいGPVデータを選択します。その後データソースマネージャの[追加]をクリックするとデータを追加することができます。
メッシュレイヤとして読み込む
メッシュレイヤとして読み込むには、メニューバーの[レイヤ]から[レイヤを追加]→[メッシュレイヤの追加]を選択します。
データソースマネージャが開くので、[ソース]の項目の右側にある[•••]ボタンをクリックして、開きたいGPVデータを選択します。その後データソースマネージャの[追加]をクリックするとデータを追加することができます。
データの情報の見方
ここからは、ラスタレイヤとして追加したものを元に可視化の手順を説明していきます。
レイヤのリストからラスタレイヤとして追加されたレイヤを右クリックして、[プロパティ]を選択します。さらに[情報」タブをクリックすると、データの情報を見ることができます。
例えば、「プロバイダからの情報」では、データの領域や縦と横のピクセル数が表示されています。各気圧面、気象要素、予報時間別にバンドが分かれており、このサンプルデータの場合552バンドに分かれていることがわかります。
各バンドの情報を見てみます。例えば、以下はバンド126の情報です。さまざまな情報が記載されていますが、主に確認すべき点は以下の箇所です。
- GRIB _COMMENT:気象要素の名称。この場合、気温(Temperature)であることがわかります。
- GRIB _ELEMENT:気象要素の略記号。
- GRIB SHORT NAME:気圧面。この場合は85000Pa(=850hPa)面であることがわかります。
- GRIB_FORECAST_SECONDS:初期時刻からの経過時間。10800秒なので3日後の予報値であることがわかります。
GPVデータのスタイル設定
この「バンド126(初期時刻から3時間後の850hPa面気温)」について、色をつけて地図に描画してみましょう。
- 色分けの設定は同じく[プロパティ]から[シンボロジ]を開きます。
- レンダリングタイプから[単バンド擬似カラー]を選択します。
- バンドで、色分けする対象のバンドを選択します。今回は[バンド126]を選択します。
- カラーランプからお好きなカラーパターンを選択してください。
- [分類]をクリックすると、値のランクと色が反映されます。
- そのまま[OK]をクリックしてください。
マップ上の色が変化しました。ここでは、わかりやすく海岸線のレイヤを合わせて表示しています(手軽に海岸線を追加する方法はこちらを参考にしてください)。
その他にも、透過をかけたり色分けの区切りを細かく指定することもできます。
等値線を描く
では、今度は気温分布の等値線を描いてみようと思います。
メニューバーの[ラスタ]から[抽出]→[等高線(contour]を選択します。
設定画面が開くので、以下のように設定を行います。
- 入力レイヤ:GPVのレイヤを指定します
- バンド番号:等値線を作成するバンドを指定します。今回は[バンド126(初期値から3時間後の850hPa気温)]を指定します。
- 等値線の間隔を指定します。今回は3度ごとに指定するため
3.00
と入力します。 - 等値線データの出力先フォルダを指定します。[•••]ボタンをクリックして、[フォルダに保存]を選択して、データの保存先とファイル名を指定してください。
- 設定が完了したら[実行]をクリックします。
3度ごとの等値線が出力されました。
等値線の値を表示する
このままでは等値線の値がわからないので、等値線に値を表示していきます。
- 等値線レイヤのプロパティを開いて[ラベル]メニューを表示します。
- [単一定義]を指定します。
- ラベルを表示させる属性名を指定します。今回は等値線の値は「ELEV」というカラム名になっているので[ELEV]を指定します
- 以上設定したら[OK]をクリックします
等値線に値が表示されました。
ラベルの設定では、フォントの色やサイズ、背景色など細かく設定することができます。詳しくは「ベクタデータのラベル表示 〜行政区域データに市区町村名を表示〜」をご覧ください。
様々な表現
他にも気圧や湿度、降水量などの要素も同様に表現可能です。
今回は特定の時刻(初期値から3時間後)のみ可視化しましたが、6時間後、9時間後など別の予報時刻も同様に設定することで以下のようなアニメーション表現をすることも可能です。
また、今回は詳しく扱わなかったメッシュレイヤの方では、例えば以下のような風向風速の矢羽表現をすることも可能です(矢羽表現はQGISバージョン3.38以降で対応)。
これらの設定方法はまた別の記事で紹介したいと思います。
おわりに
今回は、気象庁GPVデータをQGISで開いて可視化する基本的操作を紹介しました。気象データと聞くと難しいソフトやプログラミング技術が必要になると想像する方もいるかと思いますが、QGISなら簡単に可視化することができることがわかっていただけたかと思います。
また別の記事ではさらに高度な気象データの表現方法にも紹介していきますので、ぜひお楽しみに!