据我所知,只有netCDF
标准支持将单元写入文件(在光栅文件格式中)。GeoTIFF标准和用于读取和写入栅格数据的GDAL库的数据模型据我所知没有单位的概念。
我在 1.5.0 版中添加了解决此问题的方法(目前可从githubterra
获得开发版本)
单位和时间戳现在都保存到文件中,通过您的示例,我得到:
library(terra)
#terra version 1.5.0
A <- rast( nrows=10, ncols=10, xmin=0, xmax=10 )
values(A) <- 1:100
units(A) <- "%"
writeRaster(A, "test.tif", overwrite=TRUE)
B <- rast( "test.tif" )
B
#class : SpatRaster
#dimensions : 10, 10, 1 (nrow, ncol, nlyr)
#resolution : 1, 18 (x, y)
#extent : 0, 10, -90, 90 (xmin, xmax, ymin, ymax)
#coord. ref. : lon/lat WGS 84 (EPSG:4326)
#source : test.tif
#name : lyr.1
#min value : 1
#max value : 100
#unit : %
units(B)
#[1] "%"