Artigo: Por Dentro do MapServer

Artigo: Por Dentro do MapServer

Talvez você já tenha percebido que quando o assunto é publicação de mapas na internet com uso software livre não nos faltam opções robustas, cada qual com suas próprias características de desenvolvimento, arquitetura e customização. Neste contexto o MapServer (MS) surge como um dos programas para webmapping mais populares, por isso abordaremos no presente artigo algumas peculiaridades deste servidor de informação geográfica.

Ao ler os parágrafos a seguir você entenderá, o que é e quais são os objetivos do projeto MS com suas características principais, incluindo os diferentes modos de funcionamento; terá informações sobre o pacote MS4W e os frameworks p.mapper e i3Geo; e ainda encontrará um breve tutorial introdutório e links para aplicações já disponibilizadas na internet.

O FOCO DO MAPSERVER

Tenha em mente que o MS não é, nem tem o objetivo de ser um software para Sistemas de Informação Geográfica (SIG) desktop. Caso você esteja procurando informações sobre programas computacionais deste tipo sugerimos que leia nas edições anteriores desta revista os artigos sobre os projetos gvSIG, Kosmo SIG e Quantum GIS (QGIS).

O MS visa atuar em um nível mais alto, por assim dizer, pois como mencionado na introdução, seu foco é a disponibilização de dados geográficos na internet. É necessário compreender que ele tanto é utilizado como ambiente de desenvolvimento para construção das soluções (mapas interativos) como para publicação destes em um servidor.

UM SOFTWARE COM UMA ÓTIMA REPUTAÇÃO

Há ainda quem acredite que o softwares livres não são dignos de confiança e muito menos de investimento, mas o MS é prova clara que isso não é verdade. Para você entender a razão de afirmarmos isso, considere o seguinte fato.

O MS foi originalmente concebido, em meados da década de 1990, pelo projeto ForNet da Universidade de Minnesota (UMN) em cooperação com o Departamento de Recursos Naturais de Minnesota (MNDNR) e a National Aeronautics and Space Administration (NASA). Isso mesmo, a NASA está envolvida no desenvolvimento do software! Então, você acredita que este órgão de reconhecimento internacional, um verdadeiro gigante na área de ciência e tecnologia investiria tempo e seus extremamente capacitados recursos humanos em um projeto que não fosse realmente importante e confiável?

Some-se ao já mencionado a questão de hoje o MS ser um projeto integrado ao painel da OSGeo, e é mantido por um significativo número de desenvolvedores ao redor do mundo.

Na internet brasileira há dezenas de aplicações MS rodando já por anos e de forma bastante estável. Ao final desta matéria você encontrará o endereço de algumas delas.

Além disso, podemos destacar que a comunidade de usuários registrados no Grupo MapServer Brasil, lançado em 2003, já ultrapassa a casa dos 1200 cadastrados, o que se reflete também pela participação ativa de seus membros nas discussões sobre o MS que são quase que diariamente postadas na lista.

Por qual motivo então há tanto interesse no desenvolvimento e utilização do MapServer? O que faz de seu uso algo tão massificado? Observe agora algumas de suas características.

PRINCIPAIS CARACTERÍSTICAS DO MAPSERVER

O MapServer pode ser utilizado para o desenvolvimento de aplicações WebGIS em múltiplas plataformas computacionais, incluindo Windows, Linux e Mac. Só com esta informação já dissipamos qualquer possível temor quanto à compatibilidade com sistema operacional.

Boa parte das propriedades gráficas de uma aplicação com MS é definida nos chamados   mapfiles, que são arquivos de texto puro, de extensão .map ou no formato XML (a partir da versão 5.6) onde são inseridos códigos a ser interpretados pelo programa.

Mas não adianta querer trabalhar com um programa se ele simplesmente não oferece suporte ao tipo de dado que se tem disponível. Com o MS dificilmente você terá problema a este respeito, pois ele é compatível com a grande maioria dos formatos de dados geográficos. O quadro a seguir indica os principais tipos de dados de entrada suportados pelo MS:

