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