Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear...

91
INSTITUTO MILITAR DE ENGENHARIA Ten IVANILDO BARBOSA INTERPOLAÇÃO DE ATRIBUTOS PARA REGISTRO DE FEIÇÕES BIDIMENSIONAIS SOBRE SUPERFÍCIES, EMPREGANDO MODELO LINEAR Dissertação de Mestrado apresentada ao Curso de Mestrado em Engenharia Cartográfica do Instituto Militar de Engenharia, como requisito parcial para a obtenção do título de Mestre em Ciências em Engenharia Cartográfica. Orientador: Prof. Luiz Felipe C. F. da Silva – D. E. Co-orientador: Cap QEM Flávio Luís de Mello – D. Sc. Rio de Janeiro 2006

Transcript of Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear...

Page 1: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

INSTITUTO MILITAR DE ENGENHARIA

Ten IVANILDO BARBOSA

INTERPOLAÇÃO DE ATRIBUTOS PARA REGISTRO DE FEIÇÕES BIDIMENSIONAIS SOBRE SUPERFÍCIES,

EMPREGANDO MODELO LINEAR

Dissertação de Mestrado apresentada ao Curso de Mestrado em Engenharia Cartográfica do Instituto Militar de Engenharia, como requisito parcial para a obtenção do título de Mestre em Ciências em Engenharia Cartográfica.

Orientador: Prof. Luiz Felipe C. F. da Silva – D. E. Co-orientador: Cap QEM Flávio Luís de Mello – D. Sc.

Rio de Janeiro

2006

Page 2: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

2

c2006

INSTITUTO MILITAR DE ENGENHARIA

Praça General Tibúrcio, 80 – Praia Vermelha

Rio de Janeiro - RJ CEP: 22290-270

Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá incluí-lo

em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de

arquivamento.

São permitidas a menção, a reprodução parcial ou integral e a transmissão entre

bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja

ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que

sem finalidade comercial e que seja feita a referência bibliográfica completa.

Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es) e

do(s) orientador(es).

B238i Barbosa, Ivanildo

Interpolação de atributos para registro de feições bidimensionais sobre superfícies, empregando modelo linear / Ivanildo Barbosa. - Rio de Janeiro : 91 f. : il., graf., tab. Dissertação (mestrado) - Instituto Militar de Engenharia –

Rio de Janeiro, 2006. 1. Interpolação Linear. 2. Modelagem Digital de Terreno.

I. Título. II. Instituto Militar de Engenharia.

CDD 526

Page 3: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

3

INSTITUTO MILITAR DE ENGENHARIA

Ten IVANILDO BARBOSA

INTERPOLAÇÃO DE ATRIBUTOS PARA REGISTRO DE FEIÇÕES BIDIMENSIONAIS SOBRE SUPERFÍCIES, EMPREGANDO MODELO LINEAR

Dissertação de Mestrado apresentada ao Curso de Mestrado em Engenharia Cartográfica do Instituto Militar de Engenharia, como requisito parcial para a obtenção do título de Mestre em Ciências em Engenharia Cartográfica.

Orientador: Prof. Luiz Felipe C. F. da Silva – D. E. Co-orientador: Cap QEM Flávio Luís de Mello – D. Sc.

Aprovada em 14 de fevereiro de 2007 pela seguinte Banca Organizadora:

______________________________________________________________________

Prof. Luiz Felipe Coutinho Ferreira da Silva – D.E. do IME - Presidente

______________________________________________________________________

Flávio Luís de Mello – D. Sc. do CTEx

______________________________________________________________________

Cláudio Esperança – Ph. D. da UFRJ

______________________________________________________________________

Oscar Ricardo Vergara – D. E. do IME

Rio de Janeiro

2007

Page 4: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

4

Ao Deus Todo-Poderoso, o único digno de receber glória e honra.

Page 5: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

5

AGRADECIMENTOS

Agradeço a Deus por preparar meu caminho para chegar até aqui e me capacitar para vencer mais este desafio.

Minha esposa pelo apoio incondicional em todas as horas. Meus familiares pelas palavras de estímulo. Meus colegas de curso pelos bons momentos compartilhados durante o curso. Ao Prof. Dr. Luiz Felipe Coutinho Ferreira da Silva e ao Cap QEM Flávio Luís de Mello,

orientadores deste trabalho, pelo conhecimento que me proporcionaram. Ao Prof. Dr. Cláudio Esperança, por aceitar o convite para compor a banca. A todos que, direta e indiretamente, contribuíram para esta conquista.

Page 6: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

6

"If I have seen further [than others], it is by standing on the shoulders of giants."

ISAAC NEWTON

Page 7: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

7

SUMÁRIO LISTA DE ILUSTRAÇÕES ......................................................................................................9 LISTA DE TABELAS..............................................................................................................12 LISTA DE ABREVIATURAS E SÍMBOLOS ........................................................................13 LISTA DE SIGLAS..................................................................................................................14

1 APRESENTAÇÃO.....................................................................................................17 1.1. Introdução.....................................................................................................................17

1.2. Plataforma Gráfica de Visualização Tridimensional de Teatros De Guerra ................18

1.3. Objetivo ........................................................................................................................19

1.4. Justificativa...................................................................................................................19

1.5. Estrutura da Dissertação ...............................................................................................20

2 INTERPOLAÇÃO DE DADOS ...............................................................................21 2.1. Considerações Iniciais ..................................................................................................21

2.2. Coordenadas Baricêntricas ...........................................................................................23

2.3. Interpolação de Dados Coplanares ...............................................................................25

2.4. Interpolação de Atributos Georreferenciados...............................................................27

3 CONCEITOS DE GEOMETRIA COMPUTACIONAL .......................................28 3.1. Interseção entre Segmentos de Reta .............................................................................28

3.2. Pertinência de um Ponto a um Triângulo .....................................................................31

3.3. Pertinência de um Ponto a um Polígono.......................................................................33

3.4. Considerações Finais ....................................................................................................35

4 ANÁLISE TOPOLÓGICA .......................................................................................36 4.1. Considerações Iniciais ..................................................................................................36

4.2. Feições Pontuais ...........................................................................................................37

4.3. Feições Lineares ...........................................................................................................37

4.4. Feições de Área ............................................................................................................41

4.5. Considerações Finais ....................................................................................................47

5 IMPLEMENTAÇÃO DA SOLUÇÃO .....................................................................48 5.1. Considerações Iniciais ..................................................................................................48

5.2. Estrutura de Dados........................................................................................................49

5.3. Rotinas Auxiliares ........................................................................................................51

5.3.1. Indexação de triângulos................................................................................................51

5.3.2. Atribuição de informações sobre a vizinhança de cada triângulo................................52

5.3.3. Cálculo de coordenadas baricêntricas ..........................................................................53

Page 8: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

8

5.3.4. Localização do triângulo T que contém o ponto P.......................................................53

5.3.5. Cálculo de altura ..........................................................................................................54

5.3.6. Determinação do ponto de interseção de um segmento com um triângulo..................54

5.3.7. Verificação do seccionamento do triângulo por polígono ...........................................56

5.3.8. Verificação de pertinência de ponto a polígono...........................................................56

5.3.9. Verificação de pertinência de triângulo a polígono .....................................................56

5.3.10. Secção de triângulos.....................................................................................................57

5.4. Algoritmo Principal ......................................................................................................58

5.4.1. Feições pontuais ...........................................................................................................60

5.4.2. Feições lineares ............................................................................................................61

5.4.3. Feições de área .............................................................................................................64

5.5. Aproximações Numéricas.............................................................................................68

5.5.1. Tolerância das coordenadas baricêntricas ....................................................................69

5.5.2. Tolerância dos parâmetros para verificação de interseção...........................................71

5.5.3. Comparação de pontos .................................................................................................71

5.6. Integração das Rotinas..................................................................................................72

6 CONCLUSÕES ..........................................................................................................76 7 REFERÊNCIAS BIBLIOGRÁFICAS.....................................................................78 8 APÊNDICES...............................................................................................................81 8.1. Apêndice A – Resultados do primeiro processamento do arquivo...............................82

8.2. Apêndice B – Resultados do segundo processamento do arquivo ...............................87

Page 9: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

9

LISTA DE ILUSTRAÇÕES

FIG. 2.1 Ordenação de valores para interpolação linear de f(x). .........................................22

FIG. 2.2 Esquema de Interpolação bilinear. Adaptado de Felgueiras (2001). .....................23

FIG. 2.3 Valores das coordenadas baricêntricas em relação ao û$%&� ..............................24

FIG. 2.4 Determinação do plano .�D�SDUWLU�GR�YHWRU�QRUPDO�D�GRLV�ODGRV�GR�û$%&� ..........25

FIG. 3.1 Primeira condição de interseção de segmentos, empregando as propriedades dos produtos vetoriais...................................................................................................28

FIG. 3.2 Segunda condição de interseção de segmentos, empregando as propriedades dos produtos vetoriais...................................................................................................29

FIG. 3.3 Propriedade da soma da área dos triângulos, considerando P no interior GH�û$%&�...............................................................................................................................31

FIG. 3.4 Propriedade da soma da área dos triângulos, considerando P externo a û$%&� ...32

FIG. 3.5 Cálculo de área por meio de produto vetorial. .......................................................32

FIG. 4.1 Representação de feições pontuais sobre TIN. ......................................................37

FIG. 4.2 Exemplo de uma malha triangular irregular e uma feição linear...........................38

FIG. 4.3 Casos de pertinência e interseção de segmentos com triângulos...........................39

FIG. 4.4 Exemplo de interseção de um triângulo e um segmento sobre um lado daquele. .39

FIG. 4.5 Exemplo de interseção de um triângulo e um segmento sobre um vértice daquele................................................................................................................................40

FIG. 4.6 Relações geométricas entre os triângulos da TIN e um polígono qualquer...........42

FIG. 4.7 Possíveis formas de divisão de triângulos de acordo com a posição da fração do contorno da feição sobre eles.................................................................................43

FIG. 4.8 Exemplo de seccionamento do último triângulo de um segmento MN. ................45

Page 10: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

10

FIG. 4.9 Seccionamento de triângulo que contém o segmento a ser processado.................45

FIG. 5.1 Esquema da estrutura de dados empregada no desenvolvimento da plataforma. ..49

FIG. 5.2 Rede triangular irregular construída sobre um extrato da carta Piraquara, MI 2842-4-SE. ......................................................................................................................50

FIG. 5.3 Atribuição da informação de vizinhança aos triângulos da rede. ..........................52

FIG. 5.4 Ponto de interseção do segmento MN com o û$%&�............................................54

FIG. 5.5 Critério de determinação do ponto de interseção...................................................55

FIG. 5.6 Interseção do segmento MN com os três lados do û$%&� ....................................55

FIG. 5.7 Feição de área representada sobre rede triangular. ................................................57

FIG. 5.8 Aspecto da TIN após processamento. ....................................................................57

FIG. 5.9 Aspecto do polígono empregado nos testes de implementação, assinalando seus vértices. ..................................................................................................................59

FIG. 5.10 Algoritmo simplificado para processamento das feições.......................................59

FIG. 5.11 Algoritmo para processamento das feições pontuais. ............................................60

FIG. 5.12 Algoritmo para processamento das feições lineares. .............................................62

FIG. 5.13 Plotagem dos pontos processados sobre a rede TIN..............................................64

FIG. 5.14 Algoritmo para processamento das feições de área. ..............................................65

FIG. 5.15 Resultado da seleção dos triângulos da TIN de acordo com o seu relacionamento topológico com o polígono de teste. ......................................................................66

FIG. 5.16 Resultado do seccionamento dos triângulos para composição do polígono de teste................................................................................................................................68

FIG. 5.17 Exemplo de determinação de ponto de interseção pelas relações de vizinhança entre triângulos. .....................................................................................................70

Page 11: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

11

FIG. 5.18 Feições contidas no arquivo, a serem processadas. ...............................................73

FIG. 5.19 Resultado do processamento do primeiro caso. .....................................................74

FIG. 5.20 Resultado do processamento do segundo caso. .....................................................74

Page 12: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

12

LISTA DE TABELAS

TAB. 4.1 Esquema de divisão de triângulos parcialmente contidos em polígonos................. 44

TAB. 4.2 Triângulos gerados pelo seccionamento do último triângulo do segmento............. 46

TAB. 5.1 Coordenadas dos vértices do polígono empregado nos testes de pertinência. ........ 58

TAB. 5.2 Resultados obtidos com o processamento das feições pontuais. ............................ 61

TAB. 5.3 Resultado do processamento da polilinha de teste. ................................................. 63

Page 13: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

13

LISTA DE ABREVIATURAS E SÍMBOLOS

ABREVIATURAS R2 – espaço bidimensional cujo domínio é o conjunto dos números reais. SÍMBOLOS û$%&� – triângulo que possui por vértices os pontos A, B e C. f(x) – função de x. f(x, y) – função de x e de y. λA, λB, e λC – coordenadas baricêntricas em relação aos pontos A, B e C, nesta ordem.

vu&&

× – produto vetorial dos vetores u&

e v&

. . – identificação de um plano genérico. t, u, v, w – parâmetros definidores do plano .� ∞ – infinito M – raio de curvatura da seção meridiana principal N – raio de curvatura da seção primeiro vertical.

Page 14: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

14

LISTA DE SIGLAS BNA Atlas Boundary BN3 Atlas Boundary 3D CTEx Centro Tecnológico do Exército DSG Diretoria de Serviço Geográfico GPS Global Positioning System IBGE Instituto Brasileiro de Geografia e Estatística IME Instituto Militar de Engenharia MTD Mapoteca Topográfica Digital TBCD Tabela da Base Cartográfica Digital TIN Triangular Irregular Network

VRML Virtual Reality Modeling Language

Page 15: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

15

RESUMO

Alguns fenômenos da natureza comportam-se de maneira regular, regidos por expressões matemáticas bem definidas. Outros, porém, tem seu comportamento estimado a partir de observações realizadas ao longo do seu domínio. Quando isso ocorre, os dados podem ser obtidos em intervalos discretos, espaçados regular ou irregularmente, e os valores intermediários são estimados a partir de interpolação, sendo freqüentemente empregado em aplicações diversas o modelo linear de interpolação, devido à simplicidade dos conceitos matemáticos empregados. No domínio bidimensional, a interpolação de atributos pode ser realizada a partir de três pontos não colineares por meio de coordenadas baricêntricas. Quanto mais próximos estes pontos estiverem do ponto que terá o atributo calculado, melhor a adaptação do valor interpolado ao conjunto de pontos com atributos conhecidos. Um exemplo de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais, lineares e de área (contidas em um arquivo vetorial validado) com base nas informações altimétricas do mesmo, ajustadas sobre a superfície de uma rede triangular irregular. Por isso, foi implementada uma solução na linguagem C++ com base na análise do relacionamento topológico entre as feições planimétricas e as projeções dos triângulos da rede, e cujo produto pode ser empregado no funcionamento da Plataforma de Visualização Tridimensional de Teatros de Guerra, desenvolvida na Seção de Ensino de Engenharia Cartográfica do Instituto Militar de Engenharia em parceria com o Centro Tecnológico do Exército. A solução foi testada com um conjunto de feições, explorando casos com diferentes complexidades. Os resultados foram registrados em arquivos de formato BN3, empregado na Plataforma de Visualização Tridimensional de Teatros de Guerra, e em formato VRML para visualização em navegadores web, sendo instalados os plug-ins próprios para visualização 3D.

Page 16: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

16

ABSTRACT

Some natural phenomena occur in a regular way, ruled by well defined mathematical expressions. However, some measures could be evaluated by being observed them along their domain. In this case, data may be produced from measures over points equally distanced, or not, so intermediate data may be evaluated by interpolation. The linear model is often used in several applications for its simple mathematical concepts. Data interpolation, over two-dimensional domain, may be done by computing barycentric coordinates based at three non-colinear points. As close are the three points, as better the interpolated value fits over the set of known-value points. Linear model of interpolation may be applied on computing the heights of points, lines and areas representing planimetric features in a validated vector file, based on the heights data arranged over a triangular irregular network (TIN) surface. Based on the analysis of the topological relationship between planimetric features and the projections of the triangles at the TIN, a C++ program was compiled to process features, so they can be fitted over the surface of the terrain mesh. Proccess results are gathered to the “3D War Theater Visualization Platform Project”, developed by Cartographical Engineering School of the Military Institute of Engineering, joint to Army Technology Center. The implemented routine was tested by processing a set of features in order explore cases with different levels of complexity. The proccessed data were stored in BN3 format, used on the 3D War Theater Visualization Platfotm Project, and in VRML format, handled on web browsers prepared for 3D visualization with appropriate plug-ins.

Page 17: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

17

1 APRESENTAÇÃO

1.1. INTRODUÇÃO

Representar graficamente uma realidade é uma prática presente no cotidiano do homem

desde a pré-história. Isso pode ser constatado nas gravuras desenhadas nas paredes das

cavernas de diversas regiões do mundo, registrando hábitos e procedimentos necessários à

sobrevivência do homem naquelas épocas. Muitas informações implícitas às gravuras são

relacionadas à localização do homem e de elementos de seu interesse.

Nos dias de hoje, a representação gráfica da realidade, da localização do homem e dos

elementos de seu interesse continuam sendo deveras importantes para tomada de decisões, tal

como eram na época das gravuras. Entretanto, houve uma inegável evolução do

conhecimento, permitindo a representação do meio em que vive o homem de um modo cada

vez mais próximo da realidade. Neste contexto, termos como Sistemas de Informações

Geográficas, Modelos Digitais de Terreno, entre outros, despontam como as “pinturas

rupestres” da atualidade.

A Computação deu subsídios para simulações em ambientes remotos, modelados sobre

contextos reais ou não. Isso pode ser exemplificado pelos programas de Jogos de Guerra e

pelos Sistemas de Comando e Controle, desenvolvidos e/ou empregados principalmente no

âmbito das Forças Armadas. Tais simulações são modeladas com a intenção de massificar

conhecimentos teóricos (como, por exemplo, o desenvolvimento de estratégias para

coordenação do deslocamento de tropas) ou de disseminação da informação (C2).

A criação desses ambientes digitais demanda metodologias de aquisição de dados, que

podem ser diretas ou indiretas. Exemplo de aquisição direta é a gravação das coordenadas de

uma feição em meio digital após o seu levantamento com uma estação total ou com

rastreadores GPS. Nestes casos são necessárias metodologias de aquisição (espaçamento

espacial e temporal entre as observações, precisão dos dados, condições atmosféricas, entre

outras) elaboradas considerando que um maior número de dados coletados implica em custos

maiores, o que pode inviabilizar a realização do projeto. Assim, opta-se pela minimização da

Page 18: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

18

quantidade de pontos mensurados diretamente, desde que não comprometa a precisão exigida

pela aplicação.

No caso da aquisição indireta, pode-se citar a vetorização, a validação, e atualização de

documentos cartográficos, assim como a restituição nas estações fotogramétricas digitais.

Nestes casos, há atributos que não estão explícitos nos documentos originais (cartas e/ou

fotografias), mas que podem ser de interesse do usuário, e podem ser obtidos através de

