使用R从互联网下载数据

时间:2018-08-10 14:24:42

标签: r curl rcurl

我正在尝试从以下网站下载数据

https://gimms.gsfc.nasa.gov/MODIS/std/GMOD09Q1/tif/NDVI/

此网站包含来自MODIS传感器的NDVI数据。这些文件夹是根据每年需要下载的年份和年份排列的。

作为测试,我尝试仅下载一个数据

URL <- "https://gimms.gsfc.nasa.gov/MODIS/std/GMOD09Q1/tif/NDVI/2010/001/GMOD09Q1.A2010001.08d.latlon.x39y03.6v1.NDVI.tif.gz"

library(RCurl)

x <- getURL(URL, ssl.verifypeer = FALSE)

我收到此错误

Error in function (type, msg, asError = TRUE)  : 
Unknown SSL protocol error in connection to 
gimms.gsfc.nasa.gov:443

然后我尝试了这个:

download.file(url = URL,
          destfile = 'localfile.gz', method='curl')

Error in download.file(url = URL, destfile = "localfile.gz", method = "curl") : 
'curl' call had nonzero exit status

谁能告诉我我做错了什么。

谢谢

1 个答案:

答案 0 :(得分:2)

要读取内存,请尝试:

library("curl")
x <- curl::curl_fetch_memory("https://gimms.gsfc.nasa.gov/MODIS/std/GMOD09Q1/tif/NDVI/2010/001/GMOD09Q1.A2010001.08d.latlon.x39y03.6v1.NDVI.tif.gz")

或者,要保存在本地:

f <- "local.tif.gz"
curl::curl_fetch_disk("https://gimms.gsfc.nasa.gov/MODIS/std/GMOD09Q1/tif/NDVI/2010/001/GMOD09Q1.A2010001.08d.latlon.x39y03.6v1.NDVI.tif.gz", path = f)