写真とGPSをリンクさせてQGISで写真を表示する方法

写真の撮影時間とGPSログをリンクさせてQGISで撮影位置と写真を表示する方法を紹介します。

前提として、GarminGPSトラックログを取りながら、GPS非対応のデジカメで写真を撮っていることを想定しています。デジカメの時間を、GPSの時間とズレないように正しい時間にセットしておきます。

1. GPSログを利用して写真に位置情報を埋め込む

ExifToolをダウンロードします。http://www.sno.phy.queensu.ca/~phil/exiftool/
GPSトラックログをGPXファイルで保存しておきます。
写真をpicフォルダに入れておきます。
以下のコマンドをコマンドプロンプトで実行すると、picフォルダの中の写真全部に位置情報が埋め込まれます。

exiftool(-k).exe -geotag=Current.gpx pic

カメラの時間がズレている場合は、以下のコマンドで調整できます。(GPSの時間から1分20秒引いて同期させる場合)

exiftool(-k).exe -geosync=-1:20 -geotag=Current.gpx pic

2. QGISにPhoto2shapeプラグインをインストール

「森林土木memo」さんの情報をもとにPhoto2shapeプラグインをインストールします。
http://koutochas.seesaa.net/article/417307012.html

3. Photo2shapeの実行

picフォルダと出力するシェープファイルを指定、"Append to existing file"のチェックを外して実行します。
写真に埋め込まれた位置情報をもとにポイントが作成されます。

4. 写真を表示

追加されたレイヤのプロパティ→ディスプレイを開いてHTMLに以下を追加します。属性テーブルに写真のパスと日付が入っているので、それを表示させます。

<img src="[% filepath %]" width="400" height="300"><br/>
[% filename %]<br/>
[% img_date %]

picフォルダをqgsプロジェクトファイルとともに移動させたい場合は以下のように指定します。

<img src="[% @project_folder %]\pic\[% filname %]" width="400" height="300"><br/>
[% filename %]<br/>
[% img_date %]

ツールバーのマップチップスのアイコンを選択して、ポイントにマウスを合わせると写真が表示できます。

5. 写真を表示2

eVisプラグインでも写真を表示できます。
eVisプラグインはデフォルトでは有効になっていないので、「プラグインの管理」でチェックを入れます。
Photo2Shapeで読み込んだレイヤを選択して、メニューのデータベースからeVisイベントブラウザを起動します。
オプション→ファイルパスで、filepathを選択して「記憶する」にチェックを入れて保存します。
メニューのデータベースからeVisイベントIdツールを選択して、Photo2Shapeで読み込んだポイントをクリックすると写真が表示できます。

オプションの設定で、属性のfilenameを利用すれば、相対パスにも設定できます。

参考:
http://www.sno.phy.queensu.ca/~phil/exiftool/geotag.html
https://staff.aist.go.jp/t-yoshikawa/Geomap/QGIS_memo.html
http://koutochas.seesaa.net/article/417307012.html