проблема при открытии растрового изображения в R, значения пикселя как-то изменяются - PullRequest
0 голосов
/ 22 марта 2020

Я открыл изображение Geotiff в R, используя растровую функцию. Тем не менее, изображение, кажется, масштабируется. Минимальные и максимальные значения должны быть 13607 и 15461, но 275 и 305. Изображение Геотифа при открытии в ГИС является правильным, но не в R.

Это мой код:

Скрипт:

library(raster)

trial<-raster("MOD11A2.A2000049.h17v05.006.2015058135048.tif", datatype = "INT2U")

trial

plot(trial)

1 Ответ

0 голосов
/ 26 марта 2020

Из того, что я вижу, значения, которые вы получаете с помощью "R / raster", верны. Вы используете продукт MODIS "Температура поверхности земли" (LST), и для LST используется единица измерения K (Кельвин). Это делает значения, предоставленные raster разумными (возможно, немного высокими для того времени года, но MODIS LST не очень надежен).

MODIS преобразует фактические значения, чтобы сохранить их как 2-байтовые целые числа и, таким образом, уменьшить размер файла. Я думаю, что вы ожидали этих преобразованных значений, потому что это то, что может дать вам другое программное обеспечение. Однако «растр» применяет scale из 0.02 для возврата истинных значений. Как вы можете видеть здесь , допустимый диапазон равен

c(7500, 65535) * 0.02
#[1]  150.0 1310.7

Подтверждение того, что растр делает все правильно, и, я бы сказал, другое программное обеспечение этого не делает.

Я получаю аналогичные значения, используя пакеты luna (на github) и terra (на CRAN) (здесь руководство для данных MODIS )

library(luna)
aoi <- c(-4.41, -3.59, 43.88, 44.31)
# you need a username and password for downloads
mf <- luna::getModis(product, start, end, aoi=aoi, download=TRUE,
                     path=".", username=user, password=pwd)
mf
# "./MOD11A2.A2000049.h17v04.006.2015058135051.hdf"

r <- rast(mf)
lst <- r[["LST_Day_1km"]]

# Kelvin to C
lst <- lst - 273.15
lst
#class       : SpatRaster 
#dimensions  : 1200, 1200, 1  (nrow, ncol, nlyr)
#resolution  : 926.6254, 926.6254  (x, y)
#extent      : -1111951, 0, 4447802, 5559753  (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 : memory 
#names       : LST_Day_1km 
#min values  :       -3.95 
#max values  :       29.79 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...