The area of Geographic Information Systems involves modeling, visualization and further processing of data relating to the globe. Examples of data involved in this process are the aerial imagery of the Earth and other geographic information acquired by GPS devices. The applications generally require a pre-processing of the data initially acquired by changing its parameters and attributes. These changes are necessary to enable the use of data in such applications. The application described in this paper deals with regular coverages. A coverage is said Regular Uniform Coverage if your images are the same size and are distributed in the same structure of a uniform regular grid, otherwise we say that it is an irregular coverage.
1. Sistema de Cobertura de Imagens Georeferenciadas
Michel Alves dos Santos
1
Março de 2011
1 Bacharelando
em Ciência da Computação, Universidade Federal do Estado de Alagoas. Emails: michel.mas@gmail.com, michelalavessantos@hotmail.com. Disciplina: Sistemas Distribuídos. Docente Responsável: Willy Carvalho Tiengo.
3. Capítulo 1
Introdução
A área de Sistemas de Informações Geográficas[BM06] envolve a modelagem, visualização e outros processamentos de dados referentes ao globo terrestre. Exemplos de dados
envolvidos nesse processo são as imagens aéreas da terra e outras informações geográficas
adquiridas por dispositivos GPS.
As aplicações, de um modo geral, requerem um pré-processamento dos dados adquiridos
inicialmente, alterando seus parâmetros e atributos. Estas alterações são necessárias para
viabilizar a utilização dos dados em tais aplicações. Vejamos dois exemplos deste fato
quando os dados em questão são imagens áreas que cobrem uma determinada região do
globo terrestre:
1. Diferentes imagens podem cobrir a mesma parte de uma região do globo, ou seja,
as imagens apresentam uma sobreposição ou interseção de regiões(fig.1.1 A). Para
muitas aplicações esta redundância na cobertura pode representar maior custo de
armazenamento e de processamento computacional. Uma maneira de reduzir este
problema é aplicando um pré-processamento no conjunto das imagens que se intersectam, de modo a gerar uma nova cobertura de imagens disjuntas entre si, ou seja,
um conjunto cuja interseção entre cada duas imagens seja vazia(fig.1.1 B).
2. Outra ocorrência bastante comum é o fato de as imagens adquiridas possuírem diferentes tamanhos, resoluções, posicionamentos e orientações. A padronização destes atributos em todas as imagens que cobrem a região pode ser bastante útil nas
aplicações que processam dados em multi-resolução, uma vez que técnicas em multiresolução permitem uma navegação eficiente e otimizada sobre a região representada
na imagem. Assim sendo, a cobertura formada por imagens com diferentes parâmetros(fig.1.1 A e B) pode ser pré-processada de modo a gerar uma nova cobertura
regular, ou seja, composta por novas imagens cujos parâmetros, como o tamanho das
imagens, sejam todos iguais(fig.1.1 C).
Uma informação importante em relação a uma imagem de uma região do globo são seus
parâmetros geográficos: posição sobre o globo e orientação do sistema de coordenadas local
3
4. Figura 1.1: Em (A) imagens com sobreposição, em (B) imagens disjuntas, com interseção
vazia e em (C) imagens com mesmos tamanhos.
da imagem. Quando estes dois parâmetros são conhecidos dizemos que a imagem é georeferenciada (fig.1.2A). Uma imagem pode estar geo-referenciada em relação a um sistema
de coordenadas esféricas global, chamado de Sistema de Coordenadas Geográfico[Wika], ou
em relação a um sistema de coordenadas retangulares local, como o Sistema UTM [Wikb].
Uma Cobertura de Imagens é um conjunto de imagens geo-referenciadas que cobrem
Figura 1.2: Em (A) imagem geo-referenciada: o ponto O representa as coordenadas da
origem da imagem sobre o globo. Os eixos X e Y são o sistema de referência ou orientação
da imagem. Em (B) Cobertura de Imagens.
uma determinada região do globo (fig.1.2B). Se há duas ou mais imagens de uma cobertura de imagens cuja interseção é diferente de vazia, temos uma Cobertura Sobreposta
(fig.1.1A). Se a interseção entre cada duas imagens de uma cobertura é vazia, temos uma
Cobertura Disjunta (fig.1.1B).
Uma cobertura é dita Cobertura Regular Uniforme se suas imagens possuem as
4
5. mesmas dimensões e estão distribuídas na mesma estrutura de uma grade regular uniforme
(fig.1.1C). Caso contrário dizemos que se trata de uma Cobertura Irregular (fig.1.1A e B).
5
6. Capítulo 2
Objetivos
O principal objetivo deste projeto é o desenvolvimento de um sistema para conversão
de coberturas de imagens. Dada uma cobertura de imagens sobrepostas, o sistema deverá
calcular uma nova cobertura disjunta regular uniforme (fig.2.1).
Cobertura Sobreposta → Cobertura Disjunta → Cobertura Regular Uniforme
Figura 2.1: Processo de geração de uma cobertura disjunta regular uniforme.
A conversão da cobertura sobreposta para uma disjunta requer o desenvolvimento de uma
interface gráfica adequada, que permita ao usuário especificar uma ordem de prioridades
das imagens em regiões onde há sobreposição.
6
7. Capítulo 3
Resultados Esperados
Os principais resultados esperados ao final da execução do projeto são:
• Um sistema computacional para conversão de uma cobertura irregular sobreposta
para uma cobertura de imagens regular disjunta.
7
8. Capítulo 4
Riscos e Dificuldades
As principais dificuldades esperadas estão relacionadas à pouca experiência da equipe
em projetos dessa natureza e devido à formação acadêmica dos alunos participantes, que são
ainda em nível de graduação. Para contornar estas dificuldades o coordenador do projeto
irá ministrar seminários à equipe a partir da bibliografia adequada, além de acompanhar
e auxiliar o projeto modular e a implementação do sistema de conversão de coberturas de
imagens.
8
9. Capítulo 5
Metodologia
O desenvolvimento do projeto será realizado a partir das seguintes estratégias:
• Leitura de textos científicos relacionados às áreas envolvidas.
• Apresentação de aulas e seminários
• Implementação Computacional
9
10. Capítulo 6
Requisitos do Sistema
Neste capítulo iremos descrever os requisitos mínimos que o sistema deverá atender:
• O sistema deverá ser capaz de ler um banco de imagens georeferenciadas no formato
UTM.
• O sistema deverá ser capaz de converter um banco de imagens georeferenciadas no
formato UTM para o formato de coordenadas globais lalo(latitude-longitude).
• O sistema deverá ser capaz de exibir a lista de imagens resgatadas de um banco lido,
essas imagens devem ser dispostas segundo a ordem de posicionamento das mesmas
no sistema de coordenadas globais(lalo).
• O sistema deverá ser capaz de criar um banco de miniaturas a partir de um banco
de imagens no formato lalo.
• O sistema deverá ser capaz de ler as informações contidas nos arquivos de georeferenciamento (.tfw) que acompanham cada imagem e disponibilizar tais informações
ao operador.
• O sistema deverá ser capaz de converter coordenadas de posicionamento global para
coordenadas de tela.
• O sistema deverá ser capaz de dispor/exibir as imagens, em um canvas gráfico, de
acordo com sua posição em relação ao sistema de coordenadas global.
• O sistema deverá ser capaz de selecionar/destacar imagens.
• O sistema deverá ser capaz de identificar e destacar intersecções entre imagens, aplicando esse procedimento de maneira par-a-par.
• O sistema deverá ser capaz de informar ao operador propriedades métricas das imagens selecionadas(distância, área, etc.)
10
11. • O sistema deverá ser capaz de aplicar ao canvas de exibição das imagens uma série
de operações de redimensionamento(zoom in, zoom out, fit canvas, etc.).
• O sistema deverá ser capaz de imprimir todo o conteúdo do canvas de exibição das
imagens.
• O sistema deverá ser capaz de informar ao operador o número de intersecções encontradas e através disso criar miniaturas independentes para cada interseccção.
• O sistema deverá ser capaz de exibir apenas as intersecções entre as imagens.
• O sistema deverá ser capaz de aplicar uma série de filtros as imagens (média, mediana,
unsharp mask, etc.)
• O sistema deverá ser capaz de resgatar e exibir os índices de intersecção das imagens,
par-a-par.
• O Sistema deverá ser capaz de, ao final de todo o processo de avaliação do banco de
imagens e de transformações executadas pelo usuário, criar uma cobertura regular
disjunta.
11
12. Capítulo 7
Message Oriented Middleware
7.1
O que é um Middleware?
Um Middleware é um software ou camada de software que reside entre o sistema operacional e uma determinada aplicação a fim de facilitar o desenvolvimento das mesmas.
Também pode ser conceituado como um conjunto de serviços que fornece comunicação e
distribuição de forma transparente à aplicação. Um middleware deve prover portabilidade
Figura 7.1: Middleware permite que processos em diferentes espaços de endereçamento
consigam se comunicar.
de componentes de aplicações distribuídas através de uma interface (API) única e interoperabilidade de aplicações levando em consideração a adoção de um protocolo comum. As
principais vantagens que um middleware deve fornecer são:
• Facilidade de Uso: Middleware deve ser mais fácil de usar do que escrever uma
interface de comunicação de baixo nível usando sockets.
• Transparência de Localização: Deve ser possível mover uma aplicação para um
endereço de rede diferente sem a necessidade de recompilar qualquer software.
• Transparência de Linguagem: Um processo usando o middleware deve ser capaz
de se comunicar com um processo que foi escrito em uma linguagem diferente.
12
13. 7.2
Message Oriented Middleware (MOM)
Message Oriented Middleware (MOM) ou Middleware Orientado a Mensagem constitui
um método de comunicação entre componentes de software utilizado em sistemas distribuídos. Um cliente pode enviar e receber mensagens de forma assíncrona de qualquer outro
cliente, conectado a um agente especial que fornece facilidades para criar, enviar, receber
e ler mensagens.
Esses sistemas oferecem capacidade de armazenamento temporário para mensagens,
não exigindo que o emissor e o receptor estejam ativos durante a transmissão da mesma[?].
Diferentemente de sockets, suportam trocas de mensagens que podem levar vários minutos
em vez de alguns segundos ou milissegundos.
O MOM permite o fraco acoplamento. Emissor e receptor não precisam estar sincronizados, nem precisam ser previamente conhecidos. É uma alternativa aos métodos
distribuídos sincronizados que utilizam bloqueio durante a comunicação.
Os middlewares possuem filas de mensagens que implementam um link de comunicação
indireto, sem conexão e assíncrono entre dois ou mais processos. Um gerente de filas
rodando em um servidor separado gerencia as filas e garante que não importa o que ocorra
na rede, apenas uma cópia da mensagem eventualmente chega ao seu destino.
Deve-se notar que embora a comunicação de processo para processo seja assíncrona, a
comunicação entre um processo e o gerente de fila é em geral implementada usando um
link de comunicação direto e síncrono, isso significa que se a rede cair ou se o gerente cair,
um processo não pode incluir mensagens em uma fila ou obter mensagens da mesma.
Há várias diferenças chaves entre MOMs e outros tipos de middleware. Em um MOMs,
filas são independentes de um processo. Então, muitos processos podem incluir mensagens
em, ou obter mensagens de uma mesma fila. Um processo pode também acessar múltiplas
filas. Se a rede ou um destino cair, as mensagens podem esperar na fila até a falha ser
resolvida. As filas também podem ser armazenadas em disco de forma que se o gerente
de filas cair a fila não será perdida. O gerente de filas pode cooperar com um gerente de
transações: se uma transação é iniciada e uma mensagem é colocada em uma fila durante
a transação a qual é mais tarde abortada, então não somente o contexto de execução tem
que sofrer “roll back”, mas a mensagem também deverá ser removida da fila e não enviada.
7.3
Vantagens dos Message Oriented Middlewares
As principais vantagens dos Message Oriented Middlewares incluem:
• Fornece entrega confiável e sem duplicação de mensagens;
• Processos se comunicam de forma assíncrona e sem conexão direta entre os mesmos;
• Permite que aplicações executem de forma independente;
• O grau de tolerância a falhas é muito alto;
13
14. – Filas de mensagens armazenam mensagens temporariamente em armazenamento
persistente.
7.4
Desvantagens dos Message Oriented Middlewares
Algumas desvantagens incluem:
• Não há linguagem de definição de interface e não há processos de marshalling e
unmarshalling do conteúdo das mensagens.
– Fica a cargo do desenvolvedor de aplicações garantir que o emissor e o receptor
conhecem o formato da mensagem.
• Como clientes não bloqueiam após uma mensagem ser colocada em uma fila, clientes
podem fazer solicitações mais rapidamente do que servidores podem responder, o que
pode sobrecarregar o sistema. Vale a pena lembrar que, com middleware síncrono,
o cliente é bloqueado até o servidor responder de modo que não é possível ocorrer
sobrecarga.
14
15. Bibliografia
[BM06] P. A. Burrough and R. A. McDonnell. Principles of Geographical Information
Systems. Oxford, 2006.
[TS]
Tanenbaum and Van Steen. Distributed Systems: Principles and Paradigms.
[Wika] Portuguese Wikipedia. Sistema de Coordenadas Geográfico. http://pt.
wikipedia.org/wiki/Coordenadas_geograficas. [Online; accessed 04-Maio2010].
[Wikb] Portuguese Wikipedia. Sistema UTM. http://pt.wikipedia.org/wiki/UTM.
[Online; accessed 04-Maio-2010].
15
16. Lista de Figuras
1.1
1.2
Em (A) imagens com sobreposição, em (B) imagens disjuntas, com interseção vazia e em (C) imagens com mesmos tamanhos. . . . . . . . . . . . . .
Em (A) imagem geo-referenciada: o ponto O representa as coordenadas da
origem da imagem sobre o globo. Os eixos X e Y são o sistema de referência
ou orientação da imagem. Em (B) Cobertura de Imagens. . . . . . . . . . .
4
4
2.1
Processo de geração de uma cobertura disjunta regular uniforme. . . . . . .
6
7.1
Middleware permite que processos em diferentes espaços de endereçamento
consigam se comunicar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
16