Publicação de um projeto QGIS
Índice
QGIS Server
O QGIS Server já vem instalado na distribuição OSGeo Live 9.
Escolhendo no menu Geospatial → Web Services → QGIS Server o browser é aberto com um cliente web que mostra uma mapa preparado pelo QGIS Server.
Usando as ferramentas do programador no browser, repare que os pedidos GetMap são feitos ao serviço http://localhost/cgi-bin/qgis_mapserv.fcgi.
Um pedido completo é algo como:
http://localhost/cgi-bin/qgis_mapserv.fcgi?map=/usr/local/share/qgis/QGIS-NaturalEarth-Example.qgs& LAYERS=HYP_50M_SR_W%2Cne_10m_lakes%2Cne_10m_rivers_lake_centerlines&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=& EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fjpeg&SRS=EPSG%3A4326& BBOX=-16.875,28.125,-11.25,33.75&WIDTH=256&HEIGHT=256
Se porventura já atualizou o OSGeo Live, pode-lhe aparecer os famosos tiles cor de rosa. Tem que reinstalar o QGIS Server com:
sudo apt-get install qgis-server libapache2-mod-fcgid sudo a2enmod cgid sudo service apache2 restart
Antes de avançar, certifique-se que tem o QGIS Server a funcionar.
QGIS Client
Depois de confirmar que tem o QGIS Server a correr, vamos instalar o QGIS Client. Na verdade, o QGIS Server pode ser utilizado com qualquer cliente WMS. No entanto, a dupla QGIS Server e QGIS Client permitem-nos muito facilmente publicar na web um projeto desenvolvido no QGIS (Desktop).
O workflow que vamos usar é muito simples:
- Instalar e confirmar o bom funcionamento do QGIS Server
- Instalar e confirmar o bom funcionamento do QGIS Client
- Desenvolver projetos no QGIS e copiar para uma determinada pasta. Automagicamente os projetos ficam disponíveis na web. Sempre que necessário, fazemos alterações aos projetos e voltamos a copiá-los para a pasta do servidor.
Vamos então instalar o QGIS Client.
Preparação
A nossa máquina virtual OSGeo Live vai ser utilizada como servidor. Para os projetos publicados com o QGIS Client, vamos criar um alias (um sinónimo) para a máquina localhost:
sudo medit /etc/hosts
Acrescente a linha:
127.0.0.1 qgisserver.localhost
Confirma o bom funcionamento do alias, usando o comando ping para falar com a máquina qgisserver.localhost:
ping qgisserver.localhost
Para terminar o ping, faça Ctrl+c.
Instalação
O QGIS Client é um projeto opens source. Está no github.
Começa-se por replicar o código que está no github, e depois corre-se o programa de instalação com dois parâmetros:
- A pasta onde vão ser carregados os projetos a publicar
- O endereço do servidor a partir do qual os projetos estão disponíveis.
Para instalar o QGIS Client, execute os seguintes comandos:
cd git clone https://github.com/qgis/qgis-web-client.git cd qgis-web-client sudo ./install.sh /home/user/qgis-web-client/projects qgisserver.localhost sudo service apache2 restart
O QGIS Client passou a estar disponível a partir do endereço: http://qgisserver.localhost/maps/.
Abra o endereço e certifique-se que consegue navegar nos dois projetos existentes:
- http://qgisserver.localhost/maps/helloworld
- http://qgisserver.localhost/maps/naturalearth_110million
Criar um novo projeto no QGIS
Crie um novo projeto no QGIS.
- Acrescente o MDT da Madeira (madeira.tiff).
- Selecione apenas as freguesias da Calheta, e guarde o resultado no sistema de coordenadas EPSG:4326.
- Selecione apenas os restaurantes, cafés, bares e fasts food da Calheta, e guarde o resultado no sistema de coordenadas EPSG:4326.
Vá às propriedades do projeto (Project → Project Properties...).
- Na seção CRS, ponha as coordenadas do projeto em EPSG:3857 (WGS84 / Pseudo Mercator).
- Na seção OWS server, marque a opção Advertised extent, e carregue no botão Use Current Canvas Extent.
Impressão de mapas na web
Para poder imprimir a partir da web ou gerar um PDF é necessário criar um composer no QGIS.
No QGIS, escolha Project → New Print Composer. Escolha um nome qualquer, p.ex. papiro.
No editor do Composer, acrescente:
- Um mapa (em Layout → Add Map)
- Um título (em Layout → Add Label)
Grave o projeto com o noem calheta.
Publicação do projeto
Copie o projeto gravado para a pasta qgis-web-client/projects.
Abra o QGIS Client a partir do endereço http://qgisserver.localhost/maps ou diretament http://qgisserver.localhost/maps/calheta.