我有一年365个.nc文件,每个文件都包含每天的土壤湿度信息。我想从三个不同的坐标中提取土壤湿度信息,并将它们写入给定年份的三个csv文件中。目前,我能够将所有365个.nc文件转换为365个csv文件,如附件代码所示。如何进一步进行?
rm(list = ls())
library(raster)
library(ncdf4)
ptf <- "D://SMOS_ECV_SM//SMOS_ECV_SM//ECV_SM_Data_1978_2010//1978"
setwd(ptf) # change your working directory
lf <- list.files(pattern="[.]nc$") # list of files ending in .nc
for(i in lf){
nc.brick <- brick(i)
nc.df <- as.data.frame(nc.brick[[1]], xy=T)
write.csv(nc.df, sub("[.]nc$",".csv",i)) # write to the same file name substituting .nc to .csv
}发布于 2020-06-23 00:35:03
你应该能够做一些类似下面的事情
library(raster)
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))
v <- extract(s, points)
for (i in 1:ncol(v)) {
write.csv(v[,i,drop=FALSE], paste0("file", i, ".csv"))
}https://stackoverflow.com/questions/62518010
复制相似问题