Outdated version of the documentation. Find the latest one here.

.

QGIS com Servidor de Dados OGC

O Servidor QGIS é uma implementação WMS 1.3, WFS 1.0.0 e WCS 1 1.1.1 de código aberto que, em adição, implementam características avançadas de cartografia para mapas temáticos. O Servidor QGIS é uma aplicação FastCGI/CGI (Common Gateway Interface) escrita em C++ que funciona juntamente com um Servidor Web (ex.: Apache, Lighttpd). Foi fundado pelos Projetos EU Orchestra, Sany e a cidade de Uster na Suíça.

O servidor QGIS usa o QGIS como fundo para a lógica SIG e renderização de mapas. Além disso, a biblioteca Qt é usada para gráficos e para a programação independente C++. Em contraste com outros softwares WMS, o Servidor QGIS usa regras cartográficas como linguagem de configuração, quer na configuração do servidor quer nas regras cartográficas definidas pelo utilizador.

Uns desktop QGIS e Servidores QGIS usam as mesmas bibliotecas de visualização, os mapas que são publicados na web na mesma aparência como no SIG do desktop.

Num dos seguintes manuais iremos fornecer um exemplo de configuração para definir um Servidor | qg | . Mas, por agora, nós recomendamos que leia um dos seguintes URLs para obter mais informações:

Instalação simples no Debian Squeeze

A este ponto nós daremos um exemplo simples e curto de Como fazer uma instalação para o Debian Squeeze. Os outros SO também fornecem pacotes para o Servidor QGIS. Se tiver de construir tudo da fonte, por favor consulte os URLs em baixo.

Além do QGIS e Servidor QGIS necessita de um Servidor web, no nosso caso o apache2. Você pode instalar todos os pacotes aptitude ou apt-get install juntos com outros pacotes dependentes necessários. Depois da instalação, você deve testar se o servidor web e o Servidor QGIS funcionam como esperado. Certifique-se que o servidor apache está iniciando em /etc/init.d/apache2 start. Abra o browser da internet e digite o URL: http://localhost. Se o apache estiver funcionando, você deverá ver a mensagem ‘It works!’.

Agora nós testamos a instalação do QGIS Servidor. O qgis_mapserv.fcgi está disponível em /usr/lib/cgi-bin/qgis_mapserv.fcgi e fornece um wms padrão que mostra os limites do estado do Alaska. Adicione o WMS com o URL http://localhost/cgi-bin/qgis_mapserv.fcgi como está descrito no Selecionando os Servidores WMS/WMTS.

Figure Server 1:

../../../_images/standard_wms_usa.png

WMS padrão com os limites dos EUA incluído no Servidor QGIS (KDE) nix

Criando um WMS/WFS a partir de um projeto QGIS

Para fornecer um novo Servidor QGIS WMS, WFS or WCS nós tivemos de criar um ficheiro de projeto QGIS com alguns dados. Aqui usamos a shapefile ‘alaska’ do conjunto de dados de amostra do QGIS. Defina as cores e estilo das camadas no QGIS e defina o SRC do projeto, se não estiver definido.

Figure Server 2:

../../../_images/ows_server_definition.png

Definições para o projeto do Servidor QGIS WMS/WFS/WCS (KDE)

Em seguida vá ao menu Servidor OWS da janela Projeto ‣ Propriedades do Projeto ` e dê alguma informação sobre o OWS nos campos das :guilabel:`Capacidades do Serviço. Isto irá aparecer na resposta GetCapabilities do WMS, WFS or WCS. Se você não ativar a checkbox Capacidades do Serviço o Servidor|qg| irá usar a informação dada no arquivo wms_metadata.xml localizado na pasta cgi-bin .

Capacidades WMS

