写真と位置情報


06 February, 2000 V0.02
07 January, 2000 V0.01
06 January, 2000 Initial release


始めに
今では珍しく無いどころかファミリー向けでは無いと問題外の日付写しこみ機能もちょっと昔は型名の後ろに"DATE"と付けるほど目新しい売りの機能でした。

同様に今は物好きと特定用途向けのみでしかない位置情報もそのうちポピュラーになると思います。実際に使ってみるまでは良さがわからないけれど一度、味わってしまうとこの機能無しでなぜ今まで我慢できたのだろうと不思議になるほど便利な機能です。

特に法律で携帯電話に発信位置通知を義務づける動きがあるので将来、携帯電話用に開発されたモジュールをいかなる方式にしろ、大きさ、消費電力、価格と言った制約がずっと緩いカメラに流用するのは簡単でしょう。アクセサリーシューに付けるといった形での商品化もありそうです。

しかし、今はまだ自分でやる必要があります。^-^;

GPS
素人が実用的に位置を知る最も簡単な方法はGPSでしょう。PHSの位置情報サービスはサービスエリアと精度の点でちょっと制約がきついと思います。車からと限定すればDGPS,VICSの光ピーコン,ジャイロなど工夫を凝らしたカーナビゲーションの位置情報を近距離無線で伝達するという手も考えられますが車から離れられないというきつすぎる制約がついてしまいます。

MapViewer
FujiFirmのFinePix 1500,2700zにはMapViewerという、地図を表示させて人間が自分で地図を選択することでその地図画像が持っている位置情報を撮影位置情報として書きこむ機能があります。しかしあらかじめ地図を用意しておくだけで少なくない手間がかかりメディアを圧迫し、撮影時には自分がどこにいるのか確認していざシャッターを押すまでに時間がかかるため、用途がかなり限定されます。

ということで位置情報はGPSで人手の介在無しに得るということで話を進めます。次はどこに記録するかですが、

これには、

  1. 画面に記録する。
    経度、緯度といった位置情報を直接画面に写しこむ方法です。位置情報を見るのになにも必要としないことが最大のメリットですが、逆に地図にマッピングするといった二次利用ができないというデメリットがあります。また、画面がうるさくなる、縮小すると潰れて読めなくなるというデメリットもあります。
  2. 画面の外に記録する。
    画像以外の部分、例えばAPSカメラなら磁気ストライプ、デジタルカメラなら画像ファイルに記録します。Exif 2.1ではGPS IFDとタグが規定されているのでこれを使うのが適切だと思いますが、ユーザーエリアなど別のところに記録することもできます。この方法では必ず後処理プログラムが必要なことがデメリットとなります。
    画像に位置情報を書き込む様な後処理プログラムを用意すればワンステップ余分にかかりますが1)と同様の結果を得ることもできます。

の二通りが考えられ、1と2の両方、1もしくは2の選択という組み合わせも当然考えられます。私としては、2の画像以外の部分への記録は常に行なわれ、ユーザーの選択で1の写しこみも出来るというのが良いかと思います。

FujiFilm DS300/DS330, FujiXerox XD530の場合
このシリーズのカメラには、シリアルでNMEAフォーマットのGPS位置情報を受け取って、GPS IFDに位置情報を記録するという機能があり、Atlas社のPro Atlas 2000などGPS IFDに対応したアプリケーションで撮影位置を地図上に表示させることができます。

本体ファームウェアの機能なので何をどう記録するかは変えられません。GPSの保持、接続方法と後処理プログラムが腕の見せ所となります。
Kodak DC290の場合
Kodak DC290にはDigita Scriptと言うスクリプト言語があり、これを使ってシリアルからデータを受け取ってユーザーエリアに記録したり、画面に写しこんだりすることができます。ただし、Digita Scriptでは9600bps以下の通信速度に対応していないので、4800bpsと規定されている通常使われているNMEAフォーマットが扱えません。一部のデータフォーマットがNMEAと同じで9600bpsの通信速度が出せるGPSか、SONYのIPSシリーズGPSか、Garminの独自フォーマット出力のできるGPSが必要になります。
次に、どんな項目をどの様に記録するべきか考えなくてはいけないのですがDigita Scriptは三角関数は言うに及ばず、文字列の結合にも一工夫が必要なのでGPS IFDを作るのはほとんど不可能、特定の項目を抜き出したり、まとめたりする程度でも現実的ではありません。ということでGPSから送られてくるテキストをユーザーエリアに収まる範囲で記録することにしましょう。

ここまでは、Digitaスクリプトの話でしたが開発キットを購入すればDigita上で動くアプリケーションを作ることもでき、

・4800bpsが扱えない
機種によっては扱えるのではないか?
・GPS IFDが作れない
不可能では無さそう。

と言ったスクリプトでの問題がなんとかなりそうに思えます。
その他、DC220/260/265(日本では発売されていない)などのDigita Scriptのバージョンが古く、スクリプトでは対応できないカメラでも使えるかも知れません。
GPSでは撮影方向は分からない