interpolação de valores de outras feições contidas nas fontes citadas (altitudes fora das curvas

de nível, por exemplo), ou obtidos pelos métodos de aquisição direta. A interpolação de

atributos permite minimizar a quantidade de dados obtidos in loco – desde que não

comprometam a precisão dos cálculos – e, conseqüentemente, os custos da aquisição de

dados.

1.2. PLATAFORMA GRÁFICA DE VISUALIZAÇÃO TRIDIMENSIONAL DE TEATROS DE GUERRA

Visando a atender necessidades dos sistemas de visualização de terrenos em ambiente

digital, a Seção de Ensino de Engenharia Cartográfica do Instituto Militar de Engenharia

(IME), juntamente com a Divisão de Tecnologia da Informação do Centro Tecnológico do

Exército (CTEx), desenvolvem uma plataforma de visualização capaz de gerar visualizações

de modelos tridimensionais de terrenos, a partir dos formatos digitais produzidos e suportados

pela Diretoria de Serviço Geográfico (DSG) e pelo Instituto Brasileiro de Geografia e

Estatística (IBGE), órgãos de mapeamento sistemático do Brasil.

Há diversas pesquisas em andamento com a finalidade de desenvolver funcionalidades

para a mesma. MELLO e FERREIRA (2004 e 2005) abordam algumas fases já

implementadas desta plataforma.

Uma das necessidades da plataforma é o registro de feições planimétricas, sem

informação de altitude, sobre uma rede triangular irregular (Triangular Irregular Network –

TIN) construída com base nas informações altimétricas (curvas de nível e pontos cotados) da

região a ser modelada. Este é um caso em que a interpolação pode ser empregada, como

exemplo do que foi descrito na seção 1.1. Por esta razão, os conhecimentos abordados ao

longo desta dissertação serão aplicados no cálculo das altitudes das feições planimétricas.

Page 19: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

19

1.3. OBJETIVO

Sejam um conjunto de pontos no R2 com atributos conhecidos, de comportamento linear,

e outro conjunto cujos atributos não são conhecidos. Esta dissertação tem como objetivo

propor uma metodologia que permita calcular atributos de comportamento linear de conjuntos

de pontos – isolados, alinhados ou delimitados por um polígono convexo fechado. Será

empregando o modelo linear de interpolação, com base em um conjunto de pontos em que tal

atributo seja conhecido.

O teste da metodologia proposta se dará pelo cálculo automatizado de altitudes de feições

planimétricas (pontuais, lineares e de área) com base nos dados altimétricos de uma carta

topográfica.

1.4. JUSTIFICATIVA

A opção por abordar este assunto surgiu da necessidade de implementar algoritmos que

calculassem altitudes com base em uma TIN, tridimensional, de modo que feições

planimétricas bidimensionais pudessem se ajustar à mesma. A aplicação imediata é a

Plataforma Gráfica de Visualização Tridimensional de Teatros de Guerra (seção 1.2), porém o

princípio empregado permite calcular quaisquer atributos de comportamento linear no R2,

principalmente quando são georreferenciados. Pode-se estimar precipitação pluviométrica,

temperatura, salinidade, acidez, entre outros fenômenos, com base em algumas medições,

minimizando a quantidade de observações relativas a lugares de difícil acesso ou que

demandem custo financeiro proibitivo (desde que não sejam essenciais na manutenção da

integridade dos cálculos). As demais informações podem ser recuperadas a qualquer momento

com base nas observações feitas.

Soma-se a isso, o fato de as metodologias atuais de produção cartográfica em meio digital

apresentarem como produto final arquivos validados para a implementação de sistemas de

informação geográfica, predominantemente bidimensionais. Qualquer informação

georreferenciada de comportamento linear de uma feição pode ser interpolada com o uso da

Page 20: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

20

metodologia desenvolvida nesta pesquisa, e agregada a um sistema de informações, como

mencionado na seção 1.1.

Além disso, alguns aplicativos comerciais existentes no mercado se propõem a gerar

visualizações tridimensionais do terreno e das feições, porém o custo das licenças é alto.

Além do mais, os requisitos computacionais e as metodologias disponíveis para

processamento dos dados vetoriais os tornam proibitivos em computadores de baixa

capacidade.

1.5. ESTRUTURA DA DISSERTAÇÃO

Para documentar a pesquisa de forma mais eficiente, estabeleceu-se a seguinte estrutura de capítulos:

Capítulo 1 – Apresentação: trata-se deste capítulo, contendo contextualização, objetivos e

justificativas;

Capítulo 2 – Interpolação de Dados: neste capítulo são apresentados os conceitos sobre

interpolação linear necessários à fase de implementação;

Capítulo 3 – Conceitos de Geometria Computacional: neste capítulo são abordadas

operações a serem implementadas em ambiente computacional, descrevendo relacionamentos

topológicos levantados no capítulo anterior;

Capítulo 4 – Análise Topológica: primeira avaliação do estudo de caso, considerando o

relacionamento topológico entre os conjuntos de pontos a serem interpolados e a TIN formada

pelos pontos com altitudes conhecidas;

Capítulo 5 – Implementação da Solução: neste capítulo, será implementada a solução para

o estudo de caso, empregando os conceitos dos capítulos 2, 3 e 4. Serão abordadas as rotinas

auxiliares e os resultados obtidos sobre conjuntos de dados piloto;

Capítulo 6 – Conclusões: serão registradas as observações e conclusões e apontadas

possíveis linhas de pesquisa afetas a esta, de modo que otimize este trabalho ou que usem esta

pesquisa como subsídio para novas outras;

Capítulo 7 – Referências bibliográficas: conjunto de títulos e fontes de conhecimento para a

execução desta pesquisa;

Capítulo 8 – Apêndices: resultados da aplicação da metodologia desenvolvida.

Page 21: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

21

2 INTERPOLAÇÃO DE DADOS

2.1. CONSIDERAÇÕES INICIAIS

Correlacionar grandezas é essencial para o acompanhamento de fenômenos científicos

em geral. Realizadas as observações e/ou medições de atributos, é comum organizá-las em

tabelas, gráficos ou ambos. Alguns fenômenos podem ser descritos por expressões

matemáticas bem definidas, fazendo com que sejam conhecidos os atributos apenas em

função de conjuntos de valores arbitrários, de acordo com o número de variáveis. Outros não

se definem por expressões matemáticas, mas associam para cada valor arbitrário apenas um

valor para o atributo de interesse. Isso caracteriza uma função (APOSTOL, 1985). Com base

nisso, recorre-se aos conceitos de domínio e imagem de uma relação ou função, associando o

conjunto de valores observados (ou medidos) à imagem, e os valores arbitrários das variáveis

ao domínio.

O domínio pode ser um conjunto discreto (por exemplo, os anos em gráficos de

estatísticas anuais) ou contínuo (por exemplo, o tempo na caracterização da posição, da

velocidade e da aceleração de um corpo). Funções de domínio contínuo permitem inúmeras

subdivisões neste, até o limite infinitesimal, o que impossibilita a realização das observações

de todos os dados. Caso não exista uma expressão matemática explicitamente definida (que

retorne diretamente o valor do atributo), os atributos podem ser obtidos em intervalos

discretos, igualmente espaçados (ou não), e os valores intermediários estimados a partir de

interpolação desses pontos.

Interpolação, segundo WEISSTEIN (1999), consiste no “cálculo de pontos ou valores

entre outros conhecidos ou tabulados usando pontos e valores ao seu redor”. Segundo esta

definição, para o cálculo de um atributo é necessário, além dos pontos de atributos

conhecidos, estabelecer a regra de determinação do valor desejado, ou a regra de interpolação.

Na mesma referência são citados diversos tipos de interpolação como as de Aitken, de Bessel,

de Everett, de Gauss, entre outras. Entretanto, uma das mais empregadas, se não a mais

empregada, é a interpolação linear, por ser de fácil concepção matemática e pela ampla

possibilidade de aplicações.

Page 22: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

22

Para exemplificá-la, propõe-se a seguinte situação no domínio unidimensional: sejam os

valores x1, x2,... xn valores que tem atribuídos a si f(x1), f(x2),... f(xn), respectivamente. Aplicar

a interpolação linear implica em ordenar os valores do domínio de modo que x esteja contido

no menor intervalo [xi, xi+1] e calcular f(x) de modo que f(xi), f(x) e f(xi+1) sejam colineares

(FIG. 2.1). Assim, pode-se representar, respectivamente, x e f(x) da forma:

FIG. 2.1 – Ordenação de valores para interpolação linear de f(x).

Considere-se um ponto P, no R2, de coordenadas (x,y) quaisquer. Por analogia ao

domínio unidimensional, associa-se o valor de f(x,y) à terceira ordenada de um ponto no R3.

Assim é possível representar os dois domínios e o valor da função de quaisquer pontos P.

Neste caso, a interpolação linear deve considerar os três pontos A, B e C, mais próximos

de P. Isso porque qualquer combinação linear de dois pontos no R2 define uma reta, ou seja,

infinitos pontos que atendam à condição estipulada (como exemplo, a mediatriz de um

segmento de reta); em contrapartida, três pontos não colineares definem inequivocamente um

plano. Todavia, boa parte da bibliografia consultada sobre o assunto apresenta a metodologia

para interpolação bilinear, baseando-se em quatro pontos distribuídos, dois a dois,

regularmente no R2, como em FELGUEIRAS (2001), RUGGIERO e LOPES (1996), e

DIEGUEZ (2005). Neste caso, são realizadas duas interpolações unidimensionais para

determinação dos atributos de M (a partir dos pontos A e B) e de N (a partir dos pontos C e

D), pontos com a mesma abcissa de P. Feito isso, realiza-se uma nova interpolação

unidimensional para determinação do atributo de P a partir dos pontos M e N (FIG. 2.2).

xi xi+1 x = λxi + (1 – λ)xi+1

f(x) = λf(xi) + (1 – λ)f(xi+1);

Page 23: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

23

FIG. 2.2. Esquema de Interpolação bilinear. Adaptado de FELGUEIRAS (2001).

Entretanto, nem sempre é possível dispor de uma rede de pontos distribuídos

regularmente no espaço, daí a proposta de emprego da interpolação com base em três pontos

A, B e C dentre os de atributos conhecidos, por ser mais abrangente. Em primeira análise,

qualquer conjunto de três pontos pode ser considerado, porém é necessária a ordenação dos

pontos de modo que o intervalo (analogamente ao intervalo da interpolação unidimensional)

seja o mais estreito possível. Isto é, não exista outro ponto do domínio contido naquele

intervalo. Em outras palavras, imagina-se um conjunto de triângulos cujos círculos que os

circunscrevem não contenham outros triângulos, mesmo que possuam um lado comum. Esta é

uma das características da triangulação de Delaunay1, construída a partir da diagramação de

Voronoi (CARVALHO e FIGUEIREDO, 1991; WEISSTEIN, 2005; MOUNT, 2002,

ESPERANÇA e CAVALCANTI, 2001b). Desta forma, calcula-se f(x,y) de modo que P, A, B

e C sejam coplanares.

Uma solução bastante empregada na construção de modelos digitais de elevação é a

interpolação dos vértices de uma grade de pontos espaçados regularmente. Assim, os

trabalhos posteriores de interpolação consideram os pontos da grade, e aplica-se o modelo

bilinear (FIG. 2.2).

2.2. COORDENADAS BARICÊNTRICAS

Baseando-se no conceito de definição de bases de espaços vetoriais – cada ponto no

espaço vetorial V3 pode ser representado como combinação linear de três vetores linearmente

independentes (APOSTOL, 1985). Isto significa que é possível afirmar que qualquer ponto (x,

y) no R2 pode ser escrito em função de A, B e C, vértices do triângulo û$%&�� 1 Não serão abordados os detalhes da construção da triangulação de Delaunay, porém enfatiza-se a eficácia das referências bibliográficas mencionadas na abordagem do assunto.

A

C D

B

P

M

N

Page 24: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

24

Sendo assim, considerem-se C e B ,A&&&

, vetores partindo da origem para, respectivamente,

os vértices A, B e C do triângulo û$%&�� $VVXPLQGR� R� HVSDço vetorial gerado pela base

composta por estes vetores, um ponto P em V3 pode ser representado pela combinação linear

desses vetores (EQ. 2.1 e EQ. 2.2), empregando coeficientes normalizados λA, λB, e λC (EQ.

2.3), chamados coordenadas baricêntricas de P. Expandindo este conceito para cada um dos

eixos, escrevem-se a EQ. 2.1 e a EQ. 2.2; a normalização das coordenadas é expressa em

função da EQ. 2.3.

=++

=⋅+⋅+⋅

=⋅+⋅+⋅

