RSS Photo Album with Geo info

GPSデータを持ったデジタル写真をRSSと組み合わせて、地図連動型アルバムをつくってみる試みです。

This is a trial to generate photo album linked with a map. Digital photos with GPS data, plus RSS can make this possible.

RSSのレンダリングと画像・地図

RSSにはサムネイル画像とGPSデータの両方を持たせます。これはRSSリーダーでサムネイルを含む一覧として表示する方法と、地図インターフェイスを用いて地理的にマップする方法が考えられます。

サムネイル表示から地図へ

Thumbnails of RSS feed can be displayed by the RSS Feed Reader program in this site, or Syndication Subscription Service by Morten Frederiksen.

RSSのサムネイルは、当サイトのRSS Feed ReaderやMorten FrederiksenのSyndication Subscription Serviceで表示させることができます。

いずれもリンクを辿るとExif2rdfによる画像の解析ページを表示し、そこからExifに記録されているGPSデータを用いてオンライン地図サービスを呼び出すことができるようにしています (携帯電話カメラによる実験なので、写真のクオリティは問わないということで ;-)。

地図表示から画像へ

Blogmapper is an interesting application to handle GPS enhanced documents.

地理データを含むRSSと地図を連動させるサービスとしては、Blogmapperが面白い存在です。独自の地図、データ抽出定義、詳細表示定義を用意することで、地図上にRSSのアイテムを表示できます(Blogmapperを利用するにはFlash6が必要です)。地図もしくは一覧をクリックすると、RSSのアイテムの内容が表示され、そのリンクを辿るとやはりExif2rdfによる画像の解析ページを表示します。

XSLTによる変換

XSLT can generate an interesting presentation with map and thumbnails.

XSLTでも、それなりのことができます。地図の縮尺に比べて画像の位置が近接している場合は、重なったポイントをうまく示すことはできませんが、自由度が高いので、地図とサムネイルを合わせて表示するなど自分なりの工夫が可能です。

あなたの位置データ付きRSSを変換して関東地方の地図上に表示することができます(RSSについては次のセクション位置データ付きRSSの記述方法を参照)。

関東地方

日本全図を利用する場合は次のフォームを使ってください:

日本全図

同じ位置データ付きRSSを用いていろんな表現ができるのが、メタデータの面白いところです。

位置データ付きRSSの記述方法

RSS item has the URI of the image as its subject. Thumbnail is represented as foaf:thumbnail, and geo: data is wrapped by foaf:topic, since the digital image itself is stored on a distant server, not the location where the photo was taken.

ここではRSSのitem要素は画像を主語として記述し、その説明をRSSDublin Coreの語彙で加えます。サムネイルはFOAFの語彙からfoaf:thumbnailで、緯度・経度情報はfoaf:topicを使って間接的に記述します(画像データそのものはどこかのサーバーにあるので、写真に写っているものの緯度・経度を直接プロパティとすると変な話になります)。このメタデータは画像とは別のファイルですから、位置情報はあとで地図サービスなどで調べて付け加えることも可能です。

(例)

 <rss:item rdf:about="(URI of the picture)">
  <rss:title>Stage rehearsal at Sumida-triphony(2)</rss:title>
  <rss:description>Viewing back to the winds ...</rss:description>
  <dc:description>オーケストラ・ディマンシュの演奏会では、...</dc:description>
  <rss:link>http://www.kanzaki.com/test/exif2rdf...</rss:link>
  <rdfs:seeAlso rdf:resource="http://www.kanzaki.com/test/exif2rdf..."/>
  <dc:date>2003-08-24T09:58:32+0900</dc:date>
  <foaf:thumbnail rdf:resource="..."/>
  <foaf:topic rdf:parseType="Resource">
   <geo:lat>35.69760</geo:lat>
   <geo:long>139.81112</geo:long>
  </foaf:topic>
 </rss:item>

Note the rss:link item has different URI than the subject of the item. In this case, rss:link reffers the exif2rdf program so that the image as well as its Exif data will be displayed. rdfs:seeAlso is added for agents.

ここでrss:link要素には、敢えてitem要素の主語とは違う、Exifデータ抽出ソフトへのリンクを設定しています。また、エージェントがExifを抽出したRDFを参照できるよう、同じURIをrdfs:seeAlsoとしても記述しています。画像のアルバムなどを別途用意していれば、そのURIをrss:linkの内容にしてもいいでしょう。その場合は、rdfs:seeAlsoよりもfoaf:pageを用いる方が適切かも知れません。

このRSSはあえてXSLTを読み込ませていないので、XMLそのものが表示されると思います。XSLT適用を標準としたので、具体例は上記サンプルRSSのソースを見てください(Opera、Safariは通常はサーバー側XSLTを適用してしまうため、ソースの確認にはサーバーXSLTにリダイレクトしないサンプルRSSをどうぞ)。

カメラの位置と被写体の位置

When locations of camera and subject are different (e.g. taking a photo of tall building from a distant park), things become a bit complicated, because the GPS records the lat/long of the camera location, not those of the building. We need some different approach.

このRDF/RSSは、カメラと被写体がほぼ同じ位置にある近接撮影の場合はうまく働きます。しかし、少し遠距離のものを写した場合、GPSによる緯度・経度はカメラのものですから、単純にfoaf:topicでこのデータを記述すると、やはりややこしいことになります。

この点については、まだ明確なコンセンサスは得られていないようですが、ひとつの方法としては、foaf:based_nearなどの語彙を使って「付近」という関係を示すことができます。

(例)

 <rss:item rdf:about="http://...031218_1529.jpg">
  <rss:title>Kioicho Garden Tower</rss:title>
  ...
  <foaf:depicts>
   <wordnet:Building>
    <foaf:based_near rdf:parseType="Resource">
     <geo:lat>35.68079</geo:lat>
     <geo:long>139.73557</geo:long>
    </foaf:based_near>
   <wordnet:Building>
  </foaf:depicts>
 </rss:item>

公園からビルを写す程度ならこれでよいわけですが、遠くの山を撮影した写真だとどこまでが'near'なのかというまた別の問題が出てくるので、この方法はもう少し検討が必要です(たとえばGeoOnionのような概念)。

またこれとは別に、「何を写したか」だけではなくて「どこから眺めた景色か」ということが知りたいというケースもあります。この場合は、foaf:topicfoaf:depictsでは不十分で、写真を撮影した位置を示すための語彙を定義しなければなりません。Exifの語彙とも絡めて、こうした記述方法については現在ディスカッションを行っています。

位置データの取得

GPS付きカメラで撮影した画像からは、ExifViewerなどのExif用のツールを使って緯度・経度を抽出することができます。データはExif特有の記述方法になっていますので、百分率のデータに変換してRSSに記述します。

また、GPS携帯電話の場合は「GPSメール」として位置データをメール送信できるので、撮影時にその場で自分宛にメールしておけば、撮影場所を忘れることもなく、Exifを解析する手間も省けます。

GPSが手元にない場合や記録しなかった(できなかった)場合、あとでオンライン地図サービスで撮影位置を確認し、そのURIから緯度・経度を取得することができます。

データ  
変換結果  
RDF: