【发布时间】:2018-04-30 05:44:03
【问题描述】:
我想知道如何在 R 中通过时间维度堆叠不同的栅格数据集。
具体来说:
我有一组包含每月降雨数据的 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)
输出: 类:光栅堆栈 尺寸:22、27、594、3(nrow、ncol、ncell、nlayers) 分辨率: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
但我不想在 nlayers 中拥有它,而是在时间维度上拥有它: 数据@层
输出: 3 个维度: time Size:1 *是无限的* 单位:自 1998 年 4 月 1 日以来的小时数 0 经度尺寸:27 单位:度_东 long_name:经度 纬度尺寸:22 单位:degrees_north long_name: 纬度
在这里我们可以看到我的时间维度仍然是 1。
我有概念问题和代码问题,所以任何建议解释都会有所帮助。
数据文件可以在以下位置获得: link
非常感谢,
PD: 我是经济学的学生,所以我对空间分析和地理一无所知。我在 R 和 Matlab 和 Python 方面都有中级知识。如果有人对这些程序有答案,它也可以帮助我。
这是我在社区中的第一个问题,非常抱歉我的错误。
【问题讨论】:
-
感谢您的回答,我明白了,对不起。我在 github link 中使用我使用的数据创建了一个存储库,因为我不知道如何为这种情况生成随机示例数据。在存储库中,还解释了如何从原始源下载数据。一旦下载到工作目录,我认为前面的代码行应该可以工作。我使用库 RNetCDF, raster 但我不确定现在是否需要它们。
标签: r time stack raster dimension