我尝试过从trmm
每日nc4文件中提取数据。
path<-"F:/TRMM/test"
setwd(path)
## open all `trmm` rainfall data files from folder
trmm_files = list.files(path,pattern = '*.nc', full.names = TRUE)
#I want only HQprecipitation variable from nc4 file.
trmm_stack <- stack(trmm_files, varname = "HQprecipitation")
但trmm_stack
在堆叠时失去了坐标系。因此,我必须分配它。此外,如何验证是否根据日期和顺序对栅格堆栈进行排序?我需要一个时间序列数据。
crs(trmm_stack) <- CRS('+init=EPSG:4326') # also it was rotated
trmm_stack_flip <- t(flip(trmm_stack, direction='y'))
然后我为位置
创建纬度 - 经度坐标矩阵lat<- c(26.0166666, 25.674444, 25.5666666, 25.6666666, 26.18, 25.57)
lon <- c(91.85, 91.9025, 91.8666666, 91.8833333, 91.75, 91.9)
xym <- cbind(lat, lon)
并使用
从trmm_stack
中提取单元格值
data2 <- extract(trmm_stack, xym, method='simple', buffer = NULL, small = FALSE, cellnumbers = FALSE,
fun=NULL, na.rm=TRUE, df = FALSE, factors = FALSE)
然后我得到一个输出表,其列名以层号结尾。但我不知道提取是否按照我想要的时间序列在确切的位置和日期顺序完成。如何验证?任何帮助将不胜感激。
答案 0 :(得分:1)
RasterStack的顺序与文件名的顺序相同。您可以检查您的文件名(如果需要,可以对它们进行排序,但要小心排序表示为字符的数字(10在2之前)。
请注意,您在这里犯了错误:
JMS
应该是
xym <- cbind(lat, lon)