2.3) (EQ. 1���2.2) (EQ. yy�y�y� 2.1) (EQ. xx�x�x�

CBA

pCBA

pCBA

CBA

CBA

O sistema composto pelas EQ. 2.1, EQ. 2.2 e EQ. 2.3 pode ser solucionado com uso da

regra de Cramer (APOSTOL, 1985), devido à independência linear dos vetores da base. Há

outras soluções possíveis para sistemas lineares de 3 equações, como Gauss-Jordan, por

exemplo (DIEGUEZ, 2005). Entretanto, o método de Cramer fornece a solução do sistema

sem reiterações nem operações matriciais explícitas.

A FIG. 2.3 mostra a relação entre os valores das coordenadas baricêntricas e a posição

dos pontos com essas coordenadas em relação ao triângulo û$%&��

FIG. 2.3 - Valores das coordenadas baricêntricas em relação ao û$%&�

�A=0; �B=0; C: �C=1. B: �A=0;

�B=1; �C=0.

�A=1; A: �B=0; �C=0.

�A=0;

�B=0;

�A<0; �B<0; �C>0.

�A>0; �B<0; �C<0.

�A<0; �B>0; �C<0.

�A>0; �B>0; �C>0.

�A>0; �B<0; �C>0.

�A>0; �B>0; �C<0.

�A<0; �B>0; �C>0.

Page 25: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

25

Uma aplicação direta deste conceito é a determinação da pertinência de um ponto P a um

triângulo û$%&�� (P� :(,667(,1� ������� H� &$59$/+2� H� ),*8(,REDO (1991) há

abordagens mais profundas sobre coordenadas baricêntricas.

2.3. INTERPOLAÇÃO DE DADOS COPLANARES

O triângulo û$%&�GHILQH�XP�SODQR�. que o contém por meio de parâmetros relacionados

às coordenadas dos seus vértices. Logo, conhecidos o ponto P, de coordenadas (x,y), e o

triângulo û$%&��é possível conhecer f(x, y) projetando P sobre o plano ..

APOSTOL (1985) apresenta o teorema que permite definir a equação cartesiana da

família de planos através do vetor normal a um deles. Este é numericamente igual ao módulo

do produto vetorial de dois vetores linearmente independentes, pertencentes ao plano em

questão (EQ. 2.4). A FIG. 2.4 contextualiza a EQ. 2.4 considerando o vértice A como a

origem dos vetores empregados no cálculo dos coeficientes t, u e v.

kvjuitbc&&&&

&

++=× (EQ. 2.4)

FIG. 2.4 – Determinação do plano .�D�SDUWLU�GR�YHWRU�QRUPDO�D�GRLV�ODGRV�GR�û$%&�

A caracterização do plano .� GHQWUH� RV� LQILQLWRV� SODQRV� GD� IDPília se completa com a

definição do coeficiente w. Desta forma, a equação do plano . que contém o triângulo û$%&�pode ser escrita como:

0wvzuytx:. =+++ (EQ. 2.5)

A

B

C

AB x AC .

c

a b

Page 26: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

26

O cálculo do coeficiente w é realizado com base em qualquer dos vértices do triângulo.

Foi escrita a EQ. 2.6 empregando as coordenadas do vértice A na determinação do valor de w.

Sendo assim:

)vzuy(txw AAA ++−= (EQ. 2.6)

Dado qualquer outro ponto (x,y), este será coplanar a A, B e C desde que:

w)/vuy(txz PPP ++−= (EQ. 2.7)

O valor de v não deve ser nulo. Isso ocorre quando o plano . é perpendicular ao plano

definido pelos eixos x e y, quando os lados são vetores linearmente dependentes ou quando

um deles for nulo. No primeiro caso, a relação entre (x,y) e f(x,y) não caracteriza uma função,

porque para um mesmo par ordenado (x,y) existem infinitos valores de f(x,y) relacionados.

Nos demais casos, descarta-se a possibilidade de v ser nulo porque os vértices A, B e C não

são colineares nem coincidentes.

Com base nas propriedades explanadas nesta seção, e nas propriedades das coordenadas

baricêntricas, pode-se escrever:

0wvzuytx =+++

t(λAxA + λBxB + λCxC) + u(λAyA + λByB + λCyC) + v(λAzA + λBzB + λCzC) + w = 0;

1��� CBA =++ ⇒ λAw + λBw + λCw = w;

Logo:

λA(txA + uyA + w) + λB(txB + uyB + w)+ λC(txC + uyC + w) + vz = 0;

wuytxvz ++=−

–λAvzA – λBvzB – λCvzC + vz = 0

vz = v(λAzA + λBzB + λCzC)

z = λAzA + λBzB + λCzC (EQ. 2.8)

O emprego da EQ. 2.8 é vantajoso porque permite o cálculo do atributo com apenas uma

expressão, empregando dados já calculados (coordenadas baricêntricas).

Page 27: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

27

2.4. INTERPOLAÇÃO DE ATRIBUTOS GEORREFERENCIADOS

Carl F. Gauss propôs uma teoria em que afirma que uma superfície curva pode se ajustar

a uma esfera sem deformação se o raio desta for a média de todos os raios de curvatura da

primeira superfície (JORDAN e EGGERT, 1962). Se esta for um elipsóide de revolução, o

raio de curvatura será função dos raios de curvatura das seções principais (EQ. 2.9): da seção

meridiana (EQ. 2.10) e da seção primeiro vertical (EQ. 2.11). Ambas são função do

comprimento do semi-eixo maior do elipsóide (a), da excentricidade deste (e) e da latitude

geodésica do ponto (3��

2.11) (EQ. sen1

2.10) (EQ. )sen1(

)1(

2.9) (EQ.

22

2/322

2

ϕ

ϕ

⋅−=

⋅−−⋅

=

=

e

aN

e

eaM

MNR

A aplicação dessa teoria é restrita à vizinhança de um ponto sobre aquela superfície.

Quanto maior a distância do ponto de referência, maior a discrepância entre o elipsóide e a

esfera. Dentro dos limites desta vizinhança, chamada Campo de Weingharten, podem ser

empregadas as formulações sobre a esfera, simplificando os cálculos geodésicos. De igual

modo, de acordo com o Teorema de Legendre, um triângulo esférico sobre a esfera de raio

médio pode ser considerado como plano, desde que o comprimento de cada lado do triângulo

plano seja igual ao comprimento do lado elipsoidal e seja decrescido de cada ângulo interno

do triângulo esférico um terço do excesso esférico ε (JORDAN e EGGERT, 1962), cujo valor

depende da área T do triângulo e do raio R da esfera (EQ. 2.12);

2.12) (EQ. "1

"2

arcR

T

⋅=ε

Desta forma, quanto mais densa for a TIN, menores serão as áreas dos triângulos, o

excesso esférico e a correção a ser aplicada, podendo ser, em alguns casos, desprezada. Em

contrapartida, cada triângulo possuirá sua respectiva esfera de raio médio.

Page 28: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

28

3 CONCEITOS DE GEOMETRIA COMPUTACIONAL

Segundo MOUNT (2002), o termo Geometria Computacional está relacionado ao

desenvolvimento e à análise de algoritmos eficientes que solucionem problemas envolvendo

elementos geométricos. Entre estes problemas podem ser citados: a interseção entre

segmentos de reta, a pertinência de ponto a triângulo e de ponto a polígono.

A modelagem da solução destes problemas é fundamental para a implementação das

rotinas que ajustarão as feições à superfície da TIN construída com base nos pontos de

atributos conhecidos.

3.1. INTERSEÇÃO ENTRE SEGMENTOS DE RETA

Segmentos de reta são intervalos limitados de retas. Sendo assim, podem ser definidos

pelos seus pontos extremos ou por um destes mais um vetor (que indica a direção e o

comprimento do segmento). Podem existir isoladamente ou conectados em ambas as

extremidades a outros segmentos de retas, formando polígonos abertos ou fechados.

CARVALHO e FIGUEIREDO (1991) apresentam a solução por produtos vetoriais. Para

analisar este modelo, considerem-se os segmentos AB e MN, no espaço bidimensional,

dispostos conforme a FIG. 3.1.

ABAN ×

ABAM ×

FIG. 3.1 – Primeira condição de interseção de segmentos, empregando as propriedades dos produtos vetoriais.

Constata-se que os segmentos AM e AN têm orientação oposta em relação a AB.

Observando a FIG. 3.1, pode-se afirmar que os produtos vetoriais ABAN × e ABAM ×

M

N

A B

Page 29: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

29

possuem direções opostas (perpendiculares ao plano que contém os pontos A, B, M e N). A

EQ. 3.1. formaliza matematicamente esta condição.

0)()( <×⋅× ABANABAM (EQ. 3.1)

Analogamente ao primeiro caso, observa-se que os segmentos MA e MB têm orientação

oposta em relação a MN, logo os produtos vetoriais MNMA× e MNMB × possuem direções

opostas.

MNMA×

MNMB ×

FIG. 3.2 – Segunda condição de interseção de segmentos, empregando as propriedades dos produtos vetoriais.

Por fim, a EQ. 3.2. formaliza matematicamente esta condição.

0)()( <×⋅× MNMBMNMA (EQ. 3.2)

Conclui-se que AB intersepta MN se os tais atenderem às condições definidas pelas EQ.

3.1 e EQ. 3.2, simultaneamente. Embora este método determine a interseção ou não entre dois

segmentos, não calcula as coordenadas do ponto de interseção.

O método da parametrização de segmentos, abordado em ESPERANÇA e

CAVALCANTI (2001a), DAVIS (2001) e MOUNT (2002), consiste em representar os

segmentos de reta em função de um ponto e uma direção. Este conceito é apresentado em

Geometria Analítica como forma de representação de retas, porém os segmentos de reta

possuem limitação nos parâmetros.

Ex.: r :�$���W0· (B-A) = A + t0· u

r é reta se t0∈[-���@� r é o segmento de reta AB se t0∈[0, 1];

M

N

A B

Page 30: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

30

s :�0���W1· (N-M) = M + t1· v

s é reta se t1∈[-���@� s é segmento de reta AB se t1∈[0, 1];

É possível afirmar que um segmento de reta AB intersecta outro segmento, MN, se e

somente se existe um ponto I tal que possa ser obtido pelas duas maneiras seguintes

(ESPERANÇA e CAVALCANTI, 2001a):

I = A + t0· u ou I = C + t1· v t0∈[0, 1]; t1∈[0, 1];

Logo,

A + t0· u = C + t1· v (EQ. 3.3)

Como A, B, C e D são bidimensionais e cada ordenada gera uma equação, o problema

incorre em um sistema linear com duas equações e duas incógnitas. Calculando t0 e t1:

t0 = [(xA-xC)(yD-yC) – (yA-yC)(xD-xC)]/[(yB-yA)(xD-xC) – (xB-xA)(yD-yC)]

t1 = [(xB-xA)(yC-yA) – (yB-yA)(xC-xA)]/[(yB-yA)(xD-xC) – (xB-xA)(yD-yC)]

De acordo com a solução do sistema, pode-se estabelecer a relação topológica entre AB e

CD:

a) A = C; t0 = t1 = 0; :�$%�H�&'�Vão concorrentes em A (ou C);

b) A = C; t0 = k· t1; AB e CD coincidem parcial ou totalmente;

c) A ��&� t0 ��k· t1; :�$%�H�&'�WHP�VROXoão única e se cruzam em I = A + t0· u;

d) A ��&��W0 = k· t1; :�$%�H�&'�Qão se intersectam porque u e v são paralelos.

Conhecidas as condições de existência de interseção entre os segmentos, o ponto comum

I pode ser definido tanto pela EQ. 3.4 quanto pela EQ. 3.5 como:

I = A + t0· (B-A) (EQ. 3.4)

I = M + t1· (N-M) (EQ. 3.5)

Page 31: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

31

Este método é mais eficaz na modelagem do problema por determinar a existência de

interseção e dar subsídios para definir o ponto de interseção, caso exista.

3.2. PERTINÊNCIA DE UM PONTO A UM TRIÂNGULO

Como foi abordado anteriormente, o ponto P, a ser interpolado, e os vértices A, B e C,

empregados na interpolação, devem ser coplanares; logo o valor de f(x,y) depende diretamente

de A, B e C. Assim, é necessário determinar qual dos triângulos gerados será usado como

base da interpolação.

Existem duas formas de verificar a pertinência de um ponto P a um triângulo û$%&�qualquer: uma delas é por comparação de áreas e outra é pelo valor das coordenadas

baricêntricas de P em relação a A, B e C.

No primeiro caso, considera-VH�R�SRQWR�3�QR�LQWHULRU�GH�XP�û$%&��(OH�GLYLGH�R�WULângulo

que o contém em três outros triângulos (#1, #2 e #3) cuja soma das áreas equivale à área do

triângulo original (FIG. 3.3).

FIG. 3.3 – Propriedade da soma da área dos triângulos, considerando P no interior de û$%&�

Quando o ponto P é externo ao triângulo, a soma das áreas dos triângulos 1, 2 3 formados

é maior que a área do triângulo original (FIG. 3.4).

#1 #2

#3

#1 #2

#3

A

B C

P

A A

B B C C

P P P

Page 32: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

32

FIG. 3.4 – Propriedade da soma da área dos triângulos, considerando P externo a û$%&�

A área dos triângulos, individualmente, é numericamente igual à metade do módulo do

produto vetorial entre dois vetores representados pelos respectivos lados (APOSTOL, 1985).

Sabendo, portanto, as coordenadas dos vértices, elege-se um deles a partir do qual serão

referenciados os vetores (FIG. 3.5). Se os vetores são bidimensionais, o produto vetorial se

restringe a um vetor de direção perpendicular ao plano do triângulo e de módulo igual ao

valor do determinante da EQ. 3.6.

( )

3.6) (EQ. )(21

21

21

;

;

uvvu

vv

uu

yxyxArea

yx

yxArea

vuArea

ACv

ABu

−⋅=

⋅=

×⋅=

−=

−=

&&

&&

&

&&

&

FIG. 3.5 – Cálculo de área por meio de produto vetorial.

O ponto P pode ser usado como referência no cálculo dos três triângulos criados. A soma

das três áreas deve ser numericamente igual à área do triângulo û$%&�� TXH� SRGH� XVDU�qualquer um de seus vértices como referência para cálculo da área. A maior oposição ao uso

deste método é a aproximação numérica realizada no ambiente computacional, fazendo com

#1

#2

#3

A

B

C

A

B C

P P

P

P

A

A

B

B

C

C

Page 33: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

33

que os valores a serem comparados (a soma das áreas menores e o valor da área total) possam

não coincidir.

A segunda opção é calcular as coordenadas baricêntricas de P em relação a A, B e C.

Como pôde ser visto na FIG. 2.3, P é interno ao û$%&� VH� WRGDV� DV� FRRUGHQDGDV� IRUHP�positivas. No caso de uma ou duas das coordenadas serem nulas, P está sobre o limite do

triângulo (lado ou vértices, respectivamente).

3.3. PERTINÊNCIA DE UM PONTO A UM POLÍGONO

CARVALHO e FIGUEIREDO (1991) e DAVIS (2001) apresentam uma mesma

metodologia, que consiste na determinação do número de interseções existentes entre os lados

do polígono e um segmento de reta iniciado no ponto testado e paralelo a um dos eixos

cartesianos. Um número par de interseções significa que o ponto é externo ao polígono; um

número ímpar implica em um ponto interior ao mesmo (FIG 3.6). Entende-se como interseção

o ponto a partir do qual os pontos que compõem o segmento de reta não são mais internos,

mas externos ao polígono.

FIG. 3.6 – Situações de pertinência de um ponto a um polígono.

Contudo, há casos particulares em que a aplicação sem critério deste teste pode retornar

uma informação equivocada. Os principais casos ocorrem quando o ponto testado coincide

com um dos vértices do polígono (FIG. 3.7 – a), ou quando o segmento de reta que parte do

ponto encontra um vértice (FIG. 3.7 – b). A contagem das interseções deve seguir critérios

além da simples interseção.

Page 34: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

34

FIG. 3.7 – Particularidades do método descrito em CARVALHO e FIGUEIREDO (1991) para polígonos

convexos.

Avaliando o caso (a), visualmente há apenas uma interseção, o que caracterizaria o ponto

interno ao polígono, o que é verdade; no caso (b), há duas interseções, pelo mesmo critério, o

que implicaria em o ponto estar fora do polígono, o que não é verdadeiro; da mesma forma, o

caso (c) retornaria como externo ao polígono um ponto que pertence ao mesmo. Outra

particularidade do caso (c) é a ocorrência de um dos lados do polígono inteiramente contido

na semi-reta, caso em que há infinitas interseções e que a metodologia descrita na seção 3.2.1

retorna apenas uma. Considerando cada lado do polígono individualmente, a interseção que

há no vértice incide uma vez sobre cada segmento, aumentando o número de interseções, mas

não resolvendo o problema ilustrado.

Para contornar tais problemas, há a necessidade de tratar os casos particulares de

interseções apresentados na FIG. 3.7. Observa-se que os dois lados consecutivos do polígono

apresentam interseção com a semi-reta, mesmo que seja o mesmo ponto. Além disso, nem

toda interseção implica na transição interior-exterior ao polígono, a exemplo dos pontos de

máximo (FIG. 3.7 – b) e mínimo (FIG. 3.7 – c) locais de ordenada. Tais pontos são

considerados de interseção nula. Porém, no caso de coincidência do ponto testado com algum

dos vértices, ele é considerado pertencente ao polígono, mesmo em caso de máximo ou

mínimo (FIG. 3.7 – c).

Casos de existência de segmentos horizontais (FIG. 3.7 – c) impedem o teste de interseção

por serem paralelos à semi-reta (infinitas interseções). Todavia, estes casos demandam

tratamento particular, acompanhando as transições interior-exterior da semi-reta em relação

ao polígono. Uma solução é suprimir um dos pontos do lado em questão, reduzindo a

interseção para um ponto (FIG. 3.8). Em seguida, deve-se realizar o teste do parágrafo

anterior para validar o número de interseções.

(a)

(b)

(c)

Page 35: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

35

FIG. 3.8 – Metodologia para tratamento de lados do polígono contidos no arco de paralelo.

3.4. CONSIDERAÇÕES FINAIS

Com os conceitos abordados neste capítulo, aliados aos resultados da análise das relações

topológicas, é possível partir para a fase de implementação, empregando estes artifícios

computacionais na solução do problema proposto. Por serem problemas considerados

clássicos, há diversas bibliotecas implementadas e disponibilizadas na internet, inclusive

integrantes de outros projetos relacionados à modelagem digital do terreno. Todavia, optou-se

por implementar estas funcionalidades ao invés de integrar bibliotecas já prontas devido à

simplicidade dos conceitos envolvidos e ao tempo demandado para selecionar uma biblioteca,

analisar sua estrutura e compatibilizar as variáveis.

O próximo passo é executar uma minuciosa análise das relações topológicas entre os

conjuntos de pontos e a rede triangular irregular criada com base nos pontos de atributos

conhecidos.

Page 36: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

36

4 ANÁLISE TOPOLÓGICA

4.1. CONSIDERAÇÕES INICIAIS

Conforme proposto no Capítulo 1, foi elaborado um exemplo de aplicação prática dos

conhecimentos apresentados no Capítulo 2, para atribuição de altitudes a feições topográficas

em arquivos digitais validados, empregando arquivos vetoriais de altimetria. Não se obtém a

altitude de um ponto apenas com as coordenadas de um ponto (geodésicas ou projetadas) por

estar associada à diferença de potencial gravífico em relação ao geóide (GEMAEL, 1999).

Entretanto, com base em curvas de nível e pontos cotados, é possível construir um modelo

digital de terreno, na forma de uma rede triangular irregular – MELLO E FERREIRA (2005)

apresentam metodologia para realização deste processo – que será empregada como base para

a interpolação das altitudes das feições cartográficas a serem processadas, sejam elas

pontuais, lineares ou de área.

O emprego de interpolação linear para a determinação das altitudes das feições não é,

a rigor, a solução mais adequada, sob o ponto de vista cartográfico. Isso porque não há uma

lei matemática que defina o terreno integralmente: a triangulação é usada como uma

aproximação. Desta forma, as feições planimétricas pontuais, lineares e superficiais serão

representadas sobre a superfície da TIN.

Feições pontuais, lineares e de área são conjuntos de pontos que possuem diferentes

características geométricas, demandando tratamento diferenciado para cada um desses

grandes grupos. Para estabelecer o tratamento recebido pelas feições, é necessário,

inicialmente, realizar uma análise das relações topológicas entre a TIN e os principais

elementos geométricos: um ponto, um segmento de reta e um polígono fechado.

Page 37: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

37

4.2. FEIÇÕES PONTUAIS

Os principais órgãos nacionais de produção cartográfica, o Instituto Brasileiro de

Geografia e Estatística (IBGE) e a Diretoria de Serviço Geográfico (DSG), constróem as

cartas segundo seus manuais de convenções cartográficas: a Mapoteca Topográfica Digital

(MTD) – IBGE, 1999 – e a Tabela da Base Cartográfica Digital (TBCD) – DSG, 1997. Nelas

são indicadas as feições representadas como pontos, ou seja, aquelas que podem ser definidas

no espaço com apenas um valor para cada eixo ordenado em que é representada.

Em termos de relacionamento topológico, este é o caso mais simples, uma vez que a

feição está inteiramente contida em um triângulo (no interior do mesmo, sobre um dos lados

ou coincidindo com um de seus vértices). Sendo assim, basta o sistema procurar o triângulo

em que as coordenadas baricêntricas de M em função de A., B e C sejam não negativas (ver

FIG 2.3). A FIG. 4.1 mostra a situação das feições M e N, situadas sobre os û$%&�H�û'()��respectivamente.

FIG. 4.1 – Representação de feições pontuais sobre TIN.

4.3. FEIÇÕES LINEARES

A maioria dos artigos e livros sobre interpolação apresenta propostas de modelos para a

determinação do valor de atributos pontuais (por exemplo, GOLD, 1984, e TOBLER e

KENNEDY, 1985) ou aborda a criação de modelos digitais de elevação com base em curvas

de nível ou conjuntos de pontos regularmente distribuídos no espaço (por exemplo,

FELGUEIRAS, 2001). No caso de feições cartográficas (a TBCD e a MTD listam, também,

os tipos de feições lineares representáveis nas cartas construídas pelos respectivos órgãos de

M

N

A B

C

D

E F

Page 38: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

38

produção cartográfica) ou de conjuntos de pontos dispostos sobre uma figura geométrica no

R2 (linha ou plano), é necessário criar algoritmos que realizem a interpolação de vários pontos

simultaneamente. Em casos de representação desses conjuntos para visualização, o objetivo

dos algoritmos é provocar no usuário a sensação de que todos os pontos estão ajustados sobre

a superfície gerada pelos valores conhecidos dos atributos.

Uma feição linear é representada por um conjunto de segmentos de reta, por sua vez

representados pela indicação dos seus pontos extremos. Seja exemplo um segmento MN,

partindo de um triângulo ûABC para outro ûDEF, conforme mostra a FIG. 4.2. O primeiro

passo é a localização do triângulo que contém M isoladamente (no caso da FIG. 4.1, o

ûABC). Feito isso, pode-se calcular (e armazenar) o valor da altura do ponto M empregando a

EQ. 2.8. Feito isso, verifica-se a pertinência do ponto N ao ûABC. Caso pertença, calcula-se

(e armazena-se) o valor da altura do ponto N. Caso contrário, deve-se tomar o cuidado para

representar todos os pontos da linha por sobre a rede triangular.

Se o segmento de reta passa de um triângulo para outro, passa a se ajustar a um plano

diferente. A forma que o conjunto de planos assume pode ocultar o segmento de reta em

alguns trechos ou exibi-lo acima da rede. A solução indicada é a subdivisão do segmento de

reta em segmentos menores, que se ajustarão aos triângulos que são “interceptados” pelo

segmento MN original. Isto se resolve acrescentando pontos intermediários Ii, interseções do

segmento MN com os triângulos envolvidos. Calculam-se e armazenam-se as coordenadas e

as alturas de Ii, até chegar ao triângulo que contém o ponto N (no caso da FIG. 4.1, o ûDEF).

FIG. 4.2 – Exemplo de uma malha triangular irregular e uma feição linear.

Para determinação das interseções é preciso analisar as diferentes configurações

geométricas entre o segmento MN e os triângulos da malha intersectados por ele. A análise se

inicia a partir do próprio ponto M. Este pode estar no interior do triângulo (FIG. 4.3, itens a, b

e c), em um dos lados (itens d e g) ou pode coincidir com um dos vértices (itens e, f e h).

M N

A B

C

D

E F

I1 I3 I4

I5

I6

I7

I8

I2

Page 39: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

39

(a) (b) (c) (d)

(e) (f) (g) (h)

FIG. 4.3. Casos de pertinência e interseção de segmentos com triângulos.

Pelo raciocínio descrito, a indicação do triângulo que contém o segmento MN, total ou

parcialmente, é inequívoca no primeiro caso; nos outros casos, o ponto pode ser associado a

dois triângulos da rede, quando recai sobre um lado comum a dois triângulos (FIG. 4.4), ou

mais de dois, quando coincide com um vértice comum a n triângulos (FIG. 4.5). As

interseções Ii do segmento MN com o triângulo analisado podem ocorrer em qualquer um dos

lados deste dependendo da direção de MN. Quando os pontos M e I coincidem em um dos

lados de um triângulo, o segmento gerado é de comprimento nulo (triângulo 1 da FIG. 4.4).

Para evitar redundâncias no armazenamento dos vértices, pode-se verificar se o segmento

intersecta o triângulo em outro lado ou se o outro extremo do segmento está contido no

mesmo triângulo. No contexto da FIG. 4.4, este teste descarta o triângulo #1 e analisa o

triângulo #2, de comportamento similar ao da FIG. 4.3, item g.

FIG. 4.4 – Exemplo de interseção de um triângulo e um segmento sobre um lado daquele.

No caso de o ponto M coincidir com algum vértice, o ponto I pode coincidir com o

mesmo vértice, criando um segmento de comprimento nulo (FIG. 4.5). Como o vértice

#1 #2

M

M M M

M M

M

M

N

N

N

N

N

N

N

N

I

I

I

I

I

M

Page 40: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

40

pertence ao lado do triângulo, adota-se o mesmo procedimento do caso anterior, descartando

triângulos que geram segmentos de comprimento nulo. No contexto da FIG. 4.5, descartam-se

os triângulos #1, #2 e #3, empregando o triângulo #4.

FIG. 4.5 – Exemplo de interseção de um triângulo e um segmento sobre um vértice daquele.

Uma ressalva a este caso, a exemplo da FIG. 4.3, item f, é que o teste de interseção

acusará pontos de interseção com os três lados (o vértice M, nos dois lados que o contém, e o

que ocorre sobre o lado oposto a M). Para solucionar este problema, prioriza-se o ponto cuja

interseção ocorre fora dos vértices, descartando a interseção redundante, coincidente com o

vértice.

Analisados os casos particulares, resume-se o algoritmo de representação de feições

lineares (a exemplo da FIG. 4.2) em sete passos:

• Verifica-se se os extremos do segmento, M e N, estão sobre o mesmo triângulo;

• Se não, verifica-se a ocorrência de interseção do lado definido pelos vértices A e B

com o segmento MN; se houver, calcula-se o ponto de interseção I e a sua altura;

• se não, seleciona-se o lado definido pelos vértices B e C e repete-se o teste; se houver

interseção, calcula-se o ponto de interseção I e a sua altura;

• se não, seleciona-se o lado AC e repete-se o teste; havendo interseção, calcula-se o

ponto de interseção I e a sua altura2;

• Seleciona-se o triângulo limítrofe a ûABC pelo lado que contém I, que será o próximo

a ser analisado;

• Substitui-se M por I, diminuindo o comprimento do segmento MN;

• Repete-se o processo até que seja analisado o triângulo que contém o ponto final do

segmento (no exemplo, o ponto N).

2 Estes testes são realizados apenas se o triângulo contém M, de modo que, obrigatoriamente a condição será atendida em até três iterações.

M

N #1

#2 #3

#4

Page 41: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

41

Neste caso, não será necessário realizar o teste de interseção porque N e I, calculado no

triângulo anterior, pertencem ao mesmo triângulo.

4.4. FEIÇÕES DE ÁREA

Feições de área são representadas por polígonos fechados (partindo do princípio que as

feições foram validadas), incluindo seus contornos e preenchimentos. De igual forma, a

TBCD e a MTD listam as feições representáveis como área nas cartas produzidas pelos

respectivos órgãos de produção cartográfica.

De forma análoga às feições lineares, é necessário processar a feição de área e os

triângulos da rede de modo que não se crie a sensação visual de que a feição esteja oculta nem

suspensa sobre o terreno. Assim, o aspecto de uma feição de área sobre a TIN passa a ser a de

um conjunto de triângulos delimitados pelo contorno da feição, a menos que toda a feição

esteja contida em um único triângulo. É possível destacar três conjuntos, de acordo com o

relacionamento topológico entre os triângulos da TIN e a feição de área.

Os triângulos completamente contidos no polígono, que contém os três vértices no interior

do polígono e cujos lados não cruzem nenhum lado do polígono (triângulos pontilhados na

FIG. 4.6, item a).

Os triângulos completamente fora do polígono: os demais triângulos, cabendo destacar

aqueles em que há uma interseção entre o triângulo e o polígono, geralmente ocorrida nos

limites do polígono (vértices ou lados). No caso de coincidência deste ponto de interseção

com um dos vértices, considera-se este triângulo como externo, visto que sua área está

completamente externa ao polígono.

Por fim, os triângulos parcialmente contidos no polígono, que apresentam:

• um ou dois vértices contidos no polígono (sem que tangenciem o polígono interna ou

externamente);

• três vértices internos, desde que algum dos seus lados intercepte algum lado do

polígono; ou

• todos os seus vértices são externos ao polígono, porém há interseção dos lados do

polígono com o triângulo (triângulos tracejados na FIG. 4.6, item b);

Page 42: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

42

(a) (b)

FIG. 4.6 – Relações geométricas entre os triângulos da TIN e um polígono qualquer.

Cada triângulo parcialmente contido no polígono pode ser dividido em uma fração

interna e outra externa à feição. A FIG. 4.6 mostra que tais frações podem não ser triângulos,

inviabilizando a representação do terreno somente em triângulos, a menos que tais polígonos

sejam decompostos.

Para proceder com esta decomposição, é necessário acrescentar pontos de interseção ao

contorno do polígono, como se fosse uma feição linear (FIG. 4.2). Concomitantemente à

criação dos pontos, criam-se triângulos, considerando a fração do contorno sobre o referido

triângulo (segmento MI, na FIG. 4.7), e os seus lados. Os casos possíveis de secção de

triângulos dependem dos lados de interseção dos pontos M e I (seção 4.3) sobre cada

triângulo. As possíveis configurações de divisão de triângulos estão ilustradas de forma

genérica na FIG. 4.7. Como apenas os triângulos parcialmente contidos no polígono serão

seccionados, os casos ilustrados na FIG. 4.7, itens c e g serão desconsiderados.

Como o segmento de reta está contido no mesmo plano que o triângulo, essa divisão não

alterará o relevo representado pela TIN original. No caso de atribuição de cores ou padrões à

feição, apenas os novos triângulos, internos ao polígono, serão modificados, dando a

impressão visual de que o polígono está recobrindo o triângulo antes de este ser dividido.

Page 43: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

43

(a) (b) (c) (d)

(e) (f) (g)

FIG. 4.7 – Possíveis formas de divisão de triângulos de acordo com a posição da fração do contorno da feição sobre eles.

Considerando o triângulo ∆ABC, cujos vértices são ordenados no sentido anti-horário, e

os casos ilustrados na FIG. 4.7, foi montada a TAB. 4.1, que sintetiza as operações de

seccionamento de triângulos. Foram analisadas as diferentes possibilidades de

posicionamento de M (que pode ser interno; estar sobre qualquer dos lados: AB, BC ou CA;

ou coincidir com um dos vértices: A, B ou C) e I (que pode estar sobre qualquer dos lados:

AB, BC ou CA; ou coincidir com um dos vértices: A, B ou C) sobre o ∆ABC.

Parte-se do princípio que o ponto I não pode ser criado ao longo do mesmo lado que o

ponto M, senão nos vértices relativos a este lado (FIG. 4.7, itens c e g). Deste modo, as

combinações onde tal fato ocorre estão sinalizados na TAB. 4.1 como “Caso Degenerado”.

Estes casos não precisam ser considerados na implementação da rotina. Os casos que

configuram o triângulo como interno ou externo ao polígono também serão identificados com

a indicação “Não seccionar”, por não ser necessário seccioná-los.

M

M

M I I

I

M M

I

I

I

M

I

M

Page 44: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

44

TAB. 4.1 – Esquema de divisão de triângulos parcialmente contidos em polígonos.

Ponto M Ponto I û� û� û� û�

Sobre AB IMA MBC IBM AMC

Sobre BC BIM ICM MCA ABM

Sobre CA IMC ABM AMI BCM Interno

Sobre A, B ou C MBC AMC ABM -

Sobre AB Caso degenerado

Sobre BC MBI AMC ICM -

Sobre CA AMI MBC CIM -

Sobre A Não seccionar

Sobre B Não seccionar

Sobre AB

Sobre C AMC MBC - -

Sobre AB IBM AIM AMC -

Sobre BC Caso degenerado

Sobre CA IMB ABM AMI -

Sobre A ABM AMC - -

Sobre B Não seccionar

Sobre BC

Sobre C Não seccionar

Sobre AB AIM IBM MBC -

Sobre BC MIC ABI AIM -

Sobre CA Caso degenerado

Sobre A Não seccionar

Sobre B ABM MBC - -

Sobre CA

Sobre C Não seccionar

Sobre AB Caso degenerado

Sobre BC ABI AIC - -

Sobre CA Caso degenerado

Sobre A Não seccionar

Sobre B Não seccionar

Sobre A

Sobre C Não seccionar

Sobre AB Caso degenerado

Sobre BC Caso degenerado

Sobre CA ABI BCI - -

Sobre A Não seccionar

Sobre B Não seccionar

Sobre B

Sobre C Não seccionar

Sobre AB CAI CIB - -

Sobre BC Caso degenerado

Sobre CA Caso degenerado

Sobre A Não seccionar

Sobre B Não seccionar

Sobre C

Sobre C Não seccionar

Page 45: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

45

Ainda na implementação da rotina de seccionamento, percebeu-se que o tratamento dado

ao triângulo que contém o segundo extremo deve ser diferente dos demais indicados no

processo. Isso se deve à transição entre segmentos (FIG. 4.8).

FIG. 4.8 – Exemplo de seccionamento do último triângulo de um segmento MN.

Nos triângulos anteriores, o ponto de partida M poderia estar interno ao triângulo ou

sobre um dos lados, enquanto o ponto de interseção I estava obrigatoriamente posicionado

sobre um lado do triângulo (ou dois, se coincidisse com um dos vértices), e indicava o vizinho

(próximo triângulo a ser processado). No triângulo que contém N e I, obrigatoriamente I está

sobre um dos lados e passa a ser o ponto de partida, enquanto N pode estar no interior do

triângulo ou sobre seu contorno. Sabendo isso, foram avaliadas as possibilidades de

seccionamento do triângulo que contém o segundo extremo do segmento, construindo a TAB.

4.2, de maneira similar à TAB. 4.1

Este tipo de seccionamento também é aplicado quando os dois extremos do segmento

estão sobre o mesmo triângulo. Se for o primeiro segmento a ser processado, divide-se o

triângulo que contém o segmento em três triângulos (FIG. 4.9 – a), com base em M.

(a) (b)

FIG. 4.9 – Seccionamento de triângulo que contém o segmento a ser processado.

M A�,

#1

#2

#3

#4 N

M

N

M

N

Page 46: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

46

TAB. 4.2 – Triângulos gerados pelo seccionamento do último triângulo do segmento.

Ponto M Ponto N û� û� û� û�

Sobre AB Caso degenerado

Sobre BC MBN AMC NCM -

Sobre CA AMN MBC CNM -

Sobre A Não seccionar

Sobre B Não seccionar

Sobre C AMC MBC - -

Sobre AB

Interno MNA MBN CNB CAN

Sobre AB NBM ANM AMC -

Sobre BC Caso degenerado

Sobre CA NMC ABM AMN -

Sobre A ABM AMC - -

Sobre B Não seccionar

Sobre C Não seccionar

Sobre BC

Interno ABN BMN CNM CAN

Sobre AB ANM NBM MBC -

Sobre BC MNC ABN ANM -

Sobre CA Caso degenerado

Sobre A Não seccionar

Sobre B ABM MBC - -

Sobre C Não seccionar

Sobre CA

Interno MAN ABN CNB CMN

Sobre AB Caso degenerado

Sobre BC ABN ANC - -

Sobre CA Caso degenerado

Sobre A Não seccionar

Sobre B Não seccionar

Sobre C Não seccionar

Sobre A

Interno ABN CNB ANC -

Sobre AB Caso degenerado

Sobre BC Caso degenerado

Sobre CA ABN NBC - -

Sobre A Não seccionar

Sobre B Não seccionar

Sobre C Não seccionar

Sobre B

Interno ABN CNB ANC -

Sobre AB ANC NBC - -

Sobre BC Caso degenerado

Sobre CA Caso degenerado

Sobre A Não seccionar

Sobre B Não seccionar

Sobre C Não seccionar

Sobre C

Interno ABN CNB ANC -

Page 47: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

47

Observando a FIG. 4.9, constata-se que a coincidência de M com qualquer um dos

vértices torna desnecessário o seccionamento (faria com que dois triângulos se reduzissem a

lados). Se isto não ocorrer, o segmento MN está contido em apenas um dos triângulos

menores (FIG. 4.9 – b). Este triângulo é seccionado de acordo com a TAB. 4.2.

Este é um caso particular em que o primeiro segmento do polígono de contorno está

contido em um mesmo triângulo, embora o polígono não esteja. Se houve o processamento de

outros segmentos, o problema recai no caso em que M coincide com um dos vértices do

triângulo que contém o segmento, realizando o seccionamento com base na TAB. 4.2.

4.5. CONSIDERAÇÕES FINAIS

Ao longo desta análise topológica reuniram-se informações referentes aos

relacionamentos geométricos entre os objetos envolvidos no estudo de caso (TIN e feições

planimétricas). Entretanto, é necessário traduzi-las para a linguagem computacional, lançando

mão, também, dos conhecimentos abordados nos capítulos 2 e 3.

Page 48: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

48

5 IMPLEMENTAÇÃO DA SOLUÇÃO

5.1. CONSIDERAÇÕES INICIAIS

Com base nos conceitos abordados nos capítulos 2, 3 e 4, inicia-se a fase de

implementação da solução para o estudo de caso proposto no capítulo 1.

Recapitulando, o objetivo do estudo de caso é viabilizar o processamento de arquivos

vetoriais de cartas topográficas, atribuindo altitude às feições cartográficas, originalmente,

bidimensionais. Para realizar esta fase, foram empregados os seguintes materiais,

equipamentos e aplicativos:

• Computador pessoal, com processador Pentium II 400MHz com 112MB de RAM;

• Microsoft Visual C++ 6.0® - cedido pela Divisão de Tecnologia da Informação do

Centro Tecnológico do Exército;

• Mapviewer® 6 – foi obtida a versão para demonstração no sítio do fabricante (Golden

Software) na Internet;

• Conjunto de pontos de altitude conhecida – os desenvolvedores da plataforma de

visualização tridimensional dispuseram um arquivo de pontos já triangulados,

constantes no arquivo “extrato.tin”3, no CD anexo, referente à carta Piraquara, MI

2842-4-SE;

Foram utilizadas as instalações do Laboratório de Cartografia da Seção de Engenharia

Cartográfica do Instituto Militar de Engenharia para desenvolvimento das rotinas e integração

ao projeto da Plataforma Gráfica de Visualização Tridimensional de Teatros de Guerra.

3 Para visualização da malha no Mapviewer®, também está anexado o arquivo extrato.bna, que ignora as altitudes dos vértices dos triângulos da rede.

Page 49: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

49

5.2. ESTRUTURA DE DADOS

O esquema representativo da estrutura de dados empregada na plataforma está ilustrado

na FIG. 5.1. Assim, as feições são armazenadas na memória de modo organizado,

possibilitando a construção e otimizando a execução das rotinas.

FIG. 5.1 – Esquema da estrutura de dados empregada no desenvolvimento da plataforma.

O degrau hierárquico das células corresponde à divisão da região a ser modelada em

regiões menores indexadas segundo o critério de Morton (MELLO e FERREIRA, 2004;

LAURINI, 1985; AFTOSMIS et al, 2004). Dentro de cada célula, todas as camadas de

informação são agrupadas, visando à otimização na busca de feições no espaço.

Durante os testes foi empregada uma camada de informação, contendo a rede triangular

irregular (TIN) construída sobre uma fração da carta Piraquara, MI 2842-4-SE (FIG. 5.2).

Seguindo a hierarquia, cada triângulo da rede corresponde a um elemento da camada, que

nada mais é que uma lista de elementos.

As feições planimétricas podem ocupar outras camadas dentro de cada célula. Todavia,

na fase de testes, o processamento foi realizado a partir da leitura direta a partir de um arquivo

– de extensão BNA (Atlas Boundary) – contendo os vértices das feições a serem processadas.

Cada feição foi processada individualmente conforme seu tipo, copiando as coordenadas dos

seus vértices em uma matriz auxiliar. O processo se repete até que a última feição do arquivo

seja processada. Nada impede, porém, que sejam desenvolvidas soluções em que as feições

planimétricas ocupem outras camadas.

Cell 0

(Células) Cell 1 Cell 2

Layer Node (Camadas)

Elements (Elementos)

Layer Node (Camadas)

Elements (Elementos)

Objetos (Objects)

Page 50: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

50

O requisito para o processamento é que cada feição do arquivo esteja totalmente contida

em uma única célula. Para tal, é necessário o pré-processamento das feições, que podem ser

desmembradas de acordo com a sua extensão e com a quantidade de células empregada no

processamento. Analisar cada célula individualmente implica em considerar apenas uma

fração da TIN, e não todos os seus triângulos. A rede triangular empregada nestes testes

possui, inicialmente, 4458 triângulos, distribuídos em 16 células. A 4ª célula, por exemplo,

começa a rotina com 172 triângulos.

Ao final de cada degrau hierárquico é realizado o fechamento do mesmo, sinalizado pelo

aterramento (FIG. 5.1).

FIG. 5.2 – Rede triangular irregular construída sobre um extrato da carta Piraquara, MI 2842-4-SE.

Page 51: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

51

5.3. ROTINAS AUXILIARES

Visando à implementação dos casos apresentados no capítulo 4, foi observada a demanda

pela elaboração de algumas rotinas auxiliares, necessárias ao processamento das feições:

a) Indexação de triângulos;

b) Atribuição de informações sobre a vizinhança de cada triângulo;

c) Cálculo de coordenadas baricêntricas;

d) Localização do triângulo T que contém o ponto P;

e) Cálculo de altura;

