Complemento de exportação do MapServer

Você pode usar o QGIS para ‘compor’ o seu mapa, adicionando e organizando camadas, simbolizando-as, personalizando as cores e, em seguida, criar um arquivo de mapa para o MapServer.

Nota

Currently the plugin only works when you use ‘Old Symbology’ in QGIS. ‘New Symbology’ is not yet supported.

Criando o arquivo de projeto

O complemento de exportação do MapServer opera em um arquivo de projeto salvo no QGIS e ** não ** sobre o conteúdo atual da tela do mapa e da legenda. Isto tem confundido um grande número de utilizadores. Conforme descrito abaixo, antes de você começar a usar o complemento de exportação do MapServer, você precisa organizar as camadas raster e vetoriais que deseja usar no MapServer e salvar esse status em um arquivo de projeto do QGIS.

Figure Mapserver Export 1:

../../../_images/mapserver_export_qgis.png

Arrange raster and vector layers for QGIS project file nix

Neste exemplo, demonstramos os quatro passos necessários para criar um arquivo de projeto simples, que pode ser utilizado para criar o arquivo de mapa MapServer. Usamos arquivos raster e arquivos vetoriais a partir do conjunto de dados amostrais QGIS: ref: label_sampledata.

  1. Adicionar a camada raster: file:landcover.tif clicando no ícone Adicionar Camada Raster | mActionAddRasterLayer |: sup:.

  2. Adicione os arquivos vetoriais: file: lakes.shp,: file: majrivers.shp e: file: airports.shp a partir do conjunto de dados amostrais QGIS clicando no ícone Adicionar Camada Vetorial | mActionAddNonDbLayer |: sup:.

  3. Change the colors and symbolize the data as you like (for example see figure_mapserver_export_1)
  4. Save a new project named mapserverproject.qgs using File ‣ mActionFileSave Save Project.

Criando o arquivo de mapa

Para usar o complemento de exportação a partir do QGIS Mapserver, você precisa habilitar primeiro o complemento de exportação do MapServer usando o Gerenciador de complementos (veja: ref: load_core_plugin).

Figure Mapserver Export 2:

../../../_images/mapserver_export_dialog.png

Export to MapServer Dialog nix

Arquivo de Mapa

Digite o nome para o arquivo de mapa que esta sendo criado. Você pode usar o botão à direita para navegar até o diretório onde você deseja que o arquivo do mapa seja criado.

Arquivo de projeto Qgis

Digite o caminho completo para o arquivo de projeto QGIS (. QGS) que deseja exportar. Você pode usar o botão à direita para procurar o arquivo de projeto QGIS.

Nome do mapa

Um nome para o mapa. Este nome é prefixado para todas as imagens geradas pelo MapServer.

Largura do mapa

Largura da imagem de saída em pixels.

Altura do mapa

Altura da imagem de saída em pixels.

Unidades do Mapa

Unidades de medida utilizadas para a saída.

Tipo de Imagem

Formato para a imagem de saída gerada pelo MapServer

Modelo da Web

Caminho completo para o arquivo de modelo MapServer para ser usado com o arquivo de mapa

Cabeçalho da web

Caminho completo para o arquivo de cabeçalho do MapServer para ser usado com o arquivo de mapa

Rodapé da web

Caminho completo para o arquivo de rodapé do MapServer para ser usado com o arquivo de mapa

Apenas as entradas: guilabel: arquivo de mapa e: guilabel: arquivo de projeto QGIS são necessárias para criar um arquivo de mapa, no entanto, omitindo os outros parâmetros, você pode acabar criando um arquivo de mapa não-funcional, dependendo da sua intenção de uso. Embora o QGIS seja bom em criar um mapa do seu arquivo de projeto, pode exigir alguns ajustes para obter os resultados desejados. Para este exemplo, vamos criar um arquivo de mapa usando o arquivo de projeto: file: mapserverproject.qgs que acabamos de criar (ver Figure_mapserver_export_2):

  1. Clique no ícone Exportador do MapServer | mapserver_export |: sup: no menu da barra de ferramentas para iniciar o diálogo MapServer (ver Figure_mapserver_export_2).

  2. Digite um nome para o seu novo arquivo de mapa (por exemplo: file: qgisproject.map).

  3. Procure e localize o arquivo de projeto QGIS que você salvou anteriormente (ex.: file: mapserverproject.qgs).

  4. Digite um nome para o mapa (por exemplo, `` MyMap ``).

  5. Digite a largura e a altura para a sua imagem de saída (por exemplo, 600 para a largura e 400 para a altura).

  6. Para este exemplo, as camadas são em metros, portanto, mudar as unidades para metros.

  7. Escolha: guilabel: ‘png’ para o tipo de imagem.

  8. Clique ** [OK] ** para gerar o novo arquivo do mapa: file: qgisproject.map. QGIS mostra o sucesso de seus esforços.

Figure Mapserver Export 3:

../../../_images/mapserver_export_success.png

Export to MapServer Succesfull Dialog nix

Você pode visualizar o arquivo de mapa em qualquer visualizador ou editor de texto. Se você der uma olhada, você vai notar que a ferramenta de exportação agrega os metadados necessários para habilitar o nosso arquivo de mapa para WMS.

Solução de problemas

If you get error messages from mapserver like:

loadSymbolSet(): Unable to access file. (./symbols/symbols.txt)

or:

msLoadFontset(): Unable to access file. Error opening fontset ./fonts/fonts.txt.

Isso significa que o arquivo de mapa está solicitando como fontes ou arquivos de símbolo que o Mapserver não consegue encontrar.

Either comment the lines containing those names in the map file (this is possible if you do not have labels or use styles from the symbols.txt). Or create those files (see below).

The most simple fonts.txt file (because arial is used in the QGIS generated map files) contains the following line

# either relative to the map file or a full path:
arial /usr/share/fonts/truetype/msttcorefonts/arial.ttf

The most simple symbols.txt file contains the definition of a circle symbol (because a circle symbol is used for point layers)

SYMBOLSET
    SYMBOL
    NAME "circle"
    TYPE ellipse
    FILLED true
    POINTS
    1 1
    END
    END
END

Testando o arquivo de mapa

Agora podemos testar o nosso trabalho.

Se o arquivo do mapa é acessível para o seu mapserver cgi você pode usar um dos urls do diálogo de sucesso.

Outra opção é usar a ferramenta shp2img para criar uma imagem a partir do arquivo do mapa. O **shp2img ** utilitário é parte do MapServer e FWTools. Para criar uma imagem do nosso mapa:

  • Abra uma janela de terminal

  • Se você não salvou o arquivo de mapa em seu diretório principal, mude para a pasta onde você salvou.

  • Executar `` shp2img-m qgisproject.map-o MapServer _test.png `` e exibir a imagem

This creates a PNG with all the layers included in the QGIS project file. In addition, the extent of the PNG will be the same as when we saved the project. As you can see in figure_mapserver_export_4, all information except the airport symbols are included.

Figure Mapserver Export 4:

../../../_images/mapserver_export_test.png

Test PNG created by shp2img with all MapServer Export layers nix

Usando o arquivo do mapa

If you plan to use the map file to serve WMS requests, you probably don’t have to tweak anything. If you plan to use it with a mapping template or a custom interface, you may have a bit of manual work to do. To see how easy it is to go from QGIS to serving maps on the web, take a look at Christopher Schmidt’s 5 minute flash video. He used an older version of QGIS (version 0.8), but the demo applies equally well to newer versions.