普通の用途では位置さえ分かれば良く、どうしても必要なら地図と照らし合わせたり、遠景が写っていたらKashmirの3D表示と比較するという手もあるので撮影方向はあれば便利くらいの情報ですが、撮影時にどの方角を向いていたかが重要な用途もあると思います。

しかし、GPSで得られるのはあくまで進行方向であり、撮影方向ではありません。まっすぐすたすたと歩いていって体の真正面を向けて撮ることで一致させたとしてもそもそも歩く速度ではSA(Selectable accesability=テロなどで標的位置として悪用されないよう故意に変動する誤差を加えている)のため進行方向の情報は全く役に立たないのです。

つまり、幸せなことに電子コンパスかジャイロを使って方角を求め、その情報もカメラに送ると言う趣味の電子工作向けの課題が残っているのです。

ふつうのデジタルカメラでなんとかならないか?

GPSIFD
前記のPro Atlas 2000やMapFan Vを使って手動で書き込むという手がひとつあります。しかし、実際には手間と時間がかかりすぎるので数枚で嫌になってしまうでしょう。

これを解決するためにgpsifdというプログラムを作ってみました。これはExifタグの撮影時刻情報とGPSログの時刻情報とを照らし合わせて撮影位置を求め、GPS IFDを付加するものです。

この方法は歩く速度では結構、実用になりますが、車などで移動している場合、GPSで出せる限りの精度が必要な場合はカメラ側の時刻精度が問題となり、いまひとつ頼りになりません。

大抵のカメラで時刻合わせは分までです。つまり±60秒程度の誤差が時刻合わせの段階で出てしまいます。さらに時計の精度は意外に悪く月差数分もあるので移動速度の速い乗り物では違う町にポイントされてしまったりします。

これを防ぐには使う前に時報を使って正確に合わせておく必要がありますが、毎回、00秒になるのを待って時刻合わせなんて面倒なことを、しかも忘れずに行なうのは現実的ではありません。

カメラが時刻合わせのコマンドを持っていて、PCの時間にカメラの時計を合わせるユーティリティを持っている場合は、PCの時刻をSNTPなどで常に正確に合わせるようにしておけば、00秒になるまで待つ必要がない分、多少、ましでしょう。

DC290の場合、フィールドでもDigita scriptでGPSを使って正確に時刻合わせすることができます。合わせた後はGPSをはずして別々に持っていくこともできるので多少、実用的かも知れません。

gpsifdには時刻のずれを補正するオプションがあるのでGPSの時刻を撮影しておく、一度だけGPSを接続して撮っておくという方法もありますが人間は忘れる動物です。

もうひとつ考えられるのはシャッターを押した時に同期する方法です。カメラ側からシャッターが押されたことを通知してもらい、ログにここでシャッターが押されたと記録するか、逆にログを取っている側でシャッターを操作すると同時にログにマークを入れ、後処理プログラムで撚り合わせれば良いでしょう。

なお、いくらカメラ側の時刻を正確に合わせてもGPSログが取れていなければ後の祭りなので注意が必要です。この方法でも結局、GPSを持って歩くのですから、やはり接続して使うのが最も簡単、確実な方法です。

市販ソフトウェア
デジタルカメラの画像と地図を関連付けるソフトウェアはSONYのPictureGearをはじめいくつかあるようです。これらは独自形式の別ファイルを使っているなど汎用性が無く、人に配ったりするのに向かないのが残念です。

関連リンク
このサイト

Exif 2.1で規定されているGPS IFDの説明
Exif 2.1 GPS IFD tags

XD530が付加するGPS tagの一覧と、実際に位置情報を含むサンプルがあります。
Fuji Xerox XD530/Fuji Film DS300 ミニFAQ

掲示板。DC290で実際に位置情報を写し込んだサンプルなどもあります。
GPSと電子工作の掲示板

Pro AtlasでGPS IFDを編集するとかなりいろいろ書き換わってしまいます。
Pro AtlasでGPS IFDを編集すると


外部

佐藤正昭さんのホームページから
XD530利用記
GPS、デジカメ及び電子地図を使って思い出整理

GPS IFDに対応している地図ソフトPro Atlas 2000
株式会社アルプス社

Digita Scriptのバージョンが古いDC260/265、4800bpsが使えないという問題を解決するためのハードウェアを販売しています。
http://Come.to/Stelios_Cellar

DS300/330/XD530にGPSIII系GPSをマウントするブラケットを販売しています。DC290用もラインナップに加わる予定。
Right Stuff

Kodak製GPS接続キット(DC290+Garmin GPSIII/III+,オンラインショップのページ)
KODAK Connection Kit for Global Positioning System

地図を表示してユーザーにポイントして貰うことで位置情報を取得、画像に保存するマップビューワー機能付きデジタルカメラと、対応地図ソフト
FinePix 1500
FinePix 2900z
MapFan IV
MapFan V


[Home]|[GPSとH8(電子工作)の掲示板]