2016-07-28 9 views
1

私は、単一の大きな範囲にマージしようとしている一連のGTiff画像を持っています。私の大きな範囲を生成するには、6つの小さなタイルを組み合わせる必要があります。私のオリジナルの6枚のタイルが例えば0〜255Rラスタマージ変更値

までの範囲の値があります。

> tiff.list[[1]] 
class  : RasterLayer 
dimensions : 1200, 1200, 1440000 (nrow, ncol, ncell) 
resolution : 926.6254, 926.6254 (x, y) 
extent  : -10007555, -8895604, 2223901, 3335852 (xmin, xmax, ymin, ymax) 
coord. ref. : +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181 +b=6371007.181 +units=m +no_defs 
data source : D:\Scratch\Data\MOD15A2.A2016153.h09v06.005.2016166083754.tif 
names  : MOD15A2.A2016153.h09v06.005.2016166083754 
values  : 0, 255 (min, max) 

しかし、when merging the tiles using the code detailed hereを、私は新しいイメージファイルを取得し、値が変更されました:

> xx 
class  : RasterLayer 
dimensions : 2400, 3600, 8640000 (nrow, ncol, ncell) 
resolution : 926.6254, 926.6254 (x, y) 
extent  : -10007555, -6671703, 1111951, 3335852 (xmin, xmax, ymin, ymax) 
coord. ref. : +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181 +b=6371007.181 +units=m +no_defs 
data source : D:\Scratch\Modis\A2016161.tif 
names  : A2016161 
values  : 0, 25 (min, max) 

誰がなぜこれが起こっているのか知っていますか?私はファイル形式とデータタイプ( 'INT1U')を変更しようとしましたが、それは起こり続けます。元のデータはNASA MODIS衛星からのものであり、特定の値(つまり248-255)には特定のフィル値が関連付けられているため、値は0から255まで変化しないことが重要です(例えば、水や雪として割り当てられた土地被覆)。この最大値255から25への変更は、元のファイルから重要な情報を削除することです。

ご提供いただいたサポートは大歓迎です。

+0

を行う調べるためにMODISデータを扱うとき、私は同じことを経験してきた、とRobertHは値がいくつかのために、元のファイルに存在しないことを示唆しているとして、それではありません理由は 'merge'や' mosaic'はMODISラスタの値を変更します(通常は2桁の大きさです)。私は、 'gdalutils'の' mosaic_rasters() 'を使って、望む結果が得られることを発見しました。この質問に対する最終的な答えは、より多くの情報を参照してください:https://stackoverflow.com/questions/15876591/merging-multiple-rasters-in- r –

答えて

0

これは、これらの値が元のファイルに存在しないことを示しています。元のファイルについて報告された最小値および最大値は、そこに提供されるメタデータに基づいています。メタデータが間違っている可能性があります(実際の値ではなく、可能な範囲を示しています)。

setMinMax(tiff.list[[1]]) 

または

tiff.list[[1]] * 1 
+0

これは、 'raster'パッケージの' merge'や 'mosaic'が値を変更する何らかの理由でMODISデータでは当てはまりません。 –

+0

ゲインとオフセットを使用している可能性がありますか? – RobertH

関連する問題