f) Determinação do ponto de interseção de um segmento com um triângulo;

g) Verificação do seccionamento do triângulo por polígono;

h) Verificação de pertinência de ponto a polígono;

i) Verificação de pertinência de triângulo a polígono;

j) Secção de triângulos.

5.3.1. INDEXAÇÃO DE TRIÂNGULOS

Como foi mencionado, dentro da hierarquia apresentada na seção 5.2, a TIN corresponde

a uma camada dentro de cada uma das células em que se divide o conjunto de dados (neste

caso, 16 células, numeradas de 0 a 15). O arquivo que contém a rede triangular –

“extrato.tin”, no CD anexo – apresenta cada triângulo da rede com as coordenadas dos seus

vértices (coordenadas planimétricas em radianos e altitude em metros) e a célula em que está

contido. Este arquivo está no formato BN3, que é uma adaptação do formato BNA,

acrescentando as altitudes como terceira coordenada.

Criou-se um atributo numérico, com a função de identificar e ordenar os triângulos da

TIN, permitindo o acompanhamento das operações realizadas na fase de testes. No interior de

cada célula, individualmente, e em ordem crescente, o primeiro elemento da (única) camada

recebe o número “1” como identificador. Em seguida, passa-se para o próximo triângulo da

lista, incrementando em “1” o valor do identificador, até o último triângulo da célula

armazenado na memória. Processadas todas as feições, esse índice pode ser descartado.

Page 52: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

52

5.3.2. ATRIBUIÇÃO DE INFORMAÇÕES SOBRE A VIZINHANÇA DE CADA

