【问题标题】:Geocode failed with status OVER_QUERY_LIMIT R studio地理编码失败,状态为 OVER_QUERY_LIMIT R studio
【发布时间】:2018-03-05 10:51:12
【问题描述】:

很抱歉重复了一个问题,但我无法用我找到的答案解决问题。我正在使用这个 repo 中的 transport-workshop.Rmd:https://github.com/nickbearman/transport-workshop。我使用 qmap 进行的前 3 个查询都没有问题 qmap('Leeds')qmap('LS2 9JT')qmap('LS2 9JT', zoom = 17)。但后来我继续工作坊并尝试qmap('LS2 9JT', zoom = 17, maptype = 'satellite'),它返回了这个错误:

geocode failed with status OVER_QUERY_LIMIT, location = "LS2 9JT"Error in data.frame(ll.lat = ll[1], ll.lon = ll[2], ur.lat = ur[1], ur.lon = ur[2]) : arguments imply differing number of rows: 0, 1

检查时: > geocodeQueryCheck() 2495 geocoding queries remaining.

发现指定 Google Maps API 密钥可能会解决问题: devtools::install_github("dkahle/ggmap") register_google(key = "my_api_key") 来自 https://developers.google.com/maps/documentation/geocoding/get-api-key ,但我不断收到同样的错误。不知道还有什么要检查或尝试的。

使用 R 版本 3.4.3 (2017-11-30),Windows 10。

【问题讨论】:

标签: r google-geocoder google-geocoding-api


【解决方案1】:

这可能有两个原因:

1) 如果您使用免费版的 google API,您可能已经超过了 24-hour limit。您可以选择高级服务或查看您正在使用的服务的限制政策here

2) 在一秒钟内多次点击地理编码,您将超过 requests per second 的限制。因此,您可以更改代码并在下一次请求之前添加等待时间以避免此错误。

【讨论】:

    【解决方案2】:

    我也一次又一次地遇到同样的问题。如果您在一个循环中运行多个查询,您可以插入类似Sys.sleep(5) 的暂停。

    但根据我的经验,对于所有与 Google 相关的查询,我发现包 googlewayggmap 好得多。也许你试试这个?注意:这里您需要一个密钥,您在 Google 注册后很容易获得。

    【讨论】:

      【解决方案3】:

      我也有过这样的经历。有时,即使是 Rohan Kadu 和 DatamineR 提出的有用修复也不能解决问题(尽管我没有尝试过 googleway)。

      您也可以尝试将 ggmap 源更改为 Data Science Toolkit 的“dsk”,如下所示:

      result <- geocode(df$Address, output = "latlona", source = "dsk")
      

      这对我有用。 (虽然dsk 有一些限制。请查看ggmap 文档。)

      祝你好运。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多