Padrões OGC na prática: WMS, WMTS e WFS
A Open Geospatial Consortium (OGC) define os padrões que permitem que sistemas geoespaciais diferentes conversem entre si. Sem eles, cada fornecedor falaria sua própria língua, e integrar dados de fontes distintas seria praticamente inviável. Com eles, um visualizador QGIS, um navegador web e um sistema corporativo conseguem consumir dados do mesmo servidor sem adaptações específicas.
Três desses padrões dominam a maior parte dos cenários práticos: WMS, WMTS e WFS. Apesar de aparentemente similares (todos servem dados geográficos via HTTP), eles resolvem problemas diferentes, têm performance radicalmente diferente e custos de implementação distintos. Escolher o errado para o caso de uso é causa frequente de sistemas lentos, caros ou difíceis de manter.
Este artigo é sobre o que cada padrão entrega na prática, quando usar cada um, e os erros mais comuns que vemos em projetos que herdamos para reformar.
WMS: imagens sob demanda
O Web Map Service (WMS) é o mais antigo e mais difundido dos três. Em termos simples, o cliente pede uma imagem de uma região específica, em um tamanho específico, com camadas específicas, e o servidor renderiza essa imagem na hora e devolve.
A grande vantagem do WMS é a flexibilidade. Você pode pedir qualquer recorte espacial, em qualquer projeção, com qualquer combinação de camadas, e o servidor entrega. Para visualizadores que precisam alternar projeções, combinar camadas dinamicamente, ou trabalhar com áreas de interesse arbitrárias, WMS resolve.
O problema é o custo. Cada requisição dispara renderização no servidor. Em sistemas com muitos usuários simultâneos ou com camadas complexas (muitos polígonos, simbologias elaboradas, rótulos dinâmicos), o servidor vira gargalo rapidamente. É comum encontrarmos sistemas WMS funcionando bem em ambiente de teste com 2 usuários, e quebrando em produção com 50.
Quando usar WMS: aplicações com necessidade real de flexibilidade na composição de mapas, baixa concorrência de usuários, ou camadas que mudam frequentemente. Sistemas internos de análise, ferramentas de exploração de dados, dashboards corporativos com poucos usuários simultâneos são bons candidatos.
WMTS: tiles pré-renderizados
O Web Map Tile Service (WMTS) ataca exatamente o problema do WMS sob carga. Em vez de renderizar imagens sob demanda, o WMTS divide o mundo em uma malha fixa de tiles, em níveis de zoom predefinidos, e serve esses tiles pré-renderizados.
A diferença prática é imensa. Servir um tile WMTS é entregar um arquivo do disco ou da memória. Não há renderização envolvida no momento da requisição. Resultado: throughput muito maior, latência muito menor, custo computacional drasticamente reduzido em operação.
Os mapas base que você vê em qualquer aplicação web moderna (OpenStreetMap, Google Maps, Mapbox) usam essa abordagem. É o que permite que milhões de usuários carreguem mapas simultaneamente sem derrubar servidores.
O custo está na rigidez. Você precisa decidir antecipadamente quais níveis de zoom servir, quais projeções, quais combinações de camadas. Cada combinação consome espaço em disco (que pode ser muito, dependendo da extensão e dos níveis). Mudanças nos dados exigem regenerar os tiles afetados, processo que pode ser demorado.
Quando usar WMTS: camadas que não mudam com alta frequência, sistemas com muitos usuários simultâneos, mapas base, fundos de visualização. Sempre que a performance e a escala forem prioridade, e a combinação de camadas/projeções for previsível.
WFS: dados vetoriais, não imagens
O Web Feature Service (WFS) é diferente em essência dos dois anteriores. Enquanto WMS e WMTS entregam imagens (raster), o WFS entrega as próprias geometrias vetoriais, junto com seus atributos. O cliente recebe os dados brutos e decide o que fazer com eles.
Isso muda completamente o que é possível. Com WFS, o cliente pode renderizar localmente com simbologia própria, executar análises sobre os dados recebidos, exportar para outros formatos, alimentar aplicações que não são de visualização. WFS também suporta filtros sofisticados, retornando apenas feições que atendem a critérios espaciais ou atributivos específicos.
O preço é o volume. Dados vetoriais podem ser pesados, especialmente para geometrias complexas ou camadas densas. Um WFS sobre uma camada de lotes urbanos de uma cidade inteira pode retornar dezenas de megabytes de geometrias para uma única consulta. Para visualização em mapas web, isso é geralmente proibitivo.
Quando usar WFS: integração entre sistemas, alimentação de pipelines de dados, aplicações que precisam dos dados brutos para análise ou processamento, exportação para terceiros. Não como camada principal de visualização em aplicações com muitos usuários.
Os erros mais comuns
Em diagnósticos que fazemos, três escolhas equivocadas se repetem.
Usar WMS onde WMTS resolveria. Visualizadores públicos com camadas base estáveis publicadas via WMS, sofrendo lentidão sob carga, quando a solução é simplesmente pré-renderizar tiles. A diferença de custo operacional é grande, e a migração costuma ser viável sem mudanças no cliente.
Usar WFS como camada de visualização. Sistemas que carregam milhares de feições via WFS para renderizar no navegador, quando a mesma camada poderia ser servida como WMTS, com renderização no servidor uma única vez. O navegador sofre, o usuário espera, e nada disso seria necessário com a escolha certa de protocolo.
Não usar padrões abertos. Talvez o mais grave. Sistemas construídos com APIs proprietárias que não falam OGC. Funcionam bem em isolamento, mas qualquer integração futura vira projeto. Optar por padrões OGC desde o início, mesmo quando parece “esforço extra”, paga dividendos durante toda a vida do sistema.
Combinando os três
Sistemas geoespaciais maduros raramente usam só um dos protocolos. O padrão que recomendamos e implementamos:
- WMTS para camadas base e camadas de referência estáveis (ortofotos, cadastros consolidados, limites administrativos). Performance máxima, custo operacional mínimo.
- WMS para camadas que mudam com frequência ou que dependem de simbologia dinâmica (resultados de análise, filtros temporais, visualizações temáticas configuráveis).
- WFS para integração com sistemas externos, exportação de dados, e ferramentas analíticas que precisam das geometrias brutas.
Cada protocolo no papel certo, cada um otimizado para o que faz bem.
Conclusão
WMS, WMTS e WFS não são alternativas concorrentes. São ferramentas complementares, cada uma adequada a um conjunto de problemas. Escolher entre elas exige entender o caso de uso real: padrão de acesso esperado, frequência de mudança dos dados, necessidade de flexibilidade versus performance, e perfil de quem vai consumir.
Sistemas que negligenciam essa escolha, ou que usam o protocolo errado por desconhecimento, pagam o preço em performance ruim, infraestrutura cara e dificuldade de integração. Sistemas que escolhem bem ganham escalabilidade, simplicidade operacional e compatibilidade com qualquer cliente OGC do mercado.
Na Lpsig, definimos a arquitetura de serviços OGC como parte da fase inicial de qualquer projeto geoespacial que conduzimos, incluindo análise de padrão de uso esperado, dimensionamento da infraestrutura de tiles, configuração de servidores de mapas e capacitação da equipe para operação contínua. Se sua organização está construindo ou modernizando um sistema de informações geográficas e quer garantir que a escolha de protocolos esteja correta desde o início, vamos conversar sobre seu cenário.