Principais tipos de dados de entrada suportados pelo MapServer

No quesito formatos de saída de dados, o MS gerar mapas em um número expressivo de formatos, merecendo destaque na lista como sendo os mais usuais o PNG, JPEG, GIF, SWF, PDF, SVG, DXF e muitos outros da GDAL.

Quanto às suas funcionalidades o MS não deixa a desejar quando comparado a soluções proprietárias, possibilitando indexação espacial para shapefiles, opções variadas para operação de seleção de objetos; suporte a fontes TrueType, construção de elementos cartográficos como legenda, barra de escala (os objetos são desenhados de acordo com a escala), mapa de referência, além de permitir a customização de controles de navegação, uso de rótulos, mapas temáticos a partir de diferentes métodos, reprojeção de dados em tempo de execução, e um fator fundamental: compatibilidade com os padrões do Open Geospatial Consortium (OGC) como o WMS, WFS e WCS.

Para entender em detalhes o que são e para que servem os padrões OGC leia o artigo Sopa de Letras Geográficas na Edição n° 1 da Revista FOSSGIS Brasil, pp.13-18.

Mas como funcionar o MapServer? Temos à nossa disposição três modos (formas) de funcionamento: Common Gateway Interface (CGI), WebServices e MapScript (Fig. 1).

Modos de Funcionamento do MapServer

Quando utilizado em modo CGI, o seu arquivo executável do MS é colocado em diretório apropriado do servidor web. Este arquivo recebe parâmetros que definem como deve ocorrer a inicialização de sua aplicação. Para funcionar de forma adequada, uma aplicação MapServer deste tipo inclui um formulário de inicialização e um arquivo de página template, que pode ser desenvolvido, por exemplo em HTML (XHTML).

Já nos casos onde se utiliza o MS como WebService Geográfico, ele atua na disponibilização de dados em conformidade com os já citados padrões do OGC e que poderão ser acessados através de diferentes softwares de SIG, comerciais ou de código aberto, como os da família ArcGIS, uDig, gvSIG, Quantum GIS, Kosmo ou mesmo por outros mapas interativos.

O terceiro modo de funcionamento, com MapScript, é o que, em geral, permite a criação de aplicações mais robustas, com maior capacitada de customização. Nesta forma de empregar os recursos do MS temos à disposição à possibilidade de integrá-los ao uso de linguagens de programação. Um detalhe especial neste ponto é que embora o MapServer seja escrito de forma nativa na linguagem C, o MapScript está disponível para linguagens populares como o PHP, C#, Perl, Python, Ruby, Java e TCL!

Você sabia que a documentação completa do MapServer está disponível em um portátil arquivo PDF, em inglês?

O PACOTE MS4W E FRAMEWORKS PARA O MAPSERVER

O MS4W é um pacote criado pela equipe MapTools para facilitar o processo de instalação do MS em um servidor Windows. Uma vantagem em seu uso é que além do procedimento ser extremante simples, todas as dependências do MS já estarão instaladas e devidamente configuradas, incluindo o PHP, Apache, e bibliotecas como as Proj4, GDAL e OGR!

Quando se pretende publicar um mapa na internet é importante que seja considerado à amigabilidade da interface para o usuário final. Nesta altura, trabalhando com o MS temos duas opções: Desenvolvê-la do zero, o que pode ser demorado (e desnecessário em muitos casos) ou explorar um dos diversos frameworks disponíveis para trabalhar com o MapServer.

Caso em seu projeto a opção escolhida seja a utilização de programas frameworks, você terá de adequar os códigos e outras configurações do software para atingir uma funcionalidade específica. Entre os aplicativos mais utilizados em conjunto com o MS podemos destacar o p.mapper (www.pmapper.net) e o brasileiro i3Geo, disponível no portal do Software Público Brasileiro – SPB.

O i3Geo pode ser instalado no ambiente Windows através do MS4W, mas neste caso faça o download do arquivo a partir do sítio da comunidade no portal SPB. Veremos agora como instalar o MapServer + i3Geo com utilizando o este pacote. Os passos descritos a seguir levam em consideração que o usuário baixou a versão mais recente do programa.

