Coletando Malha Municipal do Brasil no IBGE

Written By :

Category :

Uncategorized

Posted On :

O Objetivo aqui será plotar dados das fronteiras das regiões brasileiras através de arquivos shapefiles coletados do IBGE.

A página web onde os links foram encontrados é este aqui e os últimos disponíveis são de 2021.

Importando bibliotecas do Python

#necessárias para o download dos arquivosfrom bs4 import BeautifulSoupfrom urllib.request import Request, urlopen#necessárias para processas os dados geoespaciaisimport pandas as pdimport geopandas

Definindo os dados

Neste artigo, construimos um dicionário com os links que encontramos no site do IBGE.

arquivos = {    'brasil': 'https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2021/Brasil/BR/BR_Pais_2021.zip',    'rga':'https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2021/Brasil/BR/BR_RG_Intermediarias_2021.zip',    'rgi':'https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2021/Brasil/BR/BR_RG_Imediatas_2021.zip',    'rgme':'https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2021/Brasil/BR/BR_Mesorregioes_2021.zip',    'rgmi':'https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2021/Brasil/BR/BR_Microrregioes_2021.zip',    'uf': 'https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2021/Brasil/BR/BR_UF_2021.zip',    'mun': 'https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2021/Brasil/BR/BR_Municipios_2021.zip'}

Baixando arquivos

for i in arquivos:    arquivo = i+".zip"    remote_url = arquivos[i]        print("Coletando: "+remote_url)    data = requests.get(remote_url)    with open("./inputs/"+arquivo, 'wb') as file:        file.write(data.content)

Plotando as Regiões brasileiras

Agora que baixamos todos os arquivos, vamos plotar alguns exemplos

Arquivo de Estados (UF)

df = geopandas.read_file('zip://inputs/uf.zip')df.head()
df[df['NM_REGIAO']=='Sudeste'].plot()

Municípios

df = geopandas.read_file('zip://inputs/mun.zip')df[df['SIGLA']=='MG']
df[df['SIGLA']=='MG'].plot()