<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>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.</span></div><div></div><div> </div><div>Saudações,<br>--<br>Thiago V. dos Santos<br>PhD student<br>Land and Atmospheric Science<br>University of Minnesota<br>http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm<br>Phone: (612) 323 9898<br></div> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1"> <b><span style="font-weight:bold;">From:</span></b> ASANTOS <alexandresantosbr@yahoo.com.br><br> <b><span style="font-weight:
bold;">To:</span></b> r-br@listas.c3sl.ufpr.br <br> <b><span style="font-weight: bold;">Sent:</span></b> Saturday, April 6, 2013 8:12 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [R-br] Obter valor médio dos pixels de uma imagem gerada por krigagem<br> </font> </div> <br>Boa noite pessoal,<br><br> 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:<br><br>Erro em function (classes, fdef, mtable) :<br> unable to find an inherited method for function "over", for signature "table", "SpatialPolygons"<br><br><br>segue CRM:<br>#<br>require(geoR)<br>plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y")<br>loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1), ncol=2)<br>text(loci, as.character(1:4), col="red")<br>polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)<br><br>#
Fitting models with nugget fixed to zero<br>ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)<br><br># defining the grid<br>pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51))<br># kriging calculations<br>kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml))<br># displaying predicted values<br>image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y")<br>#<br><br>#Centro das 25 parcela 0.2 x 0.2<br>p0<-c(0.1,0.1)<br>#<br>c0 <- seq(p0[1],p0[1]+0.9,by=0.2)<br>d0 <- seq(p0[2],p0[2]+0.9,by=0.2)<br>d1 <- expand.grid(x=c0, y=d0)<br>points(d1[,1],d1[,2],col="red")<br>ver<-c(0.0,0.2,0.4,0.6,0.8,1.0)<br>hor<-c(0.0,0.2,0.4,0.6,0.8,1.0)<br>abline(v=ver, col="red")<br>abline(h=hor, col="red")<br>#<br>require(sp)<br>grid=GridTopology(c(0.1,0.1), c(0.2,0.2), c(5,5))### Cria as área<br>grid=SpatialGrid(grid=grid)<br>class(grid) ## SpatialPixels<br>gridPol <- as(grid,
"SpatialPolygons") ## Transfoma as areas em polígonos espaciais<br>options(digits=5)<br>pixelsize <- (1.0-0.0/30)*(1.0-0.0/30)#Tamanho do pixel é dado por seq Xmaior - Xmenor/l * Ymaior-Ymenor/l<br>vp <- table(area <- kc$predict)## Valor dos pixels<br>count.pix<-table(over(vp, gridPol)) #contar quantos pontos tem em cada area<br><br><br>Obrigado,<br><br>Alexandre<br><br>Em 06/04/2013 17:11, ASANTOS escreveu:<br>> Boa noite membros da lista,<br>> <br>> 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:<br>> <br>> #<br>> require(geoR)<br>> plot(s100$coords, xlim=c(0,1.2), ylim=c(0,1.2), xlab="Coord X", ylab="Coord Y")<br>> loci <- matrix(c(0.2, 0.6, 0.2, 1.1, 0.2, 0.3, 1.0, 1.1),
ncol=2)<br>> text(loci, as.character(1:4), col="red")<br>> polygon(x=c(0,1,1,0), y=c(0,0,1,1), lty=2)<br>> <br>> # Fitting models with nugget fixed to zero<br>> ml <- likfit(s100, ini = c(1,0.5), fix.nugget = T)<br>> <br>> # defining the grid<br>> pred.grid <- expand.grid(seq(0,1, l=51), seq(0,1, l=51))<br>> # kriging calculations<br>> kc <- krige.conv(s100, loc = pred.grid, krige = krige.control(obj.m = ml))<br>> # displaying predicted values<br>> image(kc, loc = pred.grid, col=gray(seq(1,0.1,l=30)), xlab="Coord X", ylab="Coord Y")<br>> #<br>> <br>> #Agora vou dividir esta área em 25 partes e lançar os centroides destas subáreas:<br>> <br>> #Centro das 25 parcela 0.2 x 0.2<br>> p0<-c(0.1,0.1)<br>> #<br>> c0 <- seq(p0[1],p0[1]+0.9,by=0.2)<br>> d0 <- seq(p0[2],p0[2]+0.9,by=0.2)<br>> d1 <- expand.grid(x=c0, y=d0)<br>> points(d1[,1],d1[,2],col="red")<br>>
ver<-c(0.0,0.2,0.4,0.6,0.8,1.0)<br>> hor<-c(0.0,0.2,0.4,0.6,0.8,1.0)<br>> abline(v=ver, col="red")<br>> abline(h=hor, col="red")<br>> #<br>> <br>> E aqui vem minha pergunta, como calcular o valor médio dos pixels contidos em cada subárea de 0.2 x 0.2?<br>> <br>> Obrigado,<br>> <br><br>-- ======================================================================<br>Alexandre dos Santos<br>Proteção Florestal<br>Coordenador do curso Técnico em Florestas<br>Vice Coordenador do curso de Engenharia Florestal<br>IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso<br>Campus Cáceres<br>Caixa Postal 244<br>Avenida dos Ramires, s/n<br>Bairro: Distrito Industrial<br>Cáceres - MT CEP: 78.200-000<br>Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO)<br>e-mails:<a ymailto="mailto:alexandresantosbr@yahoo.com.br"
href="mailto:alexandresantosbr@yahoo.com.br">alexandresantosbr@yahoo.com.br</a><br> <a ymailto="mailto:alexandre.santos@cas.ifmt.edu.br" href="mailto:alexandre.santos@cas.ifmt.edu.br">alexandre.santos@cas.ifmt.edu.br</a><br>======================================================================<br><br>_______________________________________________<br>R-br mailing list<br><a ymailto="mailto:R-br@listas.c3sl.ufpr.br" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br><br><br> </div> </div> </div></body></html>