quarta-feira, 5 de dezembro de 2012

Publicar mapas interativos com Tile Mill

Fazer mapas é uma coisa, partilhá-los é outra! Muitas vezes construímos mapas no nosso software SIG desktop, mas quando chega a hora de os partilhar, normalmente exporta-se para JPEG, ou PDF, e, pelo caminho, todas as vantagens associadas à visualização SIG perdem-se, principalmente a interatividade!

Este problema é notório se estivermos a produzir mapas/informação geográfica para dar apoio a pessoas que não são utilizadores SIG, nem estão interessadas (legitimamente - não se pode ser entendido em tudo!) em adquirir as competências mínimas necessárias para tal.

A solução clássica para a interatividade é criar KMLs para visualização no Google Earth, mas mesmo isso tem as suas limitações: não é prático se se tratar de muitos layers, pressupõe instalação/autorização de instalação de um software, e a navegação do Google Earth, apesar de muito boa, não é imediata para utilizadores inexperientes devido às várias rotações de eixos que permite.

Para resolver estas questões existe o Tile Mill, uma aplicação distribuída sob uma licença BSD, e disponível para Windows, Linux e Mac. Este programa tira partido dos estilos CSS misturados com um pouco de Java Script para criar uma linguagem de scripting acessível e intuitiva, denominada   CartoCSS, que permite estilizar,  e posteriormente partilhar, todo o tipo de mapas.

Para demonstrar o quão simples é, aqui fica um pequeno tutorial que exemplifica como em poucos minutos e com apenas dois layers, criei uma mapa iterativo das árvores notáveis de Portugal. Os dados de entrada foram retirados do Atlas do Ambiente.

I - Criar um novo projeto

Uma vez instalado o Tile Mill, começamos por criar um novo projeto.Todos os projetos vêm com um layer de base, denominado "Countries". Vou aproveitar esse layer e adicionar um novo layer que descarreguei previamente para o meu computador: arvoresnotaveis (um shapefile de pontos). Uma vez carregado o layer, desligo a função Autopilot:


Como dados de entrada, o Tile Mill aceita os seguintes formatos: CSV, SHP, KML, GeoJSOM, GeoTiff, e dados provenientes de bases de dados SQLite e PostGIS.


II - Interface

Uma nota ainda para a interface. O sreenshot dá uma perspectiva geral da interface, que me parece francamente boa e simples. Basta clicar uma vez nos botões para se perceber imediatamente o que fazem. De qualquer modo aqui fica:


III - Scripting

Agora é a fase crucial do projeto. Começo escolher a simbologia para o layer #árvoresnotaveis:

       #arvoresnotaveis {
            marker-width: 3;
            marker-fill: #EFF291;  (código de cor CSS. Aqui tudo se torna mais claro!)
            marker-line-color: #813;
            marker-allow-overlap: true;
        }
 
De seguida defino a simbologia do layer #countries, e aplico-lhe um filtro de modo a que apenas Portugal seja visível:

     #countries [SOVEREIGNT = 'Portugal']{
            :: outline {
            line-color: #000000;
            line-width: 2;
            line-join: round;
     }
    ::polygon { polygon-fill: #B6CFC8; }



IV -Definir Interatividade

Como já devem ter percebido, o exemplo que aqui vos trago é muito simples, e consequentemente a interactividade que aqui será exemplificada é mínima. Para o meu mapa apenas quero que o utilizador, ao passar com o rato por cima dos pontos, tenha acesso a uma pequena legenda com o tipo de árvore representado pelo ponto em questão.

Para tal acedo ao painel dos templates, e clico no separador teaser. Depois, seleciono o layer e o(s) campo(s) que quero que o utilizador veja sempre que passa o rato por cima de um ponto:


V -Exportar o mapa

Quando se clica no botão Export, há várias opções, mas a mais interessante é publicar o mapa online. Desta forma o nosso trabalho é partilhável com apenas um link! Para tal temos de criar uma conta de utilizador do serviço Carto Map. Na sua modalidade gratuíta permite ter até 50mb alojados no servidor, com um limite de 3000 visitas.

Depois de criada a conta vamos então selecionar a opção Upload, que se encontra dentro do menu Export. Basta definir alguns parâmetros, clicar em upload, e aguardar que o projecto seja enviado para os servidores Carto Map. O mapa ficará associado a um link que servirá precisamente para direcionar quem quisermos para o nosso mapa.


VI - Resultados e notas finais

Nesta página podem visualisar o resultado final. É um exemplo extremamente simples, mas suficiente para demonstrar a utilidade desta ferramenta.

Para funcionalidades mais avançadas (e existem!), consultar a documentação CartoCSS

O Forum é igualmente útil

É suposto os layers serem desenhados na ordem em que são especificadas na área de edição de texto. No meu caso tive alguns problemas com, e pelo que li nos foruns é uma questão que ainda está a ser limada.

Last but not least: embora seja aocnselhável que todos os layers estejam no mesmo sistema de coordenadas, o Tile Mill reconhece automaticamente as projecções!


Sem comentários:

Enviar um comentário