【実習編】非専門家のためのQGIS ~コロプレスマップの作成~
I. はじめに
地図には地形図のように地表の様子を描くものもあれば、統計のような社会的なデータを地図上に 描いて理解を深める使い方もあります。コロプレスマップは、社会的地図の最も基本的な地図の1つで、統計値をいくつかの階級に区分して単位地区ごとに表現した地図です。
今回は、前回作成した都道府県界のGISデータを用いて都道府県の統計を用いたコロプレスマップを作成します。
II. 都道府県界データの用意
都道府県界データは、国土数値情報などで公開されている全国市区町村界データからディゾルブを用いて作成します。作成手順の詳細は「白地図を描こう_都道府県界」で紹介しています。
白地図の回で作成した都道府県界データはマスターデータとして残しておき、マスターデータをコピーしたファイルを使いましょう。
シェープファイルのコピーについて、フォルダ上からコピーする場合は、「.shp」「.dbf」等シェープファイルを構成する6つほどあるファイル全てをコピーしてください。また、ファイル名を変更する場合はコピーしたすべてのファイル名を変更します。
QGISからコピーする場合は、読み込んだシェープファイルをそのままエクスポートすれば、コピーしたことになります。
レイヤを右クリックし、「エクスポート」→「地物の保存...」を選択し、エクスポートウィンドウを開きます。
エクスポートウィンドウの「ファイル名」にコピー先のディレクトリやファイル名を指定して[OK]ボタンをクリックすると、ファイルがエクスポートされます。
III. 都道府県界データに統計情報を追加する
冒頭でいきなりこんなことを書くのも変ですが、ここで紹介する統計情報の追加方法は、「手動で追加」という原始的で全然スマートではない方法です。普通はこんなやり方はしません。しかし、
・ いつもスマートな処理ができるとは限らない
・ 部分的に手動で追加することはよくある
・ 最後の切り札として知っておくべき
という点から、今回は原始的な方法でデータを追加していきたいと思います。普通はテーブル結合という方法でデータを追加します。テーブル結合についてはこちらの記事「~テーブル結合の使い方~」で紹介しています。
さて、QGISでは、属性情報に基づいてフィーチャを色分けできます。この機能を用いてコロプレスマップを作るのですが、都道府県界データにはコロプレスマップの主題となるデータがありません。コロプレスマップを作るためのデータを都道府県界データに追加する必要があります。
ここでは、都道府県ごとの統計情報として厚生労働省が公開している、令和元年10月より改定される地域別最低賃金を使ってみましょう。以下のリンク先に都道府県ごとの最低賃金がまとめられています。この数字を都道府県データの属性テーブルに追加します。
QGISで都道府県界レイヤを右クリックし、属性テーブルを開きます。属性テーブルのメニューバーの左端の「編集モード切替」ボタンをクリックして、編集モードに切り替えます。属性テーブルには地域別最低賃金の情報を入れるためのフィールド(列)が無いので、「新規フィールド」ボタンをクリックして新規フィールドを追加します。
ボタンをクリックすると「フィールドを追加」ウィンドウが表示されます。このウィンドウで、新規追加するフィールドの設定を行います。
名前について、シェープファイルの仕様で10バイトしか使えません。つまり半角英数字なら10文字、2バイト文字であるひらがなや漢字は5文字しか入りません。内容を表す名前を、なるべくアルファベットで簡潔に設定しましょう。
コメントは空欄のままで問題ありません。
タイプは、今回は整数値しか入らないので「整数値(integer)」を選択します。
長さは、フィールドに入力する数値や文字の最大数を指定する項目です。今回は最大の最低賃金でも残念ながら4桁しかないので、今回は「4」と入力すればOKです。長さは、しっかり設定することでファイルサイズの節約につながりますが、ここで設定した内容はあとから修正できないので、ゆとりをもった設定にしておいた方が良いと思います。
最後に[OK]をクリックしてフィールドを追加します。
属性テーブルの右端にフィールドが追加されました。セルをクリックすると値を入力できます(貼り付けも可)。厚生労働省のWebサイトを参照し、各都道府県の最低賃金額を各セルに手動で入力していきましょう。
47個くらいならまぁ手動でも・・・普通はやりませんけどね!ただし、このように手動で属性テーブルの値を入力・変更できるということは習得すべきスキルです。
全て入力できたら、「編集モード切替」ボタンをクリックして編集を修了します。このとき、変更を保存するか聞かれるので[保存]をクリックします。ここで保存しないと、入力の苦労が水の泡となります。保存後は、属性テーブルのウィンドウを閉じます。
IV. 都道府県別最低賃金のコロプレスマップの作成
それでは、苦労して入力した都道府県別最低賃金のデータを用いて、コロプレスマップを作成しましょう。
都道府県境界レイヤから「レイヤプロパティ」を開きます。レイヤプロパティの左のメニューから「シンボロジ」を選択し、シンボルの設定画面に切り替えます。
ウィンドウ一番上の塗り分け方法を「段階に分けられた(graduated)」に切り替えます。カラムでは、最低賃金フィールドを選択します。そして、ウィンドウ下部の[分類]ボタンをクリックします。すると、階級区分と配色が表示されます。細かな設定は後回しにして、とりあえず[適用]ボタンをクリックし、コロプレスマップの雰囲気を確認してみましょう。こんな感じの地図が表示されます。
都道府県別に最低賃金額で色分けしたコロプレスマップが表示されました。都市部ほど濃い赤の配色で(最低賃金額が高く)、地方は色が薄い(最低賃金額が低い)地図となりました。
それでは設定の詳細を見ていきましょう。
1. 階級区分
最初に設定するのは階級区分の方法です。「モード」のプルダウンメニューから選択できます。選択できるモードは次の5つです。
・等間隔
・分位数(等数)
・自然なブレイク(Jenks)
・標準偏差
・プリティブレイク
各モードについて簡単に紹介します。
等間隔は、区分を一定の範囲で分割する設定です。分割方法は単純で分かりやすいですが、統計値の分布が一様でないと各区分に入るフィーチャの数が偏るので、地域差が分かりにくい地図になってしまいます。特に外れ値や特異値がある場合はその値に全体の区分が引っ張られてしまうので要注意です。
分位数は、等量分類とも呼ばれるもので、各区分に入るフィーチャの数が等しくなるように分割する設定です。データがどんな分布であっても、程よく配色されるため見栄えの良い地図ができます。ただし、それが意味のある区切りであるかは別問題。
自然なブレイクは、データの分布の変化量が大きいところに閾値を置く設定方法です。統計値の地域差を視覚的に判断しやすい地図を描けるため、最もよく使われるモードです。
標準偏差は基準値からの距離で閾値を決める設定方法です。平均値を基準に高い/低い、増/減などを示したいときに使用します。
プリティブレイクは[100,150,200,250,300]などのようにキリの良い数字で区切る設定方法です。
「カラーランプ」のすぐ下にあるタブを「ヒストグラム」に切り替えると、ヒストグラムを見ながら閾値の位置を確認できます。また、閾値線をドラッグでスライドさせると閾値を変更でき、線のないところでクリックすると新しく閾値を追加できます。
--- --- --- --- --- --- --- ---
2. 分類数
「階級区分数をいくつにするか」というのは、「これが正解」という答えが無いので、どのように設定すべきかとても悩ましい問題です。
一般に、人間は7~8以上の階級に区分すると1つ1つの区分を把握できなくなるといわれています。したがって、4~7程度の区分数にしておくのが良いと思います(※1)。
※1 標高のような連続的な性質を持つデータを対象とし、グラデーションによって全体の傾向を表現したい、1つ1つの区分の識別には意味が無いという場合は、区分数を7以上にしても問題ありません。
階級区分数の設定は、ウィンドウ右下にある「分類数」と左下にある[+]、[-]ボタンで設定できます。「分類数」では数を指定して階級区分数を変更します。数を変更すると全階級の閾値が修正されるので、変更する場合は最初に設定しましょう。
[+]ボタンは階級を新しく追加します。こちらは、追加しても他の閾値は修正されません。階級部分をダブルクリックすると閾値の上端と下端を入力するウィンドウが現れるので、値を入力して設定します。階級区分を選択した状態で[-]ボタンをクリックすると、その階級が削除されます。
--- --- --- --- --- --- --- ---
3. カラーランプの設定
階級区分の配色はカラーランプから設定できます。右端にあるプルダウンボタンから使用する色を選択します。主なカラーランプがプルダウンで表示されますが、「全てのカラーランプ」にマウスカーソルを合わせると更に様々なカラーランプが選択できます。また、自分でカラーランプを作成することもできます。
用意された様々なカラーランプを見るとカラフルな設定をしたくなりますが、コロプレスマップでは「白から赤」、「白から青」、「白から黒」等のように、単色の濃淡で配色を設定することが原則といわれています。下の例では、コロプレスマップは左図のような配色にすべき、というわけです。
しかしながら、実際には右図のような配色を用いた地図も近年は多くみられるようになりました(※2)。今回のように階級区分が5段階、地図のフィーチャ数も47個というレベルでは単色の方がスッキリしていて分かりやすいです。一方で、階級数もフィーチャ数も十分に大きい場合は、右図のような現代風のカラーランプの方が分かりやすく見た目のインパクトもある地図に仕上がるかもしれません(※3)。
平均値や基準値があってそれと比べて大小を比較する場合(例えば0が基準となって増加/減少を表す場合)、気温のように赤色は高く青色は低いというイメージが定着されているものの場合は、「青→緑→赤」「青→白→赤」など色相による分類を採用することもあります。
※2 特にデータサイエンス界隈で。PythonやR、JavaScript(jQuery)などのマップ関係のライブラリが、そのようなモダンな配色を手軽に利用できるよう整備されていることも大きい。ちなみに、この紺~黄色のカラーパレットはviridisと呼ばれ、色覚多様性に配慮した配色とされています。
※3 最終的には、地図の作り手・受け手双方の好みの問題。
今回は、モードに「自然なブレイク(Jenks)」、分類数は「5」、配色はデフォルトの「白→赤」で設定しました。
V. コロプレスマップのエクスポート
最後に、作成したコロプレスマップをアウトプット用にレイアウトしましょう。
1. 座標系の設定
まずは、座標系の設定です。現在の座標系はEPSG:4019(GRS80楕円体地理座標系)に設定されています。「【実習編】非専門家のためのQGIS ~白地図を描こう_都道府県界~」で作成した「日本を中心としたランベルト正角円錐図法」に変更しましょう。
--- --- --- --- --- --- --- ---
2. 地図アイテムの配置
続いて、「メニューバー」の「プロジェクト」から「新規印刷レイアウト」を選択し、レイアウトウィンドウを開きます。そして、「アイテムの追加」→「地図の追加」で地図を配置しましょう。操作手順は都道府県の白地図を描いた時と同じです。
--- --- --- --- --- --- --- ---
3. 凡例の追加
今回は凡例も追加します。凡例は「アイテムの追加」→「凡例の追加」から挿入できます。
--- --- --- --- --- --- --- ---
4. 凡例の設定:タイトル
凡例の中身を整えていきましょう。凡例をクリックしてアクティブにしておき、アイテムパネルタブから設定していきます。まず、タイトルに「凡例」と入力しましょう。
--- --- --- --- --- --- --- ---
5. 凡例の設定:閾値の表記設定
閾値の表記について、今回の地図が示す最低賃金は整数で表される値なので、小数点以下の「0」を消します。アイテムパネルの「凡例アイテム」から各階級をダブルクリックするとテキストを変更できます(※4)。
同様に、レイヤタイトル(下の画像では「pref」となっています)もダブルクリックすると変更できます。ここでは「最低賃金(円)」などのように凡例が示すものやその単位を入力すると良いです。
※4 アイテムテキストを変更するボックスウィンドウ、よく見ると『「判例」プロパティ』となっていて「凡例」の字が間違っていますね。
--- --- --- --- --- --- --- ---
6. 凡例の設定:フォントサイズの設定
「フォントとテキストフォーマット」から、タイトルやアイテムラベル(閾値の数値)のフォントサイズを変更します。フォントサイズを変更すると、それに応じて凡例の枠サイズも変更されます(※5)。逆に、ドラッグで凡例のサイズを変更しようとしても、文字が自動で小さくなることはなく文字が見切れない大きさに戻されます。
凡例の枠サイズはフォントサイズで調整しましょう。
※5 アイテムプロパティの「メインプロパティ」で、「大きさに内容を合わせる」にチェックが入っていれば。デフォルトではチェックされています。
--- --- --- --- --- --- --- ---
7. 凡例の設定:シンボルサイズの設定
シンボルの大きさも、フォントサイズとバランスを合わせて変更しましょう。
--- --- --- --- --- --- --- ---
8. 凡例の設定:間隔の設定
「間隔」では、タイトルやシンボル、閾値テキストなどのスペースを設定できます。フォントサイズを小さくするとスペースが余分に空いてしまうので調整しましょう。
--- --- --- --- --- --- --- ---
実際には、凡例のデザイン設定は、QGIS上では素材の出力と割り切って適当に出力しIllustrator上で仕上げを行う、という手順の方が一般的でありクオリティも上がると思います。しかしながら、QGIS上でも最低限の機能は備わっているので、うまく使いこなしてきれいな地図を仕上げましょう。
レイアウト設定が完了すると、下の図のようになります。
VI. おわりに
今回は、前回作成した都道府県界データを用いてコロプレスマップを作成しました。これにより、都道府県別の最低賃金だけでなく、大学進学率、選挙の投票率、高齢者率、面積に占める水田や農地、森林などの割合・・・インターネット上に公開されたあらゆる都道府県別統計を、地図を用いて可視化できるようになりました。GISをやっている感が出てきましたね。
ただし、前処理として行った統計情報をシェープファイルに付与する作業は手動で面倒臭い方法でした。手動入力は大変なだけでなく入力ミスの発生につながるため、良い方法とは言えません。これについては、「テーブル結合」という効率的な付与方法を次のnoteで紹介します。
記事の内容でもそれ以外でも、地理やGISに関して疑問な点があれば、可能な限りお答えしたいと思います。