Obter valor médio dos pixels de uma imagem gerada por krigagem

Boa noite membros da lista, Gostaria de receber ideias para calcular o valor médio dos pixel em uma imagem gerada por krigagem em sub-regiões de interesse na imagem, por exemplo usando um exemplo do Prof. Paulo, onde ajusta-se um semivariograma e faz a krigagem ordinária dos dados: # require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2) # Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T) # defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") # #Agora vou dividir esta área em 25 partes e lançar os centroides destas subáreas: #Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") # E aqui vem minha pergunta, como calcular o valor médio dos pixels contidos em cada subárea de 0.2 x 0.2? Obrigado, -- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================

Boa noite pessoal, Acho evoluí um pouco na questão, mas agora a dificuldade esta em contar os pixels contidos no interior das malhas, quando tento um over(), ocorre o seguinte erro: Erro em function (classes, fdef, mtable) : unable to find an inherited method for function "over", for signature "table", "SpatialPolygons" segue CRM: # require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2) # Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T) # defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") # #Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") # require(sp) grid=GridTopology(c(0.1,0.1), c(0.2,0.2), c(5,5))### Cria as área grid=SpatialGrid(grid=grid) class(grid) ## SpatialPixels gridPol <- as(grid, "SpatialPolygons") ## Transfoma as areas em polígonos espaciais options(digits=5) pixelsize <- (1.0-0.0/30)*(1.0-0.0/30)#Tamanho do pixel é dado por seq Xmaior - Xmenor/l * Ymaior-Ymenor/l vp <- table(area <- kc$predict)## Valor dos pixels count.pix<-table(over(vp, gridPol)) #contar quantos pontos tem em cada area Obrigado, Alexandre Em 06/04/2013 17:11, ASANTOS escreveu:
Boa noite membros da lista,
Gostaria de receber ideias para calcular o valor médio dos pixel em uma imagem gerada por krigagem em sub-regiões de interesse na imagem, por exemplo usando um exemplo do Prof. Paulo, onde ajusta-se um semivariograma e faz a krigagem ordinária dos dados:
# require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Agora vou dividir esta área em 25 partes e lançar os centroides destas subáreas:
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") #
E aqui vem minha pergunta, como calcular o valor médio dos pixels contidos em cada subárea de 0.2 x 0.2?
Obrigado,
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================

Nao conheco bem todas as funcoes do sp, mas para pela mensagem de erro eu transformaria a tabela vp em SpatialPoints, que eh o argumento esperado pela funcao over. Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898 ________________________________ From: ASANTOS <alexandresantosbr@yahoo.com.br> To: r-br@listas.c3sl.ufpr.br Sent: Saturday, April 6, 2013 8:12 PM Subject: Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem Boa noite pessoal, Acho evoluí um pouco na questão, mas agora a dificuldade esta em contar os pixels contidos no interior das malhas, quando tento um over(), ocorre o seguinte erro: Erro em function (classes, fdef, mtable) : unable to find an inherited method for function "over", for signature "table", "SpatialPolygons" segue CRM: # require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2) # Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T) # defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") # #Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") # require(sp) grid=GridTopology(c(0.1,0.1), c(0.2,0.2), c(5,5))### Cria as área grid=SpatialGrid(grid=grid) class(grid) ## SpatialPixels gridPol <- as(grid, "SpatialPolygons") ## Transfoma as areas em polígonos espaciais options(digits=5) pixelsize <- (1.0-0.0/30)*(1.0-0.0/30)#Tamanho do pixel é dado por seq Xmaior - Xmenor/l * Ymaior-Ymenor/l vp <- table(area <- kc$predict)## Valor dos pixels count.pix<-table(over(vp, gridPol)) #contar quantos pontos tem em cada area Obrigado, Alexandre Em 06/04/2013 17:11, ASANTOS escreveu:
Boa noite membros da lista,
Gostaria de receber ideias para calcular o valor médio dos pixel em uma imagem gerada por krigagem em sub-regiões de interesse na imagem, por exemplo usando um exemplo do Prof. Paulo, onde ajusta-se um semivariograma e faz a krigagem ordinária dos dados:
# require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Agora vou dividir esta área em 25 partes e lançar os centroides destas subáreas:
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") #
E aqui vem minha pergunta, como calcular o valor médio dos pixels contidos em cada subárea de 0.2 x 0.2?
Obrigado,
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ====================================================================== _______________________________________________ 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.

