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

今回は、第6回基本的な空間解析の課題2(周長と面積の計測)を行います。
参考URLは、以下になります。
https://gis-oer.github.io/gitbook/book/materials/tasks/t_11.html

課題の内容

今回の課題(課題6-2)を以下に示します。

この実習は、解析に必要な範囲を求め、新規レイヤとして抽出するものです。GISでは、ベクトルデータの保持する形状、位置、属性等の情報を用いることで特定の条件にあった新規レイヤを抽出することができます。以下の手順と基本的な空間解析の教材を参考に、淀川が流れる区のみを抽出し、完成例のような図を作成してください。

第6回・基本的な空間解析課題2· GIS実習オープン教材

作業手順は以下となります。
1.データの確認とQGISへの読み込み
2.河川データから淀川を抽出
3.淀川流域の市区町村を選択して別ファイルへ出力
4.淀川流域の市区町村を1つのポリゴンにする
5.淀川流域市区町村ポリゴンを用いて淀川を切り取り
6.淀川流域市区町村ポリゴンを用いて区内の学校を抽出する
※教材では”新規属性テーブルの作成”となっていますが、本記事ではこれを”新規カラムの作成”に読み替えています。

1.データの確認とQGISへの読み込み
今回の課題では、前回の課題で使用したシェープファイル(osaka_6kei.shp)に加え、同じフォルダーにある以下のデータも使用します。
・river.shp(大阪市周辺の河川データ、2,338件)
・school.shp(大阪市および周辺の学校データ、565件)
この3つのデータをQGISへ読み込みます。

3つのシェープファイルを読み込んだ状態

2.河川データから淀川を抽出(属性による抽出とエクスポート)
課題の説明にあるyodo_river.shpファイルは存在しないようなので、同様のデータを作成します。
手順としては、まず、クエリビルダを使ってriver.shpを属性”name”=’淀川’の条件でフィルタします。

クエリビルダで淀川でフィルタ

フィルタされた図形(図形数21となるはずです)をすべて選択状態として、レイヤパネルの右クリックメニューから[エクスポート]、[選択された地物のエクスポート]を指定します。
下記画面が表示されますので、名前を”yodo_rover”としてシェープファイル形式で保存します。

指定した地物のエクスポート画面

3.淀川流域の市区町村を選択して別ファイルへ出力(属性選択)
淀川流域の市区町村をQGISの空間演算ツールで抽出しようとしましたが簡単にはいきませんでした。具体的には、淀川と市区町村の交差関係は求められますが、市区町村ポリゴンを原形のまま抽出することができませんでした。
仕方がないので、課題の指示通り地図上で手動指定します。

まず、属性ツールバーから”シングルクリックによる地物選択”を指定します。

その状態で、地図上から淀川沿いの市区町村を選択します。選択は、Ctrl+マウス左クリックで行います。

市区町村選択後の地図(黄色の市区町村は手動で選択)

選択が終わったら、先ほどの淀川の抽出同様、選択した地物を別のシェープファイル(画面例では”yodo_city”)にエクスポートします。完成すると、下図のようになります。

エクスポート後に抽出された市区町村と淀川、学校レイヤ

4.淀川流域の市区町村を1つのポリゴンにする(融合)
次に、淀川流域を単位として解析を行うために、ディゾルブ機能を使って市区町村ポリゴンを1つにまとめます。
ディゾルブは、”融合”という意味で複数の図形(今回はポリゴン)を1つにまとめます。
作業としては、メニューの[ベクタ]、[空間演算ツール]、[融合(dissolve)]を選択し、先ほど新規作詞した淀川流域市区町村レイヤ(”yodo_city”)を選択して実行します。

空間演算ツールの融合(Dissolve)指定画面

融合が成功すると、下図のように市区町村が1つとなった新規レイヤが作成されます。

融合成功後の地図画面(赤いポリゴンが融合結果の新レイヤ)

5.淀川流域市区町村ポリゴンを用いて淀川を切り取り(切り抜き)
淀川流域市区町村の範囲より長くなっている淀川を、大阪市の範囲で切り取ります。
操作は、メニューの[ベクトル]、[空間演算ツール]、[切り抜き(Clip)]を選択し、下図のように入力レイヤ(yodo_river)とオーバーレイレイヤ(yodo_city)を指定し”実行”ボタンを押下します。

空間演算ツールの切り抜き(Clip)指定画面

6.淀川流域市区町村ポリゴンを用いて区内の学校を抽出する(交差)
淀川流域市区町村のポリゴンの範囲内の学校レイヤ(点)を抽出します。
操作は、メニューの[ベクトル]、[空間演算ツール]、[交差(intersect)]を選択し、下図のように入力レイヤ(school)とオーバーレイレイヤ(yodo_city)を指定し”実行”ボタンを押下します。

空間演算ツールの交差(Intersect)指定画面

完成した地図は以下となります。

まとめ

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

  • 属性からのデータ絞り込み
  • 各種空間演算(Clip、Intersect、Dissolve)
  • 空間演算結果のシェープファイルへのエクスポート

空間演算は、地物同士の位置関係で演算できるので、とても便利ですね。
ただ、淀川周辺の市区町村を抽出できなかったのがちょっと悔しいです。