Obrigado Prof. Paulo,

    Mas não funcionou não, aparentemente não é possível transformar o grid selecionado em SpatialPolygons, msemo repetindo a primeira coordenada para fechar o polígono, preciso encontrar uma outra solução,

Alexandre

Em 21-11-2011 16:20, Paulo Justiniano escreveu:
Aledandre

se nao funcionar com grid voce poderia rtransformar de grid para SpatialPolygons e operar o over() novamente


On Mon, 21 Nov 2011, ASANTOS wrote:

Prof. Paulo,
    Obrigado pela ajuda sua solução também funcionou, o Pebesma me forneceu a seguinte solução:

fullgrid(grid)=FALSE
sel.grid <-grid[!is.na(clip),]
points(sel.grid, col='blue', pch=3)

mas o problema agora é que quando tentou calcular a frequência dos pontos dentro do grid com over(pontos, sel.grid),
 tenho uma resposta muito estranha que não representa a frequência de pontos contida em cada parcela da malha, teria
 alguma sugestão,

redobrados agradecimentos,

Alexandre



Em 21-11-2011 10:54, Paulo Justiniano escreveu:
      Alexandre

      em meus testes aqui su consegui selecionar o SpatialGridDataFrame
      (e nao o SpatialGrid)
      deve ter como mas como solucao temporaria:

      ## o seguinte funciona
      ap <- SpatialGridDataFrame(grid, data=data.frame(clip))
      ap1 <- ap[!is.na(clip),]




      On Sat, 19 Nov 2011, ASANTOS wrote:


            Boa dia pessoal,

                 Então fiz as recomendações que o Prof. Paulo me recomendou, porém
            quando utilizo a função overlay() ou over(), para sobrescrever um novo
            grid (objeto sel.grid), somente com as parcelas do grid contidas no
            limite da área, obtenho o seguinte erro: Erro em grid[!is.na(clip), ] :
            (subscript) subscrito lógico muito longo, já verifiquei todos os objetos
            espaciais envolvidos e me parece estar tudo Ok não sei o que pode estar
            dando errado, segue o script:

            require(splancs)
            require(sp)
            set.seed(12)
            #Geração dos pontos aleatórios
            x<- runif(n=500,min=0, max=20)
            y<- runif(n=500,min=0, max=20)
            xy<-cbind(x,y)
            plot(x=x,y=y,axes=F, xlab="", ylab="",
                xlim=c(-1,20),ylim=c(0,21))##Plota os pontos
            ##Divide em parcelas
            segments(x0=rep(0,20),y0=0:20,
                    x1=rep(20,20),y1=0:20, col="gray", lty=2)
            segments(x0=0:20,y0=rep(0,20),
                    x1=0:20,y1=rep(20,20),col="gray", lty=2)
            pt0<- c(0.5,0.5)##Define o centro da primeira parcela
            N_S=seq(pt0[1], by=1, length.out=20)##Define o centro das parcelas
            L_O=seq(pt0[2],by=1, length.out=20)
            grid0<- expand.grid(N_S=seq(pt0[1], by=1, length.out=20),
            L_O=seq(pt0[2],by=1, length.out=20))
            ##Cria o limite da área
            limx<-c(2.5,2.5,18,18,2.5)
            limy<-c(2.5,18,18,2.5,2.5)
            lim=cbind(limx,limy)
            lim<-as.matrix(lim)
            ##Passando para objetos da classe Spatial
            #Pontos
            pontos<- SpatialPoints(cbind(x,y))
            pontos<- SpatialPoints(list(x,y))
            pontos<- SpatialPoints(data.frame(x,y))
            #Grid
            grid0= GridTopology(c(0.5,0.5), c(1,1), c(20,20))
            grid<-SpatialGrid(grid = grid0)
            ##Limite da área
            limite=SpatialPolygons(list(Polygons(list(Polygon(lim)),"lim")))
            ##Plotando
            plot(limite)#Limite
            points(pontos,col='red')#Pontos
            points(grid,col='blue')#Malha
            clip<-overlay(grid,limite)##Jogando o limite sobre a malha
            sel.grid<-grid[!is.na(clip),]##Retirando os NA's que correspondem a
            parte do grid fora do limite


            Obrigado,

            -- 
            Alexandre DOS SANTOS
            Engenheiro Florestal, Msc.
            Laboratório de Entomologia Florestal
            Departamento de Entomologia
            Universidade Federal de Lavras
            Caixa Postal 3037
            37200-000 - Lavras - Minas Gerais - Brasil
            Tel: +55 35 92230304






            Em 16-11-2011 15:25, Paulo Justiniano escreveu:
                   Alexandre

                   sem fornecer codigo especifico aqui vao algums ideias de por ojnde eu
                   comecaria

                   algumas alternativas caso nao queira programar isto:

                   1. represetnar os dados no formato sp. Um como SpatialPoints
                   --  Alexandre DOS SANTOS
                   Engenheiro Florestal, Msc.
                   Laboratório de Entomologia Florestal
                   Departamento de Entomologia
                   Universidade Federal de Lavras
                   Caixa Postal 3037
                   37200-000 - Lavras - Minas Gerais - Brasil
                   Tel: +55 35 92230304
                   e outro como SpatialGrid
                   Depois a operaçõa de overlay (over() ) com tabloe vai te fornecer as
                   contagens

                   2.
                   este problema é o mesmo do chamado "quadrat counts"
                   que é tratado em pacotes como spatstat (oficial)
                   ou Rcitrus (nao oficial)

                   aqui vai um exemplinho usando o 1o

                   require(spatstat)
                   ## Carregando um conjunto de dados
                   data(swedishpines)
                   X<- swedishpines
                   plot(X)
                   summary(X)
                   ## Contagem de Quadrats
                   Q<- quadratcount(X, nx = 4, ny = 3)
                   Q
                   plot(X)
                   plot(Q, add = TRUE, cex = 2)




            -- 
            Alexandre DOS SANTOS
            Engenheiro Florestal, Msc.
            Laboratório de Entomologia Florestal
            Departamento de Entomologia
            Universidade Federal de Lavras
            Caixa Postal 3037
            37200-000 - Lavras - Minas Gerais - Brasil
            Tel: +55 35 92230304

            _______________________________________________
            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.



_______________________________________________
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
Engenheiro Florestal, Msc.
Laboratório de Entomologia Florestal
Departamento de Entomologia
Universidade Federal de Lavras
Caixa Postal 3037
37200-000 - Lavras - Minas Gerais - Brasil
Tel: +55 35 92230304




_______________________________________________
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
Engenheiro Florestal, Msc.
Laboratório de Entomologia Florestal
Departamento de Entomologia
Universidade Federal de Lavras
Caixa Postal 3037
37200-000 - Lavras - Minas Gerais - Brasil
Tel: +55 35 92230304