GPS付画像のexifデータのうち、C#で緯度経度のバイト配列を取得することはできたのですが、このバイト配列をどう加工すれば緯度経度になるのかわかりません。バイト列より緯度経度への変換(このバイト列とこのバイト列をこうすれば、緯度が出る)といったことを教えて

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/07/10 21:37:33
  • 終了:2008/07/11 17:23:35

ベストアンサー

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912008/07/10 23:00:55

ポイント200pt

直接の回答ではありませんが、下記が参考にならないでしょうか。

まず各タグ情報は、北緯35度41分7.74秒、東経139度48分7.74秒の場合、

GPSLatitudeRef : N
GPSLatitude    : 35/1,41/1,774/100
GPSLongitudeRef: E 
GPSLongitude   : 139/1,48/1,774/100

という内容になっているようです。

http://www.kanzaki.com/docs/sw/geoinfo.html#gps-exif


各タグの、フォーマットに関しては下記が参考になるでしょうか。

    *  0x0001 北緯(N)or 南緯(S) GPSLatitudeRef
    * Type:ASCII
    * Count:2
          o 実際は,'N'か'S'しかない。
          o MM/IIで,長整数(4byte)で読み込み,そのままChr()すればよい。 

    * 0x0002 緯度(数値) GPSLatitude
    * Type:RATIONAL
    * Count:3
          o 分子と分母に相当するMM/IIで,長整数(4byte)が2つで1組。全体で3組ある。
          o カシミール3Dでは,2組しか使っていない。
          o 2組-DM表記  (例 35°20.609)
          o 3組-DNS表記 (例 35°20′36.54″)
          o そこで,Exif2Clipでは,3組目が0/0などであれば,2組目を分解して3組目を派生させている。
                + Dim c0 as Double ' 2組目の値
                + Dim c2 as Integer ' 単発の分′
                + Dim c3 as Integer ' 単発の秒″
                + c2=c0
                + c3=(c0-c2) * 60# 

    * 0x0003 東経(E)or 西経(W) GPSLongitudeRef
          o 0x0001と同じ 

    * 0x0004 経度(数値) GPSLongitude
          o 0x0002と同じ 

http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps....

http://www005.upp.so-net.ne.jp/cyber-catseye/e2csv/exif0201gps.h...

id:raijin

ありがとうございます。

確認できるのは明日夜になってしまうので、明日夜以降に質問終了し、返礼させていただきます。

2008/07/10 23:34:07
  • id:raijin
    配列が[35][0][0][0][1][0][0][0][40][0][0][0][1][0][0][0][112][11][0][0][100][0][0][0]となっています。
    フリーソフトのexifViewerで見ると35゚ 4029.28 [DMS]となっているのですが、秒の計算方法が分かりません。

  • id:Mook
    コメントに気がつかず、再質問の方に回答してしまいました。
    ご参照ください。

    新しい質問への回答の補足ですが、4バイトのデータを数値にするためにはリトルエンディアンでは
    (4バイト目のデータ)×2^24 +(3バイト目のデータ)×2^16 +(2バイト目のデータ)×2^8+(1バイト目のデータ)
    となります。
    つまり、[112][11][0][0]の部分は2928 を表しています。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません