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

今回は、前回に引き続き課題の第3回の課題2を学習します。
参考URLは、以下になります。
https://gis-oer.github.io/gitbook/book/materials/tasks/t_08.html

課題2 ジオリファレンス

課題2の内容は、以下となります。

ジオリファレンスは、位置情報のもたない画像などのデータに位置情報を持たせる際に用いる手法です。鯖江市_古地図006(鯖江市 古地図データ(鯖江地区、jpeg)古地図006 CC BYを再配布したもの)をダウンロードし、地理院タイルをもとにGCPを取得し、完成例のようにジオリファレンスした図を作成してください。

この課題は、ベクトル地図とイメージ地図の重ね合わせを行います。具体的には、明治時代の古地図をスキャンしたデータ(.pngファイル)と、ベクトル道路地図を重ね合わせます。
重ね合わせの方法は、イメージ地図の点を指定し、該当するベクトル地図の場所を指定します。この点指定を複数行うことで、イメージ地図の形状を変換するなどしてベクトル地図に(ある意味無理やり)重ね合わせます。
この機能を、QGISではジオリファレンスと呼びます。
作業手順は以下となります。

  1. データのダウンロード
  2. ベクトル地図の読み込み
  3. ジオリファレンサ(プラグイン)の起動
  4. ポイントの指定(4点程度)
  5. ジオリファレンスの実行
  6. 作成されたイメージファイルの読み込み

1.データのダウンロード
下記URLから教材データをダウンロードします。
https://github.com/gis-oer/datasets/raw/master/tasks/sabae_task.zip

2.ベクトル地図の読み込み
教材データからベクトル地図データ(シェープファイル) ”sabae_way.shp” を読み込みます。
この地図は、道路中心線だけですのでジオリファレンスの位置合わせ(GCPの取得:Ground Control Point)に使うのは相当厳しいです。ですので、地理院の航空写真やOSMのXYZタイル地図も読み込んでおいた方がよいでしょう。OSMに背景とすると以下のような地図が表示されます。青い線がシェープファイルになります。

地理院地図(XYZタイル)とシェープファイルの重ね合わせ

3.ジオリファレンサ(プラグイン)の起動
ジオリファレンサは、メニューの[ラスタ]、[ジオリファレンサ]を選択して起動します。
[ジオリファレンサ]が表示されない場合は、メニュー[プラグイン]の[プラグインの管理とインストール]を選択し、”GDALジオリファレンサ”にチェックを入れると表示されます。(下図)

GDALジオリファレンスプラグインの追加

4.ポイントの指定(4点程度)
ジオリファレンサが起動したら、メニュー[ファイル]、[ラスターを開く]を選択し、教材のファイル”006.jpg”を読み込みます。以下のように表示されるはずです。

ジオリファレンサにラスター地図を読み込んだ状態

次にGCPの設定です。GCPの設定は、画像とベクトルの両方に位置合わせの場所を設定する作業です。
ジオリファレンサは画像読み込み後にGCP指定モードになっていますので、画像上の任意の点を指定すると”地図座標の入力”ダイアログが表示されます。ダイアログ上の”地図キャンバスから”ボタンを押下して地図キャンパス(地理院XYZタイル)の同じ場所をクリックします。この作業を4回程度実施します。

ジオリファレンサにてGCPを複数設定

5.ジオリファレンスの実行
次に、ジオリファレンサの[ファイル]、[ジオリファレンサの実行]を選択します。選択すると下記画面が表示されますので、変換タイプに”線形(Liner)”指定し、出力ラスタ(出力ファイル名)を指定して”OK”ボタンを押下します。

ジオリファレンスの実行指定画面

6.作成されたイメージファイルの読み込み
ジオリファレンサの実行が成功すると、GCPをもとに画像を調整したファイル(ジオリファレンス画像ファイル)が作成されます。
ジオリファレンス画像ファイルを、QGISのメインウィンドウに読み込み、半透明の設定やレイヤの上下順を入れ替えると以下のような地図になります。

ジオリファレンス画像ファイルと地理院地図の重ね合わせ

まあ、大体あっているかと。。
課題の整飾の部分は、前回、前々回も同じなので割愛します。

まとめ

今回は、QGISの”ジオリファレンサ”プラグインを使って、ベクトル地図上に画像を重ねるジオリファレンスを学習しました。

ジオリファレンスは、マップデジタイズ(紙やラスターの地図に測地座標を与えて重ね合わせ地図入力を行う)に使えそうですね。
QGISを使って個人のPCでこういったことができるのだと感動しました。