У меня много растровых файлов (спутниковые изображения, все доступны в расширении geotiff .tif).Некоторые файлы разбиты на все полосы как отдельные файлы, некоторые файлы имеют несколько полос.Поскольку это занимает много места на моем жестком диске, я хочу обрезать каждый файл с интересующей меня областью, которая у меня есть как многоугольник шейп-файла.
Я близок к своему собственному решению и получаю обрезанные изображениякак новые файлы .tif со следующим кодом:
library(raster)
rasterfiles = list.files(path=getwd(), pattern = "*.TIF", full.names=TRUE)
s = stack(rasterfiles)
shp = readOGR("Area.shp")
rasterfiles_crop = crop(s, extent(shp))
output = writeRaster(rc, 'out.tif', format="GTiff", overwrite=TRUE, bylayer = TRUE)
С этим кодом я получаю имена файлов out_1.tif, out_2.tif и т. д. *
К сожалению, полученные файлы имеют только 1band, поэтому R распознает только 1-ю полосу, когда речь идет о многоканальном TIF-изображении.
Я хочу сохранить все полосы и исходное имя файла и просто добавить "_crop" в конце новогоодин.Может ли кто-нибудь помочь мне здесь, как я должен изменить код?
Спасибо