ATENÇÃO: Não esqueça que é recomendado fazer o download do arquivo que já vem com o MS4W.

  • 1° PASSO: Extraia o conteúdo do arquivo baixado no diretório raiz C:\ utilizando um programa descompactador de sua preferência. Será criado um diretório ms4w naquele local.
  • 2° PASSO: Execute o arquivo apache-install.bat. Caso apareça alguma mensagem perguntando se você concede acesso ao aplicativo, confirme a permissão. (Acredite: O processo de instalação se resume a isto!)
  • 3° PASSO: Para confirmar a instalação do MapServer, digite em seu navegador http://localhost. Deverá aparecer uma mensagem de boas vindas e a indicação da versão do programa que está atualmente instada na máquina (servidor).
  • 4° PASSO: Chegou a hora de confirmar se o i3Geo foi instalado corretamente, para tal, digite o endereço http://localhost/i3Geo em seu navegador. A imagem a seguir (Fig. 2) ilustra a tela inicial padrão que deverá aparecer.

i3Geo - Tela padrão

  • 5° PASSO: Para este exemplo, armazene seus dados geográficos na pasta C:\ms4w\Apache\htdocs\i3geo\aplicmap\dados. Caso queria utilizar o mesmo mapa que utilizaremos neste breve tutorial, contendo a divisão municipal do estado da Paraíba, no Brasil, faça o download do arquivo pelo link abaixo:
  •  http://www.aesa.pb.gov.br/geoprocessamento/geoportal/arquivos/Municipios.zip
  • 6° PASSO: Para alterar as camadas de informação apresentadas, já que estamos no sistema operacional Windows, devemos editar o arquivo mapfile nomeado como geral1windows.map localizado no diretório  C:\ms4w\Apache\htdocs\i3geo\aplicmap. Abra-o em um editor de textos de sua preferência (bloco de notas, por exemplo).

Inicialmente vamos configurar nossa área de trabalho ou região geográfica de nossa aplicação. Se você ainda não fez nenhuma alteração neste arquivo, procure na linha 30 (ou próximo dela) a declaração EXTENT.

Note que este parâmetro informa a extensão do retângulo envolvente para a região do território brasileiro em coordenadas geográficas decimais. Iremos trocar este valor para o correspondente a área da Paraíba (este valor pode ser coletado por visualizar o dado geográfico em qualquer software de SIG e não exige precisão de casas decimais). Fique à vontade para utilizar os valores indicados baixo. Perceba que se usa ponto em lugar de vírgula e espaço entre as coordenadas:

EXTENT -38.77 -8.3 -34.79 -6.03

  • 7° PASSO: Procure no mapfile o layer onde no parâmetro “TEMA” está preenchido como “Brasil” – veja o trecho ilustrado abaixo, o uso (…) neste artigo indica código omitido.

LAYER
    DATA “/opt/www/html/i3geo/aplicmap/dados/ “
    METADATA
     “CLASSE”    “SIM”
        “TEMA”    “Brasil”
(…)
“EXTENSAO” “-97.911949 -39.413578 -8.185829 9.511159”

Se você seguiu as orientações dadas nos passos anteriores, substitua o caminho citado no parâmetro DATA por:

DATA “C:\ms4w\Apache\htdocs\i3geo\aplicmap\dados\Municipios”

Neste caso, Municipios é o nome do arquivo shapefile que queremos disponibilizar.

Já no parâmetro EXTENSÃO altere para os mesmos valores mencionados no sexto passo (-38.77 -8.3 -34.79 -6.03). Em TEMA poderá nomear para Paraíba ou outra denominação de sua escolha, pois a palavra utilizada aqui não faz diferença para o MS nem para o framework utilizado.

  • 8° PASSO: Para alterar as propriedades visuais como cor de contorno e do preenchimento dos polígonos, procure, no mesmo layer o parâmetro STYLE. Manipule os códigos RGB de acordo com suas preferências/necessidades, pois os valores postados a seguir são meramente exemplificativos.