TRIÂNGULO

A realização deste processo visa a reduzir a quantidade de testes de interseção, e ocorre

no início do processamento, em cada uma das células, e quando há alteração na malha

(criação e remoção de triângulos). Como cada lado pode ser comum a dois triângulos, um

triângulo, com todos os lados de comprimento não nulo, pode compartilhar seus lados com,

no máximo, três triângulos, doravante chamados vizinhos: um, pelo lado AB; outro, pelo lado

BC; e outro, pelo lado CA (FIG. 5.3). Triângulos nos extremos da célula podem ter um ou

dois vizinhos somente.

Sendo assim, procura-se, entre os triângulos já indexados, aquele que possua os pares de

vértices A e B, B e C ou C e A iguais aos vértices A e B do primeiro triângulo da camada e

preenche-se o valor do atributo “vizinho por AB” com o índice do segundo triângulo. Se os

vértices A e B do primeiro triângulo forem iguais aos vértices A e B do segundo, este tem

preenchido o atributo “vizinho por AB” com o identificador do primeiro triângulo. Se a

semelhança ocorrer com os vértices B e C, preenche-se o atributo “vizinho por BC”. Se a

semelhança ocorrer com os vértices C e A, preenche-se o atributo “vizinho por CA”.

Preenchendo-se os atributos dos dois triângulos numa mesma comparação, minimiza-se a

quantidade de comparações ao longo do processo, uma vez que as comparações serão feitas

apenas se o valor do atributo não estiver preenchido.

FIG. 5.3 – Atribuição da informação de vizinhança aos triângulos da rede.

A

B C

Vizinho por AB

Vizinho por CA

Vizinho por BC

Page 53: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

53

5.3.3. CÁLCULO DE COORDENADAS BARICÊNTRICAS

Já no âmbito da execução dos cálculos, foram implementadas rotinas que retornam

valores relativos a processos parciais na determinação da altura do ponto. A primeira rotina

construída, essencial ao processamento de todos os tipos de feições, é aquela que retorna as

coordenadas baricêntricas �A���B�H��C do ponto P, dado um triângulo T, de vértices A, B e C,

solucionando o sistema linear composto pelas EQ. 2.1, 2.2 e 2.3. Os valores obtidos são

armazenados na memória do sistema para posterior aplicação.

5.3.4. LOCALIZAÇÃO DO TRIÂNGULO T QUE CONTÉM O PONTO P

Esta rotina funciona associada à anterior, dados um ponto P e o triângulo T. Com os

YDORUHV��1���2�H��3 de P calculados, a rotina retorna “verdadeiro” (o ponto P está contido no

triângulo T) se todos forem não negativos. Isso viabiliza os processos de indicação dos

triângulos empregados nos processamentos das feições dos três tipos. Os testes realizados

com o método das áreas não foram satisfatórios pois, além de demandar mais cálculos,

apresentavam inconsistências numéricas causadas pelo limite da precisão numérica do sistema

(aproximações e truncamentos).

Partindo da célula que contém o ponto e do primeiro elemento do layer referente à TIN,

aplica-se a rotina anterior a todos os triângulos, seguindo a ordem crescente dos índices, até

chegar ao triângulo que contenha o ponto P. Se P recair sobre um lado ou coincidir com um

vértice, situações em que pode pertencer a mais de um triângulo, a rotina retornará aquele de

menor índice, ou seja, o primeiro que atender às condições da seção 5.3.4, sob pena de ocorrer

qualquer um dos casos particulares observados na seção 4.3.

Page 54: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

54

5.3.5. CÁLCULO DE ALTURA

Esta rotina é aquela que objetivamente realiza a interpolação, determinando a altura de

um ponto P sobre o plano que contém o triângulo T. É aplicável no processamento de todos os

tipos de feição. Com base nas coordenadas dos vértices de T, calcula-se a altura do ponto P

empregando as coordenadas baricêntricas, calculadas na determinação do triângulo T, o que

minimiza a quantidade de cálculos.

5.3.6. DETERMINAÇÃO DO PONTO DE INTERSEÇÃO DE UM SEGMENTO COM

UM TRIÂNGULO

A aplicação desta rotina se faz necessária no processamento de feições lineares e de área

e se divide em duas partes. Identificado o triângulo que contém o ponto M, o primeiro

extremo do segmento de reta a ser processado, e verificando que o ponto N, segundo extremo,

não está contido na projeção do mesmo triângulo, realizam-se testes de interseção no sentido

de identificar o vizinho de T interceptado pelo segmento MN e calcular o ponto de interseção

que será inserido entre M e N.

FIG. 5.4 – Ponto de interseção do segmento MN com o û$%&�

Conhecidos os extremos de MN e AB, BC e CA, emprega-se o método da parametrização

dos segmentos (seção 3.2), para cada um dos lados, indicando se há interseção do segmento

MN com um dos lados (“verdadeiro” se t0 e t1 estão dentro do intervalo [0,1]; senão “falso”).

Os valores de t0 e t1 são armazenados na memória para aplicação posterior.

I

A

B C

M N

Page 55: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

55

Havendo interseção, calcula-se o ponto de interseção I empregando os valores dos

vértices que determinam o lado do triângulo em que ocorre a interseção (A e B, B e C ou C e

A) e t0 na EQ. 3.4, indicando o próximo a ser analisado (na FIG. 5.4, o triângulo vizinho por

CA) H� R� û$%&� FRPR� ³WULângulo anterior” – essa medida visa a impedir que o teste de

interseção feito no próximo triângulo retorne o “triângulo anterior”, avançando sobre o

segmento MN (FIG. 5.5). O ponto M na análise do próximo triângulo será o ponto I. Logo,

criam-se sucessivos pontos I, até que M e N estejam no mesmo triângulo.

FIG. 5.5. Critério de determinação do ponto de interseção.

Se M está contido no û$%&� H�1�Qão está, a interseção será calculada no máximo, no

terceiro teste.

Como já foi abordado na seção 4.3, atenção especial merece ser dada para o caso em que

o ponto M coincide com um dos vértices (ou seja, comum a dois lados simultaneamente) e o

segmento MN intersecta o lado oposto a este vértice (FIG. 5.6).

FIG. 5.6. Interseção do segmento MN com os três lados do û$%&�

Interseção

Triângulo Atual

A

B C

Próximo Triângulo ≠≠

Triângulo Anterior Triângulo Anterior

M N

A

B A�0 C

I

N

Page 56: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

56

5.3.7. VERIFICAÇÃO DO SECCIONAMENTO DO TRIÂNGULO POR POLÍGONO

Como visto na análise topológica, esta verificação tem por objetivo eliminar triângulos

que contém algum vértice da feição (linear ou de área) a ser processada e que não serão

seccionados por apenas tangenciá-la. O seccionamento por polígono apresenta apenas a

desvantagem de, em algumas ocasiões, retornar dois triângulos: aquele onde o vértice é o

ponto de partida de um segmento, e aquele onde o vértice é o ponto de chegada do segmento

adjacente ao primeiro.

Nestes casos, implementa-se a sub-rotina que verifica o seccionamento do triângulo pelo

segmento que está sendo processado. Entretanto, quando os extremos do segmento estão no

interior do mesmo triângulo, não haverá interseção. Então, o critério adotado é o

seccionamento pelo polígono, sem prejuízo do processamento.

5.3.8. VERIFICAÇÃO DE PERTINÊNCIA DE PONTO A POLÍGONO

Esta rotina aplica os conhecimentos apresentados na seção 3.3 como parte do

processamento das feições de área, retornando “verdadeiro” se o ponto P está contido no

interior ou na fronteira do polígono.

5.3.9. VERIFICAÇÃO DE PERTINÊNCIA DE TRIÂNGULO A POLÍGONO

A seção 4.4 apresenta as condições em que um triângulo T está contido no polígono.

Foram desenvolvidas duas rotinas: a primeira retorna “verdadeiro” se o triângulo está

completamente contido no polígono e “falso” nos demais casos; a segunda verifica se o

triângulo está parcialmente contido no polígono, indicando se deve ser seccionado ou não.

Esta última é aplicada somente nos triângulos indicados no processamento do contorno do

polígono, enquanto a primeira é aplicada a todos os triângulos da célula que contém a feição.

Page 57: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

57

5.3.10. SECÇÃO DE TRIÂNGULOS

Com base nas observações da seção 4.4 e nos dados constantes na TAB. 4.1 e na TAB.

4.2, é possível condicionar o sistema a seccionar os triângulos parcialmente contidos no

polígono de contorno da feição de área. A secção ocorrerá desde o primeiro triângulo

analisado, ou seja, o que contém o primeiro vértice (se a rotina descrita na seção 5.3.10

estabelecer a necessidade de secção), e prosseguirá por todos os triângulos por sobre os quais

passar o lado do polígono. Ao fim do processo espera-se que a TIN se adapte de modo que as

feições de área sejam representadas apenas por triângulos e que toda a rede continue

triangular, a exemplo das FIG 5.7 e FIG 5.8.

FIG. 5.7. Feição de área representada sobre rede triangular.

FIG. 5.8. Aspecto da TIN após processamento.

A rotina de seccionamento não apenas divide o triângulo original em 2, 3 ou 4 triângulos,

assim como cria seus respectivos registros no final da lista de elementos.

Page 58: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

58

5.4. ALGORITMO PRINCIPAL

Na primeira fase de testes para verificação do funcionamento das rotinas, criou-se um

conjunto de cinco pontos, cujas coordenadas constam na TAB. 5.1, e cuja configuração

geométrica explora os casos particulares abordados no Capítulo 4 (FIG. 5.9). Os valores de

latitude e longitude são negativos porque os pontos estão no hemisfério sul e oeste. Entre os

casos, o pontos 1 e 2 coincidem com vértices de triângulos, os pontos 3 e 4 tem mesma

latitude, e os pontos 4 e 5 estão no interior do mesmo triângulo.

Como a base da hierarquia de classes é a célula, todos os pontos estão contidos numa

única célula – no caso, a 4ª célula. No processamento de feições pontuais, cada um deles

corresponderá a uma feição; no processamento de feições lineares, cada ponto corresponderá

a um vértice da polilinha; no processamento das feições de área, cada ponto corresponderá a

um vértice do polígono de contorno da feição.

TAB. 5.1 – Coordenadas dos vértices do polígono empregado nos testes de pertinência

Vértices Long (W, em radianos)

Lat (S, em radianos)

1 0.75340176058 0.44465314526 2 0.75338483776 0.44468280729 3 0.75336982600 0.44466387800 4 0.75333425600 0.44466387800 5 0.75334547200 0.44464972400

Na fase preliminar do processamento, os triângulos da rede original são numerados

dentro de suas respectivas células e são analisadas as relações de vizinhança, preenchendo os

campos destinados a essas informações.

Em seguida, abre-se o arquivo de feições (retornando mensagem de erro se estiver sem

conteúdo). Cada uma delas é armazenada como uma linha de cabeçalho (onde estão indicados

o índice da feição, opcionalmente, e o índice da célula que contém a feição e o número de

vértices da mesma) seguida da lista de coordenadas dos vértices que as compõem. O número

de vértices identifica o tipo de feição:

a) feições pontuais: valores “1” e “-1”;

b) feições lineares: valores menores que -1;

c) feições de área: valores maiores que 1;

Page 59: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

59

O algoritmo de processamento das feições está ilustrado na FIG. 5.10. O caso de o arquivo

estar vazio pode ser interpretado como o programa ter chegado ao fim do arquivo sem que

nenhuma feição tenha sido processada. As rotinas de processamento de pontos, linhas e áreas

serão analisadas nas subseções correspondentes.

FIG. 5.9 – Aspecto do polígono empregado nos testes de implementação, assinalando seus vértices.

LEITURA DO ARQUIVO DE FEIÇÕES ATÉ O PROCESSAMENTO DE TODAS AS FEIÇÕES FAZER

LER PRIMEIRA LINHA COPIAR COORDENADAS PARA MATRIZ DE APOIO IDENTIFICAR QUANTIDADE DE VÉRTICES V F

V F

PROCESSAR A FEIÇÃO COMO PONTUAL PROCESSAR

A FEIÇÃO COMO

LINEAR

PROCESSAR A FEIÇÃO COMO DE

ÁREA GRAVAR RESULTADOS

FIG. 5.10 – Algoritmo simplificado para processamento das feições.

1

2

3 4

5

É “1” OU –“1”?

NEGATIVA?

Page 60: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

60

5.4.1. FEIÇÕES PONTUAIS

As expressões empregadas na determinação da componente altimétrica das feições

pontuais dão subsídios para que ela seja representada fielmente sobre a superfície. A

identificação de feições pontuais no arquivo de extensão BNA se dá quando, no cabeçalho da

feição, houver a indicação de apenas um vértice (1 ou –1). Caso isto seja constatado, procura-

se o triângulo da rede onde a feição será registrada, seguindo o critério de pertinência de

ponto a triângulo apresentado no capítulo 3. A procura será realizada na ordem crescente dos

seus índices, iniciando do primeiro elemento da camada. Localizado o triângulo, calcula-se a

altitude do ponto, empregando a EQ. 2.8. A FIG. 5.11 apresenta o algoritmo de

processamento de feições pontuais, embutido no algoritmo representado pela FIG. 5.10. Os

dados de entrada são a célula que contém a feição e a quantidade de vértices da mesma,

obtidos no cabeçalho da feição.

RECONHECER CÉLULA QUE CONTÉM A FEIÇÃO

APONTAR PARA A CAMADA DE TRIÂNGULOS CONTIDA NA CÉLULA IDENTIFICADA

APONTAR PARA PRIMEIRO ELEMENTO DA CAMADA DE TRIÂNGULOS DA REDE

CALCULAR COORDENADAS BARICÊNTRICAS DA FEIÇÃO

ENQUANTO HOUVER COORDENADAS BARICÊNTRICAS NEGATIVAS FAZER

APONTAR PARA O PRÓXIMO ELEMENTO DA CAMADA DE TRIÂNGULOS

CALCULAR NOVAS COORDENADAS BARICÊNTRICAS DA FEIÇÃO

CALCULAR A ALTURA DO PONTO

FIG. 5.11 – Algoritmo para processamento das feições pontuais.

Os resultados obtidos no processamento dos pontos relacionados na TAB. 5.1 estão na

TAB. 5.2. O comportamento numérico das grandezas envolvidas e a maneira de o computador

manipular os números trazem à tona a questão das aproximações numéricas e da dimensão do

símbolo que representará tal feição. Um objeto cuja componente altimétrica foi calculada

pode estar milímetros ou frações de milímetro abaixo da superfície da TIN. Se a representação

do ponto possuir dimensões menores que esta diferença, o mesmo não será visto.

Page 61: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

61

TAB. 5.2 – Resultados obtidos com o processamento das feições pontuais

Vértices Triângulo Altitudes dos

vértices do triângulo (m)

Altitude Calculada (m)

1 92 Vértice A: 900.000 Vértice B: 900.000 Vértice C: 910.000

900.000

2 80 Vértice A: 910.000 Vértice B: 910.000 Vértice C: 900.000

910.000

3 138 Vértice A: 900.000 Vértice B: 900.000 Vértice C: 910.000

901.476

4 116 892.402

5 116

Vértice A: 900.000 Vértice B: 890.000 Vértice C: 890.000

893.807

Por isso, sugere-se uma pesquisa para estudar a melhor forma de representação destes

símbolos, seja pela construção de figuras geométricas tridimensionais (esferas,

paralelepípedos ou bandeirolas, por exemplo) ou pela adoção de uma distância a ser acrescida

ao valor calculado (offset), fazendo com que a feição seja representada sempre acima da

superfície da TIN. Nos testes realizados, foram preservados os valores calculados.

5.4.2. FEIÇÕES LINEARES

A identificação de feições lineares em um arquivo de extensão BNA é possível devido ao

sinal negativo do número de vértices. Sendo assim, no arquivo de feições lido, sendo negativo

o número de vértices, executa-se esta rotina.

Após o preenchimento da matriz de pontos com os vértices da feição, cada segmento é

processado separadamente, considerando os elementos consecutivos na matriz, dois a dois. O

procedimento é o mesmo descrito na seção 4.3. Terminado o processamento de um segmento,

processa-se o seguinte até que seja concluída a feição. Foi adotado o critério da interseção do

triângulo pelo segmento, individualmente, para evitar que se confunda o sentido do

processamento. Isso pode ser exemplificado no caso do ponto 1 (FIG. 5.9), pertencente a

vários triângulos, dos quais um é atravessado pelo segmento 1-2, e outro pelo segmento 5-1.

Page 62: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

62

Como a rotina retorna o triângulo com menor índice, este critério adicional impede que seja

indicado um triângulo que não seja interceptado pelo segmento.

A FIG. 5.12 apresenta o algoritmo de processamento de feições lineares, embutido no

algoritmo representado pela FIG. 5.10. Os dados de entrada são a célula que contém a feição,

a quantidade de vértices da mesma, obtidos no cabeçalho da feição, além das coordenadas dos

seus vértices. Na TAB. 5.3 é possível observar os resultados gerados pela rotina. A plotagem

dos pontos gerados sobre a TIN é exibida na FIG. 5.13. Destacados em negrito estão os

vértices do polígono. Os pontos intermediários são os pontos de interseção criados, na ordem

em que foram calculados.

RECONHECER CÉLULA QUE CONTÉM A FEIÇÃO

APONTAR PARA A CAMADA DE TRIÂNGULOS CONTIDA NA CÉLULA IDENTIFICADA

APONTAR PARA PRIMEIRO ELEMENTO DA CAMADA DE TRIÂNGULOS DA REDE

APONTAR PARA PRIMEIRO VÉRTICE DA FEIÇÃO NA MATRIZ DE APOIO

CHAMAR P1 O PRIMEIRO VÉRTICE DA FEIÇÃO

CHAMAR P2 O VÉRTICE SEGUINTE DA FEIÇÃO

CALCULAR AS COORDENADAS BARICÊNTRICAS DE P1

ENQUANTO NÃO FOREM TODAS POSITIVAS E P1-P2 NÃO FOR SECANTE AO

TRIÂNGULO

APONTAR PARA O PRÓXIMO ELEMENTO DA CAMADA DE TRIÂNGULOS.

CALCULAR AS NOVAS COORDENADAS BARICÊNTRICAS DE P1

TESTAR A SECÂNCIA DO SEGMENTO AO TRIÂNGULO

CALCULAR A ALTURA DE P1

CALCULAR PONTO DE INTERSEÇÃO

INDICAR PRÓXIMO TRIÂNGULO (VIZINHO) A SER ANALISADO

CONSIDERAR COMO P1 O PONTO DE INTERSEÇÃO CALCULADO

ENQUANTO P1 E P2 NÃO ESTIVEREM NO MESMO TRIÂNGULO.

CALCULAR A ALTURA DE P2

CHAMAR P1 O VÉRTICE P2

ENQUANTO P1 NÃO FOR O ÚLTIMO VÉRTICE DA FEIÇÃO

FIG. 5.12 – Algoritmo para processamento das feições lineares.

Outros testes foram realizados para validar o algoritmo: foi invertida a ordem de

