【发布时间】:2016-09-08 22:04:28
【问题描述】:
鉴于以下情况:
library(raster)
r <- raster(ncol=10, nrow=10)
s <- stack(lapply(1:3, function(x) setValues(r, runif(ncell(r)))))
s <- setZ(s, as.Date('2000-1-1') + 0:2,name="time")
s
getZ(s)
如何从s 中删除“time”?
我之所以要删除“time”是因为我得到了错误,而croppinga RasterStack P 类似于s:
cr <- crop(P, extent(Germany),snap="out")
NOTE: rgdal::checkCRSArgs: no proj_defs.dat in PROJ.4 shared files
Error in R_nc4_def_var_float: NetCDF: String match to name in use
Name of variable that the error occurred on: "time"
I.e., you are trying to add a variable with that name to the file, but it ALREADY has a variable with that name!
[1] "----------------------"
[1] "Var: time"
[1] "Ndims: 3"
[1] "Dimids: "
[1] 2 1 0
Error in ncvar_add(nc, vars[[ivar]], verbose = verbose, indefine = TRUE) :
Error in ncvar_add, defining var time
如果“time”维度不是问题,有什么办法可以解决这个错误?
感谢您对此的看法。
【问题讨论】:
-
奇怪!我发现将
rasterstack写入.nc,然后使用brick导入它可以抑制错误。这是一个痛苦的过程,因为我必须将所有文件写入.nc。希望有一种简单的方法将rasterstack转换为rasterbrick? -
有一个简单的方法,但你能澄清你的问题吗?
P(show(P)) 是什么,你是如何创建它的?文件是否可用。你能用terra运行同样的代码吗?
标签: r time-series raster