2017-01-06 4 views
0

Я пытаюсь стека 21 растровых файлов, используя этот код:R: Непредвиденная ошибка при укладке растры

setwd("D:/LANDSAT8/2016/LC8221077/all/") 

img = stack(list.files(pattern=".TIF$")) 

names(img) <- c(paste0("B", 1:21, coll = "")) 

Но когда я запускаю его, то это сообщение об ошибке шоу:

Error in rep.int(names(x), lengths(x)) : invalid 'times' value

Как это можно решить?

+0

Вы можете отредактировать консольный вывод 'img' в свой вопрос? – loki

+0

Строка 'names ... 'должна работать нормально, если в стеке имеется определенное количество слоев. 1-й проверить, сколько слоев. Или если ошибка находится в строке 'img = stack ... '? Если да, то что делает 'list.files (pattern =". TIF $ ")' сам по себе? – dww

+3

Кроме того, прочитайте [this] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), особенно раздел о растровках. Перед публикацией здесь нужно сделать воспроизводимый пример. Поскольку он не стоит никого, но вы можете запустить свой код, чтобы проверить его. Существует хорошая вероятность, что во время создания минимального воспроизводимого примера вы сами узнаете, в чем проблема. – dww

ответ

0

, как @maRtin объяснил в своем комментарии: вероятно, вы забыли загрузить

library(raster) 

Таким образом, вы используете utils::stack.default(), который не определен для Raster*Objects как было упомянуто here.

Смежные вопросы