読者です 読者をやめる 読者になる 読者になる

Python: 郵便番号から地理座標を取得

http://www.windays.jp/print/futo/img/y-teikeigai.gif

郵便番号から地理座標を取得しなくちゃいけない時に困ったのでメモ。

環境:

  • 言語:Python
  • サービス:HeartRails Geo API

言語がPythonな理由は普段使っているので、使いやすかったから。 HeartRails Geo API は無料で使いやすそうだったので。

geoapi.heartrails.com

「HeartRails Geo API」 は、郵便番号/住所/緯度経度データ等の地理情報を、XMLJSON(P) 形式の API により無料でご提供させていただくサービスです。

つかったライブラリ

JSON形式のデータが扱いやすいので、扱うためのライブラリ。 URLからデータを取得するためのライブラリ。

コード

  1. import json, urllib2
  2. r = urllib2.urlopen( "http://geoapi.heartrails.com/api/json?method=searchByPostal&postal=1638001")
  3. root = json.loads( r.read() )
  4. lat = root['response']['location'][0]['y']
  5. lon = root['response']['location'][0]['x']

今回は例で郵便番号は 163-8001 にしました。 APIに投げるときはハイフンを省きます。 あとは、得られた緯度 lat と経度 lon を煮るなり焼くなり。