Alojamento GeoServer: as suas camadas online sem servidor

Publicado a 11 min de leitura

Este guia destina-se a técnicos SIG, gabinetes de estudos e autarquias que querem publicar camadas em WMS ou WFS sem se tornarem administradores de sistemas. Compara o alojamento GeoServer próprio com o gerido e mostra como publicar uma primeira camada e consumi-la no QGIS.

Porquê publicar com o GeoServer

O GeoServer é um servidor de mapas livre, escrito em Java, que publica dados geográficos segundo as normas do OGC: WMS para imagens de mapa, WFS para entidades vetoriais, WCS para rasters e WMTS para mosaicos. Lê ficheiros (Shapefile, GeoPackage, GeoTIFF) e bases de dados, incluindo PostGIS, e aplica estilos SLD.

O seu interesse está nas normas: uma camada publicada pelo GeoServer é apresentada no QGIS, Lizmap, ArcGIS, Leaflet ou OpenLayers sem conversão. Por isso é uma escolha comum para partilhar dados com parceiros, alimentar uma aplicação web ou cumprir uma obrigação de difusão. Se ainda hesita entre servidores, leia a nossa comparação GeoServer, MapServer ou QGIS Server.

Os casos de uso mais comuns

Antes de falar de alojamento GeoServer, vale a pena precisar para que vai servir o servidor. As necessidades reais determinam a dimensão, os serviços a abrir e o nível de segurança. Estas são as situações mais frequentes em gabinetes de estudos, autarquias e projetos de cooperação.

  • Difundir dados de referência a parceiros. Limites administrativos, rede viária, zonamentos: uma camada WMS ou WFS estável evita enviar ficheiros por correio eletrónico a cada atualização, e todos veem a mesma versão.
  • Alimentar uma aplicação web. Uma aplicação Leaflet ou OpenLayers desenvolvida internamente lê as camadas em WMS para visualizar e em WFS para as fichas de informação, sem guardar ela própria os dados.
  • Cumprir uma obrigação de difusão. Muitos programas de dados abertos e infraestruturas nacionais exigem serviços conformes às normas OGC; o GeoServer fornece-os sem desenvolvimento.
  • Partilhar rasters volumosos. Ortofotos, modelos digitais de terreno ou cartas digitalizadas consultam-se em WMS ou WMTS sem que o utilizador descarregue gigabytes.
  • Complementar um portal Lizmap. Um serviço do GeoServer pode ser adicionado a um projeto QGIS e aparece no mapa publicado com o LizPack Map como qualquer outra camada.

Se a sua necessidade se limita a publicar um mapa construído no QGIS, com os seus estilos e composições, um portal Lizmap servido pelo QGIS Server é muitas vezes mais direto. O GeoServer faz todo o sentido quando as camadas têm de viver independentemente de um projeto e ser consumidas por ferramentas variadas. Aliás, os dois combinam-se muito bem: um portal para o público em geral, serviços GeoServer para os parceiros técnicos, alimentados pela mesma base PostGIS, sem cópias de dados nem dupla atualização.

O que exige um GeoServer próprio

Instalar o GeoServer está documentado e ao alcance de um técnico. Mantê-lo em produção exige mais, e de forma contínua:

  • Um ambiente Java compatível com a versão do GeoServer escolhida, e um contentor de servlets se não usar o pacote autónomo.
  • Memória. O GeoServer precisa de vários gigabytes quando as camadas e os utilizadores aumentam; afinar a memória Java e a cache de mosaicos faz parte do trabalho.
  • Um nome de domínio e um certificado HTTPS, renovado a tempo, com um proxy inverso à frente da aplicação.
  • A segurança: alterar a palavra-passe de administrador predefinida, não expor a consola de administração a toda a Internet, definir permissões por espaço de trabalho.
  • As atualizações. O GeoServer publica regularmente versões corretivas, algumas das quais fecham falhas graves. O nosso guia proteger e atualizar o GeoServer explica porque é decisivo.
  • A monitorização e as cópias de segurança do diretório de dados, dos estilos e da base.

Instalar o GeoServer por conta própria: os grandes passos

Para medir o esforço real, eis o percurso típico de uma instalação em produção num servidor Linux. Cada passo está documentado em geoserver.org; o que leva tempo é encadeá-los e mantê-los.

  1. Alugar ou preparar uma máquina com memória suficiente para o GeoServer e para o sistema, e um disco separado ou com cópia de segurança para os dados.
  2. Instalar a versão de Java indicada na documentação da versão do GeoServer escolhida e verificar que nenhuma outra versão se sobrepõe.
  3. Instalar o GeoServer, seja com o pacote autónomo que inclui o seu próprio servidor web, seja como arquivo WAR num contentor de servlets.
  4. Colocar o diretório de dados fora da pasta de instalação, indicando-o com a variável GEOSERVER_DATA_DIR, para que uma atualização não o apague.
  5. Ajustar a memória atribuída ao Java em função da máquina, reiniciar e verificar a página de estado da consola.
  6. Colocar um proxy inverso à frente do GeoServer, com um nome de domínio e um certificado HTTPS renovado automaticamente, e indicar ao GeoServer o seu endereço público para que os GetCapabilities devolvam os endereços certos.
  7. Substituir as credenciais predefinidas (admin e geoserver), criar contas nominativas e fechar o acesso público à consola.
  8. Programar cópias de segurança do diretório de dados e da base, e uma monitorização que avise quando o serviço deixar de responder.

