vector tiles gistech

Vector tiles: Impactos no uso de aplicações WebGIS

Introdução

Semana passada a ESRI publicou dois posts sobre o uso de vector tiles em sua plataforma de WebGIS. Realmente um avanço na área de Cartografia Digital, acrescentando diversas possibilidades de passar informações através dos mapas. Porém existem impactos na adoção desta tecnologia que temos que avaliar e evitar problemas. Vamos lá?

O que são os vector tiles (blocos de vetor)?

Os principais provedores de geoserviços utilizam uma estratégia interessante para que seus mapas sejam carregados de forma muito rápida sem onerar o poder de processamento do servidor GIS.

Em escalas pré-determinadas as informações são divididas em blocos de tamanho fixo (exemplo: 256 x 256 pixels) e então pré processadas no formato de imagem (normalmente png ou jpeg), permitindo assim que as aplicações WebGIS consigam solicitar os blocos da extensão espacial que desejam exibir ao seu usuário. Como os dados já foram processados, o servidor GIS somente entrega a informação solicitada sem realizar nenhum processamento além de devolver as imagens requisitadas.

Blocos pré processados de mapas - vector tiles
Blocos pré processados de mapas – vector tiles

Como em tudo na vida, toda escolha tem um preço. E no caso da geração de blocos de imagens existem três consequências diretas: tamanho em disco no servidor (o tamanho pode chegar a Terabytes por se tratar de imagens), alto tráfego de rede (em uma navegação simples centenas de imagens serão transferidas para o WebGIS) e inflexibilidade na cartografia (como as imagens são pré processadas, não há possibilidade de alteração na apresentação dos mapas, por isso que os provedores de geoserviços criam diversos serviços de mapas para seus usuários).

Então surgiu a ideia de utilizar a mesma técnica para a geração de vetores (os vector tiles) ao invés de imagens. Utilizando a mesma técnica de pré processamento, os dados vetoriais são fatiados e codificados em alguma estrutura de dados (SVG, GeoJSON, Mapnik Vector Tile, Mapbox Vector Tile, etc ) para que possam ser decodificados pela aplicação WebGIS e desenhados para o usuário.

Vantagens de usar vector tiles

Os arquivos vetoriais que são transferidos para as aplicações WebGIS são bem menores que o equivalente no formato matricial (cerca de 50% em média), permitindo maior rapidez na exibição dos mapas e menor tráfego de rede para realizar o download da informação (característica útil para projetos em dispositivos móveis).

Outra vantagem é a possibilidade maior de realizar cache por demanda (não realizar o pré processamento). Como não é realizada a renderização da informação no servidor (apenas são geradas as informações das coordenadas e seus atributos), o tempo e poder de processamento é bem menor para realizar o recorte e codificação da informação. Útil para quem tem requisitos de atualização constantes dos mapas base. Observação: também é possível realizar cache por demanda com imagens, apenas é um processo muito mais custoso.

A depender do formato escolhido para geração dos arquivos de vetor podemos incluir a possibilidade de utilizar estes dados também em aplicações que não são GIS, conseguindo assim maiores integrações com outros tipos de sistemas (GeoJSON e Mapbox Vector Tile são grande escolhas neste quesito).

Por fim e não menos importante é a capacidade de alterar a simbologia dos mapas base vetoriais. Neste tipo de solução, geralmente é o software que está consumindo o serviço que tem a responsabilidade de aplicar o estilo que achar necessário (ex: mudar cores dos arruamentos). Para a cartografia digital é um grande avanço.

Desvantagens de usar vector tiles

Apesar de ter sido listada como uma vantagem, a possibilidade de aplicar a simbologia nos vetores traz alguns problemas que nós Analista de Sistemas temos que tomar cuidado. A principal questão é que o processamento dessa informação é realizada no cliente, ou seja, no browser. De início não  parece ser nenhum problema, pois o hardware que a maioria dos usuários têm acesso superaria isso, porém lembrem-se que as aplicações de WebGIS são interfaces ricas e isto já é um peso constante na execução da aplicação (manipulação de DOM, milhares de manipuladores de eventos, requisições Ajax e Websocket, dentre outras coisas).

Outro ponto é a escolha de como renderizar essa informação. A maneira mais rápida em termos de performance é utilizar a WebGL, porém nem todos os navegadores estão totalmente compatíveis com este recurso e também requer que a configuração do dispositivo do usuário seja mais robusta (uso da aceleração de vídeo, por exemplo). Utilizando outros meios (SVG, Canvas, etc) o processamento é mais pesado e a depender da quantidade de informações o navegador pode ficar travado enquanto processa as informações.

Finalmente temos a questão da cartografia digital em grandes escalas. Se não tomarmos cuidado, teremos muita informação sendo desenhada de forma desnecessária e gerando mais problemas do que solução. Abaixo tem um exemplo do que pode acontecer com textos se medidas não foram tomadas para dar uma experiência mais amigável ao usuário.

Problema de texto em vector tiles
Problema com cartografia digital do mapa

Quando utilizar vector tiles?

Para saber se é interessante adotar o uso de vector files, basta verificar se para alguma das perguntas abaixo a resposta é sim.  Confira:

  • Meu mapa base contém apenas dados vetoriais (como arruamento, limites geopolíticos, bacias hidrográficas, etc)?
  • Tenho necessidade de mudar a simbologia/estilo do meu mapa base?
  • É necessário que minha aplicação tenha baixo tráfego de rede para o servidor GIS?
  • Preciso atualizar constantemente meu mapa base?

Ainda tem um ponto muito importes: os vector tiles não substituem as imagens. Ortofotos e imagens de satélite, por exemplo, nunca serão substituídas por vetores. A visão do mundo real pode ser muito mais importante para as análises espaciais do que todo o ganho de performance oferecido pelo uso dos vector tiles. Cabe a vocês, especialistas em geoprocessamento, adotar a melhor saída.

Deixe um comentário