A expansão da internet como ferramenta de colaboração e divulgação de informações vem alterando imensamente a forma como diversos setores atuam. Como não poderia deixar de ser, mais cedo ou mais tarde essa onda alcançaria a área de GIS.

Atualmente existem diversas soluções livres e proprietárias que facilitam a distribuição de informações espaciais na internet. Neste tutorial vamos iniciar os primeiros passos neste novo mundo, publicando um pequeno conjunto de dados utilizando o software MapServer.

Para o acompanhamento deste material não é necessária nenhuma experiência do leitor com ferramentas de desenvolvimento para internet, apesar de sugerirmos familiaridade com alguma ferramenta de GIS. São utilizados dados e programas que estão disponíveis para download gratuito na internet.

O MapServer (http://mapserver.gis.umn.edu) é um ambiente de desenvolvimento livre voltado para a construção de aplicações espaciais para internet que pode ser instalado em diversas plataformas como Windows, Linux, Mac OS X e Solaris. Existem várias formas de utilizar o MapServer para publicação de dados.

Ele pode estar vinculado a uma linguagem de programação como PHP utilizando o módulo PHP/MapScript, atuando como webservice de acordo com as especificações OGC ou sendo executado como um CGI em um servidor web. Vamos utilizar esta última opção por não exigir conhecimento de programação e por permitir a visualização de diversas características importantes do MapServer.

Para a publicação de um mapa na internet são necessários alguns itens básicos que estão representados na figura 1.

1.Dados espaciais: nos formatos suportados pelo MapServer. Por exemplo: shapefiles.
2.Arquivo MAP: com as definições do mapa a ser gerado.
3.MapServer: sendo executado dentro de um servidor web como o Apache.

Baseado nos dados espaciais e nas definições do arquivo MAP, o MapServer é capaz de gerar imagens leves de mapas com grande qualidade.

Nos próximos passos será descrito como fazer download dos programas e dados espaciais necessários para configuração do ambiente. Em seguida será visto um exemplo de arquivo MAP e como utilizá-lo para gerar mapas.


-> Figura 1

MapServer

1.Abaixe o pacote MS4W – MapServer for Windows. Este pacote possui todos os programas necessários para a publicação de mapas e é interessante para quem deseja experimentar o MapServer sem preocupar-se com configurações e bibliotecas.

Devido à quantidade de programas agrupados neste pacote, o tamanho do arquivo é grande (41MB) e abaixá-lo pode demorar dependendo da conexão à internet utilizada. http://www.maptools.org/dl/ms4w/ms4w_1.4.1.zip 

2.Descompacte o arquivo ms4w_1.4.1.zip no diretório C:. A pasta C:ms4w será criada e é a partir deste diretório que todos os arquivos necessários serão criados.

3.Dentro da pasta C:ms4w dê um duplo clique no arquivo apache-install.bat. Este arquivo irá instalar o software Apache como um serviço nos computadores com Windows 2000 e XP.

O Apache é um servidor web e será responsável por hospedar as páginas da nossa aplicação. A seguinte mensagem deve aparecer: The Apache Web Server service is starting. The Apache Web Server service was started successfully.

4.Para verificar se tudo correu bem até agora, teste a instalação do Apache abrindo o seu navegador para WEB (Internet Explorer, Mozilla, …) e digite o seguinte endereço http://localhost

Caso a Apache esteja funcionando corretamente, a tela da figura 2 deve aparecer no seu navegador com informações sobre a instalação do pacote MS4W.


> Figura 2


Dados espaciais

Agora que o servidor Apache está funcionando corretamente, é necessário obter os dados espaciais que serão utilizados como base para publicação do mapa. Os dados espaciais utilizados serão os shapefiles da Carta ao Milionésimo, disponíveis na página do IBGE.

5.Para abaixar estes dados utilize o link ftp://ftp.ibge.gov.br/Cartas_e_Mapas/Carta_Internacional_ao_Milionesimo/shape/G04_SG22.zip (8MB) 6.Crie a pasta C:ms4wdata e descom pacte o conteúdo do arquivo G04_SG22.zip. Dentro desta pasta devem aparecer diversos arquivos shapefiles conforme a figura 3.


> Figura 3

Arquivo MAP

O arquivo MAP é o coração de uma aplicação com MapServer. Ele possui todas as informações sobre formatos e tamanhos de imagens que serão gerados, localização dos dados espaciais, configuração de legenda e escala, representação dos dados e muito mais.

Como o arquivo MAP é composto somente de texto, é possível criá-lo utilizando qualquer editor de texto de sua preferência, como o Bloco de Notas ou EditPlus (http://www.editplus.com/). 


7.Crie um novo arquivo MAP chamado sg22.map e salve no diretório C:ms4wApachehtdocs. O conteúdo deste arquivo está listado abaixo.

MAP
    NAME        "SG22"
    IMAGETYPE   PNG
    EXTENT      -54.000000 -28.000013 -48.000000 -23.999999
    SIZE        600 400
    SHAPEPATH   "C:/ms4w/data"
    IMAGECOLOR  190 232 255
    UNITS       DD

    WEB
        IMAGEPATH   "C:/ms4w/Apache/htdocs/"
        IMAGEURL    "/"
    END

    SCALEBAR
        IMAGECOLOR  255 255 255
        STATUS      EMBED
        POSITION    LR

        LABEL
            COLOR   0 0 0
            SIZE    TINY
        END

        STYLE       1
        SIZE        200 2
        COLOR       0 0 0
        UNITS       KILOMETERS
        INTERVALS   2
        TRANSPARENT ON
    END

    SYMBOL
        NAME    "circulo"
        TYPE    ellipse
        FILLED  true
        POINTS
            1 1
        END
    END

    SYMBOL
        NAME    "triangulo"
        TYPE    vector
        FILLED  true
        POINTS
            0 4
            2 0
            4 4
            0 4
        END
    END

    LAYER
        NAME    ESTADOS
        DATA    "LIMITE_POLITICO_ADMINISTRATIVO"
        STATUS  DEFAULT
        TYPE    POLYGON

        CLASSITEM "CD_TIPO_LI"

        CLASS
            EXPRESSION "internacional"
            COLOR   255 224 191
            OUTLINECOLOR 32 32 32
        END

        CLASS
            EXPRESSION "estadual"
            COLOR   255 255 190
            OUTLINECOLOR 32 32 32
        END
    END

    LAYER
        NAME    RODOVIA
        DATA    "RODOVIA_PAVIMENTADA"
        STATUS  DEFAULT
        TYPE    LINE

        CLASS
            SYMBOL  0
            COLOR   255 0 0
        END
    END

    LAYER
        NAME    CIDADE
        DATA    "CIDADE"
        STATUS  DEFAULT
        TYPE    POINT

        CLASS
            SYMBOL  circulo
            SIZE    2
            COLOR   0 0 200
        END
    END

    LAYER
        NAME    CAPITAL
        DATA    "CAPITAL_ESTADUAL"
        STATUS  DEFAULT
        TYPE    POINT

        LABELITEM "NM_NOME"
        CLASS
            SYMBOL  triangulo
            SIZE    10
            COLOR   115 178 115

            LABEL
                COLOR 0 0 0
                TYPE BITMAP
                SIZE LARGE
                POSITION UL
            END
        END
    END
END

Um arquivo MAP é formado por objetos e propriedades. Os objetos estão relacionados com elementos do mapa, como escala “SCALE”, símbolos “SYMBOL”, layers “LAYER” e o principal objeto “MAP”.

No objeto MAP estão definidas as principais propriedades do mapa como: Todos os objetos e propriedades do arquivo MAP estão bem descritos na documentação oficial do projeto. Para maiores detalhes veja no link http://mapserver.gis.umn.edu/docs/reference/mapfile .


CGI MapServ

O MapServ é um aplicativo dentro do pacote MapServer que age como CGI. Ele recebe requisições através da URL do navegador para WEB e retorna uma resposta para essas requisições, na forma de imagens por exemplo.

Para testar se o CGI do MapServer está funcionando corretamente, abra o navegador e digite o seguinte endereço: http://localhost/cgi-bin/mapserv_48.exe 

Caso a tela da figura 4 apareça, então o MapServer está funcionando corretamente e informou que não recebeu nenhum dado para ser processado.


-> Figura 4

8.Para testar as configurações feitas no arquivo sg22.map, é necessário informar ao MapServer a localização deste arquivo, assim como qual o modo o processo será executado e quais layers devem aparecer no mapa.

No caso do arquivo sg22.map utiliza-se http://localhost/cgi-bin/mapserv_ 48.exe?map=C:ms4wApachehtdocssg22.map&mode=map&layers=all

Caso não tenha nenhum erro de configuração ou digitação, o mapa apresentado na figura 5 deve aparecer para o usuário.


-> Figura 5

As possibilidades que a publicação de mapas na internet oferece são imensas. Para quem desejar se aprofundar mais neste tema utilizando MapServer é interessante visitar a página do projeto e a documentação existente.

Revise o código apresentado e faça alterações para verificar os resultados. Desta forma o leitor logo estará publicando mapas de forma prática e com qualidade.

Algumas páginas relacionadas

Página do Projeto MapServer http://mapserver.gis.umn.edu/ 
Documentação do MapServer (em inglês) http://mapserver.gis.umn.edu/docs 
Página do MapTools (em inglês) http://www.maptools.org/ 
Conjunto de ferramentas de apoio na criação de aplicações espaciais.
Grupo de Discussão sobre MapServer (em português) http://br.groups.yahoo.com/group/mapserver_brasil/ 

Roberto Oliveira Santos
Oracle Certified Professional e mestrando em ciência da computação pela UFPR, diretor técnico da GeoPlus Geotecnologia e Informática Ltda
roberto@geoplus.com.br  

Próximos Passos