GIS実習オープン教材の学習(その13)
今回は、第8回領域分析の課題2(ボロノイ図の作成)を行います。
参考URLは、以下になります。
https://gis-oer.github.io/gitbook/book/materials/tasks/t_13.html
課題の内容
今回の課題を以下に示します。
school.shp から、小学校のみを抽出した後、小学校と保育施設( kindergarten.shp )のデータを用いて、ボロノイ図を作成してください。
第8回・領域分析課題2· GIS実習オープン教材
さて、そもおもボロノイ図とは何でしょうか?
Wikipediaでは、以下のように説明されています。
ボロノイ図(ボロノイず、英: Voronoi diagram)は、ある距離空間上の任意の位置に配置された複数個の点(母点)に対して、同一距離空間上の他の点がどの母点に近いかによって領域分けされた図のことである。
Winipedia ボロノイ図 より引用
正直、ちょっとよくわかりません。パスコさんのサイトも参考になります。
[blogcard url=”https://www.pasco.co.jp/recommend/word/word048/”]
さらに、以下のユーチューブ映像も大変参考になります。
[blogcard url=”https://www.youtube.com/watch?v=yDMtGT0b_kg”]
総括すると、以下のようになりそうです。
1.ボロノイ図は、学校や医療機関などの”母点”同士を直線で結び
2.その線の垂直二等分線で構成される図
3.ボロノイ図により、母点同士の勢力圏を表すことができる
課題の実施
それでは、課題に取り組みましょう。手順は以下となります。
1.データの確認とQGISへの読み込み
2.小学校データの絞り込み
3.小学校のボロノイ図の作成
4.保育施設のボロノイ図を作成
5.ボロノイ図同士の比較
1.データの確認とQGISへの読み込み
今回の課題では、大阪のシェープファイルの以下のデータを使用します。
・school.shp(大阪市および周辺の学校データ、565件)
・kindergaten.shp(大阪市の保育施設データ、510件)
上記ファイルをQGISへ読み込みます。
毎度ですが、エンコーディングはUTF-8としてください。
2.小学校データの絞り込み
では、”school”レイヤを”小学校”で絞り込みましょう。
下図のように”school”レイヤの右クリックメニューから”フィルタ”を選択します。
表示されるクエリビルダ画面にて、属性項目”小分類”が”小学校”の条件で絞り込みを行います。
具体的には、”プロバイダ特有のフィルタ式”に、以下の条件式を入力します。
”小分類”=’小学校’
属性項目(左辺)をダブルクォーテーション、条件(右辺)をシングルクォーテーションで囲みます。
条件式が完成したら、”テスト”ボタンを押下して絞り込まれること(565→310件)を確認し”OK”ボタンを押下します。
3.小学校のボロノイ図の作成
次に、小学校のボロノイ図を作成します。
手順は、メニューの[ベクタ]、[ジオメトリツール]、[ボロノイ多角形]を指定します。
表示された”ボロノイ多角形”画面にて、入力レイヤに”school”を選択し”実行”ボタンを押下します。
ボロノイ図の作成が成功すると、新規の出力レイヤとしてボロノイ多角形レイヤ(ポリゴン)が作成され以下のような地図が表示されます。
4.保育施設のボロノイ図を作成
同様の手順で、保育施設のボロノイ図も作成します。
なお、保育施設は属性による絞り込みは不要です。
5.ボロノイ図同士の比較
最後に、作成したボロノイ図同士を比較しましょう。
以下がボロノイ図同士を重ね合わせた地図です。広い方くて線が黒いのが小学校、狭くて線が白いのが保育施設です。
見比べると、以下がいえそうです。
1.小学校は、郊外を除き均一に配置されている(ボロノイの面積が均一のようだ)
2.対して保育施設は郊外が密で中心部は疎(ボロノイの面積が広い)ようだ
3.また、保育施設は市の中心部が疎(ボロノイの面積が広い)ようだ
おまけ
総人口を6段階で色分けした図と重ね合わせてみたところ、人口の多いエリアが狭くなっているようにみえます。(北区などは例外のようにみえますので、あくまで傾向です)
まとめ
ここまで、以下を学習しました。
- 属性による地物の絞り込み
- ボロノイ図の作成
- ボロノイ図同士の比較・分析
ボロノイ図は、私の業務ではほとんど使うことはありません。
ただ、交番などの担当エリアを定量的に検討するための素材にはなりそうに感じました。
例えば、1年間の軽犯罪の発生場所でボロノイ図を作成し、面積の逆数の総和が均等になるように交番の管轄を検討するなど、有効なように感じます。
このあたりは、AIや量子コンピュータなのでサクッと計算してくれると助かるのですが。。