2017-03-01 2 views
0

일부 래스터 계산을 수행하고 있는데 결과를 새로운 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) 
+0

당신은'tiff'에서'writeTiff'을 시도 할 수 꾸러미. – G5W

+0

@ G5W 제안 해 주셔서 감사합니다. 나는'tiff' 패키지에서'writeTIFF'를 시도했습니다. writeTIFF (calib.band530, "cTTC001270001.tif")에 오류가 있습니다. image는 원시 또는 실수의 행렬 또는 배열이어야합니다. 또한'rtiff' 패키지에서'writeTiff'를 시도했습니다. writeTiff 오류 (calib.band530, "cTTC001270001.tif") : writeTiff는 pixmapRGB 또는 행렬에 RasterLayer가 있어야합니다. 그렇다면 래스터 레이어를 어떻게'writeTIFF' 또는'writeTiff' 형식으로 변환 할 수 있을지 모르겠다. 픽셀에 대한 정보가 빠져있다. – rafaexx

+0

잘못된 이미지 값에 대해 calib.band530을 확인 했습니까? 어쩌면 출력 전에 경계를 쓰려고 시도하기도합니다. –

답변

2

코드는는 ArcGIS에서 잘 연 완벽하게 가능한 지리적 티파니한다. 당신은 일반 이미지 뷰어에서 출력을 표시 할 경우

, 당신은 정기적으로 래스터로 변환 할 수 있습니다 : 이것은 지리 공간 정보를 제거합니다

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) 
+0

정답입니다. Geotiff는 일반적으로 사진 뷰어에 표시되지 않습니다. – SeldomSeenSlim

관련 문제