processamento dos vértices, assim como o sentido (de anti-horário para horário), mantendo,

Page 63: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

63

porém, a conformação geométrica da polilinha. Foram observados o mesmo número de

interseções criadas e as suas respectivas coordenadas.

Como foi dito, os pontos 1 e 2 do polígono de teste coincidem com vértices de triângulos

da rede. O uso do critério adicional de seccionamento pelo respectivo segmento minimizou a

quantidade de processamentos, uma vez que evitou o emprego daqueles triângulos.

TAB. 5.3 – Resultado do processamento da polilinha de teste.

Pto Long

(W, em radianos)

Lat

(S, em radianos)

Altitude

(m)

1 0.75340176058 0.44465314526 900.000

1.1 0.75339477504 0.44466538939 904.226

1.2 0.75339430035 0.44466622143 904.726

1.3 0.75339167413 0.44467082462 906.724

1.4 0.75339125497 0.44467155931 907.073

1.5 0.75338892322 0.44467564637 909.037

1.6 0.75338829596 0.44467674582 909.600

1.7 0.75338677102 0.44467941871 910.000

1.8 0.75338630980 0.44468022712 910.000

1.9 0.75338618928 0.44468043837 910.000

2 0.75338483776 0.44468280729 910.000

2.1 0.75338304328 0.44468054451 908.807

2.2 0.75337984084 0.44467650635 907.250

2.3 0.75337464655 0.44466995654 904.339

3 0.75336982600 0.44466387800 901.476

3.1 0.75336797621 0.44466387800 900.981

3.2 0.75336521313 0.44466387800 900.000

3.3 0.75336484544 0.44466387800 900.000

3.4 0.75333695960 0.44466387800 893.063

4 0.75333425600 0.44466387800 892.402

5 0.75334547200 0.44464972400 893.807

5.1 0.75335979623 0.44465059464 897.391

5.2 0.75336530390 0.44465092940 898.267

5.3 0.75336854509 0.44465112640 898.629

5.4 0.75336927368 0.44465117068 898.758

5.5 0.75337339016 0.44465142089 898.985

5.6 0.75337645550 0.44465160720 899.404

5.7 0.75338739603 0.44465227217 900.000

5.8 0.75339630022 0.44465281338 900.000

5.9 0.75339702932 0.44465285769 900.000

5.10 0.75339934555 0.44465299847 900.000

6 ≡≡1 0.75340176058 0.44465314526 900.000

Page 64: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

64

FIG. 5.13 – Plotagem dos pontos processados sobre a rede TIN.

5.4.3. FEIÇÕES DE ÁREA

A identificação das feições de área no formato BNA difere das feições lineares por

apresentar número positivo de vértices. Desta forma, identificada uma feição como sendo de

área, preenche-se a matriz de pontos com os seus vértices acrescentando ao final da feição os

dois primeiros pontos da feição. As feições de área nesse formato repetem as coordenadas do

primeiro vértice ao final da feição, bastando acrescentar o segundo vértice à matriz. Isso se

deve ao teste de pertinência de ponto a polígono, que analisa dois pontos além do atual. Em se

tratando de arquivos validados, subentende-se que o primeiro e o último vértice são iguais,

caracterizando um polígono fechado. Pela mesma razão, parte-se do princípio que não há

áreas sobrepostas. O fluxograma de processamento de feições de área está ilustrado na FIG.

5.14.

Encontrado o triângulo que contém o primeiro vértice do polígono de contorno e que é

seccionado pelo primeiro segmento, avança-se com o processamento da feição de área de

teste, aplicando as rotinas de seccionamento desenvolvidas e a de identificação de triângulos

totalmente contidos no polígono. A FIG. 5.15 exibe em tom mais escuro os triângulos

completamente contidos no polígono de teste (tracejado), enquanto exibe em tom mais claro

1

2

3 4

5

Page 65: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

65

os triângulos que devem ser seccionados. Reiterando o que foi mencionado na seção 4.4, o

segmento de reta está contido no mesmo plano que o triângulo original, gerando de 1 a 4

triângulos coplanares ao triângulo original. Assim, a divisão não altera o relevo original.

RECONHECER CÉLULA QUE CONTÉM A FEIÇÃO

APONTAR PARA A CAMADA DE TRIÂNGULOS CONTIDA NA CÉLULA IDENTIFICADA

APONTAR PARA PRIMEIRO ELEMENTO DA CAMADA DE TRIÂNGULOS DA REDE

APONTAR PARA PRIMEIRO VÉRTICE DA FEIÇÃO NA MATRIZ DE APOIO

CHAMAR P1 O PRIMEIRO VÉRTICE DA FEIÇÃO

CHAMAR P2 O VÉRTICE SEGUINTE DA FEIÇÃO

CALCULAR AS COORDENADAS BARICÊNTRICAS DE P1

ENQUANTO NÃO FOREM TODAS POSITIVAS E P1-P2 NÃO FOR SECANTE AO

TRIÂNGULO

APONTAR PARA O PRÓXIMO ELEMENTO DA CAMADA DE TRIÂNGULOS.

CALCULAR AS NOVAS COORDENADAS BARICÊNTRICAS DE P1

TESTAR A SECÂNCIA DO SEGMENTO AO TRIÂNGULO

CALCULAR A ALTURA DE P1

CALCULAR PONTO DE INTERSEÇÃO

SECCIONAR TRIÂNGULO

ARMAZENAR NOVOS TRIÂNGULOS

INDICAR TRIÂNGULOS INTERNOS À FEIÇÃO

APAGAR REGISTRO DO TRIÂNGULO SECCIONADO

INDICAR PRÓXIMO TRIÂNGULO (VIZINHO) A SER ANALISADO

CONSIDERAR COMO P1 O PONTO DE INTERSEÇÃO CALCULADO

ENQUANTO P1 E P2 NÃO ESTIVEREM NO MESMO TRIÂNGULO.

CALCULAR A ALTURA DE P2

SECCIONAR TRIÂNGULO

ARMAZENAR NOVOS TRIÂNGULOS

INDICAR TRIÂNGULOS INTERNOS À FEIÇÃO

APAGAR REGISTRO DO TRIÂNGULO SECCIONADO

ESTABELECER AS NOVAS RELAÇÕES DE VIZINHANÇA

CHAMAR P1 O VÉRTICE P2

ENQUANTO P1 NÃO FOR O ÚLTIMO VÉRTICE DA FEIÇÃO

FIG. 5.14 – Algoritmo para processamento das feições de área.

Page 66: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

66

Como são criados e destruídos triângulos armazenados na memória, as relações de

vizinhança são alteradas e, terminado o processamento de um segmento, é necessário

restabelecer as vizinhanças entre os triângulos antes do processamento do próximo segmento.

Assim, não haverá triângulos que indiquem como vizinho um triângulo já descartado,

interrompendo a rotina.

Os triângulos gerados pelo seccionamento daqueles da TIN original são rotulados como

interno ou externo à feição processada. Os triângulos internos têm seus índices registrados em

uma matriz de resultados (declarada como um array com 200 elementos), assim como aqueles

da TIN original totalmente contidos no interior do polígono. No segmento posterior, reinicia-

se o preenchimento da matriz de resultados. Nos testes realizados, foram registrados menos de

70 triângulos. Se, por um lado é possível reduzir a quantidade de memória destinada a este

fim, por outro, cada região tenha suas particularidades e as feições têm diferentes extensões.

Os produtos do processamento são um arquivo com os triângulos que compõem a feição,

com suas coordenadas e a célula a que pertencem, e um arquivo com os triângulos que

compõem a nova TIN. Ambos possuem extensão BN3, semelhante ao arquivo com a TIN

original (Seção 5.3.1). Entretanto as visualizações no aplicativo Mapviewer® foram

realizadas graças à importação dos arquivos de extensão BNA, suprimindo a terceira

coordenada.

FIG. 5.15 – Resultado da seleção dos triângulos da TIN de acordo com o seu relacionamento topológico

com o polígono de teste.

Page 67: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

67

O caminho do processamento pode ser percorrido, indicando cada triângulo seccionado

(que “sai”, ou seja, é apagado em seguida) e os triângulos que “surgem”, rotulados como

internos (“I”) e externos (“E”). As fases da execução do processamento podem ser

acompanhadas pelo usuário através do relatório exibido na tela do prompt do DOS. Esse

relatório pode ser salvo em um arquivo de texto para posterior consulta. Neste caso:

Segmento 1-2: Sai triangulo 143. Surgem triangulos: 173I 174E 175E Sai triangulo 150. Surgem triangulos: 176E 179E 177I 178E Sai triangulo 149. Surgem triangulos: 180E 181I 182I Sai triangulo 152. Surgem triangulos: 183E 186E 185I 184I Sai triangulo 153. Surgem triangulos: 187I 188E 189E Sai triangulo 127. Surgem triangulos: 190E 191I 192I Sai triangulo 99. Surgem triangulos: 193E 194I 195I Sai triangulo 98. Surgem triangulos: 196E 199E 198I 197E Sai triangulo 50. Surgem triangulos: 200E 203E 202I 201E Sai triangulo 83. Surgem triangulos: 204I 205E 206E 207E 208I Segmento 2-3: Sai triangulo 158. Surgem triangulos: 209I 210E 211I Sai triangulo 157. Surgem triangulos: 212E 215E 213I 214E Sai triangulo 119. Surgem triangulos: 216E 219E 217I 218E Sai triangulo 138. Surgem triangulos: 220E 221I 222I 223I Segmento 3-4: Sai triangulo 220. Surgem triangulos: 224I 225E 226I Sai triangulo 216. Surgem triangulos: 227I 228E 229E Sai triangulo 219. Surgem triangulos: 230E 233E 232I 231E Sai triangulo 118. Surgem triangulos: 234I 235E 236E Sai triangulo 117. Surgem triangulos: 237I 238E 239E Sai triangulo 116. Surgem triangulos: 240I 241E 242E 243E Segmento 4-5: Sai triangulo 243. Surgem triangulos: 244I 245E 246E 247E 248I 249I 250E 251E 252I 253E Segmento 5-6: Sai triangulo 243. Surgem triangulos: 254E 257E 256I 255I Sai triangulo 141. Surgem triangulos: 258E 261E 260I 259I Sai triangulo 140. Surgem triangulos: 262E 265E 263I 264I Sai triangulo 17. Surgem triangulos: 266I 267E 268E Sai triangulo 96. Surgem triangulos: 269E 272E 271I 270I Sai triangulo 97. Surgem triangulos: 273E 276E 275I 274E Sai triangulo 95. Surgem triangulos: 277E 280E 279I 278E Sai triangulo 129. Surgem triangulos: 281E 284E 283I 282I Sai triangulo 128. Surgem triangulos: 285E 288E 287I 286I Sai triangulo 120. Surgem triangulos: 289E 292E 291I 290I Sai triangulo 121. Surgem triangulos: 293E 294I 295E 296I 297E

Analisando os relatórios gerados na fase de testes, é possível constatar triângulos

gerados pelo seccionamento que são apagados no decorrer do processamento dos segmentos

Page 68: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

68

posteriores.O resultado do processamento pode ser visualizado na FIG. 5.16. O efeito do

seccionamento pode ser observado comparando a FIG. 5.16 com a FIG. 5.9.

FIG. 5.16 – Resultado do seccionamento dos triângulos para composição do polígono de teste.

5.5. APROXIMAÇÕES NUMÉRICAS

Um grande impasse constatado na fase de implementação foi o limite da precisão das

variáveis do tipo double. Tais variáveis podem assumir valores entre 1,7E-308 e 1,7E+308,

positivos e negativos, com 10 dígitos de precisão.

Como foi visto nos capítulos 2, 3 e 4, as relações topológicas baseiam-se na comparação

dos valores obtidos com valores padrão, algumas vezes 0 (zero). Como este valor não está no

domínio da variável, ela é representada como um valor abaixo da precisão, que pode ser

positivo ou negativo.

Esta flutuação no valor do número gerou situações curiosas durante a implementação

como a comparação de coordenadas idênticas, até a 12ª casa decimal, sem que o computador

as considerasse iguais. Situações semelhantes como o cálculo de coordenadas baricêntricas de

um ponto ou o cálculo dos parâmetros para determinação do ponto de interseção entre um

segmento e um dos lados.

Page 69: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

69

Para inibir estes efeitos, foram estabelecidos valores de tolerância em alguns casos, ou

mudança de algoritmo para retornar a informação desejada. Seguem-se as descrições dos

artifícios empregados.

5.5.1. TOLERÂNCIA DAS COORDENADAS BARICÊNTRICAS

O cálculo das coordenadas baricêntricas é útil na verificação da pertinência de um ponto

a um triângulo û$%&��8PD�YDULDção d��HP�FDGD�FRRUGHQDGD�LPSOLFD�QDV�YDULDções dx e dy,

