R - 使用USGS API时导致错误的原因是什么?

时间:2018-03-28 23:10:07

标签: r api connection

我正在USGS catalog website处理地震数据,并且很幸运地偶然发现美国地质勘探局提供的simple package查询目录。它只有一个API函数,可以查询地震目录并返回一个数据帧。但是,我收到了连接错误。

> comcatdata <- comcathypocsv()
Error in file(con, "r") : cannot open the connection

我一直在寻找解决方案,并发现很多人已经使用setInternet2(TRUE)对此进行了补救,但此功能现已解散,没有明显的替代品。

有人会介意尝试一下这个包和上面的简单调用,看看他们是否可以让它工作?

修改

如果在某个不太可能的未来中的任何人将线程从架子上取下来并将其除尘,这是一个简单的基本查询工作函数:

get_quake_data <- function(output_format="csv",
                           starttime=today()-180,
                           endtime=today(),
                           minlatitude=27,
                           minlongitude=-103,
                           maxlatitude=33,
                           maxlongitude=-100,
                           minmagnitude=2.5,
                           maxmagnitude=10){

  # compose API request
  base_url <- "https://earthquake.usgs.gov/fdsnws/event/1/query?"

  # add format arg
  api_url <- paste0(base_url, "format=", output_format)

  # add start, end times
  api_url <- paste0(api_url, "&starttime=", starttime)
  api_url <- paste0(api_url, "&endtime=", endtime)

  # set longitude range
  api_url <- paste0(api_url, "&minlongitude=", minlongitude)
  api_url <- paste0(api_url, "&maxlongitude=", maxlongitude)

  # set latitude range
  api_url <- paste0(api_url, "&minlatitude=", minlatitude)
  api_url <- paste0(api_url, "&maxlatitude=", maxlatitude)

  # set magnitude range
  api_url <- paste0(api_url, "&minmagnitude=", minmagnitude)
  api_url <- paste0(api_url, "&maxmagnitude=", maxmagnitude)

  return(api_url)
}

@ Dave2e在指出正确的网址时应该获得大部分功劳。

0 个答案:

没有答案
相关问题