重み属性を考慮したポリゴンデータの重心を求める方法を紹介します。
この機能と人口メッシュデータを使用することで人口重心を求めることができます。
今回の記事では、国土数値情報で入手できる人口メッシュデータを使用して千葉県の人口中心を求めてみます。
重心とは 物体を一点で支えることができる点が重心です。 物体が厚さと密度が一定の平らな正方形であった場合、重心は中心地点となります。 もし、厚さと密度が一定でなく重さに偏りがあった場合には、偏りに合わせて中心地点から移動します。 GISデータで重心を求める場合は、重さ以外の属性情報を重さと仮定して使用することが可能です。 小地域やメッシュ単位で人口が記録されているポリゴンデータを用意し、人口の情報を重さとして使用すると人口重心を求めることができます。
ベース地図を表示する
初めにベースの地図を表示しましょう。
ブラウザパネルにある「XYZ Tiles」という文字列の左側にある▶をクリックします。
するとその下に現在使用できる地図として「OpenStreetMap」という文字列が表示されるので、この文字列をダブルクリックするか、文字列の上で右クリックして出現したメニューから「レイヤをプロジェクトに追加する」を選択すると世界地図が表示されます。
地図の上にマウスのカーソルを持っていきホイールを回転させると拡大したり縮小したりできます。
もしくはツールバーの「虫眼鏡に”+”が表示されたアイコン」を選択すると地図のズームができるモードに変わります。クリックするとカーソルが虫眼鏡のマークになるので拡大したい範囲をクリックすると地図が拡大します。
「虫眼鏡に”-”が表示されたアイコン」では逆に地図を縮小できます。
虫眼鏡アイコン左側にある「手のひらアイコン」を押すと、地図をつかんで移動できるモードに戻ります。
人口メッシュデータをダウンロード
続いて重心の計算に使用する人口メッシュデータをダウンロードしましょう。
様々なGISのデータを公開しているポータルサイトである「国土数値情報ダウンロードサービス」からダウンロードできます。
使用する人口メッシュデータは「5.各種統計」分野に含まれる「500mメッシュ別将来推計人口(H30国政局推計)」です。
このデータは2050年まで5年ごとの推計結果が500mメッシュごとに集計されている将来人口についてのデータですが、現時点の人口として最新の国勢調査による総人口の情報も含まれています。
参考:500mメッシュ将来人口データ(国土数値情報):オープンデータ紹介
国土数値情報ページ左側にある分野一覧の「5.各種統計」を選択するとページの表示が変化し、右下に「500mメッシュ別将来推計人口(H30国政局推計)(shape形式版)」というリンクが現れます。
クリックするとデータ詳細ページへ移動し、ダウンロードするデータの範囲を選択できます。
都道府県単位で範囲を選択できるのでほしいデータを選びましょう。
人口メッシュデータをQGISに読み込む
ダウンロードした人口メッシュデータはZIPファイルで圧縮されているので、わかりやすい場所に展開しましょう。
展開したフォルダを開いて確認してみると以下のように複数のファイルが入っています。
GISのデータはファイル形式によっては今回のように複数のファイルから構成されます。すべてのファイルが同じ場所に保存されている必要があるため一部のファイルだけを他の場所に移動してはいけません。
このGISデータをQGISに読み込みます。
QGISを開きメニューバーの「レイヤ」から「レイヤを追加」を選択し、出てくるメニューの中から「ベクタレイヤを追加」を選択します。
すると「データソースマネージャ|ベクタ」というウインドウが表示されます。
ベクタデータセットと書かれている欄の右端にある点が三つ並んでいるところをクリックします。
するとファイルを選択する画面が表示されますのでメッシュ人口データを展開したフォルダに移動します。
複数あるファイルのうちファイル名の最後が「.shp」で終わるファイルを選択し、「開く」をクリックしましょう。
ファイルを選択すると「データソースマネージャ|ベクタ」ウインドウに戻るので、ウインドウの下の方にある「追加」をクリックし、続けて「閉じる」をクリックします。
すると地図の画面に戻り、選択した都道府県のメッシュデータが表示されています。
ここから人口重心を作成する手順に進みます。
人口重心の考え方
改めて人口重心の考え方を整理します。
人口を重さと考えた場合に都道府県などを一点で支えることができる点が人口重心です。
今回使用する500m人口メッシュデータはメッシュ(約500m四方の四角形)ごとに人口の情報が記録されています。
メッシュの色を人口に応じて変化させて表示させると以下のようになります。千葉県のデータです。
赤色が濃いほど人口が多いメッシュです。
千葉県の範囲内に小さなメッシュがたくさん並んでいて、東京に近い北西方向に赤色のメッシュが集中していることがわかります。
人口を重さと仮定した場合、千葉県は北西ほど重たくなることが想像できると思います。
この重さが偏っている千葉県全体を持ち上げて、下から一点で支える場合にどこで安定するかを明らかにすることができるのが人口重心です。
それでは、QGISで実際に人口重心を求めてみます。
人口重心を求める
人口などの属性情報を重さとして使用し重心を求めるには「加重平均座標」という機能を使用します。
メニューバーの「ベクタ」から「解析ツール」を選択し、出てくるメニューを中から「加重平均座標(重心の平均)」を選択します。
すると「加重平均座標(重心の平均)」というウインドウが表示されます。
このウインドウで、使用するデータ(今回の例では人口メッシュデータ)の選択、重さとして使用する属性情報の選択を行います。
まず、一番上の「入力レイヤ」欄で人口重心を求めるレイヤの選択を行います。▼をクリックし、500mメッシュ人口データのレイヤを選択しましょう。
続いて上から2つ目の「重み属性」欄で重さとして使用する属性が記録されているフィールドを選択します。
今回は、2015年の総人口の情報が記録されているフィールドを選択します。
どのフィールドにどのような属性情報が記録されているかは、国土数値情報のデータ詳細ページに記載されています。
今回使用する「500mメッシュ別将来推計人口(H30国政局推計)」データの場合、「PTN_2015」フィールドに2015年の総人口が記録されていますので、選択メニューから「PTN_2015」を選択しましょう。
ここまで設定し「実行」をクリックすると、重心を計算する処理が開始されウインドウの表示が変わります。 たくさんの文字列が表示されますが、その下の方に「アルゴリズム ‘加重平均座標(重心の平均)’が終了しました」と記載されていれば処理が完了しています。ほとんどの環境で処理は一瞬で終了すると思います。
処理が完了したら「閉じる」をクリックして地図の画面に戻りましょう。
地図の画面に戻ると人口重心を示す小さい丸が出現しています。
2015年時点の千葉県の人口重心は「千葉県千葉市花見川区天戸町」になるようです。
これで人口重心を求める手順は完了です。
今回使用した人口メッシュデータには将来の推計人口も記録されています。
せっかくなので2050年の人口重心も確認してみましょう。
2050年の人口重心を求める
国土数値情報のデータ詳細ページを確認すると2050年の総人口は、「PTN_2050」フィールドに記録されています。
「加重平均座標(重心の平均)」ウインドウの「重み属性」欄で選択メニューから「PTN_2050」を選択し処理を実行しましょう。
地図の画面に戻ると先ほどと違う位置に小さい丸が出現しています。
これが2050年の人口重心です。
2050年の人口重心との距離は、北西に約2390m移動するようです。
住所は「千葉県習志野市実籾1丁目」付近です。「みもみ」と読みます。
使用したデータ
- 国土数値情報「500mメッシュ別将来推計人口(H30国政局推計)」
- OpenStreetMap