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 <alexandresantosbr@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:alexandresantosbr@yahoo.com.br
        alexandre.santos@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.