2016-07-28 11 views
1

Ich habe eine Reihe von GTiff-Bildern, die ich versuche, in einem einzigen größeren Ausmaß zu verschmelzen. 6 kleine Fliesen müssen kombiniert werden, um mein größeres Ausmaß zu erzeugen. Meine ursprünglichen 6 Fliesen haben Werte, die von 0 bis 255R Raster Zusammenführen Ändert Werte

Zum Beispiel reichen:

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

jedoch when merging the tiles using the code detailed here, erhalte ich eine neue Image-Datei und die Werte geändert haben:

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

Weiß jemand, warum das passiert? Ich habe versucht, das Dateiformat und Dateityp ('INT1U') zu ändern, aber es passiert weiter. Es ist wichtig, dass sich die Werte nicht von 0 bis 255 ändern, da die ursprünglichen Daten von NASAs MODIS-Satelliten stammen und bestimmte Werte (d. H. 248-255) spezifische Füllwerte aufweisen (z. B. Landbedeckung als Wasser oder Schnee zugewiesen). Diese Änderung von einem maximalen Wert von 255 zu 25 entfernt wichtige Informationen aus den Originaldateien.

Jede Hilfe wäre herzlich willkommen.

+0

Ich habe die gleiche Sache erfahren, wenn sie mit MODIS Daten zu arbeiten, und es ist nicht wie die RobertH deuten darauf hin, dass die Werte in der Originaldatei nicht vorhanden sind, für einige Der Grund 'merge' oder' mosaic' ändert die Werte von MODIS-Rastern (normalerweise um 2 Größenordnungen). Ich habe festgestellt, dass die Verwendung von 'mosaic_rasters()' aus 'gdalutils' die gewünschten Ergebnisse liefert, siehe die endgültige Antwort auf diese Frage für weitere Informationen: https://stackoverflow.com/questions/15876591/merging-multiple-rasters-in- r –

Antwort

0

Dies deutet darauf hin, dass diese Werte in den Originaldateien nicht vorhanden sind. Die für die Originaldateien angegebenen Min- und Max-Werte basieren auf den darin enthaltenen Metadaten. Die Metadaten waren wahrscheinlich falsch (zeigen den Bereich möglicher, nicht die tatsächlichen Werte). Um zu untersuchen, tun

setMinMax(tiff.list[[1]]) 

oder

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

Dies ist bei MODIS-Daten nicht der Fall, aus welchem ​​Grund auch immer 'merge' oder' mosaic' aus dem 'raster'-Paket die Werte ändern. –

+0

Das kann sein, weil sie eine Verstärkung und einen Offset verwenden? – RobertH

Verwandte Themen