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!地図情報を使うのがいいかな。