マニュアル飛行にて工事の進捗撮影や河川の撮影を行い、その後写真を確認していると、次回以降も写真と同じ場所から撮影を行いたいと思う事があります。定点観測にするには、プログラミングによる自律飛行をさせる必要がありますが、マニュアルで飛行させているため、座標データは存在していないのですが、撮影済静止画のExifのジオタグを利用することが可能です。
今回はLitchを使用した自律飛行でのご紹介ですが、Exif、Google、Litchは、それぞれ座標の単位といいますか、進法が異なっているため、注意する必要があります。
自分自身の備忘録も兼ねてまとめることにしました。
Exifのジオタグ
実際にExifのジオタグを確認してみます。確認は、Windowsであれば、所望のJPEGファイル上で右クリック→プロパティ→詳細タブをクリックし、下の方へスクロールしていくと「GPS欄」に座標情報が記載されています。
例えばですが、具体的には次のような表記になっています。
緯度 42;12;34.56
経度 141;12;34.56
セミコロンが入っていますし、北緯なのか東経なのかよくわかりません。初めて見る人は、これが正しい形式?と戸惑うかと思います。しかし、これをExifを見るアプリ(私はExifReadというのを使っています)で見ると、次のように見えます。
GPSLatitudeRef : N
GPSLatitude : 42 1234.56 [DMS]
GPSLongitudeRef : E
GPSLongitude : 141 1234.56 [DMS]
N(北)、E(東)、[DMS]という記載が出てきました。
[DMS]というのは、「度・分・秒」という事を表していますが、上記例で言うと
北緯42度12分34.56秒 東経141度12分34.56秒
ということを示しています。
Exifは画像のファイルフォーマットを定義している仕様ですが、この中のジオタグの定義部分を見ると以下のようになっており、「度・分・秒」で正しいという事が確認できます。
タグ | タグ名 | 意味 |
0 | GPSVersionID | GPSタグのバージョン |
1 | GPSLatitudeRef | 緯度の南北 |
2 | GPSLatitude | 緯度(度、分、秒) |
3 | GPSLongitudeRef | 経度の東西 |
4 | GPSLongitude | 経度(度、分、秒) |
まとめるとExifのジオタグは、必ず「度・分・秒」、つまり60進法で表現されているという事です。決してアプリ依存によって変わる事はありません。
尚、(ジオタグの)高度に関しては以前述べましたように、現時点では信頼できる値ではないため、利用することが出来ません。今回の記事でも割愛いたします。
Litchの座標単位
Litchで自律飛行の座標を入力するには、パソコンのMission Hubを使用すると便利ですが、ここで扱える座標単位は10進法のみとなっています。Exifのジオタグ座標は60進法ですので、10進に変換して入力する必要があります。
60進⇔10進の座標変換は、検索するといくつかのサイトで行うことができます。進法の単純な変換ですので、関数電卓で行う事も出来ます。
http://www.benricho.org/map_latlng_10-60conv/
http://www1.bbiq.jp/mercury/googlemap/CalcLatLng.html
また、別の方法として、Google Mapの検索部に60進法を入力すると、対応した10進法も表示されます。 例えば、42°12’34.56”N 141°12’34.56”E を入力すると、その下に42.209600,141.209600と表示されています。その逆もしかりです。
Google Earth Proでは、表示されません。(もしかするとどこかにあるのかもしれませんが、私にはわかりませんでした)
10進に変換した座標をMission Hubに入力します。必要なwaypoint分を入力しましたら、その後はタブレッドに落としてwaypointの詳細を設定するという流れになります。ここから先は、Litchの使用方法の話になりますので、省略します。
まとめ
以上の話を整理しますと、次のようになります。
- Exif 60進法のみ
(表記例)
42 1234.56 [DMS] 141 1234.56 [DMS]
42°12’34.56”N 141°12’34.56”E - Litch 10進法のみ
(表記例)
42.209600,141.209600 - Google Map 10進法、60進法の両対応
10進法の表記はシンプルですが、60進法の表記は統一感がなく困惑してしまいますが、Exifのジオタグは必ず60進法というのがわかっていれば問題ないはずです。
以上です。