我正在尝试使用R中的function fetchBatches($venue_id,$new_batch_start_date,$new_batch_end_date,$new_batch_start_time,$new_batch_end_time)
{
$where="batch_venue_id='$venue_id' and ((start_date between '$new_batch_start_date' and '$new_batch_end_date')OR (end_date between '$new_batch_start_date' and '$new_batch_end_date')) and ((start_time<=end_time) and (start_time < '$new_batch_start_time' and start_time < '$new_batch_end_time'))";
$result =$this->db->select('*')
->from('batch_list')
->where($where)
->get()
->result();
if ($result) {
return $result;
}
else{
return 0;
}
}
包从NASA OPenDAP服务器获取TRMM数据。最初,我在身份验证方面遇到了一些困难,但问题是resolved。
NASA OPenDAP服务器将TRMM 3B42_daily数据发布为单独的文件,每天发布一个,并汇总一个年度数据(使用ncml)。因此,我现在的问题是,使用R raster
软件包以及身份验证文件raster
和.dodsrc
,我可以下载单个NetCDF文件,但不能下载聚合数据。
所以,这可行:
.netrc
这不是:
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')
是否可以从发布汇总数据的OPenDAP服务器获取数据?
答案 0 :(得分:0)
在与NASA支持人员和Antonio的技巧进行了一些交流之后,发现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")