我正在尝试使用R中的raster包从美国宇航局OPenDAP服务器获取TRMM数据。最初,我在身份验证方面遇到了一些困难,但这个问题是resolved。
NASA OPenDAP服务器将TRMM 3B42_daily数据作为单独的文件发布,每天一个文件和一个聚合的年度数据(使用ncml)。因此,我现在的问题是,使用R raster包以及身份验证文件.dodsrc和.netrc,我可以下载单独的NetCDF文件,但不能下载聚合数据。
所以,这是可行的:
library(raster)
single_date_opendap <- 'https://disc2.gesdisc.eosdis.nasa.gov:443/opendap/TRMM_L3/TRMM_3B42_Daily.7/2002/04/3B42_Daily.20020405.7.nc4'
test <- stack(single_date_opendap, varname = 'precipitation')这不是:
library(raster)
url_opendap_no_brkt <- 'https://disc2.gesdisc.eosdis.nasa.gov:443/opendap/ncml/aggregation/TRMM_3B42_Daily.7/TRMM_3B42_daily.7_Aggregation_2001.ncml'
test <- stack(url_opendap_no_brkt, varname = 'precipitation')并给出错误消息:
Error in .local(.Object, ...) :
An error occurred while creating a virtual connection to the DAP server:
Error while reading the URL: https://disc2.gesdisc.eosdis.nasa.gov:443/openda
p/ncml/aggregation/TRMM_3B42_Daily.7/TRMM_3B42_daily.7_Aggregation_2001.ncml.
ver.
The OPeNDAP server returned the following message:
Unauthorized: Contact the server administrator.
Error in .rasterObjectFromFile(x, band = band, objecttype = "RasterLayer",
Cannot create a RasterLayer object from this file. (file does not exist)可以从发布聚合数据的OPenDAP服务器获取数据吗?
发布于 2019-02-05 23:57:58
在与美国宇航局的支持人员和安东尼奥的技巧进行了一些交流后,发现R raster包不能与聚合数据集一起工作。但是ncdf4::nc_open能够处理它。奇怪的是,据我所知,raster包在后台调用nc_open。
无论如何,这是可行的:
library(ncdf4)
url_opendap <- 'https://disc2.gesdisc.eosdis.nasa.gov:443/opendap/ncml/aggregation/TRMM_3B42_Daily.7/TRMM_3B42_daily.7_Aggregation_2001.ncml'
trmm <- nc_open(url_opendap)但这并不是
library(raster)
url_opendap <- 'https://disc2.gesdisc.eosdis.nasa.gov:443/opendap/ncml/aggregation/TRMM_3B42_Daily.7/TRMM_3B42_daily.7_Aggregation_2001.ncml'
trmm <- stack(url_opendap, varname = "precipitation")https://stackoverflow.com/questions/54485306
复制相似问题