2014-02-08 1 views
1

Я только начал использовать GeoPy. Мне нужно преобразовать заданное местоположение в широту и долготу. Однако я получаю ошибку GeocoderQuotaExceeded. Я просто последовал примеру, приведенному в документации. Любая помощь будет принята с благодарностью.GeoPy: GeocoderQuotaExceeded error

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 

Это произошло по первому запросу. Я никогда не делал никаких других просьб. Это был первый раз, когда я использовал приложение.

+0

Это означает, что вы использовали свою квоту у Google. Установили ли вы свой собственный ключ Api и проверили, что вы не превысили своего пособия? Я предполагаю, что он использует [эту службу под капотом] (https://developers.google.com/maps/documentation/geocoding/#Limits) ... NB: Если есть кто-то еще с тем же публичным IP-сервисом (Universitty, Одна и та же компания и т. Д.), И вы не используете ключ API, который может объяснить, что вы получаете меньше, чем 2500 бесплатных приложений. – Basic

+0

@Basic Спасибо, что была проблема. Готовы ли вы добавить это в качестве ответа, чтобы я мог поддержать? – Manoj

+0

Готово. Спасибо и рад, что смогу помочь – Basic

ответ

2

Из моих замечаний по ФП ...

Это означает, что вы использовали вашу квоту от Google.

Вы установили свой собственный ключ Api и проверили, что вы не превысили своего пособия? Я предполагаю, что он использует this service под капотом.

NB: Если у вас есть кто-то другой с тем же общедоступным IP-адресом, используя службу (университет, та же компания и т. Д.), И вы не используете ключ API, который может объяснить, что вы получаете меньше, чем 2500 бесплатных приложений.

2

Имейте список API и используйте их случайным образом для каждого запроса. Для примера в python:

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

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

или

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

На основании ваших требований. Ваше пособие будет больше.

0

В качестве временного решения вы можете использовать VPN (который дает вам еще один набор из 2 500 запросов бесплатно).

Решение со случайными ключами должно работать так же хорошо, и оно лучше для постоянного использования, но если вы только что прошли тестирование (это было мое дело), ​​это быстрое решение.

0

Регистрация для вашего собственного API - хороший ход! @ Ответ Yaswanth в не совсем работа для меня, но от этого и здесь: https://github.com/geopy/geopy, это делает:

Шаг 1. Регистрация для частных ключей здесь: https://developers.google.com/maps/documentation/geolocation/intro

Шаг 2. В вашем питона, импортировать хороший геокодер, я рекомендую 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) 

 Смежные вопросы

  • Нет связанных вопросов^_^