Como criar KML de coordenadas em banco MySQL

Se você quiser uma maneira rápida de visualizar as coordenads (e um respectivo nome) em um mapa, o Python facilita a criação de um arquivo KML que você pode sobrepor em um mapa incorporado em uma página da Web ou no Google Earth. Se os dados estão em um banco de dados MySQL, existe um passo além de simplesmente ler um arquivo CSV:

Para acessar o banco de dados MySQL usando o Python, você precisa de um “driver” e o programa instalado não só no servidor, mas na máquina cliente que você está usando também. O “MySQL Python connector” é um driver de banco de dados padronizado fornecido pelo MySQL que dispensa a instalação e configuração do MySQL no cliente. Para instalá-lo usando o pip (que busca os pacotes no repositório PyPI da Python Software Foundation):

Outro módulo deve ser instalado, agora para criar os arquivos KML, o simplekml:

O script que conecta no BD, executa uma query e cria um arquivo de estrutura KML para cada coordenada lida é o seguinte:

Veja como ficou o código gerado:

Com arquivo KML pronto, é possível substituir a tag “name” por um outro marcador (“marker“). Segue o código que abre o arquivo gerado e grava as substituições em um novo arquivo de saída:

Primeiro, é incluído no cabeçalho o estilo de dois tipos de marcadores (um vermelho e um amarelo) através da substituição de string. Depois, o nome é substituído pela chamada do estilo do marcador.

Para testar o arquivo gerado, você pode subir o arquivo no seguinte link para visualização direta no Google Maps: KML, KMZ Viewer with Drive. Caso possua um servidor e queira hospedar uma página HTML para exibir o KML, você pode usar o seguinte modelo:

Atente para colocar sua chave na API do Google Maps, seu domínio e o caminho para o arquivo KML utilizado (assim como o caminho do próprio HTML).