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 <[email protected]> To: [email protected]; Thiago V. dos Santos <[email protected]> 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 <[email protected]> >To: [email protected] >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:[email protected] > [email protected] >====================================================================== > >_______________________________________________ >R-br mailing list >[email protected] >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 [email protected] 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:[email protected] [email protected] ======================================================================
_______________________________________________ R-br mailing list [email protected] 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.
