国土数値情報
平年値メッシュを題材としたQGISにおけるデータ表現テクニック
~アニメーション、ダイアグラム、断面図~
2026年3月 国土交通省 政策統括官付 地理空間情報課
ライセンス
本ドキュメントは、クリエイティブ・コモンズ・ライセンス表示4.0国際(CC BY 4.0)ライセンスのもとで提供されています。
クリエイティブ・コモンズ・ライセンスについては、下記のサイトを参照してください。
この記事では、QGISでのデータ可視化に興味がある方を対象に、国土数値情報の「平年値(気候)メッシュ」データを題材として、QGISで可能な様々な地図表現テクニックを紹介します。
1. アニメーション表現
時系列コントローラーを使用し、月別気温の季節変化をアニメーションで表現します。
2. ダイアグラム表現(円グラフ・棒グラフ)
ダイアグラム機能を使用し、月別の降水量を地図上にグラフとして配置します。
3. 断面図(プロファイル)
標高プロファイル機能を使用し、指定したライン沿いの年平均日照時間の地域差をグラフ化します。
これらの表現技法を活用することで、単なる色分け地図では伝わりにくいデータの特徴を、より効果的に表現できるようになります。
この記事では、中国・四国地方周辺を対象地域としてデータを準備します。これらの地域は、日本海側・瀬戸内・太平洋側という3つの気候区分が比較的コンパクトな範囲に含まれており、気候の地域差が現れやすいという特徴があります。日本海側は冬の降水量が多く、太平洋側は夏に降水量が多い一方、瀬戸内は年間を通じて降水量が少ないなど、気候的特色を平年値データから把握してみたいと思います。
・この記事は、QGIS3.40で執筆しています。
・QGISの基本操作(レイヤの追加やスタイルの設定など)ができることを前提としています。
平年値とは、過去30年間の気象観測データの平均値のことを表します。気象庁では10年ごとに平年値を更新しており、2026年現在使われている平年値(2020年平年値)は、1991年〜2020年の30年間の平均値ということになります。
国土数値情報の平年値メッシュデータは、3次メッシュ(約1km四方)単位で整備されており、気温・降水量・日照時間・積雪深などの気候情報が月別に収録されています。
国土数値情報から平年値メッシュデータをダウンロードし、QGISに追加します。
国土数値情報の 平年値メッシュデータのダウンロードページ にアクセスします。ページをスクロールすると、ダウンロード対象地域を選択できる地図が表示されます。目的のエリアのメッシュを選択し、[ダウンロード]ボタンをクリックします。
本記事では、中国・四国地方周辺のメッシュ番号5033、5133、5233、5333の2022年度(令和4年度)版データをダウンロードし、以降の操作を行います。
画面上に「国土数値情報ダウンロードサイト ユーザーアンケート」が表示されます。必要に応じて回答し、回答を完了するか[スキップする]をクリックすると、データのダウンロードが開始されます。
全てのデータのダウンロードが完了したら、ZIPファイルを解凍して、それぞれのフォルダ内の「G02-22_5033-jgd.shp」などのShapefileをQGISに追加しましょう。 ここで、背景地図として地理院地図などを追加しておくとよいでしょう。ここでは、地理院地図(淡色)を追加しています。
続いて、平年値データの属性テーブルを確認します。レイヤパネルから平年値データのいずれかのレイヤを右クリックして、[属性テーブルを開く]をクリックします。
属性テーブルには「G02_001」「G02_002」...「G02_084」と属性が入っています。
各カラムの内容は以下の通りとなっています。
|
カラム名 |
説明 |
|
G02_001 |
3次メッシュコード |
|
G02_002〜G02_014 |
1月から12月までの月別降水量と年間降水量(0.1mm単位) |
|
G02_015〜G02_053 |
1月から12月までの月別と年平均の最高気温、最低気温、平均気温(0.1℃単位) |
|
G02_054〜G02_058 |
1・2・3・12月の月別と年間の最深積雪(cm単位) |
|
G02_059〜G02_071 |
1月から12月までの月別と年合計の日照時間(0.1時間単位) |
|
G02_072〜G02_084 |
1月から12月までの月別と年平均の全天日射量(0.1MJm-2単位) |
降水量や気温の値は0.1単位となっています。例えば以下のようにG02_036(8月最高気温)では「310」という数値がありますが、この値は「31.0」℃となりますので間違えないように気をつけましょう。
このままではそれぞれのエリアごとに分割されたデータになっているので、これらを1つのデータに統合します。メニューバーから[ベクタ]→[データ管理ツール]→[ベクタレイヤをマージ]を選択します。
1.入力レイヤ:[…]をクリックし、統合する平年値メッシュデータを選択して[OK]をクリック
2.変換先CRS:この後、断面図を作成するため、投影座標系(平面直角座標系)に変換する。「EPSG6672 – JGD2011 / Japan Plane Rectangular CS Ⅳ」を指定。 なお、平面直角座標系についての詳細は、国土地理院の「わかりやすい平面直角座標系」を参照のこと
3.出力レイヤ:任意の場所に保存。今回は 「平年値マージ」という名で保存
4.[実行]をクリック
処理が完了すると、1つのデータとして統合された平年値メッシュがマップに追加されます。
統合前のそれぞれの平年値メッシュデータは必要ないので、レイヤから削除しておきます。
属性値で色分けして可視化してみましょう。
今回は年平均気温(G02_053)で色分けしてみます。
その前に年平均気温の属性値には欠測値として「999999」という値が入力されているので、はじめにその地物をフィルタで除外します。
レイヤパネルより、レイヤ「平年値マージ」を右クリックして、[フィルタ]をクリックすると「クエリビルダ」画面が表示されます。
ここでは「年平均気温(G02_053)」の値が「999999」となっているデータ以外を抽出します。設定手順は次の通りです。
1.フィールドから「G02_053」をダブルクリック(式欄に「"G02_053"」が入力されます)
2.演算子から[!=]をクリック(式欄に「!=」が入力されます)
3.値から[すべて]ボタンをクリック(当該フィールドの値一覧が表示されます)
4.欠損値である「999999」をダブルクリック(式欄に「999999」が入力されます)
5.式が「"G02_053" != 999999」と入力されていることを確認し、[OK]ボタンをクリック
フィルタが適用され、年平均気温が999999以外のメッシュのみが表示されるようになります。
続いてレイヤパネルより、レイヤ「平年値マージ」を右クリックして、[プロパティ]をクリックし、以下の手順で、スタイルの設定を行います。
1.左タブからシンボロジを選択
2.モード:[連続値による定義]を選択
3.値:[▼]をクリックして、[G02_053]を選択
4.シンボル:ストロークスタイルを「線なし」にする
5.お好みのカラーランプを選択(ここでは「Turbo」を選択)
6.[分類]ボタンをクリック
7.必要に応じて不透明度を下げる
8.[OK]をクリック
マップキャンバスを確認すると、年平均気温ごとで色分けされています。
時系列コントローラとは、時間軸に沿ったデータの変化を表現するための機能で、動画プレーヤーのように再生・停止・コマ送りの操作ができ、時間の経過に伴うデータの変化をアニメーションとして表示することができます。
ここからは、時系列コントローラーを使って、1月から12月までの平均気温の変化をアニメーションで表現します。
「ビュー」メニューから「パネル」→「時系列コントローラパネル」を選択するとマップキャンバスの上部に時系列コントローラが表示されます。
時系列コントローラのパネルから、描画の範囲設定を行なっていきます。
1.[アニメーション時系列ナビ]ボタンをクリック
2.アニメーション範囲「2025-01-01 00:00:00」、終了を「2025-12-31 00:00:00」とする
3.ステップの値を「1」にして、単位を「月(months)」にする
続いて平年値マージのレイヤプロパティを開いて、レイヤの時系列設定を行なっていきます。
1.左タブから[時系列]を選択
2.「動的な時系列コントロール」にチェック
3.設定を「レイヤの際描画のみ」にする
4.[OK]をクリック
そのままプロパティの「シンボロジ」タブを開き、時系列ごとのシンボルの設定を行います。
1.「連続値による定義」を選択
2.「値」の欄で、右側の式ボタン(ε)をクリック
3.式に以下の内容を入力
4.[OK]ボタンをクリック
式には以下を入力します。
この式では、時系列コントローラーによるマップの日時に応じて、1月であれば「G02_017」、2月であれば「G02_020」というように、対応する月のカラムの値を参照して色分けするようにしています。
続いて、色分けの分類を設定します。今回は「-100~-50」、「-50~0」、「0~50」…と、-100から350までを50(5℃)ずつのクラスで設定します。
1.[すべて削除]で一度クラスをすべて削除する
2.[+]をクリックし、クラスを9つ用意する
3.各クラス:上限「-100」下限「-50」などのように50ずつの幅とする
4.凡例:凡例の表記を整える
5.カラーランプからお好みにグラデーション色を選択する(ここではTurboを選択)
以上、設定が完了したら[OK]ボタンをクリックし、プロパティを閉じます。
時系列コントローラーの再生ボタンをクリックすると、設定した日付の範囲で、自動で時系列が進み、それに応じて平年値の描画も切り替わります。
それぞれのフレームの描画を見ていくと、まず、年間を通して中国山地や四国山地を境に日本海側や瀬戸内側、太平洋側の海側に向かって気温が高くなっており、季節が変わるとともに気温分布が変化していく様子がわかります。また、気温の地域差は冬季( 1月)に比べて夏季(7月)の方が小さく、1月は色のコントラストが強いが、夏季は全体的な色の差が小さい事がわかります。特に 2月〜4月が顕著ですが、太平洋側は年間を通して日本海側に比べて気温が高い傾向があることもわかります。これは黒潮の流れが影響しているものと考えられます。
このように時系列コントローラーによって、地域の特色の変化をアニメーションで見比べ易く表現することができます。なお、メッシュの表示範囲によっては描画の切り替えに時間がかかり、データが表示される前に時系列が進んでしまうかもしれません。 時系列の進むスピードが速いと感じる場合は、時系列コントローラーの設定から1秒間に進行するフレーム数を変更することができます。デフォルトだと1フレーム /1秒なので、1秒間に1ヶ月進行するスピードですが、これを0.5フレーム/秒とすると、1フレーム(1ヶ月)進行するのに2秒かかることになるので、その分描画の時間が確保されるようになります。
また、時系列のループ再生や、各シーンの画像出力も可能です。
1.ループ:アニメーションがループ再生する
2.一時停止:アニメーション再生が終了する
3.アニメーションを出力:それぞれのフレームを画像で保存することができる
アニメーション表現は、季節や年次による変化を動的に伝えたい場面で効果的です。気候データに限らず、月別の人口推移や年次ごとの土地利用変化など、また、1時間ごとの変化や数年間ごとの変化など、時間軸を持つデータであれば同様の手法で表現することができます。
ダイアグラム表現では、属性値の数値を元に、マップ上に円グラフや棒グラフを表現することが可能です。今回は、日本海側の鳥取県米子市、瀬戸内の香川県丸亀市、太平洋側の高知県高知市、それぞれの市毎で月別降水量を集計し、棒グラフで表現していきます。
集計用の市町村ポリゴンデータとして、国土数値情報から「行政区域データ(全国)」をダウンロードし、QGISに追加します。分かりやすいようにレイヤ名を「行政区域」としておきます。
行政区域から鳥取県米子市、香川県丸亀市、高知県高知市を選択しましょう。今回は[シングルクリックによる地物選択]で、マップ上で行政区域ポリゴンをクリックして選択します。
1.[シングルクリックによる地物選択]をクリック
2.マップ上でそれぞれの市町村ポリゴンをクリックする。
マップ上をクリックする際に、キーボードの「Shift」を押しながらクリックすると、複数の市町村を選択することができます
選択した市町村と重なる平年値メッシュの値を集計するには「属性の空間結合(集計つき)」を実行します。
メニューバーから[プロセシング]→[ツールボックス]を選択します。
プロセシングツールボックスが開いたら、検索欄に「空間結合」と入力し、検索結果から「属性の空間結合(集計つき)」をダブルクリックします。
選択した市町村にかかるメッシュの月別降水量の平均値を求めるために以下のように設定します。
1.地物を結合するレイヤ:[行政区域]
2.選択した地物のみにチェックを入れる
3.Where the features:[交差する(intersect)]にチェック
4.比較対象:平年値マージ
5.Summaries to calculate:[…]をクリックし、「平均」にチェック
6.[実行]ボタンをクリック
処理が完了すると「出力レイヤ」というレイヤが出力されます。レイヤ名を「ダイアグラム用レイヤ」など、分かりやすい名称に変更してください。
ダイアグラム用レイヤの属性テーブルには、平年値の各値の平均値が格納されていることがわかります。
ダイアグラム表現の設定をしていきます。「ダイアグラム用レイヤ」のプロパティを開いて、左のメニューから[ダイアグラム]をクリックし、以下のように設定していきます。
1.上部のメニューを「Histogram」にする
2.Enable diagramにチェックを入れる
3.[属性データの出力]をクリック
4.月別降水量の合計値である「G02_002_mean」から「G02_013_mean」を選択し、[+]をクリック
5.[レンダリング]をクリックする
6.棒グラフの幅:2.00
7.バーの間隔:0.00
8.[大きさ]をクリックする
9.最大値(Maximum):1000.0
10.[OK]ボタンをクリック
マップ上にダイアグラムが表示されます。
ダイアグラムのサイズや色は、先ほどのプロパティ画面から適宜調整することが可能です。
太平洋側の高知市では7月8月の降水量が多く、1月や12月の降水量が少ないことがわかります。瀬戸内海に面する丸亀市では年間を通して降水量が少なく、 日本海側の米子市では雪による影響で12月や1月、2月の降水量も多いことがわかりやすく表現されました。
ダイアグラム表現は、複数の値を地域間で比較したい場面に適しています。今回のように月別降水量を棒グラフで表示すると、「日本海側は冬に多い」「太平洋側は夏に多い」「瀬戸内は年間を通じて少ない」といった降水パターンの違いが、数値の表を見るよりも直感的に伝わります。 この手法は気候データだけでなく、例えば市区町村別の年齢構成を円グラフで表示したり、産業別の従業者数を棒グラフで比較したりするなど、属性情報に複数の内訳を持つデータ全般に応用することができます。
最後に平年値の地域差を「断面図」で表現していきます。断面図は指定したライン沿いの値の変化をグラフ化する機能です。今回は、年合計日照時間で日本海側から太平洋側までの断面図を作成していきます。
メニューバーの[ビュー]から[標高断面図]をクリックすると、画面の下部に標高断面図のパネルが表示されます。
標高断面図にグラフを表示するためにレイヤの設定を行います。
「平年値マージ」のプロパティを開いて、左のメニューから[標高]をクリックし、以下のように設定していきます。
1.「標高クランピング」メニューのオフセット:「属性の型:整数,倍精度実数,文字列」から年合計日照時間の値を示す「G02_071」をクリック
2.データの解釈:連続的サーフェス(等高線など)
3.スタイル:下に塗りつぶす
4.[OK]をクリック
続いて標高断面図の描画を行います。
1.標高断面図のパネル内の「平年値マージ」レイヤにチェックを入れる
2.[曲線キャプチャ]をクリック
3.断面図の始点となる地点をマップ上で1度クリックした後、終点となる地点をクリックして、断面を描く線を引く
右ボタンをダブルクリックで線の描画を終了すると、標高断面図パネルに断面図が表示されます。
今回の描画では、断面図の左側は日本海側、右側が太平洋側を示しています。大きく谷になっている地域は中国山地、四国山地付近を示しており、大きな山地では年合計日照時間が少ないことがわかります。 また瀬戸内側や太平洋側は、日本海側に比べると日照時間が多いことが視覚的にわかりやすくなっています。
断面図内にマウスカーソルを当てると、マップ上でその地点に印が表示されるので、断面図の位置関係もわかりやすくなっています。
標高断面図は地図上の色分けだけでは把握しにくい空間的な変化の勾配を、わかりやすく伝えたい場面で有効です。この手法は、河川沿いの標高変化や、道路沿いの地価の変化など、ある方向に沿った値の変化を示したい場面で幅広く活用することができます。
本記事では、平年値メッシュデータを使った3つの地図表現テクニックを紹介しました。
時系列コントローラーではアニメーションによる時系列変化を表現することが可能であること、ダイアグラムでは複数の属性値を地図上にグラフで描画することが可能であること、そして、標高断面図では空間的な変化を横断面として可視化することが可能であることを見ていきました。
同じデータでも表現方法を変えることで、伝わり方が大きく変わります。今回紹介した表現技法は気候データ以外にも応用できるものですので、ぜひ人口データや土地利用データなど、様々なデータでお試しください。