Como foi criado o mapa dos Municípios do Estado de São Paulo no Portal da Transparência

O primeiro passo foi encontrar um mapa do Estado de São Paulo com todos os municípios. Encontramos o mapa, que é baseado no IBGE, em formato KML em http://www.gmapas.com/poligonos-ibge/poligonos-municipios-ibge-sao-paulo

Este mapa contém uma série de polígonos excedentes (principalmente ilhas e algumas divisões territoriais), considerando que queríamos apenas os 644 municípios jurisdicionados, lembrando que a Capital não é jurisdiconada ao TCESP, por isso não está em nosso mapa. Assim sendo foi necessários ajustar o mapa para apresentar apenas os 644 municípios jurisdicionados. Isto foi feito diretamente com a ferramenta online do GMaps, gerando um novo arquivo KML (anexo).

Para utilização do mapa no Drupal achamos melhor trabalhar com o formato GeoJSON e a biblioteca Leaflet. Assim sendo precisávamos converter o arquivo, para o que utilizamos um serviço online gratuito http://ogre.adc4gis.com/ , o resultado é um arquivo .json.

O arquivo .json que é gerado a partir do arquivo .kml possui uma definição muito boa, o que acaba deixando a visualização lenta. A solução adotada neste caso foi reduzir a resolução do mapa utilizando um serviço online gratuito http://mapshaper.org/ , o resultado foi um mapa com boa qualidade, apesar da menor resolução, e um arquivo com 25% do tamanho original (anexo).

 

Para fazer a carga dos dados geográficos do municípios foi criado um arquivo CSV (anexo) com os dados geográficos tabulados com o nome do município, o nome do município adaptado para URL, códigos como o do IBGE e outros.

A visualização do mapa com os dados que foram carregados a partir do arquivo CSV foi feita utilizando os seguintes módulos no Drupal 7.x.

Geofield - https://www.drupal.org/project/geofield (permite criar o campo com dados geográficos no tipo de conteúdo Município)

Views geoJSON - https://www.drupal.org/project/views_geojson (Este é o módulo que exibe os dados)

geoPHP - https://www.drupal.org/project/geophp (dependência)

Leaflet - https://www.drupal.org/project/leaflet (dependência)

Feeds - https://www.drupal.org/project/feeds (Usado para importar o conteúdo do CSV para o tipo de conteúdo Municípios)

Anexos: