Serviços disponíveis com o GeoWebCache (GWC) no GeoServer
O GeoServer, como 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 os blocos de mapas.
Dois pontos de entrada principais: /ows e /gwc
1-O ponto de entrada /ows
O caminho /ows é uma interface genérica de vários serviços no GeoServer. Ele permite que as solicitações de diferentes serviços OGC sejam centralizadas por meio de um único URL. Isso facilita a integração com clientes da Web, como o OpenLayers ou o Leaflet. Os serviços acessíveis por meio desse ponto de entrada são:
- WMS (Web Map Service): para a produção de mapas rasterizados dinâmicos.
- WFS (Web Feature Service): para visualização e edição de dados vetoriais.
- WCS (Web Coverage Service): para acessar dados rasterizados multidimensionais (como séries temporais ou imagens brutas de satélite).
2-O ponto de entrada /gwc
Esse ponto de acesso é dedicado aos serviços de blocos, gerenciados pelo GeoWebCache, e é usado principalmente para melhorar a velocidade de carregamento do mapa por meio da pré-geração e do armazenamento de blocos. Há três serviços disponíveis:
- WMS-C (WMS-Cached): uma versão do WMS otimizada pelo armazenamento em cache.
- TMS (Tile Map Service): um protocolo simples para acessar blocos usando uma estrutura de URL hierárquica.
- WMTS (Web Map Tile Service): um serviço padronizado da OGC para distribuição de blocos de mapas. Ele é ativado por padrão no GeoServer e é o serviço mais adequado para clientes modernos, como OpenLayers 3+, QGIS ou Leaflet com plug-in.
Essa operação modular e otimizada significa que o GeoServer pode ser adaptado a uma variedade de casos de uso, desde a renderização cartográfica tradicional até o fornecimento de blocos rápidos para aplicativos interativos da Web.
Por que usar os serviços padrão da OGC (WMS, WFS, WCS, WMTS, etc.)?
1-Interoperabilidade
Os serviços do OGC (Open Geospatial Consortium) são internacionalmente reconhecidos e interoperáveis: isso significa que podem ser usados com vários clientes, como QGIS, ArcGIS, OpenLayers, Leaflet, MapServer, etc., sem nenhuma configuração específica.
Isso facilita a troca de dados entre organizações, pacotes de software ou países.
2-Padronização e documentação
Os serviços OGC têm especificações precisas e bem documentadas, o que reduz as surpresas da integração.
Por exemplo, uma versão 1.3.0 do WMS funcionará onde quer que esse protocolo seja suportado.
3-Durabilidade
Um formato padrão é mais durável ao longo do tempo. Mesmo que sua ferramenta mude, você poderá continuar a usar os serviços com outras soluções.
Por que não usar (ou complementar com) serviços fora do padrão?
Desempenho
Os serviços padrão da OGC costumam ser mais prolixos e menos eficientes do que as soluções internas ou proprietárias.
Por exemplo, algumas empresas preferem distribuir blocos por meio de TMS simples (não padronizado pela OGC) ou até mesmo por meio de CDN para obter o melhor desempenho no front-end da Web.
Simplicidade ou necessidades específicas
Para um aplicativo móvel ou da Web altamente direcionado, você pode preferir uma API REST ou um serviço de bloco personalizado, que é mais fácil de manusear do que o WMTS ou o WFS.
Controle sobre a estrutura
Um serviço personalizado pode oferecer mais controle sobre o formato dos dados (GeoJSON simplificado, formatos otimizados para dispositivos móveis, etc.) do que as respostas OGC tradicionais.
A boa prática geralmente envolve a combinação dos dois: usar serviços OGC para intercâmbios entre aplicativos, publicação de dados oficiais e integração de GIS, e usar serviços não padronizados para o front-end da Web, APIs REST ou publicação rápida de blocos.
Configuração dos serviços do GeoWebCache