Thiago, Já pensei isto, mas para SpatialPoints(vp), preciso fazer um list() das coordenadas dos pixels (vp$x e vp$y) e isto não tenho e nem sei como recuperar o valor de um pixel à partir de uma coordenada conhecida. Abraço, Alexandre Em 06/04/2013 21:32, Thiago V. dos Santos escreveu:
Nao conheco bem todas as funcoes do sp, mas para pela mensagem de erro eu transformaria a tabela vp em SpatialPoints, que eh o argumento esperado pela funcao over. Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898 ------------------------------------------------------------------------ *From:* ASANTOS <alexandresantosbr@yahoo.com.br> *To:* r-br@listas.c3sl.ufpr.br *Sent:* Saturday, April 6, 2013 8:12 PM *Subject:* Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem
Boa noite pessoal,
Acho evoluí um pouco na questão, mas agora a dificuldade esta em contar os pixels contidos no interior das malhas, quando tento um over(), ocorre o seguinte erro:
Erro em function (classes, fdef, mtable) : unable to find an inherited method for function "over", for signature "table", "SpatialPolygons"
segue CRM: # require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") # require(sp) grid=GridTopology(c(0.1,0.1), c(0.2,0.2), c(5,5))### Cria as área grid=SpatialGrid(grid=grid) class(grid) ## SpatialPixels gridPol <- as(grid, "SpatialPolygons") ## Transfoma as areas em polígonos espaciais options(digits=5) pixelsize <- (1.0-0.0/30)*(1.0-0.0/30)#Tamanho do pixel é dado por seq Xmaior - Xmenor/l * Ymaior-Ymenor/l vp <- table(area <- kc$predict)## Valor dos pixels count.pix<-table(over(vp, gridPol)) #contar quantos pontos tem em cada area
Obrigado,
Alexandre
Em 06/04/2013 17:11, ASANTOS escreveu:
Boa noite membros da lista,
Gostaria de receber ideias para calcular o valor médio dos pixel em uma imagem gerada por krigagem em sub-regiões de interesse na imagem, por exemplo usando um exemplo do Prof. Paulo, onde ajusta-se um semivariograma e faz a krigagem ordinária dos dados:
# require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Agora vou dividir esta área em 25 partes e lançar os centroides destas subáreas:
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") #
E aqui vem minha pergunta, como calcular o valor médio dos pixels contidos em cada subárea de 0.2 x 0.2?
Obrigado,
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 <mailto:alexandresantosbr@yahoo.com.br> alexandre.santos@cas.ifmt.edu.br <mailto:alexandre.santos@cas.ifmt.edu.br> ======================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto: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.
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================

