цикл извлечения полос из нескольких файлов .tif - PullRequest
0 голосов
/ 21 июня 2019

У меня 94 .tif гиперспектральных изображения, и у каждого есть 63 полосы. Я должен хранить в отдельном списке все отдельные группы для всех файлов .tif

вот список, содержащий растровые файлы

setwd("D:/dati tesi magistrale/iperspettrale/tif")    
f <- list.files(pattern = ".tif")    
rl <- lapply(f,stack)    

это пример одного растрового файла

>rl[[1]]

class       : RasterStack   
dimensions  : 1610, 828, 1333080, 63  (nrow, ncol, ncell, nlayers)
resolution  : 2, 2  (x, y)
extent      : 547910.5, 549566.5, 4446761, 4449981  (xmin, xmax, ymin, 
ymax)
coord. ref. : +proj=utm +zone=32 +datum=WGS84 +units=m +no_defs 
+ellps=WGS84 +towgs84=0,0,0 
names       : X1_0727.0842_rifl.1, X1_0727.0842_rifl.2, 
X1_0727.0842_rifl.3, X1_0727.0842_rifl.4, X1_0727.0842_rifl.5, 
X1_0727.0842_rifl.6, X1_0727.0842_rifl.7, X1_0727.0842_rifl.8, 
X1_0727.0842_rifl.9, X1_0727.0842_rifl.10, X1_0727.0842_rifl.11, 
X1_0727.0842_rifl.12, X1_0727.0842_rifl.13, X1_0727.0842_rifl.14, 
X1_0727.0842_rifl.15, ... 
min values  :                 245,                 287,                 
293,                 304,                 290,                 280,                 
270,                 252,                 236,                  216,                  
208,                  202,                  191,                  187,                  
181, ... 
max values  :                2672,                2555,                
2625,                2547,                2677,                2736,                
2841,                2881,                2924,                 2946,                 
2968,                 2996,                 3031,                 3121,                 
3

Теперь я должен сделать что-то вроде этого

band_1 <- foreach(i=1:length(rl))%do%{rl[[i]]@layers[1]}
band_2 <- foreach(i=1:length(rl))%do%{rl[[i]]@layers[2]}
.
.
.
band_63 <- foreach(i=1:length(rl))%do%{rl[[i]]@layers[63]}

Как я могу выполнить эту задачу в цикле ?? Я хочу создать список из 63 списков, каждый из которых содержит 94 изображения. Я думаю, что я могу сделать это с помощью цикла for с отступом или цикла foreach, но я не знаю, как это сделать. Спасибо за любую помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...