使用python中的Google Maps API进行批量地理编码时发生超时错误

时间:2019-05-05 12:59:03

标签: python geocoding google-geocoding-api

我是Google Maps API的新手,所以不确定为什么此代码无法正常工作。我在一个csv文件中有80个地标的列表,即时通讯试图将lon和lat坐标检索到。

我认为我连接API的方式可能有问题。据我了解,我每天应该有2500个免费请求,但是我收到一个超时错误,使我认为自己已经达到了极限。

这是我的仪表板的快照 enter image description here

代码:

import pandas as  pd
import googlemaps

# IMPORT DATASET
df = pd.read_csv('landmarks.csv')

# GOOGLE MAPS API KEY
gmaps_key = googlemaps.Client(key = 'MY KEY')

df['LAT'] = None
df['LON'] = None

for i in range (0, len(df), 1):
    geocode_result = gmaps_key.geocode(df.iat[i,0])
    try:
        lat = geocode_result[0]['geometry']['location']['lat']
        lon = geocode_result[0]['geometry']['location']['lon']
        df.iat[i, df.comlumns.get_loc('LAT')] = lat
        df.iat[i, df.comlumns.get_loc('LON')] = lon
    except:
        lat = None
        lon  = None

print(df)

错误消息:

  

回溯(最近通话最近):文件   “ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”,   _request中的第253行       结果= self._get_body(响应)文件“ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”,   _get_body中的第276行       提高googlemaps.exceptions._RetriableRequest()googlemaps.exceptions._RetriableRequest

     

在处理上述异常期间,发生了另一个异常:

     

回溯(最近通话最近一次):文件“ c:/ Users / JGrov / Google   Drive / pythonProjects / Megalith Map / googleMapsAPI_Batch_Megaliths.py”,   第16行       geocode_result = gmaps_key.geocode(df.iat [i,0])文件“ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”,   包装中的第356行       结果= func(* args,** kwargs)文件“ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ geocoding.py”,   地理编码中的第68行       返回client._request(“ / maps / api / geocode / json”,params)[“结果”]文件   “ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”,   _request中的第260行       extract_body,requests_kwargs,post_json)文件“ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”,   _request中的第260行       extract_body,requests_kwargs,post_json)文件“ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”,   _request中的第260行       extract_body,requests_kwargs,post_json)[上一行重复了9次以上]文件   “ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”,   _request中的203行       提高googlemaps.exceptions.Timeout()googlemaps.exceptions.Timeout

在此问题上的任何帮助将不胜感激。谢谢。

0 个答案:

没有答案