Perl: 画像に埋め込まれたGPS情報を取り出す実験

BLOG HacksのHACK #74「moblogで位置情報」によると,
GPS付き携帯電話で撮影した写真には, GPS情報が埋め込まれるようです.


そこで実験してみることにしました.
GPS付き携帯電話を持っていないので, GPS情報が埋め込まれている画像をゲットして試してみました.

use strict;
use Devel::Peek;
use Image::EXIF;

my $exif = Image::EXIF->new("./gps.jpg");
my $all_info = $exif->get_all_info();

print "--- Latitude ---------------------\n";
Dump $all_info->{image}->{Latitude};

print "--- Longitude --------------------\n";
Dump $all_info->{image}->{Longitude};

これを実行すると...

$ perl location.pl
--- Latitude ---------------------
SV = PV(0x8152868) at 0x81524dc
  REFCNT = 1
  FLAGS = (POK,pPOK)
  PV = 0x805c5a0 "N 54\260 59.38'"\0
  CUR = 12
  LEN = 13
--- Longitude --------------------
SV = PV(0x8152874) at 0x81524e8
  REFCNT = 1
  FLAGS = (POK,pPOK)
  PV = 0x814eb00 "W 1\260 54.85'"\0
  CUR = 11
  LEN = 12

凄いですねぇ.
緯度, 経度がちゃんとゲットできています.
Image::EXIFを使えば簡単に緯度と経度を取れるようです.


BLOG HACKS:
Blog Hacks ―プロが教えるテクニック&ツール100選