Na seção Capacidades WMS você pode definir a extensão aconselhada na resposta GetCapabilities do WMS ao introduzir os valores mínimos e máximos de X e Y nos campos da Extensão aconselhável. Clicando Usar Extensão atual do Mapa define estes valores para a extensão Atualmente exibida no enquadramento do mapa QGIS. Ao ativar checkbox Restrições SRC pode restringir os sistemas de coordenas referência (SRC) que o Servidor QGIS poderá oferecer para renderizar mapas. Use o botão mActionSignPlus em baixo para selecionar os SRC a partir do Selecionador de Sistemas de Coordenadas Referência, ou clique Usado para adicionar o SRC usado no projeto QGIS à lista.

Se você tiver um compositor de impressão definido no seu projeto, ele aparecerá na lista da resposta GetCapabilities, e podem ser usados pelo pedido GetPrint para criar impressões, usando um dos layouts do compositor de impressão como modelo. Isto é uma extensão específica do QGIS para a especificação do WMS 1.3.0. Se quiser excluir qualquer compositor de impressão de ser publicado pelo WMS, ative Excluir compositores e clique no botão em baixo mActionSignPlus. Em seguida selecione o compositor de impressão da janela Selecione o compositor de impressão de forma a adicionar ou excluir a lista de compositores.

Se você desejar excluir uma camada ou um grupo de camadas da publicação pelo WMS, ative checkbox| Excluir Camadas e clique no botão mActionSignPlus abaixo. Isto abrirá a janela Selecione camadas e grupos restritos que irá permitir escolher as camadas e grupos que não quer que sejam publicados. Use a Shift ou Ctrl se quiser selecionar múltiplas entradas de uma vez só.

Você pode receber o GetFeatureInfo solicitado como texto simples, XML e GML. O padrão é XML, texto ou formato GML depende do formato de saída escolhido para no pedido GetFeatureInfo.

Se desejar você pode ativar o checkbox Adicionar geometria à resposta de informação do elemento. Isto irá incluir na resposta GetFeatureInfo das geometrias dos elementos em formato de texto. Se quiser que o Servidor QGIS avise-o dos pedidos específicos dos URLs na resposta do GetCapabilities do WMS, introduza o URL correspondente no campo URL Anunciado. Além disso, você pode restringir o tamanho máximo dos mapas trazido pelo pedido GetMap ao introduzir a altura e largura máxima nos campos respectivos no Máximos para pedidos GetMap.

Se uma das suas camadas usa a exibição Tipo do Mapa (ou seja, para mostrar expressões de texto usandas) isso vai ser listados no interior da saída GetFeatureInfo. Se a camada usa um valor Mapa para um de seus atributos, também estas informações serão mostrados na saída GetFeatureInfo.

Capacidades WFS

Na área Capacidades WFS você pode selecionar camadas que quer fornecer ao WFS, e especificar permissões para efetuar operações para atualizar, inserir ou apagar. Se introduzir um URL no campo URL Anunciado da secção Capacidades WFS, o Servidor QGIS irá informá-lo este URL específico na resposta GetCapabilities do WFS.

Capacidades WCS

Na área Capacidades WCS você pode selecionar camadas que quer fornecer ao WCS. Se introduzir um URL no campo URL Anunciado da secção Capacidades WCS, o Servidor QGIS irá informá-lo este URL específico na resposta GetCapabilities do WCS.

Agora salve a sessão em um arquivos de projeto alaska.qgs. Para fornecer ao projeto como um WMS/WFS, nós criamos uma nova pasta /usr/lib/cgi-bin/project com privilégios de administrador e adicionamos o arquivo do projeto alaska.qgs e a cópia do arquivo do qgis_mapserv.fcgi - e é tudo.

Agora testamos o nosso projeto WMS, WFS e WCS. Adicione o WMS, WFS e WCS. como está descrito em Carregando as camadas WMS/WMTS e WFS e WFS-T Cliente ao QGIS e carregue os dados. O URL é:

http://localhost/cgi-bin/project/qgis_mapserv.fcgi

Afinando o seu OWS

Para camadas vectoriais, o menu Campos da janela Camada ‣ Propriedades permite que você defina para cada atributos se irá ser ou não publicado. Por padrão, todos os atributos são publicados pelo seu WMS ou WFS. Se quiser um atributo específico que não estiver publicado, desative a caixa correspondente na coluna WMS ou WFS.

