1

我刚开始使用 GeoPy。我需要将给定的位置转换为纬度和经度。但是我收到了 GeocoderQuotaExceeded 错误。我只是按照文档中给出的示例进行操作。任何帮助将不胜感激。

from geopy.geocoders import GoogleV3
geolocator = GoogleV3()
address, (latitude, longitude) = geolocator.geocode("175 5th Avenue NYC")
GeocoderQuotaExceeded: The given key has gone over the requests limit in the 24 hour     period or has submitted too many requests in too short a period of time

这发生在第一个请求本身上。我从来没有提出任何其他要求。这是我第一次使用该应用程序。

4

4 回答 4

3

根据我对 OP 的评论...

这意味着您已用完 Google 的配额。

您是否设置了自己的 Api 密钥并检查过您没有超出限额?我假设它在后台使用此服务

注意:如果其他人拥有相同的公共 IP 使用该服务(大学、同一家公司等)并且您没有使用 API 密钥,这可能会导致您获得的免费使用次数少于 2,500。

于 2014-02-23T21:46:22.743 回答
2

有一个 API 列表,并为每个请求随机使用它们。例如在python

like keys = [key1,key1,key3....]

location = Geocoder(random.choice(keys)).geocode(address) 

或者

location = Geocoder(random.choice(keys)).reverse_geocode(Lat,Long)

根据您的要求。你的津贴会更多。

于 2016-03-03T10:44:01.753 回答
0

作为临时解决方案,您可以使用 VPN(它为您提供另一组 2 500 个免费请求)。

使用随机密钥的解决方案也应该可以工作,并且更适合永久使用,但如果您只是在测试过程中(这是我的情况),这是一个快速的解决方案。

于 2016-08-23T13:04:29.913 回答
0

编辑:截至 2018 年 7 月,我发现每个 API 密钥的默认请求是每天 1 个。因此,您必须在您的谷歌云平台上注册一个计费帐户才能获得每天大约 1000 个免费请求。

注册您自己的 API 是一个很好的举措!@Yaswanth 的回答对我来说不太管用,但从那里到这里:https://github.com/geopy/geopy,这确实:

第 1 步:在此处注册您的私钥:https ://developers.google.com/maps/documentation/geolocation/intro

步骤 2. 在你的 python 中,导入一个好的地理编码器,我推荐 GoogleV3。

from geopy.geocoders import GoogleV3

第 3 步。然后在您的代码中,输入您在上面的链接中注册的任意数量的密钥。

address = '1 Your Address Here' # Put in your address
geo_keys = [key1,key1,key3....] # Put in your API keys as strings
geolocator = GoogleV3( api_key=random.choice(geo_keys) )
geolocator.geocode( address )

第 4 步。然后你就开始做生意了!

print(geolocator.latitude)
print(geolocator.longitude)
于 2018-02-25T07:48:03.770 回答