RからYahoo!のジオコーディングを利用する方法
ジオコーディングというのは、 入力: 住所の文字列 出力: 緯度経度の数値 という処理のことです。YahooやGoogleがAPIを公開しています。 YahooのAPIの仕様は↓下記のページにあります。 YOLP(地図):Yahoo!ジオコーダAPI - Yahoo!デベロッパーネットワーク このページの説明にしたがって、住所文字列をエンコードしてURLに埋め込んで、ブラウザのアドレス欄に入れれば結果が返ってきます。 でも、こういうのはプログラムから使いたいですよね。で、私が多少なりとも使いなれているRでのやり方を書きとめておきます。 普通に使うときは、一連の処理を関数の形にして、それを呼び出すような書き方をする方がすっきりするのですが、今回は使い方の紹介がメインなので、あえてベタ書きしています。 あと、アプリケーションIDは各人で取得する必要があります。YahooのIDを持っていれば(持っていない場合は作れば)、無料で取得できます。 library ( RCurl ) library ( RJSONIO ) # appidのところは自分で取得したものを入れてください root <- "http://geo.search.olp.yahooapis.jp/OpenLocalPlatform/V1/geoCoder?appid=xxxxxxxxxx&output=json" addr <- "東京都墨田区押上1-1-13" url <- paste ( root , "&query=" , addr , sep= "" ) url.u <- URLencode ( iconv ( url , "" , "UTF-8" ) ) # UTF-8に変換 # プロキシへの対処(使っていない場合はgetURL(url.u)とそのまま呼んでOK) curl <- getCurlHandle ( ) curlSetOpt ( .opts= list ( proxy = "ZZZZZ:8080" ) , curl=...