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.