A seção GWC Provided Services permite ativar/configurar os vários serviços de cache.
1-Ativar a integração direta com o WMS
Você sabia que pode interceptar solicitações WMS diretamente com o GWC, sem sequer chamar o mecanismo WMS do GeoServer? Isso é possível graças à opção “Enable direct WMS integration” (Ativar integração direta de WMS). Veja a seguir por que (e quando) usá-la.
O que é a integração direta com o WMS?
Quando essa opção está ativada, o GeoWebCache captura as solicitações de WMS (como o clássico GetMap) antes que elas cheguem ao GeoServer. O GWC responde diretamente com blocos em cache, sem usar o mecanismo de renderização do WMS. O resultado: um ganho líquido no desempenho!
É como colocar um guarda de segurança na entrada do GeoServer para dizer: “Não precisa incomodar o chefe, já tenho o que você precisa em estoque”.
Por que ativá-lo?
- Desempenho aprimorado: não há necessidade de gerar cada imagem WMS em tempo real. Os blocos são servidos instantaneamente a partir do cache.
- Alívio do servidor: útil para ambientes de alta carga com muitas conexões ou solicitações simultâneas.
- Compatibilidade total: os clientes tradicionais (QGIS, Leaflet, OpenLayers, etc.) continuam a usar o WMS normalmente, sem perceber a diferença.
Quando não ativá-la?
Há casos em que essa otimização se torna um obstáculo:
- Se você usar parâmetros dinâmicos em suas solicitações (por exemplo, CQL_FILTER, viewparams ou outros filtros do lado do cliente), o cache não poderá antecipá-los.
- Se a camada for atualizada com muita frequência e você precisar de dados atualizados para cada solicitação, o cache se tornará um problema.
- Se for necessário desativar o cache para determinados usuários ou contextos específicos.
Para resumir
Opção ativada | Opção desativada |
---|---|
O WMS é executado pelo GWC | O WMS é executado pelo GeoServer |
Mais rápido | Mais flexível |
Para camadas estáveis | Para dados dinâmicos |
Teste o desempenho com e sem essa opção, dependendo de seus casos de uso. Em bases estáveis, essa simples caixa de seleção pode revolucionar os tempos de resposta de seus serviços WMS.
2 – Exigir explicitamente o uso do parâmetro TILED
Nas configurações avançadas do GeoServer, há uma opção frequentemente ignorada, mas muito útil: “Explicitly require the use of the TILED parameter” (Exigir explicitamente o uso do parâmetro TILED). Isso proporciona um controle mais preciso sobre quando o GeoWebCache (GWC) deve intervir para fornecer blocos pré-gerados nas respostas do WMS. Veja a seguir por que (e como) usá-lo de forma eficaz.
O problema: blocos ou imagem dinâmica?
Alguns aplicativos clientes (como QGIS, OpenLayers ou visualizadores personalizados) fazem solicitações WMS da maneira tradicional, sem o parâmetro TILED=true. Nesse caso, o GeoServer hesita: ele deve servir uma imagem dinâmica gerada em tempo real ou retornar um bloco do cache que já está disponível?
Isso pode levar a
- Inconsistências de exibição (estilos mistos, níveis de zoom imprecisos),
- Problemas de desempenho se a imagem dinâmica for calculada desnecessariamente,
- Resultados visuais inesperados, especialmente quando sobrepostos a outras camadas.
A solução: forçar o uso explícito de TILED=true
Ao marcar essa opção na configuração de sua camada no GeoServer:
- O GeoServer só usará o GeoWebCache se a solicitação contiver TILED=true.
- Caso contrário, ele gerará uma imagem WMS padrão em tempo real, como se o cache não existisse.
Isso proporciona:
- Maior consistência visual: não há mistura de renderização em mosaico e rasterização dinâmica.
- Melhor controle do cliente: somente os clientes que sabem como gerenciar blocos recebem blocos.
- Lógica mais previsível no lado do servidor.
Quando você deve usar essa opção?
Use se…Evite se…Você tem um cache em produção, mas uma variedade de clientes WMS (alguns sem TILED=true)Você deseja maximizar o desempenho sem se preocupar com TILED=trueVocê observou bugs de renderização vinculados à mistura de raster/tileTodos os seus clientes usam o cache com TILED=trueVocê precisa manter a renderização clássica do WMS para determinados usos dinâmicosVocê prioriza o desempenho em detrimento da flexibilidade.
Use se… | Evite se… |
---|---|
Você tem um cache em produção, mas uma variedade de clientes WMS (alguns sem TILED=true) | Você deseja maximizar o desempenho sem se preocupar com TILED=true |
Você observou bugs de renderização vinculados à mistura de raster/tile | Todos os seus clientes usam o cache com TILED=true |
Você precisa manter a renderização clássica do WMS para determinados usos dinâmicos | Você prioriza o desempenho em detrimento da flexibilidade. |
Em poucas palavras
Ativar a opção “Requires TILED=true” no GeoServer significa escolher clareza e controle em vez de “tudo automático”. Essa é uma opção muito útil em ambientes mistos, em que nem todos os clientes têm o mesmo nível de sofisticação no gerenciamento do cache de mosaico.
3 – Ativação do serviço WMS-C
O GeoServer oferece várias maneiras de distribuir mapas pela Web. Uma das mais eficazes é o serviço WMS-C (Web Map Service – Cached). Essa é uma extensão do WMS clássico que usa o GeoWebCache para distribuir rapidamente blocos pré-gerados. O resultado é uma renderização mais rápida, menos carga no servidor e uma melhor experiência do usuário.
Os benefícios do WMS-C
- Velocidade: como os blocos já foram gerados, o mapa é exibido imediatamente.
- Otimização em vários níveis: cada nível de zoom é pré-calculado.
- Economia de recursos: menos carga no mecanismo do GeoServer WMS.
Como funciona?
Solicitação WMS clássica:
/geoserver/ows?service=WMS&request=GetMap&layers=layer_name...
Solicitação WMS-C com cache :
/geoserver/gwc/service/wms?service=WMS&request=GetMap&layers=layer_name…&TILED=true
É o parâmetro TILED=true e o URL do GWC que acionam o uso de blocos.
Quando o WMS-C deve ser ativado?
- Se você usar clientes compatíveis com blocos (Leaflet, OpenLayers, etc.).
- Se você tiver ativado o GeoWebCache.
- Para melhorar o desempenho em camadas minimamente modificadas.
- Se você usar clientes compatíveis com blocos (Leaflet, OpenLayers, etc.).
- Se você tiver ativado o GeoWebCache.
- Para melhorar o desempenho em camadas minimamente modificadas.
E quanto à “integração direta com o WMS”?
Aparentemente, “Ativar integração direta com WMS” e “Ativar serviço WMS-C” podem parecer redundantes, mas têm funções muito distintas no GeoWebCache.
OptionRoleQuando usá-la? Ativar a integração direta com WMSO GeoWebCache intercepta solicitações WMS padrão (GetMap) e as atende por meio do cache, mesmo que não sejam explícitas.Se você quiser acelerar os serviços WMS existentes sem modificar os clientes.Ativar o serviço WMS-CAtive um serviço WMS-C separado, que requer solicitações explícitas com TILED=true.Se você estiver usando um cliente GIS compatível com WMS-C e que envia as solicitações corretas.
Option | Role | Quando usá-la? |
---|---|---|
Ativar a integração direta com WMS | O GeoWebCache intercepta solicitações WMS padrão (GetMap) e as atende por meio do cache, mesmo que não sejam explícitas | Se você quiser acelerar os serviços WMS existentes sem modificar os clientes |
Ativar o serviço WMS-C | Ative um serviço WMS-C separado, que requer solicitações explícitas com TILED=true | Se você estiver usando um cliente GIS compatível com WMS-C e que envia as solicitações corretas. |
Em poucas palavras:
- A integração direta com o WMS é transparente para os clientes.
- O serviço WMS-C é útil se você controlar as solicitações do lado do cliente.
Para obter o melhor desempenho, considere ativar as duas opções se os seus casos de uso permitirem. Isso garante a compatibilidade com clientes GIS recentes e aproveita o cache existente no lado do cliente sem nenhuma alteração.
4 – Ativar o serviço TMS
O TMS (Tile Map Service) é um protocolo de mosaico raster amplamente usado para distribuição de mapas em aplicativos clientes, como OpenLayers, Leaflet e outros visualizadores de mapas. Ele permite dividir uma imagem rasterizada em pequenos blocos para uma visualização rápida e fluida, o que é particularmente útil para aplicativos da Web. Se você usa o GeoServer para gerenciar seus dados geoespaciais, a ativação desse serviço TMS permite que você disponibilize seus blocos para esses aplicativos.
O que é o serviço TMS?
O serviço TMS baseia-se em um protocolo simples que define como os blocos devem ser organizados e acessados por meio de um URL estruturado. Por exemplo, uma solicitação de TMS no GeoServer pode ter a seguinte aparência:
http://localhost:8080/geoserver/gwc/service/tms/1.0.0/{workspace}:{layer}@EPSG:4326@png/{z}/{x}/{y}.png
Aqui, as variáveis {workspace}, {layer}, {z}, {x} e {y} representam respectivamente o espaço de trabalho, a camada de dados e as coordenadas do bloco em diferentes níveis de zoom (z), longitude (x) e latitude (y). Esse tipo de solicitação geralmente é usado para carregar blocos rasterizados (geralmente no formato PNG) de um cache gerado pelo GeoWebCache, uma extensão do GeoServer que permite que os blocos sejam gerenciados com eficiência.
Por que ativar o serviço TMS?
Há vários motivos pelos quais você pode querer ativar o serviço TMS na instância do GeoServer:
- Para servir blocos a um aplicativo da Web habilitado para TMS: se você estiver usando uma biblioteca como OpenLayers ou Leaflet, que suporta o protocolo TMS, a ativação desse serviço simplifica a integração e a exibição de mapas.
- Um serviço mais simples que o WMTS: ao contrário do WMTS (Web Map Tile Service), que exige certo formalismo (como a definição da estrutura do mapa em um arquivo GetCapabilities e o gerenciamento de camadas), o serviço TMS é muito mais simples de configurar e usar. Não é necessário especificar informações complexas; uma simples solicitação HTTP é tudo o que você precisa.
- Uso do GeoWebCache para armazenar blocos em cache: se você já gerou um cache de blocos usando o GeoWebCache, a ativação do serviço TMS permite que você torne esse cache acessível por meio do protocolo TMS, otimizando o desempenho da exibição.
Quando o serviço TMS deve ser ativado?
A ativação do serviço TMS pode fazer sentido em vários casos específicos:
- Se você quiser distribuir blocos para aplicativos da Web usando o TMS: isso é ideal se você trabalha com visualizadores de mapas simples, como o OpenLayers, que aceitam esse formato de bloco.
- Quando você prefere uma solução mais leve e rápida: se o seu objetivo é simplificar o serviço de mapeamento sem a complexidade das especificações do WMTS, o TMS é a solução ideal.
- Se você já gerou um cache por meio do GeoWebCache: se você dedicou tempo para criar um cache de blocos, a ativação do serviço TMS permitirá que você aproveite esse cache e o torne facilmente acessível.
Diferença entre TMS, WMTS e WMS-C
TMS, WMTS e WMS-C (Web Map Service-Cached) são todos métodos de distribuição de mapas na forma de blocos, mas cada um tem seus próprios recursos específicos:
- TMS: essa é uma solução simples para distribuir blocos por meio de um URL bem estruturado. É usado principalmente com bibliotecas como OpenLayers e Leaflet. O TMS é mais flexível, mas menos formal do que o WMTS. Ele não exige um arquivo de especificação complexo como o WMTS, o que pode simplificar seu uso em projetos menores ou menos complexos.
- WMTS: Ao contrário do TMS, o WMTS é um padrão mais estruturado que define com precisão os blocos e sua organização. Ele requer um arquivo GetCapabilities para descrever a estrutura do mapa, os formatos e as resoluções disponíveis. O WMTS é ideal para aplicativos em que é necessário um serviço mais robusto e compatível com os padrões.
- WMS-C: essa é a versão em cache do Web Map Service (WMS). Embora ofereça renderização dinâmica de mapas, o WMS-C pode servir imagens em cache em resposta a solicitações, como o TMS. Entretanto, ao contrário do TMS, ele continua baseado no protocolo WMS, que pode ser mais complicado em termos de gerenciamento de solicitações e renderização.
A ativação do serviço TMS no GeoServer é uma solução prática para os usuários que desejam integrar facilmente blocos rasterizados em seus aplicativos da Web usando protocolos como OpenLayers ou Leaflet. É particularmente útil se você estiver procurando uma solução leve e rápida ou se já tiver configurado um cache de blocos com o GeoWebCache. Em comparação com o WMTS e o WMS-C, o serviço TMS oferece maior flexibilidade e configuração simplificada, ideal para projetos menos complexos.
5 – Habilitando a segurança dos dados
A segurança dos dados é um aspecto crucial de qualquer aplicativo geoespacial. No GeoServer, especialmente a partir da versão 2.26, a opção “Enable data security” (Ativar segurança de dados) nas configurações do GeoWebCache permite reforçar a proteção dos blocos em cache aplicando filtros de segurança com base nas permissões do usuário. Isso garante que somente pessoas autorizadas possam acessar determinados dados geoespaciais, mesmo que tenham sido armazenados em cache para acesso rápido.
O que exatamente essa opção faz?
Quando ativada, essa opção permite que o GeoWebCache respeite as regras de segurança definidas no GeoServer. Em termos práticos, isso significa que :
- Respeitar as regras de segurança das camadas: a GeoWebCache aplicará as regras de segurança das camadas configuradas no GeoServer. Por exemplo, se uma camada tiver restrições de acesso com base em funções ou grupos, o GeoWebCache só enviará blocos para usuários autorizados a visualizar essa camada.
- Filtragem de blocos em cache: a GeoWebCache só servirá blocos em cache para usuários que tenham os direitos necessários para acessar a camada correspondente. Portanto, mesmo que tenham sido gerados blocos para uma camada, eles não estarão disponíveis para usuários não autorizados.
Por que essa opção é importante?
Por padrão, sem essa segurança ativada, os blocos gerados pelo GeoWebCache são acessíveis a qualquer pessoa, o que pode causar problemas de confidencialidade. Por exemplo, um usuário não autorizado poderia adivinhar a URL de um bloco e acessá-lo, contornando assim as restrições aplicadas no nível do GeoServer.viner l’URL d’une tuile et y accéder, contournant ainsi les restrictions appliquées au niveau de GeoServer.
Ao ativar a opção “Ativar segurança de dados”, você obtém vários benefícios importantes:
- Proteção de dados confidenciais: você evita que informações confidenciais ou restritas sejam acessadas por meio de blocos em cache. Isso impede, por exemplo, que um usuário não autorizado adivinhe o URL de um bloco e o consulte, apesar das restrições da camada no GeoServer.
- Respeito às permissões do WMS/WFS: ao ativar essa segurança, você garante que as permissões definidas pelo Gerenciador de Segurança do GeoServer (grupos, funções etc.) sejam respeitadas. Isso garante que somente as pessoas com os direitos apropriados possam visualizar os blocos em camadas protegidas.
Em resumo
A opção “Enable data security” (Ativar segurança de dados) no GeoWebCache é um recurso essencial para garantir que os blocos em cache não possam ser acessados por usuários não autorizados. Ela protege os dados confidenciais, respeitando as configurações de segurança definidas no GeoServer e garantindo que somente as pessoas com as permissões corretas possam acessar os blocos. Isso acrescenta uma camada importante de segurança, especialmente quando dados geoespaciais confidenciais são disponibilizados na Web.