Alexandre, Você já tem o polígono gridPol de onde você quer criar a média da krigagem. Não conheço bem as classes do pacote geoR, mas as coordenadas do kc$predict parecem estar no objeto pred.grid. A abordagem que eu usaria seria criar um objeto raster da krigagem e em seguida contar os valores usando a função extract (raster) usando como argumentos o raster da krigagem e o gridPol. Além da ajuda para a função extract no manual do raster, talvez o último exemplo dessa página possa te ajudar: http://stackoverflow.com/questions/14682606/extract-value-from-raster-stack-... Mas não estou certo se era isso que você estava buscando. Acho que o Paulo vai te ajudar melhor. Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898 ________________________________ From: ASANTOS <alexandresantosbr@yahoo.com.br> To: r-br@listas.c3sl.ufpr.br; Thiago V. dos Santos <thi_veloso@yahoo.com.br> Sent: Saturday, April 6, 2013 10:26 PM Subject: Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem Thiago, Já pensei isto, mas para SpatialPoints(vp), preciso fazer um list() das coordenadas dos pixels (vp$x e vp$y) e isto não tenho e nem sei como recuperar o valor de um pixel à partir de uma coordenada conhecida. Abraço, Alexandre Em 06/04/2013 21:32, Thiago V. dos Santos escreveu: Nao conheco bem todas as funcoes do sp, mas para pela mensagem de erro eu transformaria a tabela vp em SpatialPoints, que eh o argumento esperado pela funcao over.
Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898
________________________________ From: ASANTOS <alexandresantosbr@yahoo.com.br> To: r-br@listas.c3sl.ufpr.br Sent: Saturday, April 6, 2013 8:12 PM Subject: Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem
Boa noite pessoal,
Acho evoluí um pouco na questão, mas agora a dificuldade esta em contar os pixels contidos no interior das malhas, quando tento um over(), ocorre o seguinte erro:
Erro em function (classes, fdef, mtable) : unable to find an inherited method for function "over", for signature "table", "SpatialPolygons"
segue CRM: # require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") # require(sp) grid=GridTopology(c(0.1,0.1), c(0.2,0.2), c(5,5))### Cria as área grid=SpatialGrid(grid=grid) class(grid) ## SpatialPixels gridPol <- as(grid, "SpatialPolygons") ## Transfoma as areas em polígonos espaciais options(digits=5) pixelsize <- (1.0-0.0/30)*(1.0-0.0/30)#Tamanho do pixel é dado por seq Xmaior - Xmenor/l * Ymaior-Ymenor/l vp <- table(area <- kc$predict)## Valor dos pixels count.pix<-table(over(vp, gridPol)) #contar quantos pontos tem em cada area
Obrigado,
Alexandre
Em 06/04/2013 17:11, ASANTOS escreveu:
Boa noite membros da lista,
Gostaria de receber ideias para calcular o valor médio dos pixel em uma imagem gerada por krigagem em sub-regiões de interesse na imagem, por exemplo usando um exemplo do Prof. Paulo, onde ajusta-se um semivariograma e faz a krigagem ordinária dos dados:
# require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Agora vou dividir esta área em 25 partes e lançar os centroides destas subáreas:
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") #
E aqui vem minha pergunta, como calcular o valor médio dos pixels contidos em cada subárea de 0.2 x 0.2?
Obrigado,
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================
_______________________________________________ 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.
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================

