在使用地理编码的一个请求之后获得超过QUERY LIMIT

Edo*_*uny 39 google-maps r geocode

我正在使用ggmap的地理编码来查找不同城市的纬度和经度.它昨天完全没问题,但是今天只有一个请求后我得到了一个超额的限制.

事实上,如果我只是加载库并运行地理编码,它会抛出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" 
Run Code Online (Sandbox Code Playgroud)

我在stackoverflow上检查了不同的主题,但似乎没有人遇到同样的问题.我试着看看我是否超过2500限制(非常不可能,但我是新编码,所以也许我做错了...)并且geocodeQueryCheck()读取2498然后再次重置它每次运行库(ggmap) .

十五分钟前,当我重新启动Rstudio时,它已经工作了,但现在它不再起作用,我完全迷失了!

有谁知道可能是什么问题?

PS:我是stackoverflow的新手,所以如果你对任何事情有任何评论,请告诉我!

sbh*_*bha 31

我有一个类似的问题ggmap::geocode()用于一批地点,其中大约20%的位置给出OVER QUERY LIMIT错误,即使geocodeQueryCheck()显示剩余的地理编码查询足够多,并且错误偶尔分布在整个地点,而不仅仅是最后的20% .如果我重新尝试第一次失败的位置子集,那么大多数都会工作,所以我不得不迭代更小的子集,直到它们都有地理编码.

ggmap v2.7允许用户通过该register_google()功能指定Google Maps API密钥 .v2.7尚未在CRAN上,因此您必须使用devtools::install_github("dkahle/ggmap")它来安装它.更新到该版本并设置我的API密钥后register_google(key = "my_api_key"),同一批次按预期在一次运行中工作.

Google Maps API密钥很容易获取:https: //developers.google.com/maps/documentation/geocoding/get-api-key


Sym*_*xAU 15

如果您想确定配额,可以获取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"
Run Code Online (Sandbox Code Playgroud)


小智 10

试图注册api_key,看起来像付费服务.

source ="dsk"似乎是唯一的解决方法:

地理编码("巴黎",来源="dsk")

看看它是否适合你.


Net*_*ous 7

从2018年6月11日起,Google更改了对Google API的访问权限.

现在您需要为您的帐户设置信用卡才能获得使用API​​的权限.这是一个免费的帐户,不会向您收取信用卡上的任何费用,但您可以执行的查询数量有一些限制(就像我们在此更改之前所做的那样).

如果您需要更多查询,则应将帐户更改为正常帐户,当您使用更多免费限制的API时,会向您收取费用.


Dr.*_*lle 4

该请求不使用密钥,这意味着:您与同一服务器上托管的所有页面共享配额(相同的 IP 地址/可能有数百个域)。

看来这个库只支持商业用户提供凭据的选项。

2014 年就有一个功能请求,但只要它没有实现,恐怕当你使用这个库时你就无能为力(作为非商业用户)(除非你修改库,但我'我对 R 不熟悉,所以我无法提供进一步的帮助)。

  • 自 2018 年 6 月 11 日以来答案错误。 (2认同)