GIS実習オープン教材の学習(その15)

今回は、第9回点データの分析の課題2(行政区による点の計測)を行います。
参考URLは、以下になります。
https://gis-oer.github.io/gitbook/book/materials/tasks/t_14.html

課題の内容

今回の課題を以下に示します。

行政区域のポリゴンを用いて、区ごとに学校の数を算出し、それに応じて配色を調整してください。また、最も学校が少ない区とその数を回答してください。

第9回・点データの分析課題2· GIS実習オープン教材

前回学習したメッシュでの学校数の集計を、今回は行政区域(市区町村)ごとに集計して地図上に表現します。

課題の実施

それでは、課題に取り組みましょう。手順は以下となります。
1.データの確認とQGISへの読み込み
2.行政区域内の学校を集計
3.行政区域の色分け

1.データの確認とQGISへの読み込み
今回の課題では、大阪のシェープファイルの以下のデータを使用します。
・school.shp(大阪市および周辺の学校データ、565件)
・osaka_6kei.shp(大阪市の行政区域データ、24件)
上記ファイルをQGISへ読み込みます。毎度ですが、エンコーディングはUTF-8としてください。
以下のような地図が表示されるはずです。

2つのシェープファイルを表示した状態

2.行政区域内の学校を集計
次に、行政区域内の学校を集計します。
手順は、メニューの[ベクタ]、[解析ツール]、[ポリゴン内の点の数…]を選択します。(前回と同じです)

解析ツールのポリゴン内の点の数を選択

選択後に表示される”ポリゴン内の点の数”ダイアログにて、以下の指定を行い”実行”ボタンを押下します。
・ポリゴンレイヤ:大阪市の行政区域(osaka_6kei.shp)
・点レイヤ:学校レイヤ(school.shp)
・カウント数を収納するフィールドの名前:任意(デフォルトは”NUMPOINTS”)

解析ツールのポリゴン内の点の数を選択

実行が成功すると、下図のように”ポリゴンレイヤ”で指定したレイヤのコピーが作成されその属性(NUMPOINT)に点(学校)の集計数が設定されます。

集計結果の表示イメージ(選択中の平野区は黄色表示)

今回は、ポリゴン内の点の集計を行いましたが、点の属性値による種類の集計属性値自体の集計もできます。
例えば、ポリゴン内に施設の小分類(中学校や小学校などの施設の種別)数を集計したい場合、ポリゴン内に”ポリゴン内の点の数”ダイアログにて”分類属性”を指定することで分類数を集計できます。

ポリゴン内の小分類数をNUMCATEGORYカラムに集計

集計結果は以下のようになります。
平野区の場合、学校の数は44で小分類の種類は4となります。ドリルダウンして属性を参照したくなりますね。。

小分類数も集計に加えた結果

3.行政区域の色分け
行政区域の色分けは、前回学習したメッシュの色分けと同じです。
先ほど出力した行政界レイヤを右クリックするなどして”プロパティ”を選択し、表示される”レイヤプロパティダイアログから”シンボロジ”を選択しします。
次に、画面最上部の選択リストから”連続値による定義”を選択して”値”に学校の集計結果である属性”NUMPOINTS”を指定します。
最後に分類数を設定して”適用”ボタンを押下します。

レイヤプロパティダイアログからシンボロジを指定

分類での色塗り結果は、以下の表示となります。

行政区域内の点(学校)の数により色塗りした地図

上記地図は、ラベルとして行政区域の名称と小分類の件数を表示しています。
此花区の属性をフィルタ表示すると、属性数が14件、小分類は高等学校、中学校、小学校の3種類であり、集計結果が正しいことが確認できます。

まとめ

ここまで、以下を学習しました。

  • ポリゴン内の点の集計
  • ポリゴン内の点の属性値による集計
  • 集計結果による色塗り地図の作成

メッシュ内集計同様、この手の作業もお客様インパクトはありそうです。
先にも書きましたが、地図上のポリゴンをクリックすると集計対象の属性一覧が表示されるドリルダウン的な機能があると非常にに便利だと思います。Pythonスクリプトを組めばできるのだと思います。