Geração de mapas climáticos online utilizando

Propaganda
Geração de mapas climáticos online utilizando ferramentas
livres
Fabiano F. Silva1, Jacques D. Brancher1
Departamento de Ciências da Computação – Universidade Estadual de Londrina(UEL)
Campus Universitário - Caixa Postal 6001 – 86.051-990 – Londrina – PR – Brasil
1
[email protected], [email protected]
Abstract. This article discusses the construction of a website that provides the
user generation of weather maps on line using free tools. Based on real data,
according to the region chosen by the user. The data are taken from free
sources of information on line [INMET, 2009], through a mechanism of
automatic search. The sources of data centered georeferenced automatic
weather stations, which provide the data with a delay of 1 to 3 hours. This
view provides data such as maximum temperature, relative humidity, rainfall
and solar radiation. The generation of the maps cover areas not covered by
the generation of a virtual grid, using the technique of interpolation IDW.
Keywords: Climate map, software tool free.
Resumo. Este artigo aborda a construção de um site na internet que
proporcione ao usuário geração de mapas climáticos online utilizando
ferramentas livres. Com base em dados reais, de acordo com a região
escolhida pelo usuário. Os dados serão extraídos de fontes livres de
informações online [INMET, 2009], através de mecanismo automático de
busca. As fontes centralizam dados de estações meteorológicas, que
disponibilizam os dados com uma atraso de 1 a 3 horas. Isto proporciona
visualizar dados como temperatura máxima, umidade relativa, chuva e
radiação solar. A geração dos mapas cobrirá áreas sem cobertura através da
geração de uma grade virtual, utilizando a técnica de interpolação IDW.
Palavras-chave: Mapa climático, ferramenta livre.
1. Introdução
O meio rural hoje tem acesso a muitos recursos que dão suporte para o produtor manter
melhor o seu negócio, aumentar a sua produtividade e se precaver de desastres e pragas,
como por exemplo a conseqüência que uma grande temporada de seca pode causar a sua
produção agrícola.
O desenvolvimento de sistemas computacionais transformou o computador em
um grande aliado do homem, dando soluções que melhoram o seu dia a dia. Atualmente
sistemas informatizados coletam dados climáticos reais de várias regiões do país e
disponibilizam de forma eletrônica e aberta na internet.
Este artigo irá abordar a construção de um site na internet que oferecerá a
geração mapas geográficos climáticos online, com base em informações adquiridas da
própria internet. Proverá comunicação ativa com o usuário. As ferramentas e as
linguagens utilizadas são totalmente livres e disponíveis separadamente na internet.
Para tal o artigo está dividido da seguinte forma: na seção Referencial Teórico
são apresentados alguns autores que desenvolveram trabalhos similares com aplicações
diferentes. Em Modelagem do sistema são apresentados os módulos e suas relações.
Em seguida, na seção Descrição do sistema, é descrita a estrutura, as características e
as funcionalidades do sistema. A seção Aquisição de dados climáticos aborda a técnica
aplicada para mineração dos dados climáticas na internet. Os detalhes de
implementação são descritas na seção Implementação. Os resultados obtidos são
apresentados na seção Resultados Obtidos. Na seção Conclusões é relatada a
contribuição que este artigo oferece à comunidade. Por final são sugeridos algumas
evoluções na seção Trabalhos futuros.
2. Referencial Teórico
A necessidade de irrigação foi a motivação dos autores no desenvolvimento de um
sistema web disponibilizando dados climáticas de algumas cidades em forma de tabelas,
abrangendo algumas cidades da região do Piauí [Silva, Andrade Junior e Marin, 2008].
Tal ferramente tornou-se referencial para tomada de decisão de irrigação na região.
De forma similar surgiu a necessidade de centralização de informações
meteorológicas na região sul do Pernambuco e norte da Bahia, para auxiliar o manejo
de culturas locais e também tomar decisões em relação a irrigação. Isso levou
pesquisadores à construção de sistema web para disponibilizar os dados em forma de
tabelas e gráficos [Moura, 2005].
No artigo “Geração online de Mapas Agrometeorológicos” [Romani e Outros,
2005] é abordada a junção de uma rede de estações meteorológicas composta por várias
instituições públicas, formando uma rede centralizada de dados. É utilizado o sistema
SURFER para a geração dos mapas estáticos, que trata-se de um sistema comercial e
proprietário, além de ser utilizado somente no sistema operacional Microsoft Windows,
também comercial e proprietário. Por fim, é apresentado como resultado a geração de
mapas utilizando interpolação, apresentados também de forma online.
A ferramenta ALOV é apresentada como um opção de publicação de mapas
online, em forma de arquivos de mapas em camadas, no padrão ESRI shapefiles, por
Souza e Miranda (2002) e Miranda (2002). Esta ferramenta é utilizada em forma de
applet para publicar mapas de forma vetorial, permitindo sobreposição de camadas de
mapas, aproximação e afastamento (zoom) e ainda busca de locais no mapa.
Outro ambiente estudado é o GRASS GIS [Grass, 2009]. Ele permite a geração
de mapas geográficos a partir de entrada de dados, possui integração com Sistema
Gerenciador de Banco de Dados (SGBD) variados, como PostgreSQL e Mysql. Pode
ser executado em vários sistemas operacionais (SO), inclusive o Linux e Windows. É
fácil, ágil e rápido, permite a interação através de interface gráfica (GUI) ou ainda linha
de comando, permitindo inclusive a utilização de scripts.
Para fins comparativos são apresentados na Tabela 1 os artigos estudados e este
artigo, de acordo com a ordem:
1. Um sistema web para a consulta de dados meteorológicos como ferramenta de
apoio ao manejo de irrigação no estado do Piauí por Silva, Andrade Junior e
Marin (2008);
2. Dados Climáticos Estação Meteorológica Automática do Campo Experimental
de Bebedouro por Moura (2005);
3. Geração online de Mapas Agrometeorológicos por Romani e outros (2005);
4. Geração de mapas climáticos online utilizando ferramentas livres por Silva e
Brancher (2009);
Tabela 1. Comparação entre os trabalhos estudados
Autor e Característica
1
2
3
4
Forma de obtenção dos
dados
Automática
Automática
Automática
Automática
Nacional
Nacional
Abrangência dos dados
Regional (estado Regional (Bahia e
do Piauí)
Pernambuco)
Organização dos dados
Centralizada
Centralizada
Centralizada
Centralizada
Origem das ferramentas
utilizadas
Proprietárias e
livres
Não informado
Proprietárias e
livres
Totalmente
livres
Interação com o usuário
Internet
Internet
Internet
Internet e e-mail
Simulação para locais
sem abrangência
Não há
Não há
Sim através de
interpolação
Sim através de
interpolação
Resultados através de
mapas geográficos
Não há
Não há
Sim
Sim
3. Modelagem do sistema
O sistema modelado funciona na topologia Client/Server. O client realiza os pedidos
como: período, região, e variável climática. O server realiza o processamento e
responde, no tempo determinado, com o resultado gerado. A visão macro é apresentada
na Figura 1.
Figura 1. Topologia de funcionamento do sistema
A visão estrutural, incluindo os módulos e suas relações é apresentada na Figura
2 e explicadas na seqüencia.
Figura 2. Visão estrutural dos módulos e suas relações.
Como pode ser visto na Figura 2, as entradas de requisições (pedidos) são
realizadas através da web, na seguinte ordem:
1. O usuário mantém suas configurações através do site, como: cadastrar seus
dados pessoais para contato e agendar quais mapas ele deseja visualizar online,
de hora em hora;
2. O usuário visualiza os mapas gerados de acordo com seus agendamentos e/ou o
agendamento de outros usuários. Por exemplo: se um usuário agendou a geração
do mapa de umidade relativa para Minas Gerais, ele é avisado de hora em hora
por e-mail, porém os mapas gerados ficam disponíveis no site para qualquer
internauta;
3. A aquisição de dados climáticos é executada utilizando a internet. O módulo de
aquisição acessa o site do Inmet (2009) consulta os dados necessários e persiste
os mesmos no SGDB. O módulo de aquisição de dados é disparado de hora em
hora, através de um temporizador. A seção Aquisição de Dados Climáticos
detalha o funcionamento deste;
4. A geração dos mapas é executada consultando os agendamentos realizados pelos
usuários e os dados climáticos adquiridos pelo módulo de aquisição de dados.
Desta forma são gerados os mapas das variáveis e regiões pré-estabelecidos
pelos usuários do sistema. Este módulo é disparado de hora em hora, logo depois
da execução do módulo de aquisição de dados e é explicado na seção
Implementação;
5. Após a aquisição dos dados e geração dos mapas, o sistema prepara os relatórios
para envio aos usuários que assim solicitaram. A opção de comunicação por email é opcional. Desta forma os usuários que solicitaram comunicação por email recebem de hora em hora um resumo com os mapas que agendaram;
4. Descrição do sistema
O server do sistema utiliza as seguintes tecnologias aplicadas a cada módulo/camada,
conforme a Tabela 2, bem como as tarefas realizadas para atender aos requisitos do site.
Tabela 2. Tecnologias aplicadas.
MÓDULO/CAMADA
TECNOLOGIA EMPREGADA
TAREFAS
Linux Ubuntu, versão 8.10 Intrepid
Configuração
lighttpd, versão 1.4
Configuração
PostgreSQL, versão 8.3 / Postgis
Configuração e Construção
Python, versão 2.5
Construção
Django, versão 1.0.2
Configuração e Construção
GRASS GIS, versão 6.3
Configuração e Construção
Envio de e-mail
Django, versão 1.0.2
Configuração
IDE
Netbeans, versão 6.7
Ferramenta de edição
Sistema operacional
Servidor de Web
SGBD
Aquisição de dados
Framework Web
Mapas geográficos
Para a construção do sistema foram utilizadas soluções livres, ou seja, para uso
não comercial.
O sistema operacional escolhido foi o Linux distribuição Ubuntu versão 8.10
(Intrepid Ibex), pacote server. O sistema operacional foi configurado para atender as
necessidades de: servidor de web (Lighttpd 1.4), sistema gerenciador de banco de dados
(PostgreSQL 8.3 / Postgis), repositório de dados climáticos (banco de dados),
repositório de arquivos para prover as páginas web (Django 1.0.2), ambiente de geração
de mapas geográficos (GRASS GIS 6.3), repositório de mapas gerados (sistema de
arquivos), ferramenta para envio de e-mail aos usuários. A ferramenta escolhida para
edição dos arquivos, programação e layout web foi o Netbeans 6.7.
O servidor web escolhido foi o Lighttpd 1.4 que permite servir a interface de
acesso do usuário ao sistema, apresentar as páginas web e ainda os arquivos de mapas.
Sendo também interface entre o lado cliente e o banco de dados.
5. Aquisição de dados climáticos
A aquisição dos dados meteorológicos é feita através de consulta automática em portais
que disponibilizam os dados com atraso curto, de 1 a 3 horas, ou seja, os dados das 13
horas de uma determinada estação estarão disponíveis no site no máximo até as 16
horas.
O módulo de aquisição de dados possui um pré-cadastro das estações
meteorológicas existentes, com informações como:
•
Instituição;
•
Localização geográfica da estação (latitude e longitude);
•
Cidade e estado;
•
Código de identificação da estação na instituição;
•
Altitude em metros;
•
Referencial de fuso horário com UTC;
A partir destas informações o módulo de aquisição de dados consulta os dados
meteorológicos das estações cadastradas, no site da instituição INMET (2009).
Os dados geralmente são disponibilizados em páginas web no formato
HyperText Markup Language (HTML), com markups (marcações) do tipo <table>
(tabela). Este módulo é responsável por transformar a página com formato HTML em
dados “entendíveis”.
A partir de então registra na tabela de dados. As variáveis adquiridas são:
Tabela 3. Variáveis disponíveis
VARIÁVEL
UNIDADE
Temperatura máxima
Graus Celsius
Temperatura mínima
Graus Celsius
Temperatura no instante
Graus Celsius
Umidade relativa máxima
Percentual
Umidade relativa no instante
Percentual
Umidade relativa mínima
Percentual
Direção do vento
Graus
Velocidade do vento
Metros por segundo m/s
Radiação solar
Kjm2
Chuva
mm
Em caso de falha de dados o módulo se isenta de registrar qualquer tipo de
informação com relação a variável com falha. As falhas conhecidas são:
Dado não informado, por exemplo Temperatura máxima de Passo Fundo do dia
01/01/2009, possui os dados de hora em hora, exceto das 11 e 12 horas, onde houve
falha na leitura da estação meteorológica.
Dado com valor fora dos limites pré-determinados, por exemplo, Umidade
Relativa com 109% ou -5%;
Dado com caracteres não numéricos, por exemplo Chuva com o dado “9AH.8”
ao invés de “9.8”;
6. Implementação
A implementação do projeto consiste em arquivos de configuração, arquivos de
interface gráfica (CSS e HTML), arquivos de código fonte Python e arquivo de script,
estruturados em forma de pastas, a seguir:
•
gmweb: Pasta raiz do projeto Gerador de mapas na web.
◦ nbproject: Por padrão a ferramenta IDE de programação armazena todos os
arquivos de interesse da própria nesta pasta;
◦ dmweb: Classes de processamento, ou seja, a aquisição de dados climáticos
e a geração das imagens de mapas, as mesmas são executadas a partir do
temporizador:
▪ AquisicaoDadosClimaticos: Classes que tratam a aquisição dos dados
climáticos;
▪ dmwgis: Classes que tratam a leitura dos dados climáticos adquiridos e, a
partir da ferramenta de geoprocessamento, a geração dos mapas em
forma de imagens (padrão PNG) para a web.
▪ Implantacao: Script de implantação do sistema, consiste na geração do
banco de dados, tabelas, e cadastramento das estações climáticas. Base
para início de todo o sistema.
▪ lib: Bibliotecas de uso comum da sub-pasta;
◦ portal: Pasta raiz para publicação na web;
▪ gmweb: Pasta raiz do site, seguindo o padrão Django contém arquivos de
configuração do: site, aplicações, PlugIns, templates, entre outros.
▪ deploy: Arquivos necessários para deployment e publicação do site no
servidor lighttpd;
▪ fsdmweb: classes dos objetos persistentes ORM (Object relational
mapping)
▪ fsutil: classes auxiliares do site
▪ media: arquivos de mídia como CSS (Cascade style sheeting), JS (Java
script), entre outros;
▪ templates: arquivos de modelo no formato HTML, necessários para
geração das páginas para publicação na internet;
6.1. Classes de processamento
Compreendem-se como classes de processamento as atividades de:
1.Aquisição de dados climáticos, e;
2.Geração dos mapas em forma de imagens para web.
6.2. Classes de persistência
São as classes que uma vez modeladas, permitem o armazenamento, consulta, alteração
e exclusão. O próprio Framework Django trata da comunicação com o banco de dados
(PostgreSQL). Todas as operações de manipulação são realizadas com os objetos.
Compreendem-se como classes persistentes, as partes do site:
1.Variável: cada objeto compreende uma variável climática disponível para a
geração de mapas;
2.Localidade: cada objeto consiste um local disponível para geração de mapas;
3.AgendamentoTarefa: cada objeto compreende o agendamento de um mapa
realizado por um usuário. Ao entrar no site e se cadastrar, o usuário agenda os mapas
que deseja visualizar. Esta classe permite informar a variável climática, a localidade e
uma informação booleana dizendo se o usuário deseja receber o mapa por e-mail Por
exemplo:
Variável: Temperatura,
Localidade: Paraná, Comunicar por e-mail: [ ].
Variável: Umidade relativa, Localidade: Pará,
Comunicar por e-mail: [x].
4.TarefaPendente: cada objeto representa uma tarefa pendente a ser executada.
Os objetos são gerados através do temporizador que de hora em hora cria cada um de
acordo com as tarefas agendadas (classe AgendamentoTarefa);
5.MapaPronto: cada objeto representa um mapa gerado. Ao chegar neste ponto,
a classe AgendamentoTarefa foi base para colocação da tarefa na fila, através da classe
TarefaPendente. Assim a execução da tarefa resulta em um objeto da classe
MapaPronto. Uma classe MapaPronto contém: a localidade, a variável, a data e hora da
informação do mapa, e a data e hora da publicação do mapa na web;
7. Resultados obtidos
O
resultado
deste
trabalho
<http://gmweb.freitassilva.com:81>.
encontra-se
publicado
no
sítio
A página principal do site apresenta os últimos mapas gerados, conforme a
figura 3.
Figura 3. Página principal do site
A proposta deste trabalho é que o usuário se cadastre no site e agende a geração
de mapas climáticos e os receba por e-mail, se assim desejar. Para tanto o mesmo deve
clicar no link “Registre-se” localizado na seção “Usuário”, ao lado direito, conforme a
figura 3. Assim entrará na página de “Registro do usuário”, conforme a figura 4.
Figura 4. Registro do usuário no site.
Registrando-se no site, o usuário pode entrar, utilizando o link “Entrar”,
informando o sua identificação (nome do usuário) e sua senha. Após a entrada, estarão
disponíveis os agendamentos do mesmo, conforme figura 5.
Figura 5. Agendamentos de mapas.
Após informar a Variável, a Localidade e a opção de Comunicação por e-mail, o
agendamento encontra-se registrado e o mapa estará atualizado de hora em hora. Como
a comunicação por e-mail é opcional, o usuário poderá receber uma mensagem via email de hora em hora também.
Como o agendamento encontra-se registrado, o usuário tem então 3 opções em
um agendamento registrado. Estas opções estão disponíveis na forma de link nas
colunas: Editar, Excluir e Gerar, conforme a figura 6.
Figura 6. Opções em um agendamento.
O link Editar, permite alterar os dados deste registro de agendamento. Caso
deseje excluir, utilize o link Excluir. O link Gerar, permite que sejam gerados os mapas
online das duas horas anteriores, por exemplo caso o horário atual seja 10:40, ele gerará
os mapas das 9:00 e das 10:00 horas e disponibilizará no site.
Os mapas gerados podem ser visualizados a qualquer momento no site, sem a
necessidade de estar registrado no mesmo. As opções de apresentação dos mapas estão
disponíveis na seção “Mapas”, ao lado esquerdo do site. Podem ser visualizados por
Localidade, por Variável ou por Período, conforme a Figura 7.
Figura 7. Visualização de mapas por Localidade.
Ao clicar na figura de miniatura de mapá o site apresenta a figura do mapa no
seu tamanho real, conforme a figura 8.
Figura 8. Visualização de um mapa gerado em seu tamanho real.
8. Conclusões
A construção deste site resultou em um grande aprendizado na construção de um
sistema completo utilizando somente ferramentas grátis e disponíveis na internet.
Destacando-se a facilidade e agilidade de construção, modelagem, design,
implementação e hospedagem do site. É notável também a compatibilidade entre as
ferramentas livres utilizadas, permitindo oferecer um bom serviço ao usuário final.
As ferramentas utilizadas permitem a exploração de novas funcionalidades para
o site, bem como geração de relatórios, gráficos, tabelas, exportação em formatos
comuns como XLS, PDF, CSV, etc.
9. Trabalhos futuros
Este artigo apresentou a implementação de uma estrutura de banco de dados que
permite armazenar informações temporais de determinados pontos geográficos no mapa
do Brasil. Isto permite que a estrutura possa ser utilizada para a elaboração de resultados
e/ou relatórios plotados em mapas para quaisquer tipos de informações, permitindo
tomadas de decisão em um âmbito geográfico.
Sugere-se por exemplo, a implementação de um módulo que gere previsões de
dados climáticos através de Redes Neurais. Estas previsões também podem produzir
mapas iguais aos gerados com dados reais.
Sugere-se também a inclusão de quaisquer variáveis que necessitem de análise
de forma geográfica, por exemplo, qual o número de casos da gripe A, vírus H1N1, no
estado do Paraná. O sistema pode gerar um mapa permitindo uma análise geográfica do
caso.
Agradecimentos
A Deus pela sua graça e oportunidades de estudo oferecidas. À minha esposa Michelle e
meu filho Pedro, pela compreensão nos momentos que precisei me ausentar para os
estudos. Ao CNPq/MCT e ao Fundo Setorial de Tecnologia da Informação – CT-Info,
pela concessão da Bolsa de Desenvolvimento Tecnológico e Industrial (número do
processo: 382181/2008-5). A Softcenter pela oportunidade de realizar a residência
essencial para o exercício do estudo. À UEL e todos do DCC pelo bom serviço no
auxílio aos estudos desta especialização.
Referências
Silva, Aldo J. S., Andrade Junior, Anderson S., Marin, Fábio R. (2008) “Um sistema
web para a consulta de dados meteorológicos como ferramenta de apoio ao manejo
de irrigação no estado do Piauí.”, Rev. Tecnol. Fortaleza, v. 29, n. 2, p. 141-147.
Moura, Magna S. B. (2007) “Dados Climáticos Estação Meteorológica Automática do
Campo Experimental de Bebedouro, 2005”. Petrolina: Embrapa Semi-Árido.
Romani, Luciana A. S., Evangelista, Silvio R. M., Zullo Junior, Jurandir, Aguiar,
Daniel, Fonseca, Marcelo (2004) “Geração online de Mapas Agrometeorológicos”.
Embrapa.
Miranda, José I., Souza, Kleber X. S. (2002) “Publicando Mapas na Web: Uso do
ALOV Map”. Embrapa.
Miranda, José I. (2002) “Servidor de Mapas para Web: Aplicação Cliente com o ALOV
Map”. Embrapa.
GRASS GIS (2009) “Geographic
http://grass.itc.it, Junho.
Resources
Analysis
INMET
(2009)
“Instituto
Nacional
de
http://www.inmet.gov.br/sonabra/maps/automaticas.php, Junho.
Support
Meteorologia”,
Django (2009) “Django Framework”, http://www.djangoproject.com. Junho.
Python (2009) “Python Language”. http://www.python.org. Junho.
System”.
Download