STYLE
COLOR 200 254 199
       OUTLINECOLOR 0 153 0
(…)
END

  • 9° PASSO: Por fim, salve as alterações e digite novamente http://localhost/i3Geo

A próxima imagem (Fig. 3) exemplifica o resultado obtido.

Por Dentro do MapServer

Feito! Já começamos a customizar nossa aplicação webmapping com MapServer utilizando i3Geo.

O que acharam desta matéria sobre o MapServer? Esperamos que tenha gostado e que esta tenha aumentado seu conhecimento sobre este programa open source tão poderoso e popular.

Para fazer o download deste artigo baixe a terceira edição da revista FOSSGIS Brasil, no formato PDF. Leia a matéria nas páginas 44-48.

  • Revista FOSSGIS Brasil – Edição 3: Por Dentro do MapServer

Compartilhe nas redes sociais

WhatsApp
Facebook
Twitter
LinkedIn
Email
Anderson Medeiros

Anderson Medeiros

Graduado em Geoprocessamento pelo Instituto Federal de Educação, Ciência e Tecnologia da Paraíba (IFPB). É o autor do site https://clickgeo.com.br que publica regularmente, desde 2008, artigos dicas e tutoriais sobre Geotecnologias, suas ferramentas e aplicações.
Em 2017 foi reconhecido como o Profissional do ano no setor de Geotecnologias. Atua na área de Geoprocessamento desde 2005.

Artigos relacionados

12 respostas

  1. Anderson gostaria de parabeniza-lo pelas matérias que escreve no seu blog, muito bom mesmo!!!

  2. ola Anderson. Após a leitura deste tutorial tive uma ótima base para o que preciso fazer, porém minha dúvida é a seguinte: irei criar um mapa com informações de fazendas aqui da minha região, utilizando esse passo a passo eu terei acesso á essas informações de qualquer computador com acesso a internet.

  3. Anderson,
    após a instalação inseri o link http://localhost/i3Geo, mas não aparece o mapa. Aparece uma tela meio que desconfigurada com opções de teste de instalação, sistema de administração entre outros. O que devo fazer?

  4. Boa tarde
    Gostava de iniciar me no processo de apredizagem de WEBGIS, gostava de lhe pedir que me enviasse alguns tutoriais, links e sites onde posso buscar mais informacoes. Tenho formacao em sistemas de informacao geografica.

  5. Olá,

    Talvez seja muito básico, mas estou com uma dificuldade.

    Gostaria de fazer um mapa do brasil colorindo os estados de acordo com uma variavel (que vai de 0% a 100%): verde para 0% e ir graduando a te vermelho para 100%
    É muito complicado?

    Abraço
    adalberto

    1. Adalberto, você tem que ver esses detalhes na documentação do MapServer e pensar em qual framework utilizará (i3Geo, p.mapper, etc ou outro desenvolvido por você mesmo). Mas com certeza é possível sim.
      Abraço!

    1. Rafael, obrigado por informar o problema.
      O link agora deve estar ok. Teste, por favor. Espero sempre contar com seus comentários. O que achou da matéria?
      Um Abraço!

Deixe um comentário para Anderson Medeiros Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Pesquisar
Inscreva-se
Receba nossa Newsletter por E-mail

Cadastre-se Gratuitamente em nossa Lista VIP e receba nossas novidades por e-mail. Siga nosso Instagram @clickgeo.cursos e nosso Canal no Youtube para continuar atualizado sobre o Mundo do Geoprocessamento e Produção de Mapas!

Sobre Anderson Medeiros

Ele já foi reconhecido como o Profissional do Ano no Brasil no setor de Geotecnologias. Graduado em Geoprocessamento, trabalha com Geotecnologias desde 2005. Já ministrou dezenas de cursos de Geoprocessamento com Softwares Livres em diversas cidades, além de outros treinamentos na modalidade EaD. Desde 2008 publica conteúdo sobre Geoinformação e suas tecnologias como QGIS, PostGIS, gvSIG, i3Geo, entre outras.

Temas
Temas:
Arquivos
Arquivos: