【发布时间】:2020-10-14 09:12:56
【问题描述】:
我有 365 个 .nc 文件位于包含每日土壤水分信息的文件夹中。我想提取全年五个坐标位置的数据,并将它们写入五个单独的 csv 文件。我的代码附在下面。但是,我在该行之后收到此错误:
s <- stack(ff)
>Error in if (is.na(get("has_proj_def.dat", envir = .RGDAL_CACHE))) { : argument is of length zero In addition: Warning message: In .varName(nc, varname, warn = warn) : varname used is: sm If that is not correct, you can set it to one of: sm, sm_noise, flag, sensor
不知道如何继续。
library(raster)
library(ncdf4)
ptf <- "D://SMOS_ECV_SM//SMOS_ECV_SM//ECV_SM_Data_1978_2010//1978"
ff <- list.files(path=ptf, pattern="[.]nc$", full.names=TRUE)
s <- stack(ff)
points <- rbind(c(0,1), c(100,120), c(80,5), c(85,4), c(82,4))
v <- extract(s, points)
for (i in 1:ncol(v)) {
write.csv(v[,i,drop=FALSE], paste0("file", i, ".csv"))
}
【问题讨论】:
-
请更改您的问题以显示实际错误发生的位置。我想它在
s <- stack(ff)线上——但是你需要解压它。尝试单个文件。如果失败,只需显示并让文件可用。另请报告R和rgdal的版本(并首先升级到最新版本)。