Alexandro Vi sua msg sobre valores do predict, me interessa também, vou tentar. Olhando seu CRM em: pixelsize <- (1.0-0.0/30)*(1.0-0.0/30)#Tamanho do pixel é dado por seq não teria de colocar um parentesis antes de dividir? (1.0-0.0)/30 Hélio Em 7 de abril de 2013 03:55, Thiago Veloso [via R-br] < ml-node+s2285057n4658914h2@n4.nabble.com> escreveu:
Alexandre,
Você já tem o polígono gridPol de onde você quer criar a média da krigagem. Não conheço bem as classes do pacote geoR, mas as coordenadas do kc$predict parecem estar no objeto pred.grid. A abordagem que eu usaria seria criar um objeto raster da krigagem e em seguida contar os valores usando a função extract (raster) usando como argumentos o raster da krigagem e o gridPol.
Além da ajuda para a função extract no manual do raster, talvez o último exemplo dessa página possa te ajudar: http://stackoverflow.com/questions/14682606/extract-value-from-raster-stack-...
Mas não estou certo se era isso que você estava buscando. Acho que o Paulo vai te ajudar melhor.
Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota
http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898 ------------------------------ *From:* ASANTOS <[hidden email]<http://user/SendEmail.jtp?type=node&node=4658914&i=0>
*To:* [hidden email]<http://user/SendEmail.jtp?type=node&node=4658914&i=1>; Thiago V. dos Santos <[hidden email]<http://user/SendEmail.jtp?type=node&node=4658914&i=2>>
*Sent:* Saturday, April 6, 2013 10:26 PM
*Subject:* Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem
Thiago,
Já pensei isto, mas para SpatialPoints(vp), preciso fazer um list() das coordenadas dos pixels (vp$x e vp$y) e isto não tenho e nem sei como recuperar o valor de um pixel à partir de uma coordenada conhecida.
Abraço,
Alexandre
Em 06/04/2013 21:32, Thiago V. dos Santos escreveu:
Nao conheco bem todas as funcoes do sp, mas para pela mensagem de erro eu transformaria a tabela vp em SpatialPoints, que eh o argumento esperado pela funcao over.
Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota
http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898 ------------------------------ *From:* ASANTOS [hidden email]<http://user/SendEmail.jtp?type=node&node=4658914&i=3> *To:* [hidden email]<http://user/SendEmail.jtp?type=node&node=4658914&i=4> *Sent:* Saturday, April 6, 2013 8:12 PM *Subject:* Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem
Boa noite pessoal,
Acho evoluí um pouco na questão, mas agora a dificuldade esta em contar os pixels contidos no interior das malhas, quando tento um over(), ocorre o seguinte erro:
Erro em function (classes, fdef, mtable) : unable to find an inherited method for function "over", for signature "table", "SpatialPolygons"
segue CRM: # require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") # require(sp) grid=GridTopology(c(0.1,0.1), c(0.2,0.2), c(5,5))### Cria as área grid=SpatialGrid(grid=grid) class(grid) ## SpatialPixels gridPol <- as(grid, "SpatialPolygons") ## Transfoma as areas em polígonos espaciais options(digits=5) pixelsize <- (1.0-0.0/30)*(1.0-0.0/30)#Tamanho do pixel é dado por seq Xmaior - Xmenor/l * Ymaior-Ymenor/l vp <- table(area <- kc$predict)## Valor dos pixels count.pix<-table(over(vp, gridPol)) #contar quantos pontos tem em cada area
Obrigado,
Alexandre
Em 06/04/2013 17:11, ASANTOS escreveu:
Boa noite membros da lista,
Gostaria de receber ideias para calcular o valor médio dos pixel em uma imagem gerada por krigagem em sub-regiões de interesse na imagem, por exemplo usando um exemplo do Prof. Paulo, onde ajusta-se um semivariograma e faz a krigagem ordinária dos dados:
# require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Agora vou dividir esta área em 25 partes e lançar os centroides destas subáreas:
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") #
E aqui vem minha pergunta, como calcular o valor médio dos pixels contidos em cada subárea de 0.2 x 0.2?
Obrigado,
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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:[hidden email]<http://user/SendEmail.jtp?type=node&node=4658914&i=5> [hidden email]<http://user/SendEmail.jtp?type=node&node=4658914&i=6> ======================================================================
_______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=4658914&i=7> 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[hidden email] <http://user/SendEmail.jtp?type=node&node=4658914&i=8>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.
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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)[hidden email] <http://user/SendEmail.jtp?type=node&node=4658914&i=9> [hidden email] <http://user/SendEmail.jtp?type=node&node=4658914&i=10> ======================================================================
_______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=4658914&i=11> 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.
------------------------------ If you reply to this email, your message will be added to the discussion below:
http://r-br.2285057.n4.nabble.com/R-br-Obter-valor-medio-dos-pixels-de-uma-i... To unsubscribe from R-br, click here<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=aGVsaW9nYWxsb3JvY2hhQGdtYWlsLmNvbXwzMzU3OTgyfC0xMzQ3NTkwMDY4> . NAML<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
-- Hélio Gallo Rocha IFSULDEMINAS - Câmpus Muzambinho

