2016-07-28 5 views
1

У меня есть серия изображений GTiff, которые я пытаюсь объединить в одну большую область. 6 небольших плиток необходимо объединить, чтобы генерировать мою большую степень. Мои оригинальные 6 плитки имеют значения, которые варьируются от 0 до 255.R Raster Merge Изменяет значения

Например:

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

Кто-нибудь знает, почему это происходит? Я попытался изменить формат файла и dataType ('INT1U'), но он продолжает происходить. Важно, чтобы значения не менялись от 0 до 255, поскольку исходные данные поступают из спутника NASA MODIS, а определенные значения (например, 248-255) имеют связанные с ними конкретные значения заполнения (например, растительный покров, назначаемый как вода или снег). Это изменение от максимального значения от 255 до 25 удаляет важную информацию из исходных файлов.

Любые предоставленные услуги будут приветствоваться.

+0

я испытал то же самое, при работе с данными MODIS, и это не так, как Roberth предположить, что значения отсутствуют в исходном файле, для некоторых причина 'merge' или' mosaic' изменит значения растровых изображений MODIS (как правило, она будет на 2 порядка). Я обнаружил, что использование 'mosaic_rasters()' из 'gdalutils' дает желаемые результаты для получения окончательного ответа на этот вопрос для получения дополнительной информации: https://stackoverflow.com/questions/15876591/merging-multiple-rasters-in- r –

ответ

0

Это говорит о том, что эти значения отсутствуют в исходных файлах. Минимальные и максимальные значения, указанные для исходных файлов, основаны на представленных в нем метаданных. Вероятно, метаданные были неправильными (показывая диапазон возможных, а не фактических значений). Исследовать сделать

setMinMax(tiff.list[[1]]) 

или

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

Это не относится к данным MODIS по какой-либо причине «слияние» или «мозаика» из пакета «растр» меняет значения. –

+0

Возможно, это потому, что они используют коэффициент усиления и смещения? – RobertH