基本的な空間解析

 本教材は、「基本的な空間解析」の実習用教材です。GISソフトウェア(QGIS)を用いた、地物の計測、ディゾルブ、クリップなどの空間解析手法について解説しています。講義用教材として、地理情報科学教育用スライド(GIScスライド)の4章が参考になります。

 課題形式で使用する場合は、本教材を一読した後、課題ページへお進みください。GIS初学者は、本教材を進める前にGISの基本概念の教材を確認しておいてください。本教材を使用する際は、利用規約をご確認いただき、これらの条件に同意された場合にのみご利用下さい。

使用データ

 実習をはじめる前に、既存データの地図データと属性データの教材を参考に、以下のデータをダウンロードしてください。なお、すべてのデータをJGD2000の平面直角座標系第Ⅵ系で統一する。e-satのデータは、世界測地系、JGD2000の平面直角座標系第Ⅵ系でダウンロードする。国土数値情報のデータはダウンロード後に空間データの教材を参考に、「JGD2000の平面直角座標系第Ⅵ系」へ座標変換する(QGISデータを読み込む際には、エンコーディングをShift-JISに設定しないと文字化けします)。国土数値情報データの読み込み時に空間参照設定のウィンドウが表示されたら、JGD2000を選択する(QGIS2.8.4の場合)。

国土数値情報の座標変換が上手くいかない場合は、よくある質問とエラー:国土数値情報の変換を参照

  • 「国土交通省国土政策局「国土数値情報(奈良県 行政区域、学校、河川データ)」
  • 政府統計の総合窓口(e-Stat) 奈良市、大和郡山市境界データ(統計データは不要のため任意のものでよい)
  • 国土地理院 地理院タイル

スライド教材

スライドのダウンロードはこちら


基本量の測定と空間オブジェクトの選択

 GISでは、データの形状や属性を用いて、地物の長さや面積を計測することができます。ここでは、奈良県の行政区域と地理院タイル(標準地図)を用いて、猿沢池の周長と面積の計測を行います。QGISでの計測には、手動のものと自動のものがあり、以下ではその手法を解説します。  奈良市の境界データを先に読み込んだ後に、タイルレイヤプラグインから地理院タイルの標準地図を読み込んで下さい。タイルレイヤプラグインについては、QGISビギナーズマニュアルを参照してく下さい。

手動で長さと面積を計測する

タイルレイヤプラグインを利用し、地理院タイルの標準地図を読み込む(タイルレイヤプラグインの使用法は、QGISビギナーズマニュアルを参照)。背景地図が表示できたら、計測ツールをクリックし、線の長さを測るを選択する。 手動計算

猿沢池の周長を測定

池の外周を縁取るように、点を打ち、最初の点と重なったところで右クリックすると周長が計算できる。 手動計算

猿沢池の面積を測定

池の外周を縁取るように、点を打ち、最初の点と重なったところで右クリックすると面積が計算できる。 手動計算

フィールド演算で長さと面積を計測する

奈良県の行政区域データから市町村の境界の長さと面積を計算する。 自動計算

  1. 属性テーブルを開き、編集モードに切り替える。
  2. フィールド計算機を開く。

新規フィールドを作成し、フィールド演算を行う。 自動計算

  1. 「新しいフィールドを作る」にチェックする。
  2. フィールド名: perimeter
  3. 出力フィールドタイプ: real
  4. 出力フィールド幅: 10 ※任意で変更可
  5. 精度: 5 ※任意で変更可
  6. 関数: ジオメトリから$perimeterをダブルクリックする。※式に$perimeterが表示される。 ※今回は周長なので$perimeterを選択する。 線長を計測する場合には、$lengthを使用する。
  7. OKをクリックする。 ※面積の計測には、同じ手順で、$areaを使用する。

周長(length)と面積(area)のフィールドがつくられる。 自動計算

フィールド計算を用いた計算

フィールド計算機では、様々な関数による計算を行うことができる。以下では、よく利用される関数を紹介したものである。

関数名 処理内容
$length 線長
$area 面積
$geometry ジオメトリ
$x x座標
$y y座標
$id 連番

空間オブジェクトの選択

空間選択(地図の選択機能)から、奈良市を検索する。

地図から選択する場合、選択ボタンを利用する。 レイヤウィンドウで対象レイヤをクリックし、青色になっているのを確認したのち、地物選択をクリックする。 奈良市をクリックすると、色が黄色(選択色)になる。※以下の地図は、市町村名が分かりやすいように、属性情報をラベリングしています(QGISビギナーズマニュアルのラベルの項目で解説)。 自動計算

