我试图使用R和OPeNDAP包从ncdf4服务器获取数据。然而,nasa eosdis服务器需要用户名/密码。如何使用R传递这些信息?
以下是我要做的事:
require(ncdf4)
f1 <- nc_open('https://disc2.gesdisc.eosdis.nasa.gov/opendap/TRMM_L3/TRMM_3B42.7/2018/020/3B42.20180120.15.7.HDF')以及错误消息:
Rsx_nc4_get_vara_double: NetCDF中的错误:授权失败语法错误,意外的WORD_WORD,期望SCAN_ATTR或SCAN_DATASET或SCAN_ERROR上下文: HTTP^ Basic:访问被拒绝。Var: nlat Ndims: 1 开始:0计数:ncvar_get_inner中的400个错误(d$dimvarid$group_id,d$dimvarid,default_missval_ncdf4(),:C函数R_nc4_get_vara_double返回错误
我试过url https://username:password@disc2..。但这也不起作用。
发布于 2018-08-31 19:43:02
丹尼尔,
您正在访问的服务使用第三方重定向对用户进行身份验证。因此,在URL中提供凭据的简单方法不起作用。
您需要创建2个文件。
您可以在auth.html上找到更多详细信息
问候
安东尼奥
发布于 2020-08-17 11:52:16
不幸的是,即使在定义了凭据及其位置之后
ncdf4::nc_open("https://gpm1.gesdisc.eosdis.nasa.gov/opendap/GPM_L3/GPM_3IMERGDE.06/2020/08/3B-DAY-E.MS.MRG.3IMERG.20200814-S000000-E235959.V06.nc4")仍在返回
Rsx_nc4_get_vara_double中的错误: NetCDF:授权失败
在从终端使用ncdump时也会发生相同的情况:
$ ncdump https://gpm1.gesdisc.eosdis.nasa.gov/opendap/GPM_L3/GPM_3IMERGDE.06/2020/08/3B-DAY-E.MS.MRG.3IMERG.20200814-S000000-E235959.V06.nc4返回
语法错误,意外的WORD_WORD,期望SCAN_ATTR或SCAN_DATASET或SCAN_ERROR上下文: HTTP^ Basic:访问被拒绝。授权失败位置:文件/build/netcdf-KQb2aQ/netcdf-4.6.0/ncdump/vardata.c;第473行
https://stackoverflow.com/questions/52098781
复制相似问题