Exemplos de criação de mapas no R
Lugares que me interessam - Post em construção
Fernando de Souza Bastos
2017-01-30
##-------------------------------------------
## OBTENDO E DESCOMPACTANDO O SHAPEFILE
##-------------------------------------------
ender = "~/GitHub/webpage/fsbmat.github.io/blog_posts/30-01-2017/Shapefiles"
## endereço de trabalho
setwd(ender) ## set o endereço de trabalho que receberá os arquivos
## site do shapefile
url0 =
'ftp://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/MG/MG.zip'
## faz o download do shapefile
if (!file.exists(basename(url0))) download.file(url0, dest=basename(url0), mode = "wb")
unzip(basename(url0)) ## extrai os arquivos
##-------------------------------------------
## LENDO O SHAPEFILE
##-------------------------------------------
library("rgdal");
#endereço da subpasta
ender <- "~/GitHub/webpage/fsbmat.github.io/blog_posts/30-01-2017/Shapefiles/MG"
## endereço de trabalho
setwd(ender) ## set o endereço de trabalho que receberá os arquivos
pb_poligonos_rgdal <- readOGR(dsn=path.expand(ender), layer="31MUE250GC_SIR", verbose=FALSE, stringsAsFactors=FALSE);
##-------------------------------------------
## SEPARANDO ALGUNS MUNICÍPIOS
##-------------------------------------------
#Mun = data.frame(
# cid = c('Florestal', 'Lajinha', 'Viçosa'),
# cor = c('red', 'blue', 'orange'),
# Temp = c(23, 34, 40))
#setwd("~/GitHub/webpage/fsbmat.github.io/blog_posts/30-01-2017/MG")
#Carregar o shapefile
#library("rgdal");
#pb_poligonos_rgdal <- readOGR(dsn=path.expand("~/GitHub/webpage/fsbmat.github.io/blog_posts/30-01-2017/MG"), layer="31MUE250GC_SIR", verbose=FALSE, stringsAsFactors=FALSE);
#Separar os dados do shape num data frame
pb_dados <- slot(object=pb_poligonos_rgdal, name="data");
print( pb_dados[840:853, 1:2] );
## NM_MUNICIP CD_GEOCMU
## 839 VERÃSSIMO 3171105
## 840 VERMELHO NOVO 3171154
## 841 VESPASIANO 3171204
## 842 VIÃOSA 3171303
## 843 VIEIRAS 3171402
## 844 MATHIAS LOBATO 3171501
## 845 VIRGEM DA LAPA 3171600
## 846 VIRGÃNIA 3171709
## 847 VIRGINÃPOLIS 3171808
## 848 VIRGOLÃNDIA 3171907
## 849 VISCONDE DO RIO BRANCO 3172004
## 850 VOLTA GRANDE 3172103
## 851 WENCESLAU BRAZ 3172202
## 852 JUVENÃLIA 3136959
#Corrigindo o nome de Viçosa
pb_dados$NM_MUNICIP[843]<-"VIÇOSA"
#Criar uma lista com os nomes dos municípios de interesse
lista_municipios <- c("FLORESTAL", "LAJINHA", "VIÇOSA");
#Encontrar o indice numérico correspondente aos municípios desejados
indice_numerico <- which( pb_dados$NM_MUNICIP %in% lista_municipios );
print(indice_numerico);
## [1] 290 431 843
#Pegar apenas as informações dos polígonos dos municípios desejados
dados_municipio <- pb_poligonos_rgdal[indice_numerico, ];
#Fazer o plot dos municípios desejados
plot( dados_municipio, axes=TRUE, border="darkgrey", main="Poligonos dos municipios selecionados" );
#plotar os poligonos sobre o mapa de Minas
plot( pb_poligonos_rgdal, axes=TRUE, border="darkgrey", main="Mapa de municipios do Estado de Minas Gerais \n com os municipios selecionados em destaque" );
plot( dados_municipio, border="darkgray", col="red", add=TRUE );
#Poligono de Florestal
mun_florestal <- pb_poligonos_rgdal[indice_numerico[1], ]
plot(mun_florestal, axes=TRUE, border="darkgrey", main= "Poligono de Florestal" )