Thiago, Vou continuar tentando, mas extract() não funciona, pois o objeto kc$predict pertence a classe numeric. Abraço, Alexandre Em 07/04/2013 02:54, Thiago V. dos Santos escreveu:
Alexandre,
Você já tem o polígono gridPol de onde você quer criar a média da krigagem. Não conheço bem as classes do pacote geoR, mas as coordenadas do kc$predict parecem estar no objeto pred.grid. A abordagem que eu usaria seria criar um objeto raster da krigagem e em seguida contar os valores usando a função extract (raster) usando como argumentos o raster da krigagem e o gridPol.
Além da ajuda para a função extract no manual do raster, talvez o último exemplo dessa página possa te ajudar: http://stackoverflow.com/questions/14682606/extract-value-from-raster-stack-...
Mas não estou certo se era isso que você estava buscando. Acho que o Paulo vai te ajudar melhor. Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898 ------------------------------------------------------------------------ *From:* ASANTOS <alexandresantosbr@yahoo.com.br> *To:* r-br@listas.c3sl.ufpr.br; Thiago V. dos Santos <thi_veloso@yahoo.com.br> *Sent:* Saturday, April 6, 2013 10:26 PM *Subject:* Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem
Thiago,
Já pensei isto, mas para SpatialPoints(vp), preciso fazer um list() das coordenadas dos pixels (vp$x e vp$y) e isto não tenho e nem sei como recuperar o valor de um pixel à partir de uma coordenada conhecida.
Abraço,
Alexandre
Em 06/04/2013 21:32, Thiago V. dos Santos escreveu:
Nao conheco bem todas as funcoes do sp, mas para pela mensagem de erro eu transformaria a tabela vp em SpatialPoints, que eh o argumento esperado pela funcao over. Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898 ------------------------------------------------------------------------ *From:* ASANTOS <alexandresantosbr@yahoo.com.br> <mailto:alexandresantosbr@yahoo.com.br> *To:* r-br@listas.c3sl.ufpr.br <mailto:r-br@listas.c3sl.ufpr.br> *Sent:* Saturday, April 6, 2013 8:12 PM *Subject:* Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem
Boa noite pessoal,
Acho evoluí um pouco na questão, mas agora a dificuldade esta em contar os pixels contidos no interior das malhas, quando tento um over(), ocorre o seguinte erro:
Erro em function (classes, fdef, mtable) : unable to find an inherited method for function "over", for signature "table", "SpatialPolygons"
segue CRM: # require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") # require(sp) grid=GridTopology(c(0.1,0.1), c(0.2,0.2), c(5,5))### Cria as área grid=SpatialGrid(grid=grid) class(grid) ## SpatialPixels gridPol <- as(grid, "SpatialPolygons") ## Transfoma as areas em polígonos espaciais options(digits=5) pixelsize <- (1.0-0.0/30)*(1.0-0.0/30)#Tamanho do pixel é dado por seq Xmaior - Xmenor/l * Ymaior-Ymenor/l vp <- table(area <- kc$predict)## Valor dos pixels count.pix<-table(over(vp, gridPol)) #contar quantos pontos tem em cada area
Obrigado,
Alexandre
Em 06/04/2013 17:11, ASANTOS escreveu:
Boa noite membros da lista,
Gostaria de receber ideias para calcular o valor médio dos pixel em uma imagem gerada por krigagem em sub-regiões de interesse na imagem, por exemplo usando um exemplo do Prof. Paulo, onde ajusta-se um semivariograma e faz a krigagem ordinária dos dados:
# require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Agora vou dividir esta área em 25 partes e lançar os centroides destas subáreas:
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") #
E aqui vem minha pergunta, como calcular o valor médio dos pixels contidos em cada subárea de 0.2 x 0.2?
Obrigado,
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 <mailto:alexandresantosbr@yahoo.com.br> alexandre.santos@cas.ifmt.edu.br <mailto:alexandre.santos@cas.ifmt.edu.br> ======================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto: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 <mailto: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.
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 <mailto:e-mails:alexandresantosbr@yahoo.com.br> alexandre.santos@cas.ifmt.edu.br <mailto:alexandre.santos@cas.ifmt.edu.br> ======================================================================
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================

