Selecionar coordenadas e valor de pixels contidos no interior de parcelas

Boa tarde Pessoal, Estou quebrando a cabeça em um desafio natalino e gostaria de compartilhar o desafio com vocês, tenho uma imagem simulada stackIm1, sobre a qual lancei pontos aleatórios position.parc que são o centro de parcelas circulares CIR de 5 de raio, sendo meu CRM: require(raster) require(spatstat) require(sp) ##Criando um raster ----------------------------------------------------------- r <- raster(nc=100, nr=100) set.seed(20130622) stackIm1 <- stack(lapply(1, function(x) setValues(r, round(runif(ncell(r))* 255)))) plot(stackIm1) # ## Criando 15 pontos amostrais ------------------------------------------------- att.Im1<-as(stackIm1, "SpatialGridDataFrame") df.Im1<-as.data.frame(att.Im1) colnames(df.Im1)<-c("px","x","y") gridded(df.Im1) = ~x+y position.parc<-spsample(df.Im1,15, type="random") points(position.parc, col="red",pch=20) # #Criar as parcelas circulares em torno do ponto amostral com 5 de raio # CIR <- vector("list",length(position.parc$x)) for(i in 1:length(position.parc$x)) CIR[[i]] <- disc(radius=5, centre=c(position.parc$x[i],position.parc$y[i])) # Gostaria de alguma luz para selecionar as informações("px","x","y") para os pixels contidos no interior de cada parcela circular CIR na imagem stackIm1. Obrigado, -- ====================================================================== Alexandre dos Santos Proteção 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 Lattes: http://lattes.cnpq.br/1360403201088680 ======================================================================

Bom dia, Alexandre! Já deu uma olhada em sp::over? -- Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Bom dia Éder, Conforme sugerido, adicionei ao meu CRM: W <- do.call(union.owin,CIR) # imW<-as.im(W) grids<-as(imW, "SpatialGridDataFrame") fullgrid(grids)=FALSE plot(grids) points(df.Im1) over(grids,df.Im1))## O over fez a listagem do valor dos pixels na imagem (stackIm1) contidos no interior das parcelas circulares CIR, mas meu objetivo é listar qual a coordenada e o valor de cada pixel em cada parcela circular CIR, com isso terei um resultado em colunas contendo: CIR, x, y e px Alexandre Em 26/12/2013 05:53, Éder Comunello escreveu:
Bom dia, Alexandre!
Já deu uma olhada em sp::over?
-- Éder Comunello <c <mailto:comunello.eder@gmail.com>omunello.eder@gmail.com <mailto:omunello.eder@gmail.com>> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ 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 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 Lattes: http://lattes.cnpq.br/1360403201088680 ======================================================================

Alexandre, bom dia! Não tenho experiência com a {spatstat}, mas tentei trabalhar seu código e acredito que possa lhe ser útil. ### <BEGIN> require(raster); require(spatstat); require(sp) ## Raster ----------------------------------------------------------- set.seed(20130622) r <- raster(nc=100, nr=100) r <- setValues(r, round(runif(ncell(r))* 255)) plot(r) r.spdf <- data.frame(coordinates(r), px=getValues(r)); names(r.spdf) gridded(r.spdf) <- ~x+y spplot(r.spdf) ## Amostras ------------------------------------------------- parc.p <- spsample(r.spdf, 15, type="random") parc.c <- vector("list",length(parc.p)) for(i in 1:length(parc.p)) { parc.c[[i]] <- disc(radius=5, centre=c(parc.p$x[i], parc.p$y[i]))} W <- do.call(union.owin,parc.c) W.df <- as.data.frame(as.im(W)) W.sp <- W.df; coordinates(W.sp) <- ~x+y plot(W.sp) W.df$px <- over(W.sp, r.spdf) head(W.df) # # x y value px #1 -179.9856 -39.83543 1 11 #2 -179.9856 -39.29907 1 76 #3 -179.9856 -38.76271 1 76 #4 -179.9856 -38.22635 1 76 #5 -179.9856 -37.68998 1 34 #6 -178.7263 -41.98087 1 157 # ### <END> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W] Em 26 de dezembro de 2013 08:37, ASANTOS <alexandresantosbr@yahoo.com.br>escreveu:
Bom dia Éder,
Conforme sugerido, adicionei ao meu CRM:
W <- do.call(union.owin,CIR) # imW<-as.im(W) grids<-as(imW, "SpatialGridDataFrame") fullgrid(grids)=FALSE plot(grids) points(df.Im1) over(grids,df.Im1))##
O over fez a listagem do valor dos pixels na imagem (stackIm1) contidos no interior das parcelas circulares CIR, mas meu objetivo é listar qual a coordenada e o valor de cada pixel em cada parcela circular CIR, com isso terei um resultado em colunas contendo: CIR, x, y e px
Alexandre
Em 26/12/2013 05:53, Éder Comunello escreveu:
Bom dia, Alexandre!
Já deu uma olhada em sp::over?
-- Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ R-br mailing listR-br@listas.c3sl.ufpr.brhttps://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 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 Lattes: http://lattes.cnpq.br/1360403201088680 ======================================================================
_______________________________________________ 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.

