Table of Contents
はじめに
API 別に 2 つ作ってみました。どちらも引数 query に住所またはランドマークを設定すると、緯度、経度を返すコードです。
方法
Geocoding API
import time
import requestsfrom bs4 import BeautifulSoup
def get_geocoding(query): ''' Args: query(str): 住所、ランドマーク Returns: lat, lng(float): 緯度、経度 ''' url = 'https://www.geocoding.jp/api/' q = {'q': query} r = requests.get(url, params=q) time.sleep(60) soup = BeautifulSoup(r.text, 'lxml-xml') try: lat = soup.find('lat').get_text() lng = soup.find('lng').get_text() lat, lng = lat, lng except: lat, lng = 0
return lat, lng
Google Maps API
import googlemaps
def get_googlemaps_geocoding(query): ''' Args: query(str): 住所、ランドマーク Returns: lat, lng(float): 緯度、経度 ''' googleapikey = 'APIキー' gmaps = googlemaps.Client(key=googleapikey) gmap_list = gmaps.geocode(query) try: ll = gmap_list[0]['geometry']['location'] lat, lng = ll['lat'], ll['lng'] except: lat, lng = 0
return lat, lng