• Coletando Malha Municipal do Brasil no IBGE

    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

    from datetime import datetime
    
    #necessárias para o download dos arquivos
    import requests
    
    #necessárias para processas os dados geoespaciais
    import pandas as pd
    import geopandas as gpd
    import matplotlib.pyplot as plt
    

    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 = gpd.read_file('zip://inputs/uf.zip')
    df.head()
    df[df['NM_REGIAO']=='Nordeste'].plot()

    Municípios

    df = gpd.read_file('zip://inputs/mun.zip')
    df.head()
    df[df['SIGLA']=='MG'].plot(column="NM_MUN",cmap="YlGnBu")

    Para ver o notebook: