Alexandre, Fiz isso para imagens de satélite
O procedimento que usei para criar o laço foi com um array de 3 dimensões, onde as duas primeiras eram o x e o y e coloquei um matriz "a traz" da outra como se fosse construindo um cubo então tinha um objeto com x,y e t . O registro do nome de cada figura, eu armazenei em um vetor Pra ser sincero, não entendi muito bem sua rotina pois não domino algumas das funções que vc usou mesmo assim mando um exemplo do que fiz, que espero que te ajude. # carregar os arquivos de interesse no diretorio my.dir = dir("/home/tito/tcc/tau",pattern=".nc",full.names=T) # criar a variável nula do array para não dar problema TAU =NULL # loop para ler cada um dos arquivos for(arquivo in my.dir){ # carregar o arquivo pelo nome nc = open.ncdf(arquivo) # extrair variavel de tau em x taux = get.var.ncdf(arquivo,"x") # armazenar a variavel em um array segundo as dimenções e o numero da figura e de acordo com o nome do arquivo TAU = array(c(TAU,taux),dim=c(nrow(taux),ncol(tauy),which(my.dir==arquivo)))) } Espero ter ajudado Tito Conte 2013/12/4 ASANTOS <alexandresanto...@yahoo.com.br> > Caros Membros, > > Estou precisando de ajuda para criar um laço para extrair as > coordenadas e o tempo (no nome do arquivo) em múltiplas figuras. No meu > exemplo abaixo e usando apenas a figura 1, tenho uma regiões de pixels de > interesse em branco e o nome da figura Fig1-0_00_00.png, preciso das > coordenadas x e y das regiões em branco (Valor digital = 0), representado > pelo objeto fig.data.pix e juntei ao tempo que é 0:00:00, pois o nome da > Figura é 0_00_00. Conforme CRM abaixo, fazendo figura por figura esta OK, > mas gostaria de fazer um laço para extrair essas informações das três > figuras abaixo e armazená-las em um único objeto, alguém teria alguma > sugestão? > > > > #----------------------------------------------------------- > -------------------- > # Rotina para extração de coordenadas e tempo em imagens > #----------------------------------------------------------- > -------------------- > > # Abertura das imagens > > require(RCurl) > > #Figura 1 ------------------------------------------------------------ > ---------- > get.dropbox <- function(file, token) { > require(RCurl, quietly=TRUE) > bin <- getBinaryURL(paste0("https://www.dropbox.com/s/ > 8b99gn9ve1yo7is/Fig1-0_00_00.png", token, "/", file), > ssl.verifypeer = FALSE) > con <- file(file, open = "wb") > writeBin(bin, con) > close(con) > message(noquote(paste(file, "read into", getwd()))) > } > # > get.dropbox("Fig1-0_00_00.png", "Fig1-0_00_00.png") > > #Figura 2 ------------------------------------------------------------ > ---------- > get.dropbox <- function(file, token) { > require(RCurl, quietly=TRUE) > bin <- getBinaryURL(paste0("https://www.dropbox.com/s/ > 8b99gn9ve1yo7is/Fig2-0_20_00.png", token, "/", file), > ssl.verifypeer = FALSE) > con <- file(file, open = "wb") > writeBin(bin, con) > close(con) > message(noquote(paste(file, "read into", getwd()))) > } > # > get.dropbox("Fig2-0_20_00.png", "Fig2-0_20_00.png") > > #Figura 3 ------------------------------------------------------------ > --------- > get.dropbox <- function(file, token) { > require(RCurl, quietly=TRUE) > bin <- getBinaryURL(paste0("https://www.dropbox.com/s/ > bo6gbt3ca6xwxm0/Fig3-0_40_00.png", token, "/", file), > ssl.verifypeer = FALSE) > con <- file(file, open = "wb") > writeBin(bin, con) > close(con) > message(noquote(paste(file, "read into", getwd()))) > } > # > get.dropbox("Fig3-0_40_00.png", "Fig3-0_40_00.png") > > # Extraido as coordenadas dos pixels para figura 1 > ----------------------------- > > require(raster) > r <- raster("Fig1-0_00_00.png") > image(r) > r2<-as.data.frame(r) > > # Cria as coordenadas ------------------------------ > ---------------------------- > grid0 <- expand.grid(x=seq(0,length.out=r@nrows), > y=seq(0,length.out=r@ncols)) > > # Coordenadas + valor dos pixels > > fig.data<-cbind(grid0,r2) > > # Região de interesse - Número digital = 0 > > fig.data.pix<-fig.data[fig.data[,3]==0,] > > # Extrai o tempo do nome do arquivo > tempo2<-r@data@names > tempo1<-gsub("Fig1.", "", tempo2) > tempo<-gsub("_", ":", tempo1) > > # Cria o arquivo final > > dados<-cbind(fig.data.pix[,1:2],rep(tempo)) > > head(dados) > > #----------------------------------------------------------- > -------------------- > > Obrigado, > > -- > ====================================================================== > Alexandre dos Santos > Proteção Florestal > IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso > Campus Cáceres > Caixa Postal 244 > Avenida dos Ramires, s/n > Bairro: Distrito Industrial > Cáceres - MT CEP: 78.200-000 > Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) > e-mails:alexandresanto...@yahoo.com.br > alexandre.san...@cas.ifmt.edu.br > Lattes: http://lattes.cnpq.br/1360403201088680 > ====================================================================== > > _______________________________________________ > R-br mailing list > R-br@listas.c3sl.ufpr.br > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça > código mínimo reproduzível. >
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.