Fantástico Éder, Muito obrigado, Resolveu meu problema, Em 26/12/2013 11:20, Éder Comunello escreveu:
Alexandre, bom dia!
Não tenho experiência com a {spatstat}, mas tentei trabalhar seu código e acredito que possa lhe ser útil.
### <BEGIN> require(raster); require(spatstat); require(sp)
## Raster ----------------------------------------------------------- set.seed(20130622) r <- raster(nc=100, nr=100) r <- setValues(r, round(runif(ncell(r))* 255)) plot(r)
r.spdf <- data.frame(coordinates(r), px=getValues(r)); names(r.spdf) gridded(r.spdf) <- ~x+y spplot(r.spdf)
## Amostras ------------------------------------------------- parc.p <- spsample(r.spdf, 15, type="random") parc.c <- vector("list",length(parc.p)) for(i in 1:length(parc.p)) { parc.c[[i]] <- disc(radius=5, centre=c(parc.p$x[i], parc.p$y[i]))}
W <- do.call(union.owin,parc.c) W.df <- as.data.frame(as.im <http://as.im>(W))
W.sp <- W.df; coordinates(W.sp) <- ~x+y plot(W.sp)
W.df$px <- over(W.sp, r.spdf) head(W.df) # # x y value px #1 -179.9856 -39.83543 1 11 #2 -179.9856 -39.29907 1 76 #3 -179.9856 -38.76271 1 76 #4 -179.9856 -38.22635 1 76 #5 -179.9856 -37.68998 1 34 #6 -178.7263 -41.98087 1 157 # ### <END>
Éder Comunello <c <mailto:comunello.eder@gmail.com>omunello.eder@gmail.com <mailto:omunello.eder@gmail.com>> Dourados, MS - [22 16.5'S, 54 49'W]
Em 26 de dezembro de 2013 08:37, ASANTOS <alexandresantosbr@yahoo.com.br <mailto:alexandresantosbr@yahoo.com.br>> escreveu:
Bom dia Éder,
Conforme sugerido, adicionei ao meu CRM:
W <- do.call(union.owin,CIR) # imW<-as.im <http://as.im>(W) grids<-as(imW, "SpatialGridDataFrame") fullgrid(grids)=FALSE plot(grids) points(df.Im1) over(grids,df.Im1))##
O over fez a listagem do valor dos pixels na imagem (stackIm1) contidos no interior das parcelas circulares CIR, mas meu objetivo é listar qual a coordenada e o valor de cada pixel em cada parcela circular CIR, com isso terei um resultado em colunas contendo: CIR, x, y e px
Alexandre
Em 26/12/2013 05:53, Éder Comunello escreveu:
Bom dia, Alexandre!
Já deu uma olhada em sp::over?
-- Éder Comunello <c <mailto:comunello.eder@gmail.com>omunello.eder@gmail.com <mailto:omunello.eder@gmail.com>> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ 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 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 <tel:%28%2B55%29%2065%208132-8112> (TIM)(+55) 65 9686-6970 <tel:%28%2B55%29%2065%209686-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> Lattes:http://lattes.cnpq.br/1360403201088680 ======================================================================
_______________________________________________ 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 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 Lattes: http://lattes.cnpq.br/1360403201088680 ======================================================================

Eu não consegui baixar a bibliotéca sptsatat, diz que não está disponível na versão R 3.0.1 do Windows. Alexandre, bom dia! Não tenho experiência com a {spatstat}, mas tentei trabalhar seu código e acredito que possa lhe ser útil. ### <BEGIN> require(raster); require(spatstat); require(sp) ## Raster ----------------------------------------------------------- set.seed(20130622) r <- raster(nc=100, nr=100) r <- setValues(r, round(runif(ncell(r))* 255)) plot(r) r.spdf <- data.frame(coordinates(r), px=getValues(r)); names(r.spdf) gridded(r.spdf) <- ~x+y spplot(r.spdf) ## Amostras ------------------------------------------------- parc.p <- spsample(r.spdf, 15, type="random") parc.c <- vector("list",length(parc.p)) for(i in 1:length(parc.p)) { parc.c[[i]] <- disc(radius=5, centre=c(parc.p$x[i], parc.p$y[i]))} W <- do.call(union.owin,parc.c) W.df <- as.data.frame(as.im(W)) W.sp <- W.df; coordinates(W.sp) <- ~x+y plot(W.sp) W.df$px <- over(W.sp, r.spdf) head(W.df) # # x y value px #1 -179.9856 -39.83543 1 11 #2 -179.9856 -39.29907 1 76 #3 -179.9856 -38.76271 1 76 #4 -179.9856 -38.22635 1 76 #5 -179.9856 -37.68998 1 34 #6 -178.7263 -41.98087 1 157 # ### <END> .

Mauro, Não sei o que pode estar ocorrendo. Estou rodando sem problemas na v3.02. Em quinta-feira, 26 de dezembro de 2013, Mauro Sznelwar<sznelwar@uol.com.br> escreveu:
Eu não consegui baixar a bibliotéca sptsatat, diz que não está disponível
na versão R 3.0.1 do Windows.
Alexandre, bom dia! Não tenho experiência com a {spatstat}, mas tentei trabalhar seu código e
acredito que possa lhe ser útil.
### <BEGIN> require(raster); require(spatstat); require(sp) ## Raster ----------------------------------------------------------- set.seed(20130622) r <- raster(nc=100, nr=100) r <- setValues(r, round(runif(ncell(r))* 255)) plot(r) r.spdf <- data.frame(coordinates(r), px=getValues(r)); names(r.spdf) gridded(r.spdf) <- ~x+y spplot(r.spdf) ## Amostras ------------------------------------------------- parc.p <- spsample(r.spdf, 15, type="random") parc.c <- vector("list",length(parc.p)) for(i in 1:length(parc.p)) { parc.c[[i]] <- disc(radius=5, centre=c(parc.p$x[i],
parc.p$y[i]))}
W <- do.call(union.owin,parc.c) W.df <- as.data.frame(as.im(W)) W.sp <- W.df; coordinates(W.sp) <- ~x+y plot(W.sp) W.df$px <- over(W.sp, r.spdf) head(W.df) # # x y value px #1 -179.9856 -39.83543 1 11 #2 -179.9856 -39.29907 1 76 #3 -179.9856 -38.76271 1 76 #4 -179.9856 -38.22635 1 76 #5 -179.9856 -37.68998 1 34 #6 -178.7263 -41.98087 1 157 # ### <END> .
-- Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
participantes (3)
-
ASANTOS
-
Mauro Sznelwar
-
Éder Comunello