我想通过光栅包打开包含两个变量的多个NetCDF文件,然后使用我的shapefile(多边形)提取数据并计算面积平均值。 当我这样做时,无论使用rater函数还是堆栈函数,都会显示一条警告消息。警告消息的内容是:
警告讯息: 在.varName(nc,varname,warn = warn)中:使用的varname是:PEVAP 如果这不正确,您可以将其设置为以下之一:PEVAP,APCP
看起来栅格无法打开包含多个变量的NetCDF文件。 谁能帮助我? 如果您还可以告诉我如何使用shapefile计算面积平均值,我将不胜感激。 这是数据链接。
[https://drive.google.com/open?id=1ltcEmxJ33iudX3lJTCM7B0zgeht9lPFX][1]
[https://drive.google.com/open?id=1b7tNdJHq_HZcw7NPz1kbVFDWli1G9zaJ][2]
[https://drive.google.com/open?id=1oC2kxVhC9MMcmz-IcIZJFkS6_tRKyIAM][3]
我的代码:
rm(list=ls())
library(raster)
library(ncdf4)
path <- "E:/rrshp/"
pathdata <- "E:/data/"
pathshp <- "E:/test_shape"
setwd(path)
ncname <- list.files(pathdata,full.names=T)
## warning comes from the following code
myrast <- raster(ncname[1])
allrast <- stack(ncname)
答案 0 :(得分:0)
由于未指定要导入栅格的变量而显示错误。试试这个:
#Check the variables available for ncname[1]
nc<-nc_open(ncname[1])
names(nc[['var']])
[1] "var1" "var2" "var3"
#If I want to import "var1" and "var3" for ncname[1]
s<-stack(stack(ncname[1],varname="var1"),stack(ncname[1],varname="var3"))