quinta-feira, setembro 27, 2007

Utilização do Mapserver no gerenciamento dos Recursos Hídricos do Estado da Paraíba

1. Introdução

A escassez da oferta hídrica é um dos problemas mais graves enfrentados a nível mundial. Na região nordeste do Brasil, este problema se agrava em função da variação climática, do crescimento da demanda e dos usos múltiplos da água, além da má distribuição dos Recursos hídricos no espaço e no tempo.

A Agência Executiva de Gestão das Águas do Estado da Paraíba (AESA) tem como principal atribuição, gerenciar com racionalidade os recursos hídricos do Estado, assegurando as demandas dos usuários, fazendo uso dos instrumentos das leis federal e estadual, resguardando o meio ambiente e o bem estar do homem, de forma a garantir o desenvolvimento sustentável.

Como ferramenta de apoio à tomada de decisão, os Sistemas de Informações Geográficas (SIG), possibilitam aos gestores uma série de funcionalidades que contribuem diretamente em um melhor gerenciamento dos recursos hídricos. Através do SIG é possível gerar mapas e cartas que mostrem, por exemplo, quais áreas estão desabastecidas, ou onde estão as localidades que necessitam de uma maior oferta hídrica, e a partir daí, realizar análises espaciais e estatísticas visando amenizar tais problemas.

No entanto, o usuário final deve ter acesso às informações processadas de um SIG de uma forma rápida e fácil em uma interface amigável. Neste contexto, os programas de Webmapping disponibilizam dados espaciais na Web, permitindo que qualquer pessoa, através de um navegador (browser), possa interagir com mapas dinâmicos através de comandos como zoom, pan, realizar consultas, além criar mapas temáticos e relatórios.

Com o objetivo de possibilitar ao visitante do Portal AESA acesso de forma rápida e fácil a diversas informações georreferenciadas do Estado, foi desenvolvida uma aplicação Webmapping utilizando Mapserver e o framework Pmapper. Através da interface deste aplicativo, batizado de SIGAESA-WEB qualquer pessoa pode consultar informações sobre bacias hidrográficas, sistemas aqüíferos, pluviometria média, adutoras, além das informações qualitativas e quantitativas sobre os rios e açudes, dentre outros níveis de informação.

2. Tecnologias Utilizadas

A base cartográfica disponibilizada pelo aplicativo é composta de elementos que foram obtidos junto ao IBGE, tais como: limites estaduais, divisão municipal e sedes municipais. Outras feições como, rios, açudes, bacias hidrográficas, postos fluviométricos, dentre outros, foram confeccionados na própria agência através de técnicas de digitalização e de classificação de imagens de satélite, utilizando imagens CBERS 2 CCD (2006), LANDSAT 7 (2006) e SRTM (2006).

Já os programas utilizados foram os seguintes:
  • Sistema operacional: Linux Fedora Core 7;
  • Servidor Apache com PHP;
  • Editor Web: NVU;
  • Editor de arquivos Mapfile: Scite;
  • Banco de Dados: PostgreSQL/PostGIS;
  • Pmapper v.3.1
3. Implementação do Sistema

A configuração do aplicativo iniciou-se com a instalação e configuração do servidor Apache com o PHP no Fedora, em seguida foram instalados a partir dos fontes as seguintes bibliotecas: proj, gd, libpng, libgeotiff, zlib, geos, postgresql, postgis, gdal e o mapserver, a medida que eram requeridas algumas dependências destas bibliotecas no processo de compilação, outros pacotes também foram baixados e instalados utilizando o comando yum, presente nesta distro.

O próximo passo foi exportar as feições geográficas que estavam no formato shapefile para o Banco de Dados Espaciais, tal procedimento foi realizado através do comando shp2pgsql, que gera um script SQL a partir da leitura dos arquivos shapes. Em seguida entrou em cena a configuração do pmapper, que é um framework de fácil configuração, já que para colocarmos a aplicação para “rodar”, necessitamos apenas criar o arquivo mapfile, o qual define a forma como os níveis de informação serão exibidos, e em seguida configurar a aplicação através dos arquivos de configuração do próprio pmapper. O tempo total gasto durante todo este processo, se somarmos a isso a customização do pmapper, foi de aproximadamente 70 horas de trabalho.

A figura 1 mostra o esquema de funcionamento do aplicativo SIGAESA-WEB.


Figura 1 – Esquema do funcionamento do aplicativo SIGAESA-WEB

4. Resultados

Através da interface do aplicativo, qualquer usuário tem acesso imediato a uma série de informações, dentre as quais destacam-se o monitoramento diário do volume dos açudes (figura 2).


Figura 2 – Consulta ao volume de um açude
Estão também disponíveis dados sobre a qualidade da água dos rios e açudes monitorados pela Superintendência de Administração do Meio Ambiente do Estado – SUDEMA (figura 3).
Figura 3 – Consulta à qualidade da água de um rio
5. Conclusões

Antes da disponibilização deste aplicativo Webmapping no portal da AESA, não havia oportunidades de análise e identificação dos problemas hídricos pela população em geral. Porém após sua implementação, observou-se um crescente interesse da sociedade e também de outros órgãos do estado por tais informações, que antes estavam disponíveis apenas para os técnicos da agência, ou a pesquisadores e estudantes que tinham que se deslocar até a mesma. Desta forma o aplicativo também contribuiu para diminuir a burocracia de acesso a essas informações.

Do ponto de vista financeiro, a solução adotada utilizou apenas softwares livres, proporcionando uma grande economia na aquisição das licenças de programas proprietários similares.

