国交省の国土数値情報をQGISで使ってみると、こういうデータがありました。
大阪の小学校区のデータ(A27-10_27-g_PublicElementarySchool.shp、A27-10_27-g_SchoolDistrict.shp)です。
校区の一部に欠損があります、大阪の中心部と北部・南部の一部です。
欠損領域の小学校区を、QGISで構成してみます。構成には仮想的にボロノイ分割を使います。
ボロノイを使えば最適配置問題の解が得られます。
●まず、欠損領域のポリゴンを作成します。空間オブジェクトの選択と保存を参照
●次に、ポリゴン内の学校データをクリップして抽出。ベクタのクリップ:点データやポリゴンをポリゴンでクリップ(Clip)するを参照
●最後に、抽出した小学校のデータをボロノイ分割します。
ただし、小学校のデータはこのままでは分割できません、マルチポイントジオメトリをシングルに変換します。
メニュで、ベクタ->ジオメトリツールー>マルチパートをシングルパートに…
生成された「単一のパート」をボロノイ分割します。
メニュで、ベクタ->ジオメトリツールー>ボロノイポリゴン
後でクリップという処理をするので、バッファー領域を20~30%ほど取っておきます。
こんな感じで分割されます。
このままでは見づらいので、先に作っておいた欠損領域のデータでクリップします。
ベクタのクリップ:点データやポリゴンをポリゴンでクリップ(Clip)するを参照
メニュで、ベクタ->空間演算ツールー>クリップ
入力レイヤ -> ボロノイポリゴン
オーバーレイレイヤ -> 欠損領域データ(osaka_select)
で、実行
こんな感じのボロノイになります。
既存の校区と重ねてみます。
QGISのボロノイ分割はシンプルです。
校区設定には様々な制約条件があると思いますが、それらを「重み」変数に使うことでもっと柔軟なボロノイ分割も可能です。
RやPythonなどで演算した結果をQGISで可視化するのが現実的…?
Leave a Reply