como nao?< é um veror numerico de valores! a melhor solicao é fazer uma funcao que converta a saida de kriging para o formato sp como SpatialPoitsDataFrame (ou Pixel ou Grid - dependendo da malha de predicao) vou ver se tenho aogo aqui, mas isto é simples de qq forma On Mon, 8 Apr 2013, ASANTOS wrote:
Thiago,
Vou continuar tentando, mas extract() não funciona, pois o objeto kc$predict pertence a classe numeric.
Abraço,
Alexandre
Em 07/04/2013 02:54, Thiago V. dos Santos escreveu: Alexandre,
Você já tem o polígono gridPol de onde você quer criar a média da krigagem. Não conheço bem as classes do pacote geoR, mas as coordenadas do kc$predict parecem estar no objeto pred.grid. A abordagem que eu usaria seria criar um objeto raster da krigagem e em seguida contar os valores usando a função extract (raster) usando como argumentos o raster da krigagem e o gridPol.
Além da ajuda para a função extract no manual do raster, talvez o último exemplo dessa página possa te ajudar: http://stackoverflow.com/questions/14682606/extract-value-from-raster-stack-...
Mas não estou certo se era isso que você estava buscando. Acho que o Paulo vai te ajudar melhor.
Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898
____________________________________________________________________________________________________________________________________________ From: ASANTOS <alexandresantosbr@yahoo.com.br> To: r-br@listas.c3sl.ufpr.br; Thiago V. dos Santos <thi_veloso@yahoo.com.br> Sent: Saturday, April 6, 2013 10:26 PM Subject: Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem
Thiago,
Já pensei isto, mas para SpatialPoints(vp), preciso fazer um list() das coordenadas dos pixels (vp$x e vp$y) e isto não tenho e nem sei como recuperar o valor de um pixel à partir de uma coordenada conhecida.
Abraço,
Alexandre
Em 06/04/2013 21:32, Thiago V. dos Santos escreveu: Nao conheco bem todas as funcoes do sp, mas para pela mensagem de erro eu transformaria a tabela vp em SpatialPoints, que eh o argumento esperado pela funcao over. Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898
____________________________________________________________________________________________________________________________________________ From: ASANTOS <alexandresantosbr@yahoo.com.br> To: r-br@listas.c3sl.ufpr.br Sent: Saturday, April 6, 2013 8:12 PM Subject: Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem
Boa noite pessoal,
Acho evoluí um pouco na questão, mas agora a dificuldade esta em contar os pixels contidos no interior das malhas, quando tento um over(), ocorre o seguinte erro:
Erro em function (classes, fdef, mtable) : unable to find an inherited method for function "over", for signature "table", "SpatialPolygons"
segue CRM: # require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") # require(sp) grid=GridTopology(c(0.1,0.1), c(0.2,0.2), c(5,5))### Cria as área grid=SpatialGrid(grid=grid) class(grid) ## SpatialPixels gridPol <- as(grid, "SpatialPolygons") ## Transfoma as areas em polígonos espaciais options(digits=5) pixelsize <- (1.0-0.0/30)*(1.0-0.0/30)#Tamanho do pixel é dado por seq Xmaior - Xmenor/l * Ymaior-Ymenor/l vp <- table(area <- kc$predict)## Valor dos pixels count.pix<-table(over(vp, gridPol)) #contar quantos pontos tem em cada area
Obrigado,
Alexandre
Em 06/04/2013 17:11, ASANTOS escreveu:
Boa noite membros da lista,
Gostaria de receber ideias para calcular o valor médio dos pixel em uma imagem gerada por krigagem em sub-regiões de interesse na imagem, por exemplo usando um exemplo do Prof. Paulo, onde ajusta-se um semivariograma e faz a krigagem ordinária dos dados:
# require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Agora vou dividir esta área em 25 partes e lançar os centroides destas subáreas:
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") #
E aqui vem minha pergunta, como calcular o valor médio dos pixels contidos em cada subárea de 0.2 x 0.2?
Obrigado,
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================
_______________________________________________ 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.
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================

