##################################### ## Carregando pacotes necessários ##################################### require(geoR) require(maptools) ## funções para importação/expostação e manipulação ## de mapas e dados geográficos gpclibPermit() ## função para habilitar licença de uso require(sp) ## (classes) para representação de dados espaciais ## no R require(spdep) ## funções análises de dados de áreas par.ori <- par(no.readonly=TRUE) ################################################################### ## Tarefa: de shape de polygonos para geodata ################################################################### MUNICIPIOS <- readShapePoly("41mu2500g.shp") ##Definindo a classe dos dados class(MUNICIPIOS) slotNames(MUNICIPIOS) head(MUNICIPIOS@data) class(MUNICIPIOS@polygons) names(MUNICIPIOS@polygons) length(MUNICIPIOS@polygons) class(MUNICIPIOS@polygons[[1]]) slotNames(MUNICIPIOS@polygons[[1]]) length(MUNICIPIOS@polygons[[1]]@Polygons) class(MUNICIPIOS@polygons[[1]]@Polygons) class(MUNICIPIOS@polygons[[1]]@Polygons[[1]]) slotNames(MUNICIPIOS@polygons[[1]]@Polygons[[1]]) ## centroide do poligono MUNICIPIOS@polygons[[1]]@Polygons[[1]]@labpt ## pegando os centroides de todos os municipios centroides <- t(sapply(MUNICIPIOS@polygons, function(x) x@Polygons[[1]]@labpt)) head(centroides) dim(centroides) class(MUNICIPIOS@polygons[[1]]@Polygons) #Lendo os dados de produção de soja prm<-read.table("prodsoja.txt",head=T) dim(prm) head(prm) class(prm) ## combinando os atributos, porém com opções para mandar a ordem ## do objeto espacial (centroides): o objeto espacial deve vir primeiro ## e sort=FALSE evita reordenar perdendo a ordem correta das geometrias prodm<- merge(MUNICIPIOS@data, prm, by="CODIGO",sort=FALSE) dim(prodm) head(prodm) class(prodm) ################################################################## ## convertendo para geodata geoprodm<- as.geodata(prodm, coords.col=c(10,9), data.col=12) class(geoprodm) attach(geoprodm) summary(geoprodm) plot(geoprodm, low=T) points(geoprodm, pt.div="quintile", xlab="leste", ylab="norte") ## agora adicionando as bordas do estado ESTADO <- readShapePoly("41UF2500G.shp") plot(ESTADO) ## onde estao as coordenadas das bordas class(ESTADO) slotNames(ESTADO)##retorna ao conjunto de informações sobre os nomes individuais de um objeto. ESTADO@data ##class(ESTADO@polygons) ##names(ESTADO@polygons) ##length(ESTADO@polygons) ##class(ESTADO@polygons[[1]]) ##slotNames(ESTADO@polygons[[1]]) ##length(ESTADO@polygons[[1]]@Polygons) ##class(ESTADO@polygons[[1]]@Polygons) ##class(ESTADO@polygons[[1]]@Polygons[[1]]) ##slotNames(ESTADO@polygons[[1]]@Polygons[[1]]) ## centroide do poligono ESTADO@polygons[[1]]@Polygons[[1]]@labpt ## area do poligono ESTADO@polygons[[1]]@Polygons[[1]]@area ## coordenadas do polygono ESTADO@polygons[[1]]@Polygons[[1]]@coords ## colocando no objeto geodata geoprodm$borders <- ESTADO@polygons[[1]]@Polygons[[1]]@coords plot(geoprodm, low=T) points(geoprodm, pt.div="quintile", xlab="leste", ylab="norte")