在写入然后读取具有某些文件格式(ESRI .hdr 标签格式、netCDF 和 ENVI,但不是 GeoTIFF 或 Erdas HFA)的 SpatRaster 时,光栅原点、分辨率和坐标略有变化。这些参数的相等性测试足以返回 FALSE 值。这是一个例子,GeoTiff 然后是 flt。
Nrow=45; Ncol=108
r1 <- rast(nrow=Nrow,ncol=Ncol,vals=1:(Nrow*Ncol),ext=c(-180,180,-60,90))
origin(r1)
# [1] 0 0
writeRaster(r1,"test.tif",overwrite=TRUE)
r2 <- rast("test.tif")
origin(r2)
# origin is OK, same as r1
# [1] 0 0
res(r1)==res(r2)
# [1] TRUE TRUE
writeRaster(r1,"test.flt",overwrite=TRUE)
r3 <- rast("test.flt")
origin(r3)
# origin has been shifted
# [1] 1.705303e-13 5.684342e-14
res(r1)==res(r3)
# the lag is large enough for r3 to be considered as a different raster from r1
# [1] FALSE FALSE
这里有三个问题:
. 为什么会发生这样的转变?
. 有没有办法阻止它们?
. 如果没有,阅读后纠正它们的最佳方法是什么?
谢谢。