我正在做一些栅格计算,然后我想将结果写入新的tiff。但是,R中的writeRaster输出.tif没有在任何常用的图像处理软件中打开。任何建议请就我应该添加到我的代码,以纠正? 由于提前,来自writeRaster的tiff未打开
setwd()
library(sp)
library(raster)
library(rgdal)
band530.2 <- raster("TTC001270001.tif", band=2)
band530.3 <- raster("TTC001270001.tif", band=3)
band530 <- 4 * band530.2 + (band530.2 - band530.3)
lf<- function(x,a,b) {
v <- getValues(x)
v <- a * v + b
x <- setValues(x, v)
return(x)
}
calib.band530 <- lf(band530, 0.0009842088, -0.04702277)
writeRaster(calib.band530, filename="cTTC001270001.tif", format="GTiff", overwrite=TRUE)
你可以从你的'tiff'尝试'writeTiff'包。 – G5W
@ G5W感谢您的建议。我尝试了'tiff'包中的'writeTIFF'。它在writeTIFF中给出了错误(calib.band530,“cTTC001270001.tif”):图像必须是矩阵或原始数字或实数的数组。我也尝试了'rtiff'包中的'writeTiff'。 writeTiff中的错误(calib.band530,“cTTC001270001.tif”):writeTiff需要pixmapRGB或矩阵,得到了RasterLayer。然后,我不知道如何将我的栅格图层转换为'writeTIFF'或'writeTiff'格式,而不会丢失像素信息。 – rafaexx
您是否检查过calib.band530以查看非法图像值?也许在写作之前尝试在输出上加上限制。 –