Exifの位置情報を取り出す
iPhoneを使ってるのですが、GPSが付いてるので、
写真を撮るときに位置情報を入れることが出来ます。
まずは、位置情報を有効にして、写真を撮りましょう。
ですが、ここで大事なお知らせ。
位置情報が入った写真が他人の手に渡ると、
その写真を撮った場所が特定されてしまいます。
という訳で、特定されたくない場合は、
位置情報を無効にしておきましょう。
まずは、お手元のPCに写真を取り込みます。
次に、画像ファイルに格納されているExif(Exchangeable Image File)を解析して、
位置情報を取り出します。
Exifを解析するには、IFD(Image File Directory)を見つけて・・・。
perlはインストールしてありますか!?
cpanmの準備はいいですか!?
> cpanm Image::ExifTool
これで、準備は完了です。
次は、perlスクリプトを書きましょう。
use warnings; use strict; use Image::ExifTool; my $path = $ARGV[0]; my $info = Image::ExifTool::ImageInfo( $path ); if ( exists $info->{GPSPosition} ) { printf "$info->{GPSPosition}\n"; } else { print "GPSPosition not found.\n"; }
これを、”exif.pl”で保存。これだけ!
次は、引数に画像ファイルのパスを指定してスクリプトを実行!
> perl exif.pl IMG_0123.JPG 43 deg 4' 0.60" N, 141 deg 21' 4.20" E
さて、ここはどこでしょう?
こんな感じの内容を、Hokkaido.pm#4でお話します。
おしまい。
2011/2/19 追記
ちなみに、capnを使う場合は、
> cpan install Image::ExifTool(charsbarさん、ご指摘ありがとうございます!) > cpan Image::ExifTool
Leave a Comment