
#Olá,tudo bem! #Gostaria de saber como plotar o nome de município e uma quantidade num mapa: #Tenho uma planilha com os 645 municípios do Estado de São Paulo, das quais como CMR, coloco 5 deles num data.frame: cidade=c("São Paulo","Diadema","São Bernardo do Campo","Santo André","São Caetano") valor=c(6000,450,2500,2000,1000) saopaulo=data.frame(cidade,valor) saopaulo #Tenho os arquivos dbf, sbn, sbx, shp e shx e uso os seguintes comandos: ### 1-Carregando arquivo shape library(maptools); sp = readShapePoly("C:/r/shapefile-sp-ibge/35mu500gc.shp") ### 2-Carregando planilha com o nome do município e valor require(RODBC);cnct = odbcConnectExcel2007(file.choose()) saopaulo = sqlQuery(cnct, "select * from \"Plan1$\" ");odbcClose(cnct);attach(saopaulo);saopaulo sp.dados <- attr(sp, "data") sp.dados$indice <- 1:dim(sp.dados)[1] sp.dados <- merge(sp.dados, saopaulo) sp.dados <- sp.dados[order(sp.dados$indice), ] ### 3-Atribuindo cores para cada intervalo intervalo = c(0,1,500,1000,5000,9999) cat3 <- findInterval(saopaulo$valor,intervalo ) options(scipen=10) table(cat3) cores3 <- c("white","yellow","blue","green","red","black") ### 4-Plotando o mapa #par(mar=c(0,0,0,0)) windows(width=19, height=9, xpos=0, ypos=0,pointsize = 13,rescale="fixed") plot(sp, col=cores3[cat3]);legend("bottomleft",leglabs( c(0,1,500,1000,5000,9999), "<", ">"),fill=cores3, bty="n",text.width=10) ### 5-Colocando números sp.polgns<-attr(sp,"polygons") sp.cntrd<-lapply(sp.polgns,slot,"labpt") text(as.character(saopaulo$valor),cex=0.5) sp.x<-sapply(sp.cntrd,function(x) x[1]) sp.y<-sapply(sp.cntrd,function(x) x[2]) text(sp.x,sp.y,as.character(saopaulo$valor),cex=0.3) #Dúvidas: #1- Como colocar os nomes dos municípios (saopaulo$cidade) em cima dos números no item 5 (para que não se sobreponham)? #2- Quais são os comandos para se plotar uma determinada região. Ex: Municípios do ABC ou Litoral Paulista (somente municípios de interesse no mapa)? Muito obrigado! Felicidades... Alexandro Vieira Lopes