我下载了世界气候数据并将其更改为栅格数据。
有像 wc2.1_5m_bio_1 到 19 这样的名称,我想使用 substr 函数将这些变量重命名为 bio_1 (start = 10, stop = 16)。但是,我不知道如何使其永久保留在栅格数据上。
substr(clim@ptr[[“names”]], start = 10, stop = 16)
它提供了我想要的东西,但不是永久的。所以每次我重新加载栅格数据时,它仍然具有原始的长名称。
您可以像这样获取和设置名称:
library(terra)
s <- rast(system.file("ex/logo.tif", package="terra"))[[1:2]]
names(s)
#[1] "red" "green"
names(s) <- substr(names(s), 1, 1)
names(s)
#[1] "r" "g"
(你应该永远不直接使用
@ptr
插槽)
要使其永久化,您需要将数据写入新文件:
writeRaster(s, "test.tif", overwrite=TRUE)
rast("test.tif")
#class : SpatRaster
#dimensions : 77, 101, 2 (nrow, ncol, nlyr)
#resolution : 1, 1 (x, y)
#extent : 0, 101, 0, 77 (xmin, xmax, ymin, ymax)
#coord. ref. : +proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
#source : test.tif
#names : r, g
#min values : 0, 0
#max values : 255, 255