簡體   English   中英

關於從多個nc文件的多個cordiante中提取數據並合並到單個柵格

[英]Regarding extraction of data from multiple cordiantes of multiple nc files and merge to a single raster

我有一年的 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
}

您應該能夠執行以下操作

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"))
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM