Plotar mapas no python

Um mapa permite representar o valor de uma variável espacialmente em uma região, sendo muito útil em diversos estudos. De modo geral, são necessários dois tipos de dados de entrada: uma camada com os valores de ao menos uma variável com a respectiva localização (latitude e longitude) de cada ponto e outra camada com os contornos geográficos e/ou políticos da região de interesse.

Exemplo de mapa com valores de altitude (em escala de cores) dos pontos informados
Exemplo de mapa com valores de altitude (em escala de cores) dos pontos informados

Arquivos que contêm dados geoespaciais em forma de vetor, conhecidos como shapefiles, trabalham como um conjunto de três arquivos, interligados por um único ID para cada unidade espacial: um principal (.shp), que traz o desenho do mapa propriamente, um índice (.shx), que é um indexador de informações para facilitar buscas, e um de banco de dados (.dbf), trazendo informações e atributos das unidades espaciais. Arquivos shapefile com os contornos geopolíticos do Brasil estão disponíveis para Download no FTP do IBGE (ou em outros links, como o do ArcGIS).

O Cartopy é um pacote Python projetado para processamento de dados geoespaciais visando produzir mapas e outras análises. Ele pode ser instalado no seu ambiente virtual do conda através do comando:

conda install -c conda-forge cartopy

O script disponível no Github (vinioger/plot_map) carrega um arquivo CSV com as informações de cada ponto georreferenciado (colunas “lat,lon,alt”, onde alt é o nome da variável a ser plotada, a altitude) e um shapefile com os contornos políticos do Brasil.

Como os dados estão definidos em coordenadas geográficas (latitude/longitude), deve-se aplicar o método “PlateCarree()” na projeção (parâmetro “projection”). Também são definidos os formatos dos valores e os eixos. Posteriormente, é acrescentada uma camada com os contornos geopolíticos em linhas pretas de largura 0.5. Por fim, são acrescentados os valores dos pontos e uma barra de cores. O mapa pode ser impresso na tela ou salvo em arquivo PNG.

Para mais informações sobre o território brasileiro (CSV com informações sobre todos os municípios do Brasil), clique no link.