Pythonで住所から緯度経度を取得する方法

Pocket

PythonでYahoo!ジオコーダAPIを使い、住所から緯度と経度を取得する方法です。
このAPIはxmlを返すので、これを辞書型に変換するのにxmltodictを使います。

xmltodict

xmltodictはライブラリです。
Macの場合、次のようにしてインストールします。

$ pip install xmltodict

コード

住所を緯度経度に変換する関数です。店の住所を想定しているので「shop_address」としています。
{自分のappid}には自分のアプリケーションIDをセットします。

def fetch_lonlat(shop_address):
  appid = {自分のappid}
  base_url = "https://map.yahooapis.jp/geocode/V1/geoCoder?appid={appid}&query={shop_address}"
  req_url = base_url.replace("{appid}", appid)
  req_url = req_url.replace("{shop_address}", shop_address)
  r = requests.get(req_url)
  xml = r.content
  this_dict = xmltodict.parse(xml)
  lonlat = this_dict["YDF"]["Feature"]["Geometry"]["Coordinates"]
  lon, lat = lonlat.split(",")
  return {"lon" : lon, "lat" : lat}

使用例

shop_address = "東京都千代田区永田町1-7-1"
lonlat = fetch_lonlat(shop_address)
print(lonlat)

結果は次のようになります。

{'lon': '139.74486552', 'lat': '35.67589293'}

[ 2021年3月28日 | カテゴリー: Python, デジタル | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報