念願のGPS携帯をゲットしたので、GPS情報を画像に貼り付けてそれを利用してみます。
まず画像情報にGPS情報が含まれていることをflickrで確認。
ところでWGS-84って何?ってことで世界測位系と日本測位系があることを知りました。
とりあえずこのW43Sは世界測位系であるWGS-84を利用してますので、Google Mapなどにはそのまま利用可能です。
さて次にEXIF情報からGPS情報を取得方法です。取得にはコマンドラインツール exiftoolが便利です。
ExifTool by Phil Harvey
1日1tech Image-ExifTool:Perl で Exif 情報を取得
しかしここで得られる結果は
35 deg 40' 21.90" N, 139 deg 43' 27.37" E
というフォーマットです。一方Google Mapの方に入力する際は、
35.672031, 139.732089
35°40'19.31" 139°43'55.52"
といったフォーマットにする必要があります。ということでperlのスクリプトを書いてみました。
#!/usr/bin/perl -w
use Image::ExifTool 'ImageInfo';
my $file = shift or die "Please specify filename";
my $info = ImageInfo($file);
$GPSPosition = $info->{GPSPosition};
if( defined $GPSPosition ){
$GPSPosition =~ s/^(\d*) deg (\d*\') ([0-9\.]*)\" N, (\d*) deg (\d*\') ([0-9\.]*)\" E\
$/\+$1%C2%B0$2$3%22%20\+$4%C2%B0$5$6%22%20/;
print "<a href=\"http://maps.google.co.jp/maps?q=", $GPSPosition, "\">Google Map</a>\\
n";
}
このスクリプトを利用して画像からGoogle Mapへのリンクを自動生成したのが以下。
京王線新宿の位置がズレズレなのは、地下のため十分な数のGPSが補足できなかったため。それでもほぼ新宿を指し示すのに逆に驚きました。
次回があれば、Google Mapを貼り付けてみたいと思います。
他参考URL:
YappoLogs: Geo::Coordinates::Converter - 緯度経度を簡単に変換する