2016-07-28 73 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

MODIS数据并非如此,无论出于何种原因,来自'raster'包的'merge'或'mosaic'都会改变这些值。 –

+0

这可能是因为他们使用增益和抵消? – RobertH