こらない

2006-06-15 (木)

Google GeocodingAPIとか

bloc - スケジュール管理・発信・共有サービスでは、ライブや芝居や映画といったイベントのデータを登録する際に、blocにあらかじめ用意されている全国の「会場」リストから選択できる。
選択すると、自動的に地図とか住所とか連絡先とかウェブページのアドレスとかを引っ張ってこれる。

どうしてこういうことができるかというと、アタシがそれらの情報をblocにあらかじめ登録してるから。
日夜ちくちくと。

住所とかはどうでもよくて、要は地図と連絡先が分かればよくて。
つまり、そのイベントに行こうと思った時に、会場に辿り着けるだけのデータを表示しておきたい、のです(アタシが利用する時に)。

で、地図データをひっぱってくる際は、その会場の緯度と経度が必要。
こいつは調べないと分からない。
仕方ないので、いっこいっこ調べて、blocに登録してる。
ちなみに、緯度経度には、日本式と世界式の2通りがあって、日本式で北緯35度と言った倍と、世界式で35度といった場合は、微妙にズレて違う位置を示す。
日本の地図サービスは、日本式を使ってるところが多くて、Google Mapsなんかは世界式を使ってる。
むきー。

そんな中、Googleが、GeocodingAPIというのを公開してくれた。
Google Maps API Documentation

Google マップで、住所や店の名前で検索すると、その地点の地図を表示してくれるのだけど、その時Googleの中では「住所→緯度経度」という変換が行なわれているわけで、このGeocodingAPIというのは、そこのところだけを利用することができる。
つまり、プログラムから住所を送ると、緯度経度が返ってくる。
やーん、素敵。

ということは、blocみたいにあらかじめ人力でちくちくと緯度経度を登録するなんて途方もないばかげたことは、必要ないといえばない。

さて、会場の緯度経度情報があるなら、駅の緯度経度情報を集めて、算数の計算をすれば(実際は三角関数くらいは要るかしら)「最寄り駅」を求めることができる。
そのためには、まず駅の緯度経度情報が要る。
そいつをなんらかの形でデータベースに格納しないといけない。

と思っていたら、ちょうどそういうことに取りかかった方がいて、しかもすごく面倒そうなことも判明。
駅の位置情報 - いしなお! (2006-06-14)
駅の位置情報 初版公開 - いしなお! (2006-06-15)

街区レベル位置情報+郵便番号データ - いしなお! (2006-06-13)
街区レベル位置参照情報ダウンロードサービス

日本でのGeocodingに関しては、東京大学空間情報学研究センター(CSIS - Center for Spatial Information Science)でも、RESTという方法で公開してる。
Digital Life Innovator: CSISシンプルジオコーディング実験(GeocodingのRESTサービス)

Web2.0っぽいやり方としては、会場のデータリストというのは、blocとはまるっきり切り離して「会場Wiki」みたいなのを用意して、みんなが自由に編集すればいいのかも。
便利そう。

便利そうだけど、blocからそのまま使うようなものにはならないか。

  • 「会場」にIDをふることになると思うのだけど、同じビルの2Fと3Fは別?(東京ビックサイトの東1-Aみたいなのとか、会館の中の大ホール中ホール小ホールとか)
  • 郵便系の区域分けとの絡み?
  • blocの場合、「タワーレコード全店10%OFF」というイベントを登録する際に「タワーレコード全店」みたいな、最早地点を指すわけではない「会場」がある(「東宝系映画館」とか「フジテレビ系列」とか…)。
2006-06-15 (木) UP

コメント