2006 年 12 月の履歴(もしくは日誌)


2006 年 12 月

12 月 4 日

iPhoto の写真の位置情報を KML ファイルに書き出す方法

iPhoto写真位置情報KML ファイルに書き出す Perl スクリプトを書いてみました.自分では,これをほぼそのまま使うつもりです.そのままの状態で公開してみます.

これは先の 2 つの記事の続きであり,これがひとつの区切りです.

ハンディ GPS の軌跡データ(トラックログ)とデジタルカメラの画像を,時刻で同期して位置情報を特定し,その位置情報を画像ファイルの Exif という領域に書き込みます.

この位置情報をどう利用するか? Flickr を利用するって話が「iPhoto と GPSPhotoLinker と Flickr」であって,Google Earth や Google Maps を利用するというのが「iPhoto から GoogleEarth へ : JetPhoto Studio の利用」でした.

JetPhoto Studio を利用すると,整理したアルバムを Google Earth に直接書き出すことができ,Google Earth で KML ファイルや KMZ ファイルに保存することができます.

KML ファイルや KMZ ファイルをインターネットで公開すれば,Google Earth ユーザで共有するだけでなく,Google Maps で簡単に表示することもできます.

でも,その為には Google Earth を経由した JetPhoto Studio のデータのままではだめで,KML ファイルを少し編集したりしなければなりません.

JetPhoto Studio と Google Earth を利用するのは難しくありませんが,手間がかかります.

手間がかかる事をするのはめんどうなのでスクリプトを書きました.

  1. 上記のページから iphoto2kml.pl をダウンロードして,必要な CPAN モジュールもインストールします.
  2. GPSPhotoLinker で位置情報を書き込んだ画像で,iPhoto のアルバムを作ります.
  3. iphoto2kml.pl --list
    と打ち込んで,アルバムの AlbumId を確認します.
  4. iphoto2kml.pl 'AlbumId' 'path' > test.kml
    と打ち込んで,アルバムの AlbumId を確認します.path は,画像ファイルのパス.AlbumId 8862 を http://onohiroki.cycling.jp/image/DSCN4598twosday.jpg で公開するなら,「http://onohiroki.cycling.jp/image/」を指定して,
    iphoto2kml.pl 8862 http://onohiroki.cycling.jp/image/ > test.kml
    とします.
  5. それで KML ファイルが生成されるので,画像ファイルと KML ファイルを自分の Web サーバにアップロードします.
  6. 例えば KML ファイルの URI が http://tokyo-hashirukai.cycling.jp/geo/20061021shibamata.kml だとしたら,http://maps.google.com/maps?q=http://tokyo-hashirukai.cycling.jp/geo/20061021shibamata.kml にアクセスすると Google Maps で KML ファイルの内容が表示されます.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20061204n1 TrackBack