2017-11-03 2 views
0

付きの8ビットに、64ビット:RasterLayer RasterLayer私はRと協力して、次のライブラリを使用していますR

rgdalラスタ、SP、rgeosは、私がSpatialPointsDataFrameからRasterLayerを作成しました。私は8BitsPerPixelのGeoTiffが必要 : このラスタが簡単に

raster::writeRaster(ras8b, 
       filename="filepath", format="GTiff" , 
       datatype='INT1U') 

私は次のようであるで実行して問題を使用してエクスポートすることができます。しかし、私が使用するコードは、ラスターを64BitsPerPixel Rasterに保存します。

私は既にStackOverflowで見つけたいくつかのオプションの後に問題を解決しようとしました。例:

この最初のオプションは、私に8ビットのピクセルピクセルラスタを与えましたが、値はありません。

https://gis.stackexchange.com/questions/175383/round-does-not-return-an-integer-raster-in-r/175384

しかし、Rは64 BitsPerPixelラスターとしてラスターを記憶し続ける:

または私はこのポスト下記の整数にRでRasterLayerを変換します。

誰かが解決策を持っていますか? さらに詳しい情報が必要な場合は、私に知らせてください。 ありがとうございました。宜しくお願いします。

+0

になって、私はしませR内が、上の問題を解決しましたコマンドラインを次のように入力します。gdal_translate -ot Byte of GTiff path \ Input.tif path \ output.tif –

答えて

0

に動作するようです:

library(raster) 
r <- raster(ncol=10,nrow=10) 
r[] <- 1:100 
x <- writeRaster(r, 'test.tif', datatype='INT1U', overwrite=TRUE) 
dataType(x) 
#[1] "INT1U" 

library(rgdal) 
GDALinfo('test.tif') 
# GDType hasNoDataValue NoDataValue blockSize1 blockSize2 
#1 Byte   TRUE   255   10   10 

しかし、このフォーマットは0からしか格納値になることに注意してください - 255は、他のすべての値は、最後にNA

+0

回答ありがとうございました。私は私の問題を理解しました。多くのライブラリがロードされていたため、エクスポートはピクセルイメージごとに8ビットとなっていました。 –

関連する問題