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.
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:
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.
Adicionar a camada raster: file:landcover.tif clicando no ícone Adicionar Camada Raster | mActionAddRasterLayer |: sup:.
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:.
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:
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):
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).
Digite um nome para o seu novo arquivo de mapa (por exemplo: file: qgisproject.map).
Procure e localize o arquivo de projeto QGIS que você salvou anteriormente (ex.: file: mapserverproject.qgs).
Digite um nome para o mapa (por exemplo, `` MyMap ``).
Digite a largura e a altura para a sua imagem de saída (por exemplo, 600 para a largura e 400 para a altura).
Para este exemplo, as camadas são em metros, portanto, mudar as unidades para metros.
Escolha: guilabel: ‘png’ para o tipo de imagem.
Clique ** [OK] ** para gerar o novo arquivo do mapa: file: qgisproject.map. QGIS mostra o sucesso de seus esforços.
Figure Mapserver Export 3:
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.
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
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:
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.