O SIGAESA-WEB destacou-se como uma ferramenta de fácil manuseio, e alcançou seu principal objetivo, que é o de disseminar informações espaciais na Web para a sociedade de forma mais fácil e rápida, tanto para os gestores quanto para a sociedade como um todo.

Como trabalho futuro, deseja-se incluir no aplicativo os pontos outorgados e cadastrados dos usuários de recursos hídricos do estado.

Por fim, a AESA espera tornar-se em alguns anos um modelo regional na gestão de recursos hídricos através de ações que possibilitem avançar em torno do desenvolvimento sustentável e da gestão participativa.

Criando uma aplicação Webmapping com o Alov map

O Alov map é um publicador de mapas gratuito, desenvolvido através da linguagem Java que pode ser implementado na forma de applet ou servlet. Na versão servlet os dados ficam armazenados em um SGBD e são enviados ao cliente de forma incremental, através do botão de “ligar/desligar camada”, já na versão applet, todos os dados são enviados ao cliente no momento em que a página é carregada no browser.

Embora a versão servlet seja mais flexível, neste tutorial vamos trabalhar inicialmente na versão applet deste programa, que é bem mais fácil de configurar para usuários iniciantes. Mais detalhes sobre o alov podem ser encontrados no site
http://alov.org

Para visualizar a página que será criada neste tutorial é necessário que você tenha a máquina virtual Java (JVM), ou o JRE instalados no seu computador.

1o Passo – Download do Alov Map:

Para baixar o Alov é necessário que o usuário faça um registro na página de downloads do site, após este registro, baixe a versão applet do programa, como mostra a figura 1 abaixo:

Figura 1 – baixando a versão Applet.

Os dados deste tutorial podem ser baixados no site: http://geo.marcello.googlepages.com/municipios.zip

2oPasso – Preparando a aplicação:

Coloque os arquivos baixados em uma mesma pasta de sua escolha, não é necessário descompactar o arquivo shapefile zipado (municipios.zip). A seguir vamos criar dois arquivos para que o aplicativo funcione, um no formato XML e outro no formato HTML.

3o Passo – Criando o arquivo XML de configuração dos layers:

Neste arquivo iremos definir a forma na qual os dados serão apresentados no Alov, à medida que fomos passando para os outros tutoriais, este arquivo irá sendo alterado de forma gradativa. Através de um editor de texto de sua escolha, crie um arquivo chamado config.xml com o conteúdo abaixo:

<?xml version="1.0" encoding="ISO-8859-1"?>
<project zoomunits="km" mapunits="degrees">
<layer name="Municipios" visible="yes" showlegend="yes">
<dataset url="municipios.zip" />
<renderer>
<symbol fill="211:255:190" outline="38:115:0" />
</renderer>
</layer>
</project>

Explicando...

A linha 1 indica que este arquivo é um XML, e qual é a sua codificação.

Na linha 2 inicia-se a tag projeto, todos os dados que serão mostrados no aplicativo devem ser declarados em algum lugar dentro do projeto, também foram definidos dois atributos para essa tag, um indicando que as unidades de zoom estão em quilômetros (zoomunits="km") e outro indicando que as unidades do mapa estão em graus decimais (mapunits="degrees"). A linha 9 fecha o projeto iniciado na linha 2.

Na linha 3 inicia-se um layer, onde o seu nome foi definido como municípios (name="Municipios"), que estará visível quando o Alov for inicializado (visible="yes") e terá uma legenda mostrando a sua cor e/ou símbolos utilizados (showlegend="yes"). A linha 8 indica o final da definição do layer.

Na linha 4 é definido o local e nome do arquivo shapefile desta camada (url="municipios.zip"), observe que não é necessário descompactá-lo, já que o Alov é capaz de ler arquivos no formato zip.

A linha 5 inicia a tag renderer onde dentro dela, definiremos a aparência do layer através da tag symbol. Os atributos fill e outline definem respectivamente as cores de preenchimento e da cor da borda do polígono na escala RGB. A linha 8 fecha a tag renderer.

4o Passo – Criando o arquivo HTML:

No arquivo HTML será colocado a diretiva applet, responsável por carregar a janela do aplicativo. Para isso, crie um arquivo chamado mapa.html com o conteúdo abaixo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Webmapping</title>
</head>
<body>
<applet codebase ="."
code="org.alov.viewer.SarApplet"
archive="alov_applet.jar"
width="650" height="400" align="center">
<param name="pid" value="config.xml">
</applet>
</body>
</html>

Explicando...

As linhas 1 e 2 indicam o doctype do arquivo HTML, a linha 3 inicia a tag html com o atributo namespace e a linha 16 fecha o tag html.

A linha 4 inicia a tag do cabeçalho (head), onde é definido o título do documento através da tag title, na linha 6. A linha 7 fecha a tag head.

O conteúdo da página é definido dentro do corpo (body), ou seja, entre as linhas 8 e 15.

A linha 9 inicia a tag applet, indicando que o arquivo alov_applet.jar está na mesma pasta em que o HTML se encontra (codebase =”.”), em seguida são informados o nome da classe java (linha 10) e o nome do arquivo que deve ser carregado (linha 11).

Na linha 12 são passados os parâmetros de largura, altura e alinhamento da janela do applet.

Por fim, na linha 13 temos a tag param, que informa o nome do applet (name=”pid”) e o nome do arquivo XML (value=”config.xml”), já a linha 14 fecha a tag applet.

5o Passo – Visualizando a aplicação:

Abra o arquivo mapa.html e veja como ficou sua primeira aplicação Alov Map, se não aparecer a página mostrada abaixo, verifique se não há algum erro no seu código, ou se a máquina virtual Java não está instalada no seu computador. No próximo post veremos como construir alguns mapas temáticos e como habilitar o modo de consulta por atributos. Um Abraço!