Растровый стек или кирпич не могут обработать функцию trendmap из пакета greenbrown - PullRequest
0 голосов
/ 07 ноября 2019

Пакет greenbrown не работает с растровыми временными рядами (RTS), и поэтому я хотел работать с растровым стеком или кирпичом. Функция trendmap все еще не работает в этом случае с проблемой длины, но и функция стека и время имеют одинаковое количество переменных. Данные представлены в формате MODIS EVI.

здесь они отображаются http://greenbrown.r -forge.r-project.org / Trend.php

trendmap <- TrendRaster (ndvimap, start = c (1982, 1), freq = 12, method = "AAT", breaks = 1, funAnnual = max) </p>

library(bfastSpatial)
library(raster)
library(rgdal)
library(greenbrown)
library(rts)
library(lubridate)


#All file names
all_NDVI_files = c('MOD13Q1_EVI_2000_049.tif',
                   'MOD13Q1_EVI_2000_065.tif',
                   'MOD13Q1_EVI_2000_081.tif',
                   'MOD13Q1_EVI_2000_097.tif',
                   'MOD13Q1_EVI_2000_113.tif',
                   'MOD13Q1_EVI_2000_129.tif',
                   'MOD13Q1_EVI_2000_145.tif',
                   'MOD13Q1_EVI_2000_161.tif',
                   'MOD13Q1_EVI_2000_177.tif',
                   'MOD13Q1_EVI_2000_193.tif',
                   'MOD13Q1_EVI_2000_209.tif',
                   'MOD13Q1_EVI_2000_225.tif',
                   'MOD13Q1_EVI_2000_241.tif',
                   'MOD13Q1_EVI_2000_257.tif',
                   'MOD13Q1_EVI_2000_273.tif',
                   'MOD13Q1_EVI_2000_289.tif',
                   'MOD13Q1_EVI_2000_305.tif',
                   'MOD13Q1_EVI_2000_321.tif',
                   'MOD13Q1_EVI_2000_337.tif',
                   'MOD13Q1_EVI_2000_353.tif',
                   'MOD13Q1_EVI_2001_001.tif',
                   'MOD13Q1_EVI_2001_017.tif',
                   'MOD13Q1_EVI_2001_033.tif',
                   'MOD13Q1_EVI_2001_049.tif',
                   'MOD13Q1_EVI_2001_065.tif',
                   'MOD13Q1_EVI_2001_081.tif',
                   'MOD13Q1_EVI_2001_097.tif',
                   'MOD13Q1_EVI_2001_113.tif',
                   'MOD13Q1_EVI_2001_129.tif',
                   'MOD13Q1_EVI_2001_145.tif',
                   'MOD13Q1_EVI_2001_161.tif',
                   'MOD13Q1_EVI_2001_177.tif',
                   'MOD13Q1_EVI_2001_193.tif',
                   'MOD13Q1_EVI_2001_209.tif',
                   'MOD13Q1_EVI_2001_225.tif',
                   'MOD13Q1_EVI_2001_241.tif',
                   'MOD13Q1_EVI_2001_257.tif',
                   'MOD13Q1_EVI_2001_273.tif',
                   'MOD13Q1_EVI_2001_289.tif',
                   'MOD13Q1_EVI_2001_305.tif',
                   'MOD13Q1_EVI_2001_321.tif',
                   'MOD13Q1_EVI_2001_337.tif',
                   'MOD13Q1_EVI_2001_353.tif',
                   'MOD13Q1_EVI_2002_001.tif',
                   'MOD13Q1_EVI_2002_017.tif',
                   'MOD13Q1_EVI_2002_033.tif')

EVI_path <- //path
all_EVI <- list.files(EVI_path,
                      full.names = TRUE,
                      pattern = ".tif$")

EVI_stack <- stack(all_EVI)

EVI_Brick <- brick(EVI_stack)

ndvi.time = data.frame(year=substr(basename(all_NDVI_files),13,16),
                       julD=substr(basename(all_NDVI_files),18,20))
ndvi.time$dateJ = paste(ndvi.time$year,ndvi.time$julD,sep='-')
ndvi.time$julD = parse_date_time(ndvi.time$dateJ,'y-j')

trendmap <- TrendRaster(
     EVI_stack, start=min(ndvi.time$julD), freq=23, method='AAT', breaks=4)

Ошибки

trendmap <- TrendRaster (EVI_Brick, start = min (ndvi.time $ julD), freq = 23, method = 'AAT', breaks = 4) Ошибка в Kendall (1: длина (x), x): длина(x) <3 Дополнительно: предупреждающее сообщение: в процессе [- (1: nh)] - процесс [1: (n - nh + 1)]: длинная длина объекта не кратна краткой карте тренда длины объекта <- TrendRaster(EVI_stack, start = min (ndvi.time $ julD), freq = 23, method = 'AAT', breaks = 4) Ошибка в Kendall (1: длина (x), x): длина (x) <3 Дополнительно: Предупреждающие сообщения: 1: In .Internal (gc (подробный, сброс, полный)): закрытие неиспользуемого соединения 4 (C: /Users/Test/AppData/Local/Temp/Rtmpkbf9IT/raster/r_tmp_2019-11-07_040206_15796_57306.gri)2: In .Internal (gc (подробный, сброс, полный)): закрытие неиспользуемого соединения 3 (C: \ Users \ Test \ AppData \ Local \Temp \ Rtmpkbf9IT \ raster \ r_tmp_2019-11-07_035713_15796_14107.gri) 3: В процессе [- (1: nh)] - процесс [1: (n - nh + 1)]: большая длина объекта не кратна короткому объектудлина </p>

Как я могу решить эту проблему? Спасибо.

1 Ответ

0 голосов
/ 13 ноября 2019

Проблема заключалась в размере данных. На обычном компьютере запуск сценария для всей области исследования приводил к проблемам, но они были решены с помощью небольшого подмножества данных.

...