[R-br] Como extrair índices linha e coluna de um raster

Jônatan jdtatsch em gmail.com
Sábado Julho 6 21:21:59 BRT 2013


## Já tinha esquecido das linhas e colunas.

require(raster)
r <- raster(nc=20,nr=10)
r[] <- rep(1:5,each=40)
plot(r)
res <- data.frame(rowColFromCell(r,1:ncell(r)), 1:ncell(r),getValues(r))
names(res) <- c("row","col","cell","v")

## criando stack com 4 layers
s <- stack(r,r,r,r)
## atribuindo valores para cada layer baseado no res
s[] <- as.matrix(res)
plot(s)
p<-rasterToPoints(s, spatial=T)
spplot(p)
 writeOGR(p,getwd(),"p",driver="ESRI Shapefile")
pescrito <- readOGR(getwd(), "p")
pescrito em data




2013/7/6 Alex <alxcart em gmail.com>

> Jônatan,
> a função rasterToshapefile é interessante, mas não atribuí o índices i e j
> ao shapefile criado.
>        Encontrei outra solução no script abaixo e espero auxilar outras
> pessoas.
>        Apenas uma ressalva, ao final gero um shapefile de pontos, com os
> atributos i, j e o valor da célula, mas depois associo ao shapefile de
> polígonos no Quantum GIS através da função Join de Tabelas.
>         Outra solução possível é juntar a sua solução de rasterToPolygon e
> depois realizar o Join de tabela com os shapefiles de pontos.
>         Realmente seria interessante que a função rasterToPolygon levasse
> as informações de linha e coluna para o shapefile criado.
>
> Mais uma vez obrigado Jôntan e Elias, vocês me orientaram bastante na
> solução deste problema.
>
> require(raster)
> require(rgdal)
> require(shapefiles)
> require(maptools)
>
> ### ENTRADA DE DADOS ###
> ## criando um raster
> r <- raster(ncol=319,nrow=319)
> atribuindo valores
> r[] <- (1:ncell(r))
>
> ## linha, coluna, celula, valor
> cbind(rowColFromCell(r,1:ncell(r)), 1:ncell(r),getValues(r))
> matriz<-cbind(rowColFromCell(r,1:ncell(r)), 1:ncell(r),getValues(r))
> matriz
> dim(matriz)
> tail(matriz)
> summary (matriz)
> names(matriz)  # a matriz não possui nome de campos
>
> # Data Frame possui nome dos atributos
> class(matriz)
> require(sp)
>      pontos<-data.frame(matriz)
>      head(pontos)
>      class(pontos)
>      dim(pontos)
>      names(pontos)
>      coordinates(pontos) <- c("row","col") # c("Norte_Sul","Leste_Oeste")
>      class(pontos)
>      dim(pontos)
>      getSlots("SpatialPointsDataFrame")
>      slot(pontos, "bbox")
>
> require(maptools)
> writePointsShape(pontos,"matriz319pt", factor2char = TRUE, max_nchar=254)
> readShapePoints("matriz319pt", proj4string = CRS(as.character(NA)),verbose
> =
> FALSE,repair=FALSE)
>
>
>
> _______________________________________________
> R-br mailing list
> 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.
>



-- 
###############################################################
##  Jônatan Dupont Tatsch
##  Professor do Departamento de Física
##  Centro de Ciências Exatas e Naturais (CCNE)
##  Universidade Federal de Santa Maria
##  Faixa de Camobi, Prédio 13 - Campus UFSM - Santa Maria, RS, Brasil -
97105-900
##  Telefone: +55(55)33012084
##  www.ufsm.br/meteorologia
###############################################################
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130706/cae6dce5/attachment.html>


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