Conte com um a vários dias para uma primeira instalação limpa e depois algumas horas por mês para atualizações, monitorização e incidentes. Esse tempo é o verdadeiro custo do alojamento próprio, muito mais do que o preço da máquina.

Alojamento GeoServer: próprio ou gerido

AspetoGeoServer próprioGeoServer Cloud (LizPack)
Servidor e JavaAlugar, instalar e dimensionar por si.Nada a instalar: o GeoServer é instalado, protegido e monitorizado pela LizPack.
AtualizaçõesAcompanhar e aplicar por si.Asseguradas pela LizPack.
AcessoAdministrador completo da máquina.O seu espaço de trabalho isolado e a consola GeoServer habitual, sem acesso ao servidor.
DadosTodos os formatos e fontes que configurar.Shapefile (arquivo ZIP), GeoPackage e GeoTIFF enviados a partir do painel, e tabelas de uma base PostGIS LizPack ligada.
ServiçosOs que ativar.WMS, WFS, WCS e WMTS, cada um com o seu endereço.
CustoServidor e tempo de administração.Gratuito até 200 MB e 10 camadas; acima disso, orçamento conforme os seus volumes.

O alojamento próprio continua a ser a escolha certa se precisar de extensões específicas do GeoServer, de acesso completo ao servidor ou de volumes muito grandes. A LizPack não substitui o GeoServer: aloja-o e mantém-no. Para manter o controlo da máquina, a edição LizPack Entreprise instala o GeoServer na sua infraestrutura.

Publicar a sua primeira camada

Com o GeoServer Cloud, a publicação segue quatro passos, sem linha de comandos:

  1. No painel da LizPack, abra o GeoServer Cloud: o seu espaço isolado é criado de imediato.
  2. Envie um Shapefile comprimido em ZIP, um GeoPackage ou um GeoTIFF. Se os seus dados estiverem numa base PostgreSQL e PostGIS da LizPack, ligue-a ao seu espaço com um clique.
  3. Publique a camada em WMS, WFS ou WMTS e escolha o estilo na consola do GeoServer.
  4. Copie o endereço do serviço para o usar nas suas ferramentas.

Se os seus dados estão em PostGIS, o guia publicar PostGIS em WMS e WFS com o GeoServer descreve passo a passo o armazém, a camada, o estilo SLD e o teste no QGIS. Antes de publicar, dê nomes simples às suas camadas (minúsculas, sem espaços nem acentos): esse nome aparecerá nos endereços dos serviços e no software dos seus utilizadores, e alterá-lo mais tarde obriga todos a reconfigurar as ligações. Verifique também que a projeção dos seus dados está declarada: um ficheiro sem projeção conhecida publica-se mal, ou aparece no sítio errado.

Consumir o serviço no QGIS, Lizmap ou na web

Depois de publicada, a camada tem um endereço de serviço por norma. No QGIS, abra o gestor de fontes de dados, separador WMS/WMTS ou WFS, crie uma ligação com esse endereço e adicione a camada.

  • QGIS: WMS para visualizar, WFS para consultar ou exportar as entidades.
  • Lizmap: adicione o serviço ao seu projeto QGIS e publique o projeto; a camada aparece como as outras.
  • Leaflet, OpenLayers, ArcGIS: qualquer cliente que leia as normas OGC apresenta as suas camadas.
  • Mosaicos WMTS: a cache de mosaicos integrada acelera as camadas mais consultadas.

Prefira WMTS ou WMS para um mapa público, e WFS quando o utilizador precisar dos atributos ou da geometria.

Para partilhar uma camada com um parceiro, envie-lhe o endereço GetCapabilities do serviço em vez de uma captura ou de uma exportação: verá sempre a versão mais recente dos dados, e o seu software saberá listar sozinho as camadas disponíveis, as projeções e os estilos.

Erros frequentes e como os corrigir

Quer o GeoServer esteja nas suas instalações quer esteja alojado, as mesmas dificuldades surgem ao publicar ou consumir uma camada. A maioria resolve-se em minutos depois de identificada a causa.

