校区をボロノイ分割で構成してみる


国交省の国土数値情報をQGISで使ってみると、こういうデータがありました。

大阪の小学校区のデータ(A27-10_27-g_PublicElementarySchool.shp、A27-10_27-g_SchoolDistrict.shp)です。

 

校区の一部に欠損があります、大阪の中心部と北部・南部の一部です。

欠損領域の小学校区を、QGISで構成してみます。構成には仮想的にボロノイ分割を使います。

ボロノイを使えば最適配置問題の解が得られます。

 

●まず、欠損領域のポリゴンを作成します。空間オブジェクトの選択と保存を参照

サンプルデータ

 

●次に、ポリゴン内の学校データをクリップして抽出。ベクタのクリップ:点データやポリゴンをポリゴンでクリップ(Clip)するを参照

サンプルデータ

 

●最後に、抽出した小学校のデータをボロノイ分割します。

ただし、小学校のデータはこのままでは分割できません、マルチポイントジオメトリをシングルに変換します。

メニュで、ベクタ->ジオメトリツールー>マルチパートをシングルパートに…

生成された「単一のパート」をボロノイ分割します。

メニュで、ベクタ->ジオメトリツールー>ボロノイポリゴン

後でクリップという処理をするので、バッファー領域を20~30%ほど取っておきます。

こんな感じで分割されます。

このままでは見づらいので、先に作っておいた欠損領域のデータでクリップします。

ベクタのクリップ:点データやポリゴンをポリゴンでクリップ(Clip)するを参照

メニュで、ベクタ->空間演算ツールー>クリップ

入力レイヤ -> ボロノイポリゴン

オーバーレイレイヤ -> 欠損領域データ(osaka_select)

で、実行

こんな感じのボロノイになります。

既存の校区と重ねてみます。

QGISのボロノイ分割はシンプルです。

校区設定には様々な制約条件があると思いますが、それらを「重み」変数に使うことでもっと柔軟なボロノイ分割も可能です。

RやPythonなどで演算した結果をQGISで可視化するのが現実的…?

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*