invgeocoderを利用して、緯度経度から住所を取得する(Ruby版)

昨日の最後に書いたinvgeocoderを使って、緯度経度から住所を取得するRubyのプログラムを書いた。
とはいっても昨日とほぼ同じでHpricotを使えば一瞬。

12/27:修正
東京ドームの緯度経度が間違っていたため修正しました。ご指摘くださった方、ありがとうございます。

require 'rubygems'
require 'hpricot'
require 'open-uri'

#東京ドームの緯度経度
lat = "35.705637"   #緯度
lon = "139.751892"  #経度

doc = Hpricot(open("http://nishioka.sakura.ne.jp/google/ws.php?lat=#{lat}&lon=#{lon}&format=simple"))
address = doc.at(:address).inner_text

puts address
#=> 東京都文京区後楽一丁目3

Yahoo!地図情報を利用するのに比べて、UTF-8で使う場合文字コードの変換が必要ないのと、gsubによる置換でタイトルから余計な文字を削除しなくてよいので、こっちの方がやや楽だ。(それとYahoo!地図情報測地系日本測地系の可能性がある)
しかも住所も細かく所得できる。


基本はinvgeocoderを使って、万が一これが使えなくなったらYahoo!地図情報を使うのがいいかな。