来自writeRaster的tiff无法打开

时间:2017-03-01 12:31:45

标签: r tiff raster

我正在进行一些光栅计算,然后我想将结果写入新的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)

1 个答案:

答案 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)