【发布时间】:2016-07-28 08:56:46
【问题描述】:
我有一系列 GTiff 图像,我试图将它们合并到一个更大的范围内。需要组合 6 个小图块来生成我的更大范围。我原来的 6 个图块的值范围从 0 到 255。
例如:
> 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'),但它一直在发生。重要的是,这些值不会从 0 变为 255,因为原始数据来自 NASA 的 MODIS 卫星,并且某些值(即 248-255)具有与之相关的特定填充值(例如,土地覆盖被指定为水或雪)。这种从最大值 255 到 25 的更改正在从原始文件中删除重要信息。
欢迎提供任何帮助。
【问题讨论】:
-
我在处理 MODIS 数据时也遇到过同样的事情,但并不是 RobertH 建议原始文件中不存在这些值,出于某种原因
merge或mosaic会更改 MODIS 栅格的值(它似乎通常是 2 个数量级)。我发现使用gdalutils中的mosaic_rasters()会产生所需的结果,请参阅此问题的最终答案以获取更多信息:stackoverflow.com/questions/15876591/…