QGISで人口を色分けする方法|等間隔・分位・自然分類を比較

CSVを地域のポリゴンに結合できたら、次は人口を色分けしてみましょう。ただし、同じデータでも「どこで色を区切るか」によって地図の印象は変わります。今回はQGISで人口密度を表示し、等間隔・分位・自然分類の違いを比較します。

結合から確認したい方はQGISのCSV結合と地域コードの確認方法へ。本記事は12の架空地区を使う教材です。境界も人口も実在地域の統計ではありません。操作画面はQGIS 3.28.15で撮影しました。バージョンによって項目名や配置が異なる場合があります。

1.サンプルを開き、人口と人口密度を区別する

サンプルデータ・実行用ファイルをダウンロード(ZIP)。解凍してから使ってください。独自に作成した架空データと教材コードは、利用・改変・再配布できます。

ZIP内のpopulation-classes.qgsをQGISで開きます。population.gpkgを同じフォルダに置いたまま使ってください。「等間隔」「分位」「自然分類」は同じ12地区を違う分類方法で表示したレイヤです。レイヤのチェックを切り替えるだけで比較できます。

列内容
zone地区番号Z01〜Z12
population地区内の人口(人)
area_km2地区の面積(km²)
density人口密度=人口÷面積(人/km²)

人口が多い地区と、人が密集している地区は同じとは限りません。例えばZ02は人口700人・面積3km²で密度約233人/km²、Z05は人口1,500人・面積2km²で750人/km²です。区域の広さが異なる場合、密集度を比べたい地図では人口密度が役立ちます。一方、サービスの対象人数を知りたい場合は人口そのものも必要です。

2.シンボロジで「階級に分けられた」を選ぶ

左のレイヤ一覧で対象をダブルクリックし、「シンボロジ」を開きます。上部の表示方法を「階級に分けられた」にし、値(Value)をdensityに設定します。次に薄い色から濃い色へ進むカラーランプを選び、モードを等間隔分類、クラス数を3にして「分類」→「適用」を押します。人口で作りたい場合は値をpopulationに変えます。

QGISのシンボロジ画面。値density、等間隔分類、3クラスの設定
図1:実際のQGIS操作画面。上部の値、下部のモード・クラス数・分類ボタンを順に確認します。

値の欄に人口の列が出ない場合は、数値列として読み込まれているか属性テーブルで確認します。NULLの地区があれば、0人に置き換える前に結合キーを再確認してください。欠測と0人は別の意味です。

3.同じ3階級で分類方法を比べる

方法区切り方今回の密度の上限値(人/km²)
等間隔最小〜最大を同じ幅で分割2,650/5,075/7,500
分位各クラスの地物数がなるべく同程度になるよう分割500/約1,166.67/7,500
自然分類(Jenks)クラス内の値のばらつきを小さくする方向で分割750/約3,333.33/7,500
同一の架空人口密度データを等間隔分類で表示した地図
図2:等間隔。高い値が一部にあるため、多くの地区が薄い色になります。
同一の架空人口密度データを分位分類で表示した地図
図3:分位。相対的な順位の違いが色に現れやすくなります。
同一の架空人口密度データを自然分類で表示した地図
図4:自然分類。今回の値のまとまりに合わせて境界が変わります。

各図のラベルは「地区番号/人口密度」です。階級境界は図だけでは分からないため、上の表も合わせて読みます。分位の境界が同値に重なるデータでは、各クラスの件数が完全に同じになるとは限りません。自然分類もデータが変われば境界が変わり、唯一の正解を与える方法ではありません。

4.比較の目的に合わせて凡例を固定する

1枚の地図で地区の相対的位置を見せたいなら分位、数値の幅を均等に示したいなら等間隔、値の集まりを見たいなら自然分類が候補です。どの方法でも、凡例に指標名・単位・境界値を記載します。実データなら統計の年次、対象地域、出典も必要です。

異なる年の変化を比べるときは、年ごとに自然分類や分位をやり直すと、同じ色が別の値を表すことがあります。比較する地図では境界値・色・表示範囲をそろえてください。「分類」後の値を編集して共通の境界を設定し、スタイルとして保存しておくと再利用できます。

5.実データで人口密度を計算するときの注意

教材のarea_km2は、メートル単位の平面座標から計算済みです。実データで面積を求める場合は、対象地域に適した投影座標系やQGISの楕円体・面積計測設定を確認します。緯度経度の度をそのまま平方キロメートルとして扱うことはできません。面積0やNULLの地区も先に確認しましょう。

CASE
WHEN "area_km2" > 0
THEN "population" / "area_km2"
ELSE NULL
END

上の式は、すでにkm²で用意した面積列から密度を作るフィールド計算機の例です。整数型では小数部が落ちるため、新しい列には小数を保存できる数値型を選びます。

参考資料と次の作業

操作と分類方法はQGIS公式マニュアルのGraduated Rendererを参照しました。表示設定を決めたら、印刷レイアウトで凡例・縮尺・出典を付けて共有しましょう。

前の実習はCSVの属性結合、次の実習はOD交通量の表示です。公開済みの章はQGISの教科書で学習順に確認できます。

コメント

タイトルとURLをコピーしました