我正在进行一些光栅计算,然后我想将结果写入新的tiff。但是,R中的writeRaster输出.tif不会在任何常用的图像视觉化软件中打开。有什么建议请我应该添加到我的代码中以便更正吗? 提前谢谢,
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)
答案 0 :(得分:3)
您的代码在ArcGIS中打开了一个完全可用的geo-tiff。
如果要在普通图像查看器中查看输出,可以将其转换为常规栅格:
tiff("test.tif",dim(calib.band530)[2],dim(calib.band530)[1])
grid.raster(as.raster(calib.band530),interpolate=FALSE)
dev.off()
这将消除地理空间信息。
要创建可查看的地理数据,您需要重新调整数据,如果您希望数据可供人类查看,则为颜色空间添加一个参数。这对我有用:
calib.band_rezero <- calib.band530 - cellStats(calib.band530,min)
calib.band_stretch <- calib.band_rezero / cellStats(calib.band_rezero,max) *254
writeRaster(calib.band_stretch, filename="cTTC001270001_viewable.tif", format="GTiff",datatype='INT1U', overwrite=TRUE)
添加色彩空间参数会使其在图像查看器中打开,但可能看起来是黑色的:
writeRaster(calib.band530, filename="cTTC001270001.tif", format="GTiff",datatype='INT1U', overwrite=TRUE)