« 新宿南口 | メイン | kichijoji »

August 22, 2005

Flickr から画像の位置情報をとってきて rss に Geo RDF/XML をくっつける Movable Type プラグイン

どうしてもタイトルが長くなりがちです。それはさておき、イマドキの携帯電話を入手したのが嬉しくて遊ばずにいられません。夏休みの工作ということで、Flickr にポストした写真をブログに貼りつけたときに、その写真に位置情報がついてれば Flickr API を用いて緯度経度を入手、それ用のタグを記述したテンプレートで RSS に出力する、というプラグインを作ってみました。まわりくどいとか言っちゃだめ。

MT::Plugin::FlickrGeoRss
http://ryoji.sakura.ne.jp/misc/mt-flickr-geo-rss.pl

3.121 でしか試してません。うーん、MT の Plug-in ってこんなんでいいのかなぁ? ドキドキ。ま、雑なつくりかもしれませんが、ひとまず動いたので。これといって特別なモジュールは使ってません。

RSS のテンプレートは以下のような感じで作っておきます。神崎さんのこことかこれとか参考にしてみました。

<MTEntries lastn="15">
<item rdf:about="<$MTEntryPermalink encode_xml="1"$>">
<title><$MTEntryTitle encode_xml="1"$></title>
<link><$MTEntryPermalink encode_xml="1"$></link>
<description><$MTEntryBody encode_xml="1"$></description>
<dc:subject><$MTEntryCategory encode_xml="1"$></dc:subject>
<dc:creator><$MTEntryAuthor encode_xml="1"$></dc:creator>
<dc:date><$MTEntryDate format="%Y-%m-%dT%H:%M:%S" language="en"$><$MTBlogTimezone$></dc:date>
<MTIfFlickrGeo>
  <foaf:topic>
    <foaf:Image rdf:about="<$MTFlickrImageUrl$>">
      <foaf:topic rdf:parseType="Resource">
        <geo:lat><$MTFlickrImageLatitude$></geo:lat>
        <geo:long><$MTFlickrImageLongitude$></geo:long>
      </foaf:topic>
    </foaf:Image>
  </foaf:topic>
</MTIfFlickrGeo>
</item>
</MTEntries>

で、現在の出力結果。そしてやってみたかったのがMap geocoded RSS/Atom to Google Maps での表示 (Google Maps API hacks)。うひょー楽しー。ていうか、ほんとにコレがやりたかっただけですけど。フキダシ(?)がでかくなりがちでドラッグしにくくなったりしますが、気にしない。新宿の写真がちょいズレてるのは元のGPSデータのせいです。以外と精度イマイチかも…。

えーと、Exif の抽出が面倒そう (サーバにモジュールとか入れるのが) だったのと、どうせ Flickr がやってくれてるのとがあって位置情報は Flickr からとってくることにしたわけですが、GPS 関係の仕様とか調べたわけじゃないので怪しいかもしれません。あとタグは条件タグにしてありますが、コンテナタグにして複数画像があったときにそれぞれメタデータをつくるというふうにしてもよかったかも。ここでは位置情報つき画像が1個見つかったところで、そのデータだけを使うようになってます。それからこのへんとか読むと画像を item とするのも簡潔でいいのかもしれません。

ところで Flickr に携帯からメールで送ると日本語が文字化けしますね…。うー。

投稿者 ryoji : August 22, 2005 11:52 PM

トラックバック

このエントリーのトラックバックURL:
http://ryoji.sakura.ne.jp/mt/mt-tb.cgi/151