Подтвердить что ты не робот

Получение OVER QUERY LIMIT после одного запроса с геокодом

Я использую геокод ggmap, чтобы найти широту и долготу разных городов. Вчера он работал совершенно нормально, но сегодня я получаю БЕСПЛАТНЫЙ ОГРАНИЧИТЕЛЬ QUERY после одного запроса.

Фактически, если я просто загружаю библиотеку и запускаю геокод, она выдает ошибку OVER QUERY LIMIT:

> library(ggmap)
> geocode("Paris")
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=Paris&sensor=false
  lon lat
1  NA  NA
Warning message:
geocode failed with status OVER_QUERY_LIMIT, location = "Paris" 

Я проверил разные темы в stackoverflow, но, похоже, у них нет такой же проблемы. Я пытался проверить, не превышает ли я предел 2500 (очень маловероятно, но я новичок в кодировании, поэтому, возможно, я сделал что-то не так...) и geocodeQueryCheck() читает 2498, но затем он сбрасывается каждый раз при запуске библиотеки (ggmap).

Он работал пятнадцать минут назад, когда я перезагрузил Rstudio, но теперь он больше не работает, я полностью потерялся!

Кто-нибудь может понять, что может быть проблемой?

PS: Я новичок в stackoverflow, поэтому, если у вас есть какие-либо замечания по поводу чего-нибудь, пожалуйста, скажите мне!

4b9b3361

Ответ 1

У меня была аналогичная проблема с использованием ggmap::geocode() для партии местоположений, где примерно 20% местоположений дали ошибку OVER QUERY LIMIT, даже если geocodeQueryCheck() будет показывать более чем достаточно запросов на геокодирование, и ошибки были спорадически разбросаны по всему места, а не только последние 20%. Если я повторю подмножество местоположений, которые не выполнялись в первый раз, снова большинство из них работало, поэтому мне пришлось перебирать меньшие подмножества, пока у всех не было геокодов.

ggmap v2.7 позволяет пользователю указать ключ API Карт Google через функцию register_google(). v2.7 еще не включен в CRAN, поэтому вам нужно использовать devtools::install_github("dkahle/ggmap") для его установки. После обновления до этой версии и установки моего API-ключа register_google(key = "my_api_key"), одна и та же партия работала за один проход, как ожидалось.

Ключ API Карт Google легко получить: https://developers.google.com/maps/documentation/geocoding/get-api-key

Ответ 2

Если вы хотите быть уверенным в своей квоте, вы можете получить API Google Maps API, а затем использовать его в моем пакете googleway

library(googleway)

key <- "your_api_key"

google_geocode(address = "Paris", key = key)

# $results
# address_components
# 1   Paris, Paris, Île-de-France, France, Paris, Paris, Île-de-France, FR, locality, political, administrative_area_level_2, political, administrative_area_level_1, political, country, political
# 2 Paris, Lamar County, Texas, United States, Paris, Lamar County, TX, US, locality, political, administrative_area_level_2, political, administrative_area_level_1, political, country, political
# formatted_address geometry.bounds.northeast.lat geometry.bounds.northeast.lng geometry.bounds.southwest.lat
# 1     Paris, France                      48.90214                      2.469921                      48.81557
# 2    Paris, TX, USA                      33.73838                    -95.435455                      33.61185
# geometry.bounds.southwest.lng geometry.location.lat geometry.location.lng geometry.location_type
# 1                      2.225193              48.85661              2.352222            APPROXIMATE
# 2                    -95.627928              33.66094            -95.555513            APPROXIMATE
# geometry.viewport.northeast.lat geometry.viewport.northeast.lng geometry.viewport.southwest.lat geometry.viewport.southwest.lng
# 1                        48.90214                        2.469921                        48.81557                        2.225193
# 2                        33.73838                      -95.435455                        33.61185                      -95.627928
# place_id               types
# 1 ChIJD7fiBh9u5kcRYJSMaMOCCwQ locality, political
# 2 ChIJmysnFgZYSoYRSfPTL2YJuck locality, political
# 
# $status
# [1] "OK"

Ответ 3

Запрос не использует ключ, что означает: вы используете квоту со всеми страницами, размещенными на том же сервере (тот же IP-адрес/может быть помечен доменами).

Как представляется, эта библиотека поддерживает только возможность для бизнес-пользователей предоставлять учетные данные.

Существует функция функция-запрос с 2014 года, но пока она не реализована, я боюсь, что вы ничего не можете сделать (как не-бизнес-пользователь), когда вы используете эту библиотеку (кроме изменений в библиотеке, но я не знаком с R, поэтому я не могу дать дополнительную помощь).