SintomaCausa provávelSolução
A camada está publicada mas não aparece no mapaExtensão não calculada ou sistema de coordenadas em falta.Recalcular as extensões na página da camada e declarar o SRID correto.
As entidades aparecem deslocadas ou invertidasOrdem dos eixos em latitude e longitude para EPSG:4326 nas versões recentes do WFS.Pedir outra projeção, ou uma versão do WFS adequada ao cliente.
O Shapefile enviado é recusadoArquivo incompleto: falta o .shx, o .dbf ou o .prj.Comprimir juntos todos os ficheiros do Shapefile num único ZIP.
Os acentos aparecem malCodificação dos atributos mal declarada.Indicar a codificação do Shapefile, ou passar para GeoPackage, que evita o problema.
Uma aplicação web não lê o serviçoO navegador bloqueia o pedido entre domínios (CORS), ou a página está em HTTPS e o serviço em HTTP.Usar o endereço HTTPS do serviço e autorizar o domínio da aplicação.
O mapa é muito lentoEstilo pesado, índice espacial em falta, sem cache.Simplificar o estilo, indexar a tabela, servir a camada em WMTS.

Um reflexo útil: teste sempre a camada na pré-visualização da consola do GeoServer antes de culpar o cliente. Se a pré-visualização funcionar, o problema está no endereço, na projeção ou nas permissões do lado do cliente; caso contrário, está na própria publicação.

Dimensionar o GeoServer e pensar a longo prazo

Antes de escolher, estime o que vai realmente publicar. Três fatores pesam mais do que o número de utilizadores: o tipo de dados, o número de camadas e a forma como são consultadas. Uma camada vetorial de alguns milhares de entidades servida em WMS custa pouco. Um mosaico de ortofotos de vários gigabytes, consultado em todas as escalas, exige memória, disco rápido e uma cache de mosaicos bem afinada. Um WFS aberto sobre uma tabela grande pode saturar sozinho o servidor se um cliente pedir todas as entidades de uma vez.

  • Rasters pesados: prefira GeoTIFF em mosaico e com vistas gerais (pirâmides), que se leem muito mais depressa do que uma imagem em bruto.
  • Camadas muito consultadas: sirva-as em WMTS a partir da cache de mosaicos, em vez de WMS recalculado a cada pedido.
  • Tabelas grandes: guarde-as no PostGIS, com um índice espacial, em vez de ficheiros Shapefile.
  • Crescimento: acompanhe o volume de dados e o número de camadas publicadas; é isso que faz passar de uma oferta gratuita a um orçamento, ou de um servidor pequeno a um maior.
  • Tempo de resposta: um mapa que demora vários segundos a aparecer indica quase sempre um estilo demasiado pesado, um índice em falta ou ausência de cache, raramente falta de potência.

Pense também na saída desde o início. O GeoServer assenta em elementos normalizados: ficheiros de dados ou uma base PostgreSQL, estilos SLD, serviços com endereços OGC. Se mudar de alojamento, exporta os dados e os estilos, recria as camadas e comunica os novos endereços aos utilizadores. Guarde portanto uma cópia dos seus estilos SLD e uma lista das camadas publicadas, seja qual for o fornecedor. Com o GeoServer Cloud, os dados que envia continuam a ser seus, e uma base PostgreSQL e PostGIS recupera-se com as ferramentas habituais do PostgreSQL.

Que opção escolher

Se publica algumas dezenas de camadas sem extensões particulares, um alojamento gerido poupa-lhe o servidor, o Java, o certificado e a vigilância de segurança. Mantém um GeoServer normal: os seus estilos SLD e endereços de serviço continuam válidos noutro lado. Faça três perguntas simples: quantas camadas e gigabytes vai publicar dentro de um ano, quem na equipa saberia atualizar o servidor com urgência e que extensões lhe são indispensáveis. Se as respostas forem poucas, ninguém e nenhuma, o alojamento gerido é a escolha sensata.

Se o GeoServer é o centro de uma infraestrutura de dados pesada, com uma equipa de sistemas, o alojamento próprio justifica-se. Para comparar o custo total, veja o nosso guia sobre o custo de um SIG web open source e, para a visão de conjunto, o que faz a LizPack.

Perguntas frequentes

Como alojar o GeoServer sem servidor?

Use um alojamento gerido como o GeoServer Cloud: o GeoServer é instalado, protegido e atualizado por si. Publica as suas camadas a partir do painel e da consola do GeoServer, sem alugar nem administrar uma máquina.

O GeoServer Cloud é gratuito até 200 MB de dados e 10 camadas publicadas para qualquer conta LizPack. Acima disso, é feito um orçamento conforme os seus volumes.

De um ambiente Java compatível, de memória (vários gigabytes em produção), de um certificado HTTPS e de um acompanhamento das atualizações de segurança.

Sim. A base PostGIS de uma instância LizPack Map liga-se ao seu espaço com um clique, e as suas tabelas podem ser publicadas como camadas.

Sim. Os serviços seguem as normas OGC: qualquer cliente que leia WMS, WFS ou WMTS apresenta as suas camadas.

Soluções citadas

Todos os guias

Pronto para implementar?

Avaliação gratuita de 30 dias, sem compromisso e sem cartão bancário.