Você pode sobrepor marcas de água sobre mapas produzidos no seu WMS adicionando anotações de texto ou anotações SVG através do arquivos de projeto. Veja sec_annotations para instruções para a criação de anotações. Para anotações exibidas como marcas de água na saída do WMS, a caixa de verificação Posição fixa do mapa na janela Anotação de texto deve estar desativada. Isto pode ser acessado através de um clique duplo na anotação enquanto que uma das ferramentas de anotação está ativa. Para as anotações SVG você necessitará de configurar o projeto para salvar os diretórios absolutos (no menu the Geral menu da janela Projeto ‣ Propriedades do Projeto ) ou modificar manualmente o diretório para a imagem SVG numa forma que represente um diretório relativo válido.

Os parâmetros extra suportados pelo pedido WMS GetMap

No pedido GetMap WMS o Servidor QGIS aceita um par de parâmetros extra em adição aos parâmetros padrão correspondendo à especificação da OGC WMS 1.3.0:

  • Parâmetro MAPA: Semelhante ao MapServer, o parâmetro MAPA pode ser usado para especificar o caminho para o ficheiro de projecto QGIS. Pode especificar um caminho absoluto ou relativo para a localização do executável do servidor (qgis_mapserv.fcgi). Se não estiver especificado, o Servidor QGIS procura por ficheiros .qgs no directório onde o executável do servidor está localizado.

    Exemplo:

    http://localhost/cgi-bin/qgis_mapserv.fcgi?\
      REQUEST=GetMap&MAP=/home/qgis/mymap.qgs&...
  • Parâmetro DPI : O parâmetro DPI pode ser usado para especificar o pedido de saída da resolução.

    Exemplo:

    http://localhost/cgi-bin/qgis_mapserv.fcgi?REQUEST=GetMap&DPI=300&...
  • Parâmetro OPACIDADE: A opacidade pode se definida numa camada ou ao nível do grupo. O intervalo de valores permitido vai de 0 (totalmente trasnaprente) a 255 (totalmente opaco).

    Exemplo:

    http://localhost/cgi-bin/qgis_mapserv.fcgi?\
      REQUEST=GetMap&LAYERS=mylayer1,mylayer2&OPACITIES=125,200&...

QGIS registro no servidor

Para registrar as solicitações de enviar ao servidor, defina as seguintes variáveis de ambiente:

  • ** QGIS_SERVER_LOG_FILE **: Especifique o caminho e o nome do arquivo. Certifique-se de que o servidor tem permissões adequadas para escrever no arquivo. Arquivo deve ser criado automaticamente, basta enviar algumas solicitações ao servidor. Se ele não estiver lá, verifique as permissões.

  • ** QGIS_SERVER_LOG_LEVEL **: Especifique o nível de log desejado. Os valores disponíveis são:

    • 0 INFO (log todos os pedidos),

    • 1 AVISO,

    • 2 CRÍTICO (log apenas erros críticos, adequado para fins de produção).

    Exemplo:

    SetEnv QGIS_SERVER_LOG_FILE /var/tmp/qgislog.txt
    SetEnv QGIS_SERVER_LOG_LEVEL 0

** Nota **

  • Ao usar o módulo Fcgid usar FcgidInitialEnv em vez de SetEnv!

  • Servidor de registro está habilitado também se executável é compilado no modo release.

Variáveis ambientais

  • ** QGIS_OPTIONS_PATH **: A variável especifica o caminho para o diretório com as configurações. Ele funciona da mesma forma opção –optionspath aplicação QGIS como. Ele está à procura de arquivo de configurações em <QGIS_OPTIONS_PATH> /QGIS/QGIS2.ini. Para exaple, para definir servidor QGIS em Apache para usar o arquivo de configurações /path/to/config/QGIS/QGIS2.ini, adicione a configuração do Apache:

    SetEnv QGIS_OPTIONS_PATH "/path/to/config/"