[R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem

ASANTOS alexandresantosbr em yahoo.com.br
Segunda Abril 8 15:22:00 BRT 2013


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-from-spatialpolygondataframe
>
> 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/index.htm
> Phone: (612) 323 9898
> ------------------------------------------------------------------------
> *From:* ASANTOS <alexandresantosbr em yahoo.com.br>
> *To:* r-br em listas.c3sl.ufpr.br; Thiago V. dos Santos 
> <thi_veloso em 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/index.htm
>> Phone: (612) 323 9898
>> ------------------------------------------------------------------------
>> *From:* ASANTOS <alexandresantosbr em yahoo.com.br> 
>> <mailto:alexandresantosbr em yahoo.com.br>
>> *To:* r-br em listas.c3sl.ufpr.br <mailto:r-br em 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 em yahoo.com.br 
>> <mailto:alexandresantosbr em yahoo.com.br>
>> alexandre.santos em cas.ifmt.edu.br 
>> <mailto:alexandre.santos em cas.ifmt.edu.br>
>> ======================================================================
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br <mailto:R-br em 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 em listas.c3sl.ufpr.br  <mailto:R-br em 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 em yahoo.com.br  <mailto:e-mails:alexandresantosbr em yahoo.com.br>  
>          alexandre.santos em cas.ifmt.edu.br  <mailto:alexandre.santos em 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 em yahoo.com.br
         alexandre.santos em cas.ifmt.edu.br
======================================================================

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130408/93205168/attachment.html>


Mais detalhes sobre a lista de discussão R-br