属性テーブルから、選択したエリアの情報を表示することができる。 自動計算

  1. 属性テーブルを開き選択した地物を表示する。
  2. 地図で選択した地物のみ表示される。

▲メニューへもどる

その他の空間データの操作

 GISでは、データの位置、形状、属性を用いて新たにデータを作成することができます。以下では、マージ(複数のデータを1つに結合)、ディゾルブ(属性を用いてデータを融合する)、クリップ(重なっているデータを指定し、特定の範囲を切り取る)する手法について解説します。マージ、ディゾルブ、クリップの詳しい説明は、地理情報科学教育用スライド(GIScスライド)の4章を参照してください。

※あらかじめ、新規にフォルダを作成し、奈良市と大和郡山市のシェープファイルを移動して下さい。シェープファイルは複数のデータで一つのファイルであるため、移動の際はすべてを動かすようにして下さい。

奈良市と大和郡山市のポリゴンをマージ(Merge)する

e-statから取得した奈良市と大和郡山市の境界データをQGISで読み込む。ベクタ>データマネージメントツール>複数のシェープファイルを一つに結合するからマージを行う。 マージ

  1. ポリゴンを選択する。
  2. ブラウズから入力ディレクトリを選択する。
  3. ブラウズから出力するシェープファイルの保存する場所と名前を入力する。
  4. OKをクリックする。

奈良市と大和郡山市がマージされ、一つのポリゴンになった。 マージ

マージしたポリゴンをデイゾルブ(Dissolve)する

ベクタ>空間演算ツール>融合からディゾルブを行う(町丁目界のないポリゴンの作成)。 デイゾルブ

  1. 入力ベクタレイヤを選択する。
  2. 融合フィールドを指定する。※ 融合フィールドは、属性が統一されている行を選択する。
  3. ブラウズから、出力場所と名前を入力する。
  4. OKを入力する。

町丁目界がなくなり、単純なポリゴンが作成できた。 デイゾルブ

ディゾルブしたポリゴンをもとに学校をクリップ(Clip)する。

ベクタ>空間演算ツール>クリップ からクリップを行う(対象エリアにあるレイヤの切り取り)。 クリップ

  1. 入力ベクタレイヤに学校レイヤを追加する。
  2. クリップレイヤにデイゾルブした市域のレイヤを追加する。
  3. ブラウズから、出力場所と名前を入力する。
  4. OKを入力する。 ※入力レイヤ: 切り取りたいレイヤ  クリップレイヤ: クリップに使うレイヤ

奈良市と大和郡山市にある学校が抽出できた。 クリップ

▲メニューへもどる

オーバーレイ分析

 オーバーレイ分析は、空間データを重ね合わせブール演算をもとに領域を抽出する手法である。以下では、インターセクトとユニオンの手法について解説している。インターセクトとユニオンの詳しい説明は、地理情報科学教育用スライド(GIScスライド)の4章を参照してください。

インターセクト(Intersect)

国土数値情報の河川レイヤを用いて、大和郡山市と交わる水域を、インターセクトし(Intersect)別のポリゴンを作成する。 ベクター>空間演算ツール>交差からインターセクトを行う。 クリップ

  1. 入力ベクタレイヤを水域にする。
  2. 交差レイヤを大和郡山市にする。
  3. ブラウズから、出力場所と名前を入力する。
  4. OKを入力する。

大和郡山市と交差するレイヤが新規に作成された。 ※属性情報をチェックしクリップとの違いを確認する。ポリゴンやラインは、長さや面積の再計算が必要な場合がある。 クリップ

ユニオン (Union)

奈良県と奈良市町丁目のポリゴンを一つのポリゴンに統合する。 ベクター>空間演算ツール>統合からユニオンを行う。 ユニオン

  1. 入力ベクタレイヤを奈良市にする。
  2. 交差レイヤを奈良県にする。
  3. ブラウズから、出力場所と名前を入力する。
  4. OKを入力する。

奈良県と奈良市町丁目のポリゴンを一つのポリゴンに統合できた。 ユニオン

▲メニューへもどる

この教材の課題ページへ進む

ライセンスに関する注意事項

本教材で利用しているキャプチャ画像の出典やクレジットについては、その他のライセンスについてよりご確認ください。

教材の利用に関するアンケート

 本プロジェクトでは、教材の改良を目的とした任意アンケートを実施しています。ご協力いただける方は、アンケートにお進みください。ご協力のほどよろしくお願いいたします。

※ 本アンケートの成果は、教材の改良のほか、学会での発表等の研究目的でも利用します。また、本アンケートでは、個人が特定できるような質問は設けておりません。

results matching ""

    No results matching ""