前回の演習では、施設から一定距離の範囲をバッファとして作成し、その範囲に重なる人口メッシュを集計することで、「施設の周辺にどれくらいの人が住んでいるか」を算出しました。
前回扱った「メッシュ総取り」の集計方法は、生活圏人口を大まかに把握するには便利です。一方で前回の方法では、人口メッシュがバッファに少しでも重なっていれば、そのメッシュの人口をすべて含めて集計していたため、結果として、実際よりも人口を多く見積もってしまう場合がありました。
そこで今回は、バッファと重なっている面積の割合に応じて人口を配分する「面積按分」という方法を紹介します。

例えば、ある人口メッシュの20%だけがバッファに重なっている場合、そのメッシュ人口の20%分だけをバッファ内人口として扱います。面積按分は、メッシュ内に人口が均等に分布すると仮定する推計です。総取りより値は小さくなりますが、住宅地の位置によって誤差は残り、必ず実人口に近づくとは限りません。
計算方法の違いを先に試したい方は、総取りと面積按分の実演を動かしてみてください。人口や重なる面積を変えると、結果がその場で変わります。
本記事では、次の流れで面積按分を説明します。
人口データの前処理(座標系の変換・面積算出)
↓
人口データと施設バッファの交差
↓
面積比率の算出
↓
バッファ内人口の推計
人口メッシュと施設バッファは、人口分析編 #04の演習で使用したものを引き継ぎます。施設バッファには、施設ごとに重複しないID列(例:facility_id)を付けておきます。名称が同じ施設もあるため、集計キーには施設名よりIDを使います。
面積按分とは
面積按分とは、バッファと重なっている面積の割合に応じて人口を配分する方法で、地理空間分析の世界では頻繁に用いられる手法となります。
例えば、
- ある人口ポリゴンの人口:1,000人
- バッファに含まれる面積の割合:40%
だった場合、
1,000人 × 40% = 400人
として、バッファ内に含まれる人口を推計します。

