【问题标题】:Getting connection timed out error while GeoCoding in R在 R 中进行地理编码时出现连接超时错误
【发布时间】:2019-07-04 13:50:26
【问题描述】:

我必须在 R 中对几个地址进行地理编码,但出现“已达到超时:10000 毫秒后连接超时”错误。我在办公室防火墙后面,所以也尝试使用代理,但仍然遇到同样的错误。

当我使用源作为“dsk”但它不会对大多数地址进行地理编码因此想使用“google”作为源时,这有效。

下面是我使用的一段代码。

library(ggmap)
library(curl)

register_google(key = "Have_Entered_My_API_Key_Here")

#Used below code to use proxy...(saw it as a solution in stackoverflow only for working behind firewall..maybe I'm not doing it the correct way?)
library(httr)
set_config(use_proxy(url="10.3.100.207",port=8080))

origAddress <- read.csv("Data_for_Geocoding.csv",header = TRUE,sep = ",",stringsAsFactors = FALSE)

for(i in 1:nrow(origAddress))
{

  result <- geocode(origAddress$Add_to_GeoCode[i], output = "latlona", source = "google",sensor = TRUE)
  origAddress$LONGITUDE[i] <- as.numeric(result[1])
  origAddress$LATITUDE[i] <- as.numeric(result[2])
  # origAddress$ <- as.character(result[3])
}

运行此代码时出现以下错误。
“curl::curl_fetch_memory(url, handle = handle) 中的错误: 已达到超时:连接在 10000 毫秒后超时”

我有数以千计的地址需要进行地理编码,如果有人能在这里提供帮助,我将不胜感激。

【问题讨论】:

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


    【解决方案1】:

    在花了几乎一整天的时间之后,我很高兴我能够解决这个问题:) 因此发布了答案。

    如果您遇到我上面列出的连接超时错误,您应该检查的第一件事是您是否在防火墙后面(如果您在办公室工作,很可能防火墙阻止您访问 google api .在家你可以简单地关闭防火墙)。显然,当您在防火墙后面时,您需要使用以下代码进行地理编码甚至访问 google api。

    library(httr)
    set_config(
    use_proxy(url="Proxy_Add_Here", port=8080, username="username_here",password="password_here")
    )
    

    确保在您的地理编码代码之前添加此代码。

    注意:请注意,Google Maps API 不是免费服务。每月可免费调用 40,000 次地理编码 API(尽管每天的最大请求数上限为 2500 次),超出此上限的每次调用费用为 0.005 美元。

    PS:如果您不确定代理是否添加,请按照以下步骤操作...
    打开 Internet Explorer-->工具-->Internet 选项-->连接- ->局域网设置
    用户名和密码只是您的 Windows 凭据

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,我通过以下代码重新编辑:

      library(httr)
      set_config(
        use_proxy(url="127.0.0.1", port=1080)
      )
      httr::GET("www.google.com")  # if it returns status like 200 ,problem has been resloved
      

      如果返回200这样的状态,问题已经解决

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-08
        • 2012-10-14
        • 2017-04-01
        相关资源
        最近更新 更多