Universidade
Federal de Viçosa
Tratamento de Erros de
Arredondamento na Biblioteca
TerraLib
Jaudete Daltio1
Marcus Vinícius Alvim Andrade1
Gilberto Ribeiro de Queiroz2
1
UFV - Universidade Federal de Viçosa - Departamento de Informática, Viçosa, MG, Brasil
2 INPE - Instituto Nacional de Pesquisas Espaciais, São José dos Campos, SP, Brasil
Introdução
TerraLib: Biblioteca de Componentes de
SIG
Desenvolvida pela parceria
• INPE (Instituto Nacional de Pesquisas Espaciais)
• Tecgraf/PUC-Rio (Grupo de Computação Gráfica da
Universidade Católica do Rio de Janeiro)
• FUNCATE (Fundação de Ciência, Aplicações e Tecnologia
Espaciais)
Visa a implementação de aplicativos
geográficos customizados – Small GIS
www.terralib.org
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Erros de Arredondamento
Metodologias
Computação Exata
Aritmética Intervalar
Aritmética Afim
Solução aplicada a TerraLib
Tolerâncias

TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Distorções Topológicas
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Erros de Arredondamento
Variações de Valor
Variação numérica do resultado
Controlada: inerentes ao processo
Variações de Decisão
Decisões erradas baseadas em valores de
processamento numérico
Resultados imprevisíveis
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Objetivos
Incorporar tratamento de erros de
arredondamento na TerraLib
Analisar onde os erros levam a situações
críticas
Minimizar este efeito em predicados
sensíveis às variações de decisão
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Arquitetura Modular da
TerraLib
Algoritmos
Algoritmos
Visualização
Conversor de
Dados
Estrutura de
Estrutura de
Dados
Dados Espaciais
Espaciais
Gerenciador
de Dados
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Representação de Dados
Espaciais
Pontos
Coordenadas Homogêneas Inteiras
Coordenadas
Homogêneas
Coordenadas
Cartesianas
x, y, z, w   x , y , z    3
w w w


TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Representação de Dados
Espaciais
Retas
Coeficientes Homogêneos da Reta
Coordenadas Inteiras
P0  x0 , y0 , w0 
P1  x1 , y1 , w1 

 x0
x
 1
 x
y0
y1
y
w0 
w1 
w 
x, y, w  y0 w1  y1w0 , x1w0  x0 w1, x0 y1  x1 y0
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Vantagens
P =1
2
 ,   1,2,3
3 3
P=
1,2,0
Simplificação das operações básicas
Interseção entre segmentos
Reta passando por 2 pontos
Orientação de 3 pontos
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Resultados
A Orientação de três pontos
Baseado no trabalho de Jonathan Richard
Shewchuk - “Adaptive Precision Floating-Point
Arithmetic and Fast Robust Geometric
Predicates”
É possível retornar respostas corretas sem
prosseguir os cálculos da Computação
Exata
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Orientação de três pontos
A: resultado ponto flutuante, obtido através
da avaliação convencional
B e C: expansão dos números em diferentes
pontos da equação e realização do cálculo
exato das operações
D: o determinante exato
A maioria das execuções termina com a
aproximação A
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Interseções de segmentos Plane Sweeper
S1
R
S2
S3
(a)
(b) (c)
(a) evento esquerdo (b) evento direito (c) interseção
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Interseções de segmentos
Tratamento de Overflows:
Sobrecarga das operações básicas
Translação dos pontos para o menor valor
de X e Y dentre as coordenadas
Bisseção dos segmentos: descartar o
trecho de cada segmento que não contém
o ponto interseção
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Próximos Passos
Determinação de envoltório convexo
Orientação de polígonos
Relacionamentos topológicos
Operadores união, interseção e
diferença - sobreposição
Comparação do comportamento da
implementação original em situações
críticas com os resultados obtidos
TerraUFV - Tratamento de Erros de Arredondamento na Biblioteca TerraLib
Download

Presentation