◆JPEG画像に含まれるGPS情報を perl で呼み出す
Image::ExifTool (http://search.cpan.org/~exiftool/Image-ExifTool-7.67/ ) を使えば、Perl では手軽に JPEG 画像ファイルに含まれている各種のタグを読み出すことが出来る。
以下、GPS 情報を取得するまでの手順。
1. CPAN を使ってサクッとインストール
# perl -MCPAN -e shell
> install Image::ExifTool
特にエラーが出なければコレで完了。
2. exiftool の動作確認
インストールが正常であれば /usr/bin/exiftool (perlスクリプト) を使って、画像のタグを一覧取得出来る。
3. perl で GPS 情報を取得する
GPS 情報を取得するには、GPSPosition タグの値が分かれば良い。
exif.pl
--------------------------------------------------------------------
#!/usr/bin/perl
use Image::ExifTool;
$exifTool = new Image::ExifTool;
$exifTool->ExtractInfo($ARGV[0]);
$GPS = $exifTool->GetValue(GPSPosition);
print "GPSPosition=$GPS\n";
--------------------------------------------------------------------
実行例
--------------------------------------------------------------------
$ perl ./exif.pl /home/zem/photo.jpg
GPSPosition=35 deg 40' 31.20" N, 139 deg 47' 24.00" E
--------------------------------------------------------------------
このようにサクッと取得出来る。
あとは、Google Maps などの API に流し込めば、
iPhone で GPS 情報付きの写真を撮影→メールで送信→自動的に Google Maps で位置表示、という一連の流れを PC を介することなく自動化出来る。
ちなみに、ほかにどんなタグが画像に埋め込まれているかは、
@tagList = $exifTool->GetFoundTags('Target');
foreach $tag (@tagList) {
print $tag,"\n";
}
のように書き加えることで、
タグ名と値が一覧表示される。
リソース
ImageExifTool - Read and write meta information - search.cpan.org SYNOPSIS のソース(一次情報)より。