Как отсортировать и создать растровый стек из нескольких ежедневных файлов TRMM netcdf

Я пробовал это для извлечения данных из trmm ежедневных файлов nc4.

path<-"F:/TRMM/test"
setwd(path)
## open all `trmm` rainfall data files from folder
trmm_files = list.files(path,pattern = '*.nc', full.names = TRUE)
#I want only HQprecipitation variable from nc4 file.
trmm_stack <- stack(trmm_files, varname = "HQprecipitation")

Но trmm_stack потерял свою систему координат при штабелировании. Следовательно, мне пришлось его назначить. Кроме того, как я могу проверить, отсортирован ли растровый стек по датам и в каком порядке? Мне нужны данные временного ряда.

crs(trmm_stack) <- CRS('+init=EPSG:4326')             # also it was rotated
trmm_stack_flip <- t(flip(trmm_stack, direction='y'))

Затем я создаю матрицу координат широты-долготы для местоположений

lat<- c(26.0166666, 25.674444, 25.5666666, 25.6666666, 26.18, 25.57)
lon <- c(91.85, 91.9025, 91.8666666, 91.8833333, 91.75, 91.9)
xym <- cbind(lat, lon)

и извлекли значения ячеек из trmm_stack, используя

data2 <- extract(trmm_stack, xym, method='simple', buffer = NULL, small = FALSE, cellnumbers = FALSE,
        fun=NULL, na.rm=TRUE, df = FALSE, factors = FALSE)

см. изображение

Затем я получаю выходную таблицу с именами столбцов, заканчивающимися номером слоя. Но я не знаю, было ли извлечение было выполнено в точном месте и в том порядке дат, как временной ряд, как я хотел. Как это проверить? Любая помощь будет оценена по достоинству.


person Jedd    schedule 28.05.2018    source источник


Ответы (1)


Порядок RasterStack такой же, как и порядок имен файлов. Вы можете проверить свои имена файлов (и при необходимости отсортировать их, но будьте осторожны с сортировкой чисел, представленных в виде символов (10 идет раньше 2).

Обратите внимание, что здесь вы ошиблись:

xym <- cbind(lat, lon)

Должен быть

xym <- cbind(lon, lat)
person Robert Hijmans    schedule 29.05.2018
comment
Спасибо за разъяснения по поводу порядка файлов. Можете ли вы также сказать мне, как проверить, представляют ли мои извлеченные значения точное местоположение, указанное в матрице xym координат широты-долготы для местоположений? а не просто случайные значения из других мест? - person Jedd; 29.05.2018
comment
Значения, которые вы извлекаете, относятся к указанным вами местоположениям. Вы указали их неправильно (см. Мой развернутый ответ) - person Robert Hijmans; 29.05.2018