Os formatos disponíveis para blocos com GeoWebCache (GWC) no GeoServer
O GeoServer, como um servidor de mapeamento de código aberto compatível com os padrões do OGC (Open Geospatial Consortium), oferece vários tipos de serviços da Web para distribuição de dados geoespaciais. Um dos principais componentes desse ecossistema é o GeoWebCache (GWC), que melhora o desempenho da exibição armazenando em cache blocos de mapas com uma variedade de formatos de imagem.

As opções clássicas: jpeg ou png?
Os formatos padrão são os dois mais comumente usados: jpeg e png.
Use o formato JPEG (ou JPG) quando :
- Os dados são do tipo “imagem” ou “foto”:
- Ortofotos, imagens de satélite, fotografias aéreas etc.
- O JPEG é muito adequado para imagens com muitas cores e detalhes contínuos.
- Você não precisa de transparência:
- O JPEG não gerencia a transparência, portanto, evite-o se suas camadas tiverem áreas transparentes (como polígonos em um fundo vazio).
- Você deseja otimizar o desempenho (velocidade e tamanho):
- Os arquivos JPEG são menores que os PNGs, portanto, carregam mais rapidamente.
- Ideal se o mapa precisar ser rápido, por exemplo, para um mapa de fundo.
- Você deseja limitar a carga do servidor e a largura de banda:
- Os blocos JPEG consomem menos largura de banda do que os blocos PNG.
O JPEG não deve ser usado quando :
- Você tem dados vetoriais com transparência, como camadas de limites administrativos, estradas, pontos ou polígonos coloridos sem fundo.
- Você precisa de precisão gráfica, por exemplo, com rótulos, bordas nítidas ou contrastes marcados.
- Você precisa sobrepor a camada a outras camadas: sem transparência, o fundo branco de um JPEG ocultará o que está por baixo.
Portanto, esse formato é especialmente recomendado quando você tem, por exemplo, um mapa base com ortofotos IGN ou uma visualização de satélite semelhante à do Google, ou uma camada de digitalização raster georreferenciada.
No GeoServer/GeoWebCache, você pode propor vários formatos de bloco para a mesma camada (JPEG, PNG8, PNG32…) e deixar o cliente (por exemplo, Leaflet, OpenLayers…) escolher conforme necessário.
Use o formato PNG (ou PNG8) quando :
Não use o formato jpeg!
- Você tiver dados vetoriais com transparência, como camadas de limites administrativos, estradas, pontos ou polígonos coloridos sem fundo.
- Você precisa de precisão gráfica, por exemplo, com rótulos, bordas nítidas ou contrastes marcados.
- Você precisa sobrepor a camada com outras camadas: sem transparência, o fundo branco do JPEG ocultará o que está por baixo.
Comparação de formatos de arquivos – GeoWebCache
Critérios | JPEG | PNG (8/24/32) |
---|---|---|
Transparência | ❌ Não | ✅ Sim |
Tamanho do arquivo | Menor (compactado, com perdas) | Maior (sem perdas) |
Qualidade de cor | Bonne pour les photos | Excelente para vetores, Áreas planas |
Nitidez de linhas/texto | Peut être floue | Muito nítido |
Tipo de dados recomendado | Ortofotos, imagens raster | Dados vetoriais (limites, estradas, pontos) |
Desempenho (carregamento) | Rápido | Mais lento (mas preciso) |
Usar como mapa de fundo | Sim | Sim se PNG8 (otimizado) |
Use JPEG para fundos fotográficos ou rasterizados sem necessidade de transparência.
Use PNG para camadas vetoriais com transparência ou alta precisão visual.
Quando e por que usar PNG8 em vez de PNG (24 ou 32 bits)
Use PNG8 quando :
- Você precisa de transparência, mas não de gradientes complexos:
- O PNG8 gerencia a transparência binária (um pixel é opaco ou transparente).
- É suficiente para camadas vetoriais, como :
- Rotas
- Polígonos de área
- Limites administrativos
- Símbolos simples
- O número de cores na camada é limitado (≤ 256 cores):
- O PNG8 usa uma paleta de até 256 cores.
- Ideal se a simbologia for simples (poucas classes ou cores diferentes).
- Você deseja uma boa compactação sem perda perceptível da qualidade visual:
- Os blocos são mais leves que o PNG24/32, portanto, carregam mais rapidamente.
- Eles geralmente economizam 50% ou mais em peso.
- Você deseja uma leve transparência sem os artefatos do JPEG:
- Ao contrário do JPEG, o PNG8 não gera manchas ou efeitos de desfoque.
O PNG8 não deve ser usado quando :
- Você tem gradientes de cores ou efeitos visuais complexos (por exemplo, sombreamento, calor, fundos desfocados).
- Você precisa de transparência alfa parcial (por exemplo, semitransparência, sombras suaves).
- A camada contém muitas cores diferentes, como :
- Mapas temáticos com gradientes
- Raster estilizado
Na configuração dos formatos de bloco no GeoWebCache, você pode ativar o PNG8 como um formato de saída e até mesmo defini-lo como o formato padrão para camadas únicas.
Comparação entre PNG8 e PNG24/32
Critérios | PNG8 | PNG24/32 |
---|---|---|
Cores | 256 max (paleta) | Milhões de cores |
Transparência | Binário (0% ou 100%) | Alpha (0% à 100%) |
Tamanho do arquivo | Menor | Maior |
Desempenho | Muito bom | Menos bom |
Qualidade das granulações | Pouco | Excelente |
Caso de uso típico | Vecteurs simples, symboles | Gravações, semitransparência, imagens |
Ladrilhos vetoriais
O formato MVT (para Mapbox Vector Tiles) é uma alternativa muito poderosa aos tradicionais blocos rasterizados (PNG, JPEG). Veja por que você pode querer usá-lo no GeoWebCache / GeoServer:
Por que usar o formato MVT (Mapbox Vector Tiles)?
- Os blocos são vetoriais, não rasterizados
- Diferentemente dos blocos PNG ou JPEG, o MVT codifica a geometria e os atributos, não uma imagem.
- Resultado: ótima qualidade visual em todas as escalas (sem borrões ou pixelização quando o zoom é aumentado).
- Desempenho da rede e do cliente
- Os arquivos MVT são muito leves (geralmente menores que os PNGs).
- Menos largura de banda = carregamento mais rápido, especialmente em celulares ou 4G.
- O estilo é aplicado no lado do cliente, permitindo :
- Interação dinâmica (mudança de cor, estilo, pop-up, etc.)
- Renderização ultrarrápida (nenhuma nova solicitação do servidor para cada estilo)
- Zoom suave e em várias escalas
- Como os dados são baseados em vetores, o cliente (Leaflet, MapLibre, OpenLayers, etc.) pode :
- Adaptar dinamicamente o estilo de acordo com o nível de zoom
- Exibir mais ou menos detalhes conforme necessário
- Reutilização no lado do cliente
- Depois que os blocos de vetores forem recebidos, o cliente poderá :
- Aplicar vários estilos sem solicitar os dados novamente
- Mostrar ou ocultar camadas dinamicamente
- Oferecer interações ricas (pop-ups, rollovers, filtros dinâmicos)
Quando o MVT deve ser evitado?
- Se estiver trabalhando com um cliente que só suporta rasterização
- Se você quiser que a renderização exata seja controlada no lado do servidor
- Se você não tiver controle de estilo no lado do cliente (por exemplo, um mapa de fundo congelado para impressão)
Os casos de uso típicos do MVT podem ser resumidos da seguinte forma:
- Mapas interativos na Web (OpenLayers, MapLibre, Leaflet com plug-in)
- Exibição de vários temas com alterações de estilo em tempo real
- Navegação fluida em várias escalas
- Visualização de grandes volumes de dados vetoriais
Configuração do MVT no geoserver
O GeoServer 2.26 suporta nativamente o MVT por meio de uma extensão. Para que o formato esteja disponível na página de configuração do GeoWebCache e na guia Layer tiling, é necessário ativar o suporte para blocos vetoriais (MVT).
Se você vir application/vnd.mapbox-vector-tile na lista de camadas vetoriais em Configurações do Geowebcache, a extensão está instalada e ativada.
Caso contrário, será necessário fazer o download da extensão. No momento em que escrevo este artigo, encontrar a versão correta da extensão para a versão do Geoserver que você instalou é complicado, para dizer o mínimo.
Se você tiver a versão 2.26 do Geoserver, use este link https://sourceforge.net/projects/geoserver/files/GeoServer/2.26.2/extensions/ e procure por geoserver-2.26.x.vectortiles-plugin.zip.
Faça o download desse arquivo, descompacte-o e copie os arquivos .jar para a pasta WEB-INF/lib da instalação do Geoserver.
Verifique se o application/vnd.mapbox-vector-tile está agora disponível na lista de formatos vetoriais.
Não se esqueça de que:
-As camadas MVT não são estilizadas no GeoServer, mas no cliente da Web (por exemplo, style.json no MapLibre).
-MVTs gerenciam apenas vetores (sem imagens ou rasters).