Geocoded Livedoor Weather RSS
livedoorのWeather Hacks、良いのですが、なぜgeo vocabularyが付いていないのでしょうか? だって天気情報とか地震情報って地理情報でしょう?
なんだかな~と思ったので、geo vocabularyを付加するサービスをでっち上げてみることにしました。とりあえずのプロトタイプとして、「http://as-is.net/maps/geolwws.fcgi?url=RequestURL」てな感じでlivedoor WeatherのRSS URLを渡すと、geo vocabulary付きのRSSを返すものを作ってみました。
http://weather.livedoor.com/forecast/rss/index.xml
↓
http://as-is.net/maps/geolwws.fcgi?url=http://weather.livedoor.com/forecast/rss/index.xml
今のところlivedoor Weatherが提供しているRSSのうち、ldWeather:lwws要素を含むものにしか対応していません。geolwws.fcgiに渡すRequestURLはURL encodingされているべきですが、単にRSSのURLを渡す分にはencodeしなくても構いません。
geo vocabularyが付いているとどんなご利益があるかと言えば、何はさておきマッピングサービスとの統合が簡便に実現できるということです。例えば、georss2kml.cgi: GeoRSSをGoogle Earthにマップするスクリプト - Ogawa::Memorandaを使って、天気情報をGoogle Earthにオーバーレイすることができます。
http://as-is.net/maps/georss2kml.cgi?url=...
georss2kmlをもう少しいじらないと見栄え的にアレですが…。
上でも書きましたが、ldWeather:lwss要素を含まないRSSは変換できません。今のところ、livedoor Weatherが提供するRSSのうち、(1)特定の地点の時系列データを表すRSS、(2)防災情報やアメダスのデータを表すRSSには、ldWeather:lwws要素が付加されていません。
(1)については、特定の地点ですからgeo vocabularyを与えることはできます。ただし、それが意味があるかどうかは微妙なところです。(2)については、天気情報と地域区分の方法やレベルが異なるために難しいです。例えば、アメダスは、天気情報の区分(全国の地点定義表)よりずっと細かい行政区に対する情報が与えられています。これらのすべての地点の座標情報を与えるのは、個人ではほとんど不可能だなあという印象です(だからこそ、本当はlivedoor Weatherで対応して欲しい)。
また、このプロトタイプの自然な拡張としては、RESTを利用したlivedoor Weather APIの出力結果にもgeo vocabularyを付加するというものがあるでしょう。もちろん、リクエストをまともにこなすことやAPIの持つ定義域・値域の膨大さを考えたら、このようなゲートウェイサービスを作るよりは、上流(livedoor Weather)か下流(クライアント)で付加する方が現実的、というのが妥当な判断だと思いますが…。
このエントリーのトラックバックURL: http://as-is.net/mt/mt-tb.cgi/374

Comments (0)