R语言 netCDF文件的图层名称

watbbzwu  于 2023-03-27  发布在  Etcd
关注(0)|答案(1)|浏览(136)

我正在处理大ncdf4文件。例如,来自英国气象局哈德利数据中心的网格温度数据作为时间序列:“CRUTEM.5.0.1.0 HadSST.4.0.0.0”。如果作为ncdf4文件导入,使用ncdf4数据集需要大量内存,并且非常慢。我可以使用terra包作为SpatRaster读取文件。但是,图层上的信息丢失了。图层对应于每月数据,可以使用ncdf4助手从ncdf4文件中读取。要使用观察的日期进行分析,我需要将层的名称与观察日期结合起来。这可以通过将terra::rast文件转换为 Dataframe 并使用观察时间命名行来完成。但这又不是很有效:有没有办法重命名terra::rastfille的图层。谢谢你的帮助

siotufzp

siotufzp1#

你不需要指定你从哪里得到这个文件或者你看到了什么。你至少应该包含show(x)的输出,其中x是你的SpatRaster。对于一个类似的文件,我得到:

r <- rast('CRUTEM.5.0.1.0.anomalies.nc')
r
#class       : SpatRaster 
#dimensions  : 36, 72, 2077  (nrow, ncol, nlyr)
#resolution  : 5, 5  (x, y)
#extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
#coord. ref. : lon/lat WGS 84 
#source      : CRUTEM.5.0.1.0.anomalies.nc:tas 
#varname     : tas (air_temperature_anomaly over land) 
#names       : tas_1, tas_2, tas_3, tas_4, tas_5, tas_6, ... 
#unit        :     K,     K,     K,     K,     K,     K, ... 
#time (days) : 1850-01-16 to 2023-01-16

显示时间信息可用。如果您想使用时间作为图层名称的一部分,您可以

names(r) <- paste0("tmp_", time(r))

相关问题