具体来说,我有一组包含每月雨水数据的 ncdf 文件。我想通过时间维度合并这些数据集,以便获得一个唯一的数据集,但带有时间维度。为此,我将这些数据集堆叠起来,所以我的 nlayers 是不同时期的不同层。我希望将这些 nlayers 传递到时间维度,因此如果现在有 3 个 nlayers,我希望有 3 个时期。
nc0298<- stack("3a12.19980201.7.nc", varname="sfcr") #Rain in 02/1998
nc0398<- stack("3a12.19980301.7.nc", varname="sfcr") #Rain in 03/1998
nc0498<- stack("3a12.19980401.7.nc", varname="sfcr")
data <- raster::stack(nc0298, nc0398, nc0498)
print(data)
输出结果: 类型 : RasterStack 尺寸 : 22, 27, 594, 3 (行数, 列数, 单元格数, 层数) 分辨率 : 0.5, 0.5 (x, y) 范围 : 2, 15.5, 3.5, 14.5 (xmin, xmax, ymin, ymax) 坐标参考 : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 名称 : surface.rain..mm.hr..1, surface.rain..mm.hr..2, surface.rain..mm.hr..3
但是我想把它放在时间维度而不是层数维度: data@layers
输出结果: 3个维度: 时间 大小:1 * 是无限制的 * 单位: hours since 1998-4-1 0 经度 大小:27 单位: degrees_east 长名称: Longitude 纬度 大小:22 单位: degrees_north 长名称: Latitude
这里我们可以看到我的时间维度仍然是大小为1。
我既有概念问题又有代码问题,所以任何建议和解释都会有所帮助。
数据文件可以在以下链接中获取: link
非常感谢,
附注: 我是一名经济学学生,对空间分析和地理学一无所知。我对R、Matlab和Python都有中级的了解。如果有人对这些程序有答案,也可以帮助我。
这是我在社区提出的第一个问题,所以请原谅我的错误。