Prof. Paulo, Seguindo seus conselhos ate consigo criar o objeto SpatialPixelsDataFrame, mas o data não aparece e se faço img.kc<-raster(kc_output) e ploto, consigo visualizar o grid krigado, sendo CRM: # require(geoR) require(sp) require(raster) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2) # Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T) # defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") # #Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") # grid=GridTopology(c(0.1,0.1), c(0.2,0.2), c(5,5)) grid=SpatialGrid(grid=grid) class(grid) ## SpatialPixels gridPol <- as(grid, "SpatialPolygons") options(digits=5) pixelsize <- ((1.0-0.0)/30)*((1.0-0.0)/30)#Tamanho do pixel é dado por seq Xmaior - Xmenor/l * Ymaior-Ymenor/l # coordinates(pred.grid) <- ~ Var1+Var2## Transformando as coordenadas do grid kc$predict<-as.data.frame(kc$predict)### Valores dos pixels preditos kc_output<-SpatialPixelsDataFrame(points=pred.grid, data=kc$predict)### Criando o objeto SpatialPixelsDataFrame summary(kc_output)## Não aparece o data mas: # Obrigado, Alexandre Em 08/04/2013 15:55, Paulo Justiniano escreveu:
como nao?< é um veror numerico de valores!
a melhor solicao é fazer uma funcao que converta a saida de kriging para o formato sp como SpatialPoitsDataFrame (ou Pixel ou Grid - dependendo da malha de predicao)
vou ver se tenho aogo aqui, mas isto é simples de qq forma
On Mon, 8 Apr 2013, ASANTOS wrote:
Thiago,
Vou continuar tentando, mas extract() não funciona, pois o objeto kc$predict pertence a classe numeric.
Abraço,
Alexandre
Em 07/04/2013 02:54, Thiago V. dos Santos escreveu: Alexandre,
Você já tem o polígono gridPol de onde você quer criar a média da krigagem. Não conheço bem as classes do pacote geoR, mas as coordenadas do kc$predict parecem estar no objeto pred.grid. A abordagem que eu usaria seria criar um objeto raster da krigagem e em seguida contar os valores usando a função extract (raster) usando como argumentos o raster da krigagem e o gridPol.
Além da ajuda para a função extract no manual do raster, talvez o último exemplo dessa página possa te ajudar: http://stackoverflow.com/questions/14682606/extract-value-from-raster-stack-...
Mas não estou certo se era isso que você estava buscando. Acho que o Paulo vai te ajudar melhor.
Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde...
Phone: (612) 323 9898
____________________________________________________________________________________________________________________________________________
From: ASANTOS <alexandresantosbr@yahoo.com.br> To: r-br@listas.c3sl.ufpr.br; Thiago V. dos Santos <thi_veloso@yahoo.com.br> Sent: Saturday, April 6, 2013 10:26 PM Subject: Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem
Thiago,
Já pensei isto, mas para SpatialPoints(vp), preciso fazer um list() das coordenadas dos pixels (vp$x e vp$y) e isto não tenho e nem sei como recuperar o valor de um pixel à partir de uma coordenada conhecida.
Abraço,
Alexandre
Em 06/04/2013 21:32, Thiago V. dos Santos escreveu: Nao conheco bem todas as funcoes do sp, mas para pela mensagem de erro eu transformaria a tabela vp em SpatialPoints, que eh o argumento esperado pela funcao over.
Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde...
Phone: (612) 323 9898
____________________________________________________________________________________________________________________________________________
From: ASANTOS <alexandresantosbr@yahoo.com.br> To: r-br@listas.c3sl.ufpr.br Sent: Saturday, April 6, 2013 8:12 PM Subject: Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem
Boa noite pessoal,
Acho evoluí um pouco na questão, mas agora a dificuldade esta em contar os pixels contidos no interior das malhas, quando tento um over(), ocorre o seguinte erro:
Erro em function (classes, fdef, mtable) : unable to find an inherited method for function "over", for signature "table", "SpatialPolygons"
segue CRM: # require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") # require(sp) grid=GridTopology(c(0.1,0.1), c(0.2,0.2), c(5,5))### Cria as área grid=SpatialGrid(grid=grid) class(grid) ## SpatialPixels gridPol <- as(grid, "SpatialPolygons") ## Transfoma as areas em polígonos espaciais options(digits=5) pixelsize <- (1.0-0.0/30)*(1.0-0.0/30)#Tamanho do pixel é dado por seq Xmaior - Xmenor/l * Ymaior-Ymenor/l vp <- table(area <- kc$predict)## Valor dos pixels count.pix<-table(over(vp, gridPol)) #contar quantos pontos tem em cada area
Obrigado,
Alexandre
Em 06/04/2013 17:11, ASANTOS escreveu:
Boa noite membros da lista,
Gostaria de receber ideias para calcular o valor médio dos pixel em uma imagem gerada por krigagem em sub-regiões de interesse na imagem, por exemplo usando um exemplo do Prof. Paulo, onde ajusta-se um semivariograma e faz a krigagem ordinária dos dados:
# require(geoR) plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y") loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2) text(loci, as.character(1:4), col="red") polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)
# Fitting models with nugget fixed to zero ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)
# defining the grid pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51)) # kriging calculations kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml)) # displaying predicted values image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y") #
#Agora vou dividir esta área em 25 partes e lançar os centroides destas subáreas:
#Centro das 25 parcela 0.2 x 0.2 p0<-c(0.1,0.1) # c0 <- seq(p0[1],p0[1]+0.9,by=0.2) d0 <- seq(p0[2],p0[2]+0.9,by=0.2) d1 <- expand.grid(x=c0, y=d0) points(d1[,1],d1[,2],col="red") ver<-c(0.0,0.2,0.4,0.6,0.8,1.0) hor<-c(0.0,0.2,0.4,0.6,0.8,1.0) abline(v=ver, col="red") abline(h=hor, col="red") #
E aqui vem minha pergunta, como calcular o valor médio dos pixels contidos em cada subárea de 0.2 x 0.2?
Obrigado,
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================
_______________________________________________ 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.
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================
_______________________________________________ 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.
-- ====================================================================== Alexandre dos Santos Proteção Florestal Coordenador do curso Técnico em Florestas Vice Coordenador do curso de Engenharia 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 ======================================================================
participantes (4)
-
ASANTOS
-
Hélio Gallo Rocha
-
Paulo Justiniano
-
Thiago V. dos Santos