nos eixos x e y, respectivamente.

)(

)()()(

)(

)()()(

CBA

CCBBAA

CBA

CCBBAA

yyyddy

ydydyddyy

xxxddx

xdxdxddxx

++⋅=

⋅++⋅++⋅+=+

++⋅=

⋅++⋅++⋅+=+

λ

λλλλλλ

λ

λλλλλλ

A variação resultante deve ser menor que o valor definido como erro planimétrico

máximo. Como o valor das coordenadas dos vértices está em radianos, optou-se por

multiplicar o valor da variação resultante (um arco) pelo comprimento aproximado do raio

médio da Terra (seção 2.4). Devido ao uso das coordenadas elipsoidais sobre a esfera de raio

médio e do triângulo esférico como plano, foi usado nos testes o valor de 0,5 metro, quando o

erro planimétrico esperado para uma carta produzida na escala 1:25.000, Classe A, segundo o

Padrão de Exatidão Cartográfica (BRASIL, 1984), é de 12,5 metros.

Desta forma:

5.1) (EQ. )()(

0,5

)()(5,0

22

22

CBACBA

CBACBA

yyyxxxRd

yyyxxxdR

+++++=

+++++⋅⋅=

λ

λ

Nos triângulos da malha empregada no teste, os valores de d��FDOFXODGRV�SHOD�(4������Vão

da ordem da 10-9 (coordenadas baricêntricas são adimensionais), e os valores críticos das

coordenadas baricêntricas, observados durante a depuração são da ordem de 10-12.

Page 70: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

70

No caso da seção de triângulos, os pontos M e I, à exceção do primeiro e do último

triângulo, são necessariamente gerados sobre os lados. Como, nesses casos, pelo menos uma

das coordenadas é nula, o cálculo das coordenadas baricêntricas de ambos pode acusar como

não pertencente ao triângulo em questão, comprometendo o seccionamento. Por esta razão,

optou-se por priorizar as relações topológicas do triângulo atual, o anterior e o vizinho (FIG.

5.17). Mas este procedimento se vale do fato de que todas as vizinhanças estão bem

estabelecidas. A ausência de vizinhos só deve ser verificada nos limites da célula, fora da qual

não deve haver nenhum polígono.

Conhecida a informação do triângulo anterior e RV�YL]LQKRV�GR�û$%&��é possível definir

em que lado M e I ocorrem, atribuindo valor nulo à devida coordenada baricêntrica e os

parâmetros calculados na interseção dos lados com o segmento. No exemplo ilustrado na

FIG. 5.17, as coordenadas do ponto M serão:

�A = t (obtido pela verificação da interseção de AB com o segmento);

�B = 1 – t;

�C = 0, por estar no lado oposto ao vértice C.

Analogamente, o ponto I terá coordenadas:

�A = 1 – t (obtido pela verificação da interseção de CA com o segmento);

�B = 0, por estar no lado oposto ao vértice B;

�C = t;

FIG. 5.17 – Exemplo de determinação de ponto de interseção pelas relações de vizinhança entre triângulos.

Triângulo Atual

A

B C

Próximo Triângulo ≠≠

Triângulo Anterior Triângulo Anterior

M I

Page 71: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

71

5.5.2. TOLERÂNCIA DOS PARÂMETROS PARA VERIFICAÇÃO DE INTERSEÇÃO

A verificação de interseção entre dois segmentos (AB e MN) pode ser feita pela

parametrização do possível ponto de interseção entre ambos, em função das coordenadas de A

e B, ou de M e N.

[ ]

[ ]

22 )()(

)(

)(1)(

)(

)(1)(

BABA

BA

BAI

BA

BAI

yyxxdtd

yydtdy

ydttydttdyy

xxdtdx

xdttxdttdxx

−+−⋅=

−=

+−+⋅+=+

−=

+−+⋅+=+

Considerando a tolerância de 0,5 metro, como no caso anterior, escreve-se a EQ. 5.2:

5.2) (EQ. )()(

8-7,839E22

BABA yyxxdt

−+−=

5.5.3. COMPARAÇÃO DE PONTOS

A tarefa de comparar dois pontos (A e B) está implícita na verificação de pertinência de

um ponto a um triângulo ou a um polígono, no seccionamento de triângulos e na

determinação das relações de vizinhança entre os triângulos. Quando o programa não

reconhece como iguais dois pontos por força da precisão do tipo double, o processamento

pode ser terminado prematuramente em algum trecho ou algum(ns) dos triângulos pode(m)

não ser representados no resultado.

A tentativa para solucionar este problema é o cálculo da distância entre os pontos,

considerando um valor máximo tolerável. A exemplo dos casos anteriores, considerou-se a

distância obtida pela multiplicação da diferença angular multiplicada pelo raio médio da

Terra. A maior distância tolerada nos testes foi de 0,5 metro, gerando o valor do primeiro

membro da EQ. 5.3.

5.3) (EQ. )()(15146,6 22BABA yyxxE −+−>−

Page 72: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

72

5.6. INTEGRAÇÃO DAS ROTINAS

Realizados os testes com um polígono, montou-se um arquivo de feições dos três tipos,

explorando situações especiais de processamento, a fim de aprimorar os algoritmos. O

arquivo, de extensão BNA, possui:

• 4 feições de área: duas delas com um lado em comum (uma no sentido horário e outra

no sentido anti-horário), uma coincidente com um triângulo da TIN e outra totalmente

contida em um dos triângulos;

• 2 feições lineares: uma aberta com 4 vértices, e outra fechada contornando um

triângulo da TIN;

• 1 feição pontual.

Todas as coordenadas dos vértices estão em radianos e no mesmo sistema de coordenadas

da TIN. Cada uma já possui a informação da célula correspondente e todas estão inteiramente

contidas em uma mesma célula. As feições podem ser visualizadas na FIG. 5.14, onde estão

identificadas para controle nesta fase de testes.

Após a compatibilização das variáveis (tipos, nomes, tamanhos e valores) e a

implementação da rotina de leitura, foram realizados testes, misturando a ordem das feições

entre si, e invertendo a ordem dos vértices, mas sem modificar a forma da feição.

O primeiro teste realiza o processamento na ordem numérica crescente das feições, como

exibido na FIG. 5.18. Os resultados do primeiro processamento podem ser visualizados na

FIG. 5.19 (importação do arquivo BNA gerado pelo processamento pelo aplicativo

Mapviewer®), e o relatório completo deste teste consta no apêndice A. Observou-se que as

feições lineares e a pontual foram rapidamente processadas, enquanto houve demora no

processamento das feições de área, principalmente na fase de atualização das relações de

vizinhança entre os triângulos da respectiva célula. No caso das feições de área 5 e 6,

pertencentes à mesma célula, a demora na atualização das vizinhanças cresceu sensivelmente

(observação empírica, sem constatação numérica), o que já esperado devido ao aumento do

número de triângulos. Esse fator impede que estes procedimentos sejam realizados para

visualização em tempo real.

Page 73: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

73

À feição linear aberta foram acrescidos 17 vértices. O processamento das feições lineares

sobre a TIN original faz com que o número de interseções seja mínimo, uma vez que o

surgimento de triângulos aumentaria o número de interseções.

FIG. 5.18 – Feições contidas no arquivo, a serem processadas.

O segundo teste é realizado invertendo a ordem de processamento das feições de área.

Por compartilharem de um lado, a segunda feição será processada sobre uma rede diferente da

primeira. Os resultados do segundo processamento das feições estão ilustrados na FIG. 5.20 e

o relatório completo deste teste consta no apêndice B.

1 - Ponto

2 - Linha

3 - Linha

4 – Área

5 – Área 6 – Área

7 – Área

Page 74: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

74

FIG. 5.19 – Resultado do processamento do primeiro caso.

FIG. 5.20 – Resultado do processamento do segundo caso.

Page 75: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

75

Os testes subseqüentes foram realizados invertendo a ordem dos vértices das feições de

área. Os resultados foram semelhantes aos dois primeiros testes, modificando apenas os

índices dos triângulos, muito embora tenha sido observado que alguns triângulos não foram

armazenados no respectivo arquivo BNA. Porém, analisando o relatório e a rede triangular

modificada pelo processamento, percebe-se que o seccionamento ocorreu corretamente e que

o triângulo ausente encontra-se rotulado como interno (“I”) ao polígono.

Os arquivos com as novas TIN, acrescidas dos triângulos gerados e sem os triângulos

eliminados durante os respectivos processamentos, foram gravados com o nome “nova.tin”,

formato BN3, nas pastas destinadas aos resultados de cada teste, no CD anexo. Observa-se

pela ordem dos índices no arquivo que os espaços de memória liberados pelos triângulos

eliminados foram preenchidos com novos triângulos, mantendo a continuidade da lista de

elementos da camada da TIN. Por estar no formato BN3, este arquivo não pode ser importado

pelo aplicativo Mapviewer®, razão pela qual o acompanha o arquivo “nova.bna”, que pode

ser importado pelo aplicativo. Para possibilitar a visualização tridimensional dos resultados,

foi implementada a criação de arquivo no formato VRML (Virtual Reality Modeling

Language) 2.0, de extensão WRL, contendo os resultados do processamento: as feições

internas às feições de área em cor diferente dos triângulos externos. Arquivos deste formato

são executados por navegadores web, com plug-ins apropriados (neste trabalho, foi utilizado o

Cortona, da empresa Parallel Graphics).

A geração dos arquivos BN3 e BNA permite a edição do arquivo, caso seja observada

alguma falha que porventura não tenha sido detectada nos testes realizados (triângulos

internos às feições de área não sinalizados como tal, e vice-versa). A numeração empregada

para os triângulos da nova TIN é a mesma dos triângulos registrados no arquivo de feições

processadas.

Page 76: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

76

6 CONCLUSÕES

Os conceitos de interpolação linear no espaço bidimensional não são novidade, nem a

potencialidade da sua aplicação na determinação de altitudes sobre uma TIN. GOLD (1984),

por exemplo, apresenta uma metodologia para determinação de curvas de nível, que são linhas

compostas por pontos de mesma altitude. Ele também escreveu dezenas de outros artigos

sobre modelos digitais de terreno. FELGUEIRAS (2001) faz uma breve menção sobre o

assunto, sem aprofundar-se no mesmo. Outros artigos encontrados diferem entre si pelos

modelos de interpolação sugeridos, propondo soluções que retornem superfícies com aspectos

suavizados, mesmo que elas não contenham os pontos originais, que satisfaçam determinada

particularidade geométrica (por exemplo, TOBLER e KENNEDY, 1985).

O diferencial deste trabalho em relação aos outros já publicados sobre interpolação não

está na formulação matemática ou na obtenção automatizada dos valores, mas no emprego

destes valores para representar pontos, polilinhas e polígonos sobre uma superfície

triangulada, composta pela distribuição de pontos no R2 com altitudes. A representação de

uma feição pontual, isoladamente, parece trivial, com menor complexidade que a

representação de uma feição linear, devido à demanda por pontos de interseção que adaptam

os segmentos que compõem a feição aos triângulos, considerando as mudanças de inclinação.

Por sua vez, a representação de feições de área demanda o ajuste do polígono de contorno

(como uma feição linear fechada) e a identificação/criação dos triângulos que compõem o

preenchimento da feição, mantendo a representação triangular.

Além da implementação das particularidades geométricas da TIN e das feições, foi

necessário buscar alternativas para inibir os efeitos da precisão das variáveis (Seção 5.5), já

que a comparação de valores é inevitável para a modelagem da solução deste problema.

Foram realizados entre 20 e 30 testes, processando feições pontuais, lineares e de área

(seções 5.4 e 5.6), variando a ordem do processamento, a ordem e o sentido dos vértices das

feições (de área, principalmente), gerando as informações contidas nas respectivas pastas,

gravadas no CD anexo.

Embora necessite de criação ou otimização de rotinas auxiliares para processamento de

arquivos (divisão das feições originais pelas células e a gravação destes dados em formato

BNA), os resultados obtidos com os testes realizados permitem afirmar que é possível, com a

Page 77: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

77

metodologia desenvolvida e com os algoritmos criados, registrar corretamente as feições às

superfícies formadas pela representação dos valores dos atributos.

Particularmente, isso torna viável a transformação das feições cartográficas originalmente

representadas em arquivos vetoriais 2D, validados, em feições 3D, úteis para aplicação, por

exemplo, em sistema de visualização de cenários virtuais.

Certamente, há recursos computacionais, não abordados neste trabalho, que podem

otimizar os resultados encontrados, tais como a velocidade de processamento, a melhor

organização das rotinas de leitura e armazenamento de informações e a aparência da

representação gráfica dos dados processados. Para tanto, surge a demanda por trabalhos

relacionados a esses assuntos, como:

• implementação de estruturas otimizadas de indexação e busca do triângulo usado na

interpolação;

• integração de bibliotecas que executem cálculos de cartometria retornando ângulos e

distâncias geodésicas, permitindo o uso de valores próprios para aplicações

cartográficas (nos limites estabelecidos pelo Padrão de Exatidão Cartográfica);

• avaliação de outros modelos de interpolação que permitam suavizar o aspecto do das

feições e do terreno;

• construção de rotinas de leitura e escrita em formatos de arquivos e bancos de dados

geográficos comumente empregados na manipulação de informações geográficas,

evitando conversões entre formatos (e, conseqüentemente, perdas de dados) e

permitindo a operabilidade por usuários diversos;

• desenvolvimento de rotinas de processamento de feições segundo o padrão adotado

(MTD e TBCD, por exemplo), dentro de cada categoria;

• elaboração de propostas de simbologias apropriadas para ambientes de visualização

tridimensional, que evitem o encobrimento das feições pela TIN devido à precisão

numérica;

Page 78: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

78

7 REFERÊNCIAS BIBLIOGRÁFICAS

AFTOSMIS, M. J, BERGER, M. J., MURMAN, S. M., Applications of Space-Filling Curves to Cartesian Methods for CFD [online], 42nd Aerospace Sciences Meeting and Exhibit, 2004, Disponível em http://people.nas.nasa.gov/~aftosmis/publications/aiaa2004_1232.pdf [capturado em 04 Mai. 05].

APOSTOL, T. M., Cálculo: Cálculo com funções de varias variaveis e Álgebra Linear,

com aplicações às equações diferenciais e às provavilidades. tradução de António Ribeiro Gomes. Barcelona: Ed. Reverté, S. A., 1985. v. 1. 771 p.

BRASIL. Decreto nº 89.817 de 20 de junho de 1984. Estabelece as Instruções Reguladoras

das Normas Técnicas da Cartografia Nacional [online]. Diário Oficial da União, Brasília, 22 jun. 1984, Disponível em http://www.concar.ibge.gov.br/indexf7a0.html?q=node/41 [capturado em 10 Set. 06].

CARVALHO, P. C. P., FIGUEIREDO, L. H. de, Introdução à Geometria Computacional,

18° Colóquio Brasileiro de Matemática, Instituto de Matemática Pura e Aplicada, 1991. DAVIS, C., Geometria Computacional para Sistemas de Informação Geográfica [online],

2001, Disponível em http://www.dpi.inpe.br/gilberto/livro/geocomp/geometria.pdf [capturado em 20 Mar. 05].

DIEGUEZ, J. P. P., Métodos de Cálculo Numérico, Rio de Janeiro: Instituto Militar de

Engenharia, 2005. 431 p. ISBN 85-9801-304-8. DSG – Diretoria do Serviço Geográfico. Tabelas da Base Cartográfica Digital - TBCD.

Brasília: DSG, 1997. ESPERANÇA, C. e CAVALCANTI, P. R., Interseção de Segmentos de Reta - Notas de

Aula do Curso de Geometria Computacional da UFRJ [online], 2001a, Disponível em http://www.lcg.ufrj.br/Cursos/Geometria%20Computacional/Intersecao%20Segmentos.pdf [capturado em 20 Mar. 05].

ESPERANÇA, C. e CAVALCANTI, P. R., Triangulações - Notas de Aula do Curso de

Geometria Computacional da UFRJ [online], 2001b, Disponível em

Page 79: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

79

http://www.lcg.ufrj.br/Cursos/Geometria%20Computacional/Triangulacoes.pdf [capturado em 20 Mar. 05].

FELGUEIRAS, C. A., Modelagem Numérica de Terreno [online], 2001, Disponível em

http://www.dpi.inpe.br/gilberto/livro/introd/cap7-mnt.pdf [capturado em 20 Mar. 05]. GEMAEL, C., Introdução à Geodésia Física. Editora da UFPR, Curitiba, 1999. GOLD, C.M., Common sense automated contouring - Some generalizations [online].

Cartographica, Vol. 21, No. 2, pp. 121-129, 1984. Disponível em www.voronoi.com/pdfs/1980-1984/Common_sense_automated.pdf [capturado em 20 out. 2006].

IBGE - Instituto Brasileiro de Geografia e Estatística, Diretoria de Geociências, Departamento

de Cartografia. Mapoteca Topográfica Digital - MTD. Rio de Janeiro: IBGE, 1999. JORDAN W. e EGGERT, O., Jordan’s handbook of Geodesy – Selected portions, vol. III,

1st half. Washington, Army Map Service, 1962. LAURINI, R., Graphical data bases built on Peano space-filling curves, Eurographics,

1985. p. 327-338. MELLO, F. L. e FERREIRA da S., L. F. C., Visualização tridimensional de teatros de

guerra: o pré-processamento dos dados, Revista Militar de Ciência e Tecnologia, 3° Quadrimestre de 2004.

MELLO, F. L. e FERREIRA da S., L. F. C., Visualização tridimensional de terrenos:

triangulação de dados altimétricos, Revista Militar de Ciência e Tecnologia, 2° Quadrimestre de 2005.

MOUNT, D. M., Computational Geometry: Lecture Notes [online], Maryland: University,

2002. Disponível em: http://ganimede.lcg.ufrj.br/Cursos/Geometria%20Computacional/754lects.pdf [capturado em 01 mar. 05].

RUGGIERO, M. A. G. e LOPES, V. L. da R., Cálculo Numérico – Aspectos Teóricos e

Computacionais, 2ª ed., São Paulo: Makron Books, 1996.

Page 80: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

80

TOBLER, W. R, e KENNEDY, S., Smooth Multidimensional Interpolation [online], Geographical Analysis, n° 17, pp. 251-257, 3° Trimestre de 1985. Disponível em: www.geog.ucsb.edu/~tobler/publications/pdf_docs/geog_analysis/MltdmIntrp.pdf [capturado em 20 out. 06]

WEISSTEIN, E. W., Mathworld: the web’s most extensive mathematical resource

[online]. 2003. Disponível em: http://mathworld.wolfram.com/BarycentricCoordinates.html [capturado em 17 jan. 06].

WEISSTEIN, E. W., Mathworld: the web’s most extensive mathematical resource

[online]. 1999. Disponível em: http://mathworld.wolfram.com/topics/Interpolation.html [capturado em 17 jan. 06].

WEISSTEIN, E. W.., Mathworld: the web’s most extensive mathematical resource

[online]. 2005. Disponível em: http://mathworld.wolfram.com/DelaunayTriangulation.html [capturado em 17 jan. 06].

Page 81: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

81

8 APÊNDICES

Page 82: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

82

8.1. APÊNDICE A – Resultados do primeiro processamento do arquivo

Referência: FIG. 5.19 Arquivo Processado: poligonos.bna Resultados do processamento: result1.txt Primeira Fase do Processamento: Indexar os triângulos de cada célula e mapear as relações de vizinhança entre eles. Fim da Primeira Fase. Processamento das feições pontuais, lineares e de área. Processamento da 1a Feicao do arquivo Feição Pontual Ponto 1, x: -7.5337944200E+000 y: -4.4455324000E+000 z: 890.000 T: 11 Fim do processamento da 1a Feicao do arquivo Processamento da 2a Feicao do arquivo Feição Linear Ponto 1, x: -7.53495607E+000 y: -4.44740915E+000 z: 908.049 T: 51 Ponto 1.1, x: -7.5349073134E-001 y: -4.4474538163E-001 z: 908.287 T: 51 Ponto 1.2, x: -7.5348931175E-001 y: -4.4474668233E-001 z: 908.318 T: 50 Ponto 1.3, x: -7.5348574090E-001 y: -4.4474995410E-001 z: 908.238 T: 32 Ponto 1.4, x: -7.5347355227E-001 y: -4.4476112187E-001 z: 907.863 T: 57 Ponto 2, x: -7.5347113880E-001 y: -4.4476333320E-001 z: 907.957 T: 56 Ponto 2.1, x: -7.5347570649E-001 y: -4.4476498164E-001 z: 908.370 T: 56 Ponto 2.2, x: -7.5348852578E-001 y: -4.4476960801E-001 z: 910.000 T: 57 Ponto 2.3, x: -7.5349084064E-001 y: -4.4477044343E-001 z: 910.000 T: 54 Ponto 2.4, x: -7.5349235871E-001 y: -4.4477099129E-001 z: 910.000 T: 31 Ponto 2.5, x: -7.5349277272E-001 y: -4.4477114070E-001 z: 910.000 T: 30 Ponto 3, x: -7.5350275190E-001 y: -4.4477474210E-001 z: 910.000 T: 14 Ponto 3.1, x: -7.5350441297E-001 y: -4.4477408648E-001 z: 910.000 T: 14 Ponto 3.2, x: -7.5352190054E-001 y: -4.4476718424E-001 z: 910.000 T: 27 Ponto 3.3, x: -7.5352463232E-001 y: -4.4476610603E-001 z: 910.000 T: 28 Ponto 4, x: -7.5352819160E-001 y: -4.4476470120E-001 z: 910.000 T: 26 Ponto 4.1, x: -7.5352901772E-001 y: -4.4476340282E-001 z: 910.000 T: 26 Ponto 4.2, x: -7.5353418550E-001 y: -4.4475528079E-001 z: 910.000 T: 45 Ponto 4.3, x: -7.5353570528E-001 y: -4.4475289222E-001 z: 910.000 T: 44 Ponto 4.4, x: -7.5353679660E-001 y: -4.4475117702E-001 z: 910.000 T: 46 Ponto 4.5, x: -7.5353761688E-001 y: -4.4474988783E-001 z: 910.000 T: 47 Ponto 5, x: -7.5353781350E-001 y: -4.4474957880E-001 z: 910.000 T: 84 Fim do processamento da 2a Feicao do arquivo Processamento da 3a Feicao do arquivo Feição Linear Ponto 1, x: -7.53247106E+000 y: -4.44564517E+000 z: 890.000 T: 8 Ponto 2, x: -7.5324969852E-001 y: -4.4465826447E-001 z: 890.000 T: 8 Ponto 3, x: -7.5324710594E-001 y: -4.4466054542E-001 z: 890.000 T: 8 Ponto 4, x: -7.5324710594E-001 y: -4.4456451716E-001 z: 890.000 T: 8 Fim do processamento da 3a Feicao do arquivo Processamento da 4a Feicao do arquivo Feição de Área Poligono contido no triangulo 11. Fim do processamento da 4a Feicao do arquivo

Page 83: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

83

Processamento da 5a Feicao do arquivo Feição de Área Segmento 1-2: Ponto 1: x = -7.5327757000E-001; y = -4.4461225600E-001 Ponto 2: x = -7.5327444900E-001; y = -4.4462942000E-001 Sai triangulo 2. Surgem triangulos: 173E 174E 175E Sai triangulo 174. Surgem triangulos: 176I 177E 178E 179E 180E 181E 182E Restabelecendo as vizinhanças. Segmento 2-3: Ponto 2: x = -7.5327444900E-001; y = -4.4462942000E-001 Ponto 3: x = -7.5326298500E-001; y = -4.4465913200E-001 Sai triangulo 181. Surgem triangulos: 183E 184E Sai triangulo 28. Surgem triangulos: 185E 186I 187I Sai triangulo 29. Surgem triangulos: 188I 191I 189E 190E Sai triangulo 62. Surgem triangulos: 192I 193E 194E 195E Restabelecendo as vizinhanças. Segmento 3-4: Ponto 3: x = -7.5326298500E-001; y = -4.4465913200E-001 Ponto 4: x = -7.5328740600E-001; y = -4.4468462000E-001 Sai triangulo 193. Surgem triangulos: 196E 197I Sai triangulo 108. Surgem triangulos: 198I 199E 200E Sai triangulo 109. Surgem triangulos: 201E 202I 203I Sai triangulo 136. Surgem triangulos: 204I 207I 206E 205E Sai triangulo 135. Surgem triangulos: 208E 209I 210I 211E Restabelecendo as vizinhanças. Segmento 4-5: Ponto 4: x = -7.5328740600E-001; y = -4.4468462000E-001 Ponto 5: x = -7.5333588300E-001; y = -4.4467970200E-001 Sai triangulo 211. Surgem triangulos: 212E 213I Sai triangulo 107. Surgem triangulos: 214I 217E 216E 215E Sai triangulo 114. Surgem triangulos: 218I 221E 220E 219E Sai triangulo 113. Surgem triangulos: 222I 225I 224E 223E Sai triangulo 146. Surgem triangulos: 226I 229E 228E 227E Sai triangulo 168. Surgem triangulos: 230I 233I 232E 231E Sai triangulo 169. Surgem triangulos: 234I 237I 235E 236E Sai triangulo 162. Surgem triangulos: 238E 239I 240E 241E Restabelecendo as vizinhanças. Segmento 5-6: Ponto 5: x = -7.5333588300E-001; y = -4.4467970200E-001 Ponto 6: x = -7.5333425600E-001; y = -4.4466387800E-001 Sai triangulo 240. Surgem triangulos: 242I 243E Sai triangulo 163. Surgem triangulos: 244I 247E 245E 246E Sai triangulo 164. Surgem triangulos: 248I 251I 249E 250E Sai triangulo 165. Surgem triangulos: 252I 255E 254E 253E Sai triangulo 166. Surgem triangulos: 256I 259I 258E 257E Sai triangulo 117. Surgem triangulos: 260I 263E 262E 261E Sai triangulo 116. Surgem triangulos: 264E 265I 266E 267E Restabelecendo as vizinhanças. Segmento 6-7: Ponto 6: x = -7.5333425600E-001; y = -4.4466387800E-001 Ponto 7: x = -7.5334547200E-001; y = -4.4464972400E-001 Sai triangulo 267. Surgem triangulos: 268E 269E 270E 271E 272E 273E 274E 275E 276E 277E Restabelecendo as vizinhanças.

Page 84: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

84

Segmento 7-8: Ponto 7: x = -7.5334547200E-001; y = -4.4464972400E-001 Ponto 8: x = -7.5332956000E-001; y = -4.4461787600E-001 Sai triangulo 267. Surgem triangulos: 278I 281E 280E 279E Sai triangulo 266. Surgem triangulos: 282I 285I 284E 283E Sai triangulo 85. Surgem triangulos: 286E 287I 288I Sai triangulo 84. Surgem triangulos: 289I 290E 289E Sai triangulo 86. Surgem triangulos: 292E 293I 294I Sai triangulo 27. Surgem triangulos: 295E 296I 297I Sai triangulo 71. Surgem triangulos: 298I 299E 300E 301E Restabelecendo as vizinhanças. Segmento 8-9: Ponto 8: x = -7.5332956000E-001; y = -4.4461787600E-001 Ponto 9: x = -7.5327757000E-001; y = -4.4461225600E-001 Sai triangulo 299. Surgem triangulos: 302E 303I Sai triangulo 75. Surgem triangulos: 304I 305E 304E Sai triangulo 186. Surgem triangulos: 307E 308I 309I Sai triangulo 187. Surgem triangulos: 310I 313I 312E 311E Sai triangulo 183. Surgem triangulos: 314E 315I 316I Sai triangulo 180. Surgem triangulos: 317I 318E 319E 320E 321I Restabelecendo as vizinhanças. Fim do processamento da 5a Feicao do arquivo Processamento da 6a Feicao do arquivo Feição de Área Segmento 1-2: Ponto 1: x = -7.5340176058E-001; y = -4.4465314526E-001 Ponto 2: x = -7.5338483776E-001; y = -4.4468280729E-001 Sai triangulo 143. Surgem triangulos: 322I 323E Sai triangulo 150. Surgem triangulos: 324E 327E 325I 326E Sai triangulo 149. Surgem triangulos: 328E 329I 330I Sai triangulo 152. Surgem triangulos: 331E 334E 333I 332I Sai triangulo 153. Surgem triangulos: 335I 336E 337E Sai triangulo 127. Surgem triangulos: 338E 339I 340I Sai triangulo 99. Surgem triangulos: 341E 342I 343I Sai triangulo 98. Surgem triangulos: 344E 347E 346I 345E Sai triangulo 50. Surgem triangulos: 348E 351E 350I 349E Sai triangulo 83. Surgem triangulos: 352I 353E 354E 355E 356I Restabelecendo as vizinhanças. Segmento 2-3: Ponto 2: x = -7.5338483776E-001; y = -4.4468280729E-001 Ponto 3: x = -7.5336982600E-001; y = -4.4466387800E-001 Sai triangulo 158. Surgem triangulos: 357I 358E Sai triangulo 157. Surgem triangulos: 359E 362E 360I 361E Sai triangulo 119. Surgem triangulos: 363E 366E 364I 365E Sai triangulo 138. Surgem triangulos: 367E 368I 369I 370I Restabelecendo as vizinhanças. Segmento 3-4: Ponto 3: x = -7.5336982600E-001; y = -4.4466387800E-001 Ponto 4: x = -7.5333425600E-001; y = -4.4466387800E-001 Sai triangulo 367. Surgem triangulos: 371I 372E Sai triangulo 363. Surgem triangulos: 373I 374E 375E Sai triangulo 366. Surgem triangulos: 376E 379E 378I 377E Sai triangulo 118. Surgem triangulos: 380I 381E 382E Sai triangulo 261. Surgem triangulos: 383I 384E 385E Sai triangulo 262. Surgem triangulos: 386I 387E 388E

Page 85: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

85

Sai triangulo 264. Surgem triangulos: 389I 390E 391E 392E 393I Restabelecendo as vizinhanças. Segmento 4-5: Ponto 4: x = -7.5333425600E-001; y = -4.4466387800E-001 Ponto 5: x = -7.5334547200E-001; y = -4.4464972400E-001 Sai triangulo 276. Surgem triangulos: 394I 395I 396I 397I 398I 399I 400I Restabelecendo as vizinhanças. Segmento 5-6: Ponto 5: x = -7.5334547200E-001; y = -4.4464972400E-001 Ponto 6: x = -7.5340176058E-001; y = -4.4465314526E-001 Sai triangulo 275. Surgem triangulos: 401I 402E Sai triangulo 141. Surgem triangulos: 403E 406E 405I 404I Sai triangulo 140. Surgem triangulos: 407E 410E 408I 409I Sai triangulo 17. Surgem triangulos: 411I 412E 413E Sai triangulo 96. Surgem triangulos: 414E 417E 416I 415I Sai triangulo 97. Surgem triangulos: 418E 421E 420I 419E Sai triangulo 95. Surgem triangulos: 422E 425E 424I 423E Sai triangulo 129. Surgem triangulos: 426E 429E 428I 427I Sai triangulo 128. Surgem triangulos: 430E 433E 432I 431I Sai triangulo 120. Surgem triangulos: 434E 437E 436I 435I Sai triangulo 121. Surgem triangulos: 438E 439I 440E 441I 442E Restabelecendo as vizinhanças. Fim do processamento da 6a Feicao do arquivo Processamento da 7a Feicao do arquivo Feição de Área Poligono contido no triangulo 6. Fim do processamento da 7a Feicao do arquivo Arquivo BNA com as feições processadas: feições.bna

Page 86: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

86

Aparência da TIN original:

Aparência da nova TIN:

Page 87: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

87

8.2. APÊNDICE B – Resultados do segundo processamento do arquivo

Referência: FIG. 5.20 Arquivo Processado: poligonos.bna Resultados do processamento: result2.txt Primeira Fase do Processamento: Indexar os triângulos de cada célula e mapear as relações de vizinhança entre eles. Fim da Primeira Fase. Processamento das feições pontuais, lineares e de área. Processamento da 1a Feicao do arquivo Feição Pontual Ponto 1, x: -7.5337944200E+000 y: -4.4455324000E+000 z: 890.000 T: 11 Fim do processamento da 1a Feicao do arquivo Processamento da 2a Feicao do arquivo Feição Linear Ponto 1, x: -7.53495607E+000 y: -4.44740915E+000 z: 908.049 T: 51 Ponto 1.1, x: -7.5349073134E-001 y: -4.4474538163E-001 z: 908.287 T: 51 Ponto 1.2, x: -7.5348931175E-001 y: -4.4474668233E-001 z: 908.318 T: 50 Ponto 1.3, x: -7.5348574090E-001 y: -4.4474995410E-001 z: 908.238 T: 32 Ponto 1.4, x: -7.5347355227E-001 y: -4.4476112187E-001 z: 907.863 T: 57 Ponto 2, x: -7.5347113880E-001 y: -4.4476333320E-001 z: 907.957 T: 56 Ponto 2.1, x: -7.5347570649E-001 y: -4.4476498164E-001 z: 908.370 T: 56 Ponto 2.2, x: -7.5348852578E-001 y: -4.4476960801E-001 z: 910.000 T: 57 Ponto 2.3, x: -7.5349084064E-001 y: -4.4477044343E-001 z: 910.000 T: 54 Ponto 2.4, x: -7.5349235871E-001 y: -4.4477099129E-001 z: 910.000 T: 31 Ponto 2.5, x: -7.5349277272E-001 y: -4.4477114070E-001 z: 910.000 T: 30 Ponto 3, x: -7.5350275190E-001 y: -4.4477474210E-001 z: 910.000 T: 14 Ponto 3.1, x: -7.5350441297E-001 y: -4.4477408648E-001 z: 910.000 T: 14 Ponto 3.2, x: -7.5352190054E-001 y: -4.4476718424E-001 z: 910.000 T: 27 Ponto 3.3, x: -7.5352463232E-001 y: -4.4476610603E-001 z: 910.000 T: 28 Ponto 4, x: -7.5352819160E-001 y: -4.4476470120E-001 z: 910.000 T: 26 Ponto 4.1, x: -7.5352901772E-001 y: -4.4476340282E-001 z: 910.000 T: 26 Ponto 4.2, x: -7.5353418550E-001 y: -4.4475528079E-001 z: 910.000 T: 45 Ponto 4.3, x: -7.5353570528E-001 y: -4.4475289222E-001 z: 910.000 T: 44 Ponto 4.4, x: -7.5353679660E-001 y: -4.4475117702E-001 z: 910.000 T: 46 Ponto 4.5, x: -7.5353761688E-001 y: -4.4474988783E-001 z: 910.000 T: 47 Ponto 5, x: -7.5353781350E-001 y: -4.4474957880E-001 z: 910.000 T: 84 Fim do processamento da 2a Feicao do arquivo Processamento da 3a Feicao do arquivo Feição Linear Ponto 1, x: -7.53247106E+000 y: -4.44564517E+000 z: 890.000 T: 8 Ponto 2, x: -7.5324969852E-001 y: -4.4465826447E-001 z: 890.000 T: 8 Ponto 3, x: -7.5324710594E-001 y: -4.4466054542E-001 z: 890.000 T: 8 Ponto 4, x: -7.5324710594E-001 y: -4.4456451716E-001 z: 890.000 T: 8 Fim do processamento da 3a Feicao do arquivo Processamento da 4a Feicao do arquivo Feição de Área Poligono contido no triangulo 11. Fim do processamento da 4a Feicao do arquivo

Page 88: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

88

Processamento da 5a Feicao do arquivo Feição de Área Segmento 1-2: Ponto 1: x = -7.5340176058E-001; y = -4.4465314526E-001 Ponto 2: x = -7.5338483776E-001; y = -4.4468280729E-001 Sai triangulo 143. Surgem triangulos: 173I 174E 175E Sai triangulo 150. Surgem triangulos: 176E 179E 177I 178E Sai triangulo 149. Surgem triangulos: 180E 181I 182I Sai triangulo 152. Surgem triangulos: 183E 186E 185I 184I Sai triangulo 153. Surgem triangulos: 187I 188E 189E Sai triangulo 127. Surgem triangulos: 190E 191I 192I Sai triangulo 99. Surgem triangulos: 193E 194I 195I Sai triangulo 98. Surgem triangulos: 196E 199E 198I 197E Sai triangulo 50. Surgem triangulos: 200E 203E 202I 201E Sai triangulo 83. Surgem triangulos: 204I 205E 206E 207E 208I Restabelecendo as vizinhanças. Segmento 2-3: Ponto 2: x = -7.5338483776E-001; y = -4.4468280729E-001 Ponto 3: x = -7.5336982600E-001; y = -4.4466387800E-001 Sai triangulo 158. Surgem triangulos: 209I 210E 211I Sai triangulo 157. Surgem triangulos: 212E 215E 213I 214E Sai triangulo 119. Surgem triangulos: 216E 219E 217I 218E Sai triangulo 138. Surgem triangulos: 220E 221I 222I 223I Restabelecendo as vizinhanças. Segmento 3-4: Ponto 3: x = -7.5336982600E-001; y = -4.4466387800E-001 Ponto 4: x = -7.5333425600E-001; y = -4.4466387800E-001 Sai triangulo 220. Surgem triangulos: 224I 225E 226I Sai triangulo 216. Surgem triangulos: 227I 228E 229E Sai triangulo 219. Surgem triangulos: 230E 233E 232I 231E Sai triangulo 118. Surgem triangulos: 234I 235E 236E Sai triangulo 117. Surgem triangulos: 237I 238E 239E Sai triangulo 116. Surgem triangulos: 240I 241E 242E 243E Restabelecendo as vizinhanças. Segmento 4-5: Ponto 4: x = -7.5333425600E-001; y = -4.4466387800E-001 Ponto 5: x = -7.5334547200E-001; y = -4.4464972400E-001 Sai triangulo 243. Surgem triangulos: 244I 245E 246E 247E 248I 249I 250E 251E 252I 253E Restabelecendo as vizinhanças. Segmento 5-6: Ponto 5: x = -7.5334547200E-001; y = -4.4464972400E-001 Ponto 6: x = -7.5340176058E-001; y = -4.4465314526E-001 Sai triangulo 243. Surgem triangulos: 254E 257E 256I 255I Sai triangulo 141. Surgem triangulos: 258E 261E 260I 259I Sai triangulo 140. Surgem triangulos: 262E 265E 263I 264I Sai triangulo 17. Surgem triangulos: 266I 267E 268E Sai triangulo 96. Surgem triangulos: 269E 272E 271I 270I Sai triangulo 97. Surgem triangulos: 273E 276E 275I 274E Sai triangulo 95. Surgem triangulos: 277E 280E 279I 278E Sai triangulo 129. Surgem triangulos: 281E 284E 283I 282I Sai triangulo 128. Surgem triangulos: 285E 288E 287I 286I Sai triangulo 120. Surgem triangulos: 289E 292E 291I 290I Sai triangulo 121. Surgem triangulos: 293E 294I 295E 296I 297E Restabelecendo as vizinhanças.

Page 89: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

89

Fim do processamento da 5a Feicao do arquivo Processamento da 6a Feicao do arquivo Feição de Área Segmento 1-2: Ponto 1: x = -7.5327757000E-001; y = -4.4461225600E-001 Ponto 2: x = -7.5327194900E-001; y = -4.4462701000E-001 Sai triangulo 2. Surgem triangulos: 298E 299E 300E Sai triangulo 299. Surgem triangulos: 301I 302E 303E 304E 305E 306E 307E Restabelecendo as vizinhanças. Segmento 2-3: Ponto 2: x = -7.5327194900E-001; y = -4.4462701000E-001 Ponto 3: x = -7.5326703100E-001; y = -4.4465932800E-001 Sai triangulo 306. Surgem triangulos: 308E 309E 310E Sai triangulo 28. Surgem triangulos: 311E 312I 313I Sai triangulo 29. Surgem triangulos: 314E 315I 316I Sai triangulo 62. Surgem triangulos: 317I 318E 319E 320E Restabelecendo as vizinhanças. Segmento 3-4: Ponto 3: x = -7.5326703100E-001; y = -4.4465932800E-001 Ponto 4: x = -7.5328740600E-001; y = -4.4468462000E-001 Sai triangulo 318. Surgem triangulos: 321E 322I 323I Sai triangulo 108. Surgem triangulos: 324I 325E 326E Sai triangulo 109. Surgem triangulos: 327I 330I 329E 328E Sai triangulo 136. Surgem triangulos: 331E 332I 333I Sai triangulo 135. Surgem triangulos: 334E 335I 336I 337E Restabelecendo as vizinhanças. Segmento 4-5: Ponto 4: x = -7.5328740600E-001; y = -4.4468462000E-001 Ponto 5: x = -7.5333588300E-001; y = -4.4467970200E-001 Sai triangulo 337. Surgem triangulos: 338E 339I 340I Sai triangulo 107. Surgem triangulos: 341I 344E 343E 342E Sai triangulo 114. Surgem triangulos: 345I 348E 347E 346E Sai triangulo 113. Surgem triangulos: 349I 352I 351E 350E Sai triangulo 146. Surgem triangulos: 353I 356E 355E 354E Sai triangulo 168. Surgem triangulos: 357I 360I 359E 358E Sai triangulo 169. Surgem triangulos: 361I 364I 362E 363E Sai triangulo 162. Surgem triangulos: 365E 366I 367E 368E Restabelecendo as vizinhanças. Segmento 5-6: Ponto 5: x = -7.5333588300E-001; y = -4.4467970200E-001 Ponto 6: x = -7.5333425600E-001; y = -4.4466387800E-001 Sai triangulo 367. Surgem triangulos: 369I 370E 371E Sai triangulo 163. Surgem triangulos: 372I 375E 373E 374E Sai triangulo 164. Surgem triangulos: 376I 379I 377E 378E Sai triangulo 165. Surgem triangulos: 380I 383E 382E 381E Sai triangulo 166. Surgem triangulos: 384I 387I 386E 385E Sai triangulo 238. Surgem triangulos: 388I 391E 390E 389E Sai triangulo 239. Surgem triangulos: 392I 395E 394E 393E Sai triangulo 241. Surgem triangulos: 396I 397E 398E 399E 400I Restabelecendo as vizinhanças. Segmento 6-7: Ponto 6: x = -7.5333425600E-001; y = -4.4466387800E-001 Ponto 7: x = -7.5334547200E-001; y = -4.4464972400E-001

Page 90: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

90

Sai triangulo 252. Surgem triangulos: 401E 402E 403E 404E 405E 406E 407E Restabelecendo as vizinhanças. Segmento 7-8: Ponto 7: x = -7.5334547200E-001; y = -4.4464972400E-001 Ponto 8: x = -7.5332956000E-001; y = -4.4461787600E-001 Sai triangulo 253. Surgem triangulos: 408I 409E 410E Sai triangulo 242. Surgem triangulos: 411I 414I 413E 412E Sai triangulo 85. Surgem triangulos: 415E 416I 417I Sai triangulo 84. Surgem triangulos: 418I 419E 418E Sai triangulo 86. Surgem triangulos: 421E 422I 423I Sai triangulo 27. Surgem triangulos: 424E 425I 426I Sai triangulo 71. Surgem triangulos: 427I 428E 429E 430E Restabelecendo as vizinhanças. Segmento 8-9: Ponto 8: x = -7.5332956000E-001; y = -4.4461787600E-001 Ponto 9: x = -7.5327757000E-001; y = -4.4461225600E-001 Sai triangulo 428. Surgem triangulos: 431E 432I 433I Sai triangulo 75. Surgem triangulos: 434I 435E 434E Sai triangulo 312. Surgem triangulos: 437E 438I 439I Sai triangulo 313. Surgem triangulos: 440I 443I 442E 441E Sai triangulo 308. Surgem triangulos: 444I 447I 445E 446E Sai triangulo 305. Surgem triangulos: 448I 449E 450E 451E 452I Restabelecendo as vizinhanças. Fim do processamento da 6a Feicao do arquivo Processamento da 7a Feicao do arquivo Feição de Área Poligono contido no triangulo 6. Fim do processamento da 7a Feicao do arquivo Terceira Fase do Processamento: Organizando nova TIN. Fim da Terceira Fase. Arquivo BNA com as feições processadas: feições.bna

Page 91: Interpolação de atributos para registro de feições bidimen · de aplicação do modelo linear de interpolação é a determinação das altitudes de feições cartográficas pontuais,

91

Aparência da TIN original:

Aparência da nova TIN: