我正在使用 geopy 来获取城市名称的纬度 - 经度对。对于单个查询,这很好用。我现在尝试做的是遍历大量城市名称(46.000)并获取每个城市的地理编码。之后,我通过一个检查循环运行它们,该循环将城市(如果它在美国)分类到正确的州。我的问题是,我一直收到“GeocoderTimedOut('Service timed out')”,一切都很慢,我不确定这是我的错还是只是地理性质。这是负责的代码片段:
for tweetcount in range(number_of_tweets):
#Get the city name from the tweet
city = data_dict[0]['tweetList'][tweetcount]['user']['location']
#Sort out useless tweets
if(len(city)>3 and not(city is None)):
# THE RESPONSIBLE LINE, here the error occurs
location = geolocator.geocode(city);
# Here the sorting into the state takes place
if location is not None:
for statecount in range(len(data)):
if point_in_poly(location.longitude, location.latitude, data[statecount]['geometry']):
state_tweets[statecount] += 1;
break;
不知何故,这一行每隔 2./3 就会抛出一次超时。称呼。City 有“Manchester”、“New York, New York”或类似的形式。我已经尝试过 - 除了所有东西周围的块,但这并没有真正改变问题的任何内容,所以我现在删除了它们......任何想法都会很棒!