2014-10-08 3 views
1

Я привожу в R + файлы (однодиапазонные файлы, не очень большие) в R из папки вне моего рабочего каталога. Индивидуальный вызов файлов работает, но он становится утомительным. Я видел, что люди используют код, подобный этому:Как эффективно использовать все растровые файлы в R?

require(raster) 
current.list <- list.files(path="Y:/Spatial/RasterData/current", 
    pattern =".tif", full.names=TRUE) 
c.stack<- stack(current.list) 

Однако для меня возникают различные ошибки. В том числе, «.rasterObjectFromFile (х, полоса = полоса, OBJECTTYPE =„RasterLayer“: Невозможно создать объект RasterLayer из этого файла (файл не существует)

Заметьте, я попробовал несколько различных форматов (.grd, .img) и часто также требуют (rgdal) до запуска команды. Спасибо заранее за ваши мысли!

+0

Привет Лорена - пожалуйста, покажите, что current.list возвращается. Возможно, это проблема с именами файлов. Кроме того, вы можете захотеть увидеть: http://stackoverflow.com/questions/6464235/problem-importing-usda-crop-data-layer-gtiff-in-r-using-raster-package – John

+0

Спасибо, @John (I прочитайте ваш вопрос более внимательно на этот раз) current.list возвращает список моих файлов, включая мои .tifs, а затем вспомогательные файлы, например [10] ... t_curr.tif " [11]" ... t_curr.tif.aux .xml " [12]" ... t_curr.tif.xml "Итак, я думаю, я должен спрашивать, как мне переопределить/исключить эти файлы, которые необходимы в arcGIS? – lorena

ответ

3

Я не тестировал его, но думаю, если вы добавите знак «$» в конец вашего шаблона = «.tif» часть, то есть:

current.list <- list.files(path="Y:/Spatial/RasterData/current", 
    pattern =".tif$", full.names=TRUE) 

... все должно работать символ „$“ по существу означает конец строки,. поэтому вы будете перечислять только файлы, заканчивающиеся на «.tif», и ничего больше (например, "Tif.aux.xml").

Удачи, и дайте мне знать, если это не сделает это за вас.

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