もちろん、実際の人口はポリゴン内に均等に分布しているとは限りません。住宅地が一部に偏っている場合もあります。そのため、面積按分はあくまで推計手法の一つです。ただし、細かい住所単位の人口データがない場合でも、一定の根拠を持って生活圏人口を算出できるため、GIS分析ではよく使われます。
①前処理(人口ポリゴンを平面直角座標系へ変換する)
まずは人口データを面積計算できる状態にし、面積算出をしたいと思います。
座標系の変換
以前説明した通り、緯度経度座標は「角度」を扱う座標系です。一方で、面積は「距離 × 距離」で求められます。そのため、緯度経度のままでは、面積計算には適していません。従って人口ポリゴンを平面直角座標系に変換してから、面積を計算します。
※前回(#03)で既に変換しているため、変換済のデータがお手元にあればこの作業はスキップしていただいて大丈夫です。

面積の算出
次に、人口データの元となるポリゴン面積を算出します。
右下のレイヤ一覧で人口ポリゴンレイヤを選択した状態で、上部メニューから「フィールド計算機」を開きます。フィールド計算機のウィンドウが表示されたら、以下のように設定します。
- 出力する属性の名前:自由に設定(例:全体面積)
- フィールド型:小数点付き数値(real)
- 式:
$area
設定後、「OK」を押します。
各ポリゴンの面積が新しい属性に入ります。$areaはプロジェクトの楕円体と面積単位の設定を参照するため、プロジェクトのプロパティで面積単位を平方メートルに設定してください。全体面積と交差部面積は、同じ設定で計算します。投影座標系の平面面積を使う場合は、メートル単位の対象レイヤでarea($geometry)を用い、分子・分母の両方をそろえます。

フィールド計算機のウィンドウを閉じた後は、必ず「編集モード」のボタン(QGIS画面上部の鉛筆アイコン)をクリックし、計算結果を保存してください。保存後、「地物情報の表示」機能で適当な地物をクリックすると、属性の中に先ほど作成した面積フィールドが追加されていることを確認できます。

交差データの作成
人口データの準備ができたら、次に施設バッファと人口ポリゴンが重なっている部分を取り出します。ここでは、QGISの標準機能である「交差」機能を使います。
交差データの作成
メニューから、「ベクタ→ 空間演算ツール→ 交差」を選択します。
そして表示されたウィンドウ内で以下のように設定します。
- 入力レイヤ:人口ポリゴン
- オーバーレイレイヤ:施設バッファ

実行すると、施設バッファと重なっている部分だけが新しいポリゴンとして作成されます。元の人口ポリゴンが、バッファの境界で切り分けられるイメージです。この交差後のポリゴンを使って、バッファ内に含まれる面積と人口を計算していきます。

処理エラーが発生したとき
なお、交差処理の際にジオメトリエラーが発生する場合があります(下図参照)。

人口集計では、「不正なジオメトリの地物を無視」を選んで終わりにしないでください。対象メッシュが処理から抜けると、その人口も集計されません。元データを別名で保存し、プロセシングの「ジオメトリを修復(Fix geometries)」で修復したレイヤを交差に使います。修復前後でIDと人口属性が維持されているかを確認し、形状が変わった場合は全体面積も再計算します。修復できず除外した地物が残る場合は、ID・件数・人口への影響を記録し、欠落のない集計結果とは区別します。下図は従来の回避設定を示したものです。人口集計の推奨手順は本文の修復・確認を優先してください。

面積比率の算出
次に、交差後のポリゴン面積を計算し、面積比率の算出を行います。
交差部面積の算出
交差で作成されたレイヤを選択し、フィールド計算機を開き、以下のように設定します。
- 出力する属性の名前:交差部面積
- フィールド型:小数点付き数値(real)
- 式:$area
これで、バッファと重なっている部分だけの面積が計算されます。

面積比率の算出
続いて、交差部が元の人口ポリゴンに対して何割を占めているかを計算します。フィールド計算機で新しいフィールドを作成します。
- 出力する属性の名前:交差部の面積比率
- フィールド型:小数点付き数値(real)
- 式:”交差部面積” / “全体面積”
例えば、元の面積が10,000㎡、交差部面積が4,000㎡だった場合、面積比率は0.4になります。つまり、その人口ポリゴンの40%がバッファ内に含まれている、という意味です。

バッファ内人口の推計
次に、いよいよ今回の本題である人口を面積比率に応じて配分する計算を行います。
交差部の人口の推計
再度フィールド計算機を開き、以下のように設定します。
- 出力する属性の名前:交差部の人口総数
- フィールド型:小数点付き数値(real)
- 式:”人口総数” * “交差部の面積比率”
これで、バッファ内に含まれる推計人口が計算されます。なお、計算式に使用する項目名は元データによって異なるため、それぞれ該当する列名を入力してください。

ここまでで、元々は人口総数だけを持っていた人口ポリゴンに対して、
- 全体面積
- 交差部面積
- 交差部の面積比率
- 交差部の人口総数
を追加できました。

施設IDごとに按分人口を合計する
交差結果には、元メッシュのIDと施設バッファのIDを残します。施設ごとの人口は、交差部の人口総数を施設IDでまとめて合計します。施設間で圏域が重なる場合、交差結果を再び空間条件「交差する」で施設バッファへ結合すると、別施設由来の行まで拾うおそれがあるためです。
プロセシングツールボックスの「カテゴリ別統計(Statistics by categories)」を開き、入力に交差レイヤ、統計を計算するフィールドに「交差部の人口総数」、カテゴリに施設IDを指定します。出力表のsum列が施設別の按分人口です。地図に戻すときは、施設バッファのIDと出力表のIDを使って属性結合します。IDの欠損や重複がないことも確認してください。
合計する列は元の「人口総数」ではなく、面積比率を掛けた「交差部の人口総数」です。施設Aと施設Bの推計値を足して地域全体の人数にすることもできません。共通する範囲の住民が両方に含まれるため、地域全体のカバー人口が目的なら、施設バッファを統合して重複範囲をなくしてから人口と交差させます。
2つのメッシュで計算を確かめる
次は検算用の架空例です。実地域の人口を示すものではありません。人口1,000人のメッシュAの40%、人口500人のメッシュBの20%が一つの施設圏域に入るなら、按分人口は1,000×0.4+500×0.2=500人です。同じ条件の総取りは1,500人になります。
QGISでも少数の行を選んで、元人口・元面積・交差部面積・施設IDを追い、手計算と一致するか確認します。面積比率は原則0〜1、元面積は0より大きい必要があります。NULLや秘匿値は0人と置き換えず、データの定義を確認してください。按分人口は途中で整数に丸めず、最後の表示段階で丸めます。
まとめ
今回は、前回作成した施設バッファを使い、バッファと重なっている面積の割合に応じて人口を配分する「面積按分」の方法を紹介しました。単に「どのメッシュがバッファに重なっているか」を見るだけでなく、「どの程度重なっているか」まで考慮することで、人口の過大評価を抑えた集計ができるようになります。
次は将来推計人口を使った施設周辺人口の比較へ進めます。直線距離の圏域と道路を通って到達できる圏域の違い、人口分布を均等とみなす仮定を、結果に添えて説明してください。
参照:QGIS 3.40公式ドキュメント・式の関数、ジオメトリ処理。画面や機能名は利用バージョンによって異なる場合があります。
2026年9月10日修正:面積単位の設定、無効な地物による欠落、圏域が重なる場合の集計方法と検算例を追記・訂正しました。


