y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

DMSとDM(緯度経度表現)のネタ

少し前から、”GPS携帯のEXIF写真から緯度経度を抜き出して地図登録するアプリ”を開発している。
そのために、会社内でやりきれないことの課外授業として、一人プロジェクトが発動しているわけであるが、携帯機種によっては、緯度経度を抜けなかったり、ものすごく位置がずれる例を発見した。
結果、緯度経度の表現形式(EXIFタグ的には、24バイトのRATIONALデータって決まっているんだが)が異なり、DMS(度、分、秒)とDM(度、分)のデータが存在し、変換式を分岐させないといけないことが分かってきた。DM形式の場合は、実質的にDに全部が書かれている。その場合、分、秒の分子分母がゼロだったりするので、それを判定して、Dを独自で分解する必要があるようだ。
これは微妙に面倒な処理だ。市販の地図ソフトでもDM形式に対応できていないものもあると聞く。
自前で緯度経度を埋め込み、地図に落とすなら、DMS形式に統一してしまえば良いのだが、携帯キャリアまでは選べないので、解析側で何とかする他ないのだ。

■DMSとDMの情報
「あぁぁ、書いてあるところには書いてあるよ」
Exif 2.1のGPS IFDで使われるタグ
Exif02.10に含まれるGPS情報についてまたも私的メモ
度分表記(DMM)を度分秒(DMS)に変換する計算
 計算方法の完璧な答え
 DMS→DM,DM→DMSの相互変換の方法が書かれている。
 じゃあ、24ビットの配列のどこを見てDMS,DMを判断するんだ・・というと
TIFF Tag GPSLatitude
 dd/1,mmmm/100,0/1と書かれている。秒の単位の分子が0ならDM形式なんだな。

GPS携帯機種リスト
・DMSのみ
  KDDI-CA W62CA
  KDDI-CA W61CA
  KDDI-TS W51T
  KDDI-TS W53T
  KDDI-TS W43T
  Docomo N904i
  Docomo N906i

・DMS/DM混在
  KDDI-KC A5526K

・DMのみ
  Apple iPhone