jpegのexif情報とGoogleMapsを結んだ旅行歴ソフト

twisted05172005-07-22

なんてのはどうだろう。
つーか今の携帯(W31S)がGPSデータを含んだjpegを作れるからってだけだが。
習作だしやりたい事を全部詰め込んでみよう。

要求

  • jpegexifデータ内のGPS測位情報を使ってGoogleMapにバインド
  • exifのDateTimeフィールドを使って時系列管理
  • mojaviでこりこり
  • DB_DataObjectでこりこり
  • メールで更新したいのでそのへん何とか。
  • デザインは適当に。

とりあえずexifを弄ってみる。

ちょうどphpスレに似たような話題が出てたからパクる。

  		$exifData = exif_read_data(INPUT_FILE_NAME);
  		var_dump($exifData);

実行してみたらGPSデータが出て来た。

  ["GPSVersion"]=>
  string(4) "・・"
  ["GPSLatitudeRef"]=>
  string(1) "N"
  ["GPSLatitude"]=>
  array(3) {
    [0]=>
    string(4) "43/1"
    [1]=>
    string(4) "46/1"
    [2]=>
    string(8) "3022/100"
  }
  ["GPSLongitudeRef"]=>
  string(1) "E"
  ["GPSLongitude"]=>
  array(3) {
    [0]=>
    string(5) "142/1"
    [1]=>
    string(4) "20/1"
    [2]=>
    string(8) "4672/100"
  }
  ["GPSMapDatum"]=>
  string(6) "WGS-84"
  ["GPSProcessingMode"]=>
  string(15) "ASCIIGPS-FIX"
  ["InterOperabilityIndex"]=>
  string(3) "R98"
  ["InterOperabilityVersion"]=>
  string(4) "0100"

exifタグ一覧で見ると世界測地系WGS84で測定されて、北緯43°46'3022" 東経142°20'4672"と。

googlemapでバインドしてみる。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Google Maps JavaScript API Example - simple</title>
    <script src="http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAke8VOcK7tcXTPwhxXp89EhT7OiW72Sx3dzUeIjte_4xhAepUTxToj7mEHspigUOsZE_osk0e2laG7w" type="text/javascript"></script>
  </head>
  <body>
    <div id="map" style="width: 500px; height: 500px"></div>
    <script type="text/javascript">
    //<![CDATA[

    if (GBrowserIsCompatible()) {
		var map = new GMap(document.getElementById("map"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.centerAndZoom(new GPoint(142.204672, 43.463022), 4);
    }
    //]]>
    </script>    
  </body>
</html>

なんか芦別が表示されるわけだが('A`)

衝撃の事実

Google Maps APIでの経緯度指定が、日本では日本測地系になったらしい。
詳しい仕様はよく判らんけど、ちょっと調べた&触った限り、「日本測地系が選べるようになった」ではなく「日本測地系になった」っぽい。

('A`)マジデスカイ
測地系変換作らなきゃならんのか('A`)

測地系変換をコーディング

ああめんどくせぇ。
こちらで公開されてるWGS84-TOKYO変換プログラムをPHPで焼き直すとするか。

すばらしい打開策

コメント欄でnokiさんに貰った情報をもとに座標を移動してみる。
(゜∀゜)できたー。