维护聚合栅格的时间维度 (Z)

Maintaining time dimension (Z) for an aggregated Raster

提问人:Kaila Frazer 提问时间:10/16/2023 更新时间:10/16/2023 访问量:27

问:

我正在按纬度、纬度和图层聚合一个大型 RasterBrick。我的原始 RasterBrick 对象具有设置的 Z 维度(即每个图层都有指定的日期),但是当我聚合 Raster 时,我丢失了这些日期。相反,Z 维度返回到 layer.1、layer.2 等,而不是 Date 维度。

我需要一个与聚合栅格关联的日期列表(以便我最终可以使用 rts 包来制作时间序列),但不确定聚合后哪些日期与哪些图层相关联。

如何确保获得与聚合后图层相对应的准确日期列表?

我从模拟海面温度数据的大型数据集开始。我从 netCDF 文件中提取了数据。

rbrick <- brick(netCDF.data, xmn=min(lon), xmx=max(lon), ymn=min(lat), ymx=max(lat), crs="WGS84", transpose=T) %>% flip(2) # Create a RasterBrick from my netCDF data. lon and lat values are also extracted from the netCDF

yr <- ncvar_get(gfdl,'year'); mth <- ncvar_get(gfdl,'month'); day <- ncvar_get(gfdl,'day') # Extract time variables from the netCDF
tim <- as.POSIXct(paste(yr,mth,day,sep='-'),tz='UTC') # Format dates
rbrick.t <- setZ(rbrick, tim, name="Date") # Add Z dimension to RasterBrick
rbrick.t # Check the RasterBrick data--there's a beautiful Date dimension at the bottom!

weekly.5 <- aggregate(rbrick.t, fact=c(5, 6, 7), expand=T) # Lower the resolution of the RasterBrick to weekly data times a .5 degree grid cell resolution

weekly.5 # Check the RasterBrick data--my Date dimension is gone :(

最终,我希望能够从聚合的 RasterBrick 中获取日期的时间序列,以便我可以使用 rts 包从数据中制作时间序列,如下所示:

rt <- rts(rbrick, tim) # Make a rts object with time associated from a list of Dates
plot(rt[15]) # Plot the time series for cell number 15

如果在聚合栅格时无法保留 Z 维度,如何为聚合栅格创建准确的日期列表以输入到 rts 中?

r datetime 聚合 栅格 netcdf

评论

0赞 Kaila Frazer 10/16/2023
我意识到我可以使用“agg.tim <- tim[seq(1, length(tim), 7)]”来制作一个聚合的时间序列......但是我如何检查这是否符合我的 RasterBrick 实际聚合方式?
0赞 Chris 10/16/2023
添加一些数据可能有助于实现这一目标,也许是链接或?预计某些响应将采用 terra 而不是栅格。实际上,小插曲使用的 terra .rtsterra
0赞 Elia 10/16/2023
您应该查看包中的 tapp,尤其是参数terraindex

答: 暂无答案