0% acharam este documento útil (0 voto)
28 visualizações243 páginas

Public A Cao

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
28 visualizações243 páginas

Public A Cao

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 243

1. Publicação n9 2. Versão 3. Data 5.

Distribuição
INPE-4406-TDL/303 Outubro 1987 Ei Interna C3 Externa
4. Origem Programa
PG/DPI FRH/CAP O Restrita

6. Palavras chaves - selecionadas pelo(s) autor(es)


MODELOS DIGITAIS DE TERRENO PROJEÇÕES PLANARES
SISTEMA GEOGRÁFICO DE INFORMAÇOES MAPAS DE 'BOLINHAS
INTERPOLAÇÕES
7. C.D.U.: 681.322:621.38
8. Titulo INPE-4406 -TDL/303
10.Paginas: 243
"DESENVOLVIMENTO DE UM SISTEMA DE MODELAGEM
DIGITAL DE TERRENO PARA MICROCOMPUTADORES" 11.Oltima pãgina: A.22
12.Revisada por

9. Autoria
xmix P/ o p' ' . Dias
13.Au o rizad po
Carlos Albe )1Felgueiras

1 1 / k
k
' lr
Pli. MU '
Assinatuçalronsavel if allsOOMonio Raupp
.
14.Resumo/Notas
471

Este trabalho descreve os aspectos teóricos e de implementa


ção de um sistema de Modelagem Digital de Terreno, MDT, para ser execut a
do em microcomputadores. Esse sistema está integrado a um Sistema Ge;
gráfico de Informações que permite combinar os dados de MDT's com mapas
temáticos, imagens de satélite e outras informações pictóricas, para ob-
ter mapeamentos derivados.

15.Observações Dissertação de Mestrado em Computação Aplicada


Aprovado em 27/08/87
Aprovada pela Banca Examinadora

em cumprimento a requisito exigido

para a obtenção do Titulo de Mestre

em Computação Aplicada

Dr. José Antonio Gonçalves Pereira


Presidente

Dr. Luiz Alberto Vieira Dias :1, MU. ,D


Orientador

Dr. Leo Pini Magalhães P 77 (4-t,


Membro da Banca
-convidado-

Dr. Marcio Lourival Xavier dos Santos

-convidado-

Candidato: Carlos Alberto Felgueiras

São José dos Campos, 24 de agosto de 1987


À DÉBORA,

pelo incentivo sempre presente


AGRADECIMENTOS

A todos que contribuiram , direta ou


indiretamente, para que este trabalho pudesse ser
realizado, em especial a GUARACI JOSÉ ERTHAL pelo
acompanhamento e pelo auxílio e paciencia sempre presentes
nos momentos mais críticos . A todos os responsáveis pelo
desenvolvimento do Sistema Geográfico de Informações do
Inpe sem os quais este trabalho não seria possível.
ABSTRACT

This work describes theoretical and implementation


features of a Digital Terrain Modeling System, DTM. This
system runs in a microcomputer and is integrated with a
Geographic Information System w)lich allows the combination
of DTM data with thematic maps, satelite images, etc..., to
obtain new derived maps.
SUMÁRIO

LISTA DE FIGURAS xiii


LISTA DE TABELAS xvii

CAPITULO - INTRODUÇÃO 1

CAPITULO 2 - O PROCESSO DE MODELAGEM DIGITAL DE TERRENO 5

2.1 - Definições
2.2 - Aquisição 11
2.3 - Preprocessamento • 21
2.3.1 - Edição dos dados 22
2.3.2 - Transformação de coordenadas 23
2.3.3 - Interpolação 24
2.3.3.1 - Definições 24
2.3.3,2 - Definição da região de interesse 28
2.3.3.3 - Comparação entre os mãtodos de interpolação 29
2.3.3.4 - Métodos de Interpolação 33
2.3.4 - Geração de modelos de gradés polinomiais 52
2.3.4.1 - Grades regulares 53
2.3.4.2 - Grades irregulares 54
2.3.5 - Conversão de formato 55
2.4 - Gerenciamento 56
2,4.1 - Introdução 56
2.4.2 - Estruturas de pontos e redes 58
2.4.2.1 - Distribuição ' regular 58
2.4.2.2 - Distribuição irregular 60
- Estruturas de linhas 62

ix
Pág.
2.4.4 - Estruturas celulares 64
2.4.5 - Conclusão 65
2.5 - Aplicações 66
2.5.1 - Introdução 66
2.5.2 - Determinação das linhas de contorno 67
2.5.3 - Projeções geométricas planares 75
2.5.3.1 - Conceitos gerais 75
2.5.3.2 - Matemática das projeções perspectivas 80
2.5.3.3 - Remoção de linhas escondidas 88
2.5.4 - Simulação de terreno 91
2.5.5 - Outras aplicações 95
2.5.5.1 - Geração do mapa de perfis 96
2.5.5.2 - Determinação da intervisibilidade de pontos . 96
2:5.5.3 - Cálculo de trabalhos em terrenos 97
2.5.5.4 - Sistemas de controle de navegação 97

CAPITULO 3 - METODOLOGIA PROPOSTA 99

3.1 - Introchição 99
3.2 - O sistema de informações geográficas do INPE 100
3.2.1 - Definição e aplicações 100
3.2.2 - Estrutura geral do sistema 101
3,2.3 - Suporte físico 104
3.2,4 - Suporte lOgico 104
3.2.5 - Estrutura dos arquivos utilizados 105
3.3 - Aquisição 105
3.3.1 - Definições e objetivos 105
3.3.2 - Características de implementação 106
3.4 - Geração do modelo 108
3.4.1 - Definição da região de interesse 108
3.4.1.1 -.Definições e objetivos 108
3.4.1.2 - Características de implementação 109
3.4.2 - Organização dos pontos amostrados 116
3.4.2.1 - Definição e objetivos 116
- Características de implementação 119
3.4.3 - Geração da grade regular 124
3.4.3.1 - Definição e objetivos 124
3.4.3.2 - Características de implementação 124
3.4.4 - Refinamento da grade 131
3.4.4.1 - Definições e objetivos 131
3.4.4.2 - Características de implementação 131
3.5 - Projeção geométrica planar 133
3.5.1 - Definições e objetivos 133
3.5.2 - Características de implementação 134
3.5.2.1 - Inicialização 134
3.5.2.2 - Cálculos preliminares 135
3.5.2.3 - Traçado da projeção 136
3.6 Mapa•de contornos • 142
3.6.1 Geração e armazenamento das isolinhas 142
3.6.1.1 - Definições e objetivos 142
3.6.1.2 - Características de implementação 143
3.6.2 - Plotagem das isolinhas 145
3.6.2.1 - Definições e objetivos 145
3.6.2.2 - Características de implementação 145

CAPITULO 4 - RESULTADOS OBTIDOS 147

4.1 - Introdução
4.2 - Aquisição 14b
4.3 - Geração do mode 14b
4.3.1 — Região de interesse 149
4.3.2 - Organização das amostras 151

xl
4.3.3 - Geração da grade regular 157
4.3.4 - Refinamento da grade 176
4.4 - Aplicações 178
4.4.1 - Projeção planar 178
4.4.2 - Mapa de contornos 182

CAPÍTULO 5 - CONCLUSÃO 195

REFERENCIAS BIBLIOGRÁFICAS 199

APÊNDICE A - DESCRIÇÃO DOS ARQUIVOS DA BD E ROTINAS DE


ACESSO

xii
LISTA DE FIGURAS

Paz.
2.1 - 4nterrelaçao entre os elementos de um MDT 9
2.2 - O processo de modelagem de uma superfície
segundo Petinatti 10
2.3 - Distribuição dos pontos amostrados em levan-
tamentos em cámpo 19
2.4 - Distribuição dos pontos amostrados por digitali-
-
zaçao de contornos 20
2.5 - Interpolação pelo metodo da propagação 34
2.6 - Distribuição dos vizinhos mais prOximos 37
2.7 - Controle dos pontos amostrados sobre a curva 47
2.8 - Interpolação bilinear numa célula retangular ..., 51
2.9 - Representação das isolinhas da superfície 68
2.10 - Casos ambíguos na determinação das isolinhas
numa célula retangular 72
2.11 - Mapas de contorno para aproximação de superfícies 75
2.12 - Inte.rpolação para os "pixels" da imagem de saída 79
2.13 - Siecemas de coordenadas usados na projeção
perápectiva 81
2.14 - Transformações geométricas para geração da
projeção perspectiva' 82
2.15 - Projeção perspectiva de um ponto 87
3.1 - Esquema geral do SGI 103
3.2 - Pont)s extremos para definição do polígono
convexo 110
3.3 - Casos especiais de intersecção com o polígono 112
3.4 - Determinação da convexidade do polígono após
a intersecção de um novo ponto Vertice 115
3.5 - Organização dos pontos segundo uma árvore (2d-A). 119
3.6 - Definição da região de influgncia em torno do
ponto da grade 130
3.7 - Escondimento de um segmento projetado 138
3.8 - Solugges para visibilidade de microsegmento par-
cialmente visível 138
3.9 - Escolha da primeira linha a ser projetada 139
3.10 - Distãncia entre os pontos de projeção para defi-
nição do par estereoscOpico 141
4.1 - Tempo de geração da região de interesse x quanti-
dade de amostras 151
4:2 - Processo de geração da região de interesse sobre
o conjunto de amostras 152
4.3 - Fronteira convexa do conjunto de amostras £3 153
4.4 - Fronteira convexa do conjunto de amostras £5 154
4.5 - Tempo de organização das amostras x número de a-
mostras 155
4.6 - Tempo de organização das amostras (100 amostras)
x número de pbntos por partição 156
4.7 - Tempo de organização das amostras (500 amostras)
x número le pontos por partição 156
4.8 - Tempo de geração da grade x número de vizinhos
mais prOximos • 160
4.9 - Tempo de geração da grade x número de amostras 162
4.10 - Tempo de geração da grade x número de pontoá por
partição (amostras £1) 162
4.11 - Tempo de geração da grade x número de pontos por
partição (amostras £3) 163

xiv
4.12 - Tempo de organização das amostras mais tempo de
geração da grade x número de pontos por partição
(amostras £1) 164
4.13 - Tempo de organização das amostras mais tempo de
geração da grade x nUmero'de pontos por partição
(amostras £3) 164
4.14 -."Tempo de refinamento da grade x porcentagem de
refinamento (grade 15x15) 177
4.15 - Tempo de refinamento da grade x porcentagem de
refinamento (grade 30x30) 177
4.16 - Projeção paralela da grade padrão 184
4.17 - Projeção perspectiva da grade padrão (azimute =
-10 e elevação = -40) 185
4.18 - Projeção perspectiva da grade padrão (azimute =
-40 e elevação = -20) 185
4.19 - Par estereo da grade padrão 186
4.20 - Projeção paralela do modelo gerado a partir do
conjunto de amostras £1 e interpolador 1 186
4.21 - Projeção paralela do modelo gerado a partir do
conjunto de amostras £2 e interpolador 1 187
4.22 - Projeção paralela do modelo gerado a partir do
conj,unto de amostras £3 e in;erpolador 1 187
4.23 - Projeção paralela do modelo gerado a partir do
conjunto de amostras £4 e interpolador 1 188
4.24 - Projeção paralela do modero gerado pelo interpo-
lader 2 188
4.25 - Projeção paralela do modelo gerado pelo interpo-
lador 3 189
4.26 - Projeção paralela do modelo gerado pelo interpo-
lador 4 189
4.27 - Projeção paralela de uma grade refinada 190

XV
4.28 - Projeção perspectiva da grade gerada a partir do
conjunto çie amostras £5 190
4.29 - Projeção perspectiva da grade gerada a partir do
conjunto de amostras £5 (fator de escala = 7 e
azimute = -10) 191
4.30 - Projeção paralela da grade gerada a partir do
conjünto de amostras £5 com regia° de interesse. 191
4.31 - Par estéreo da grade gerada a partir do conjunto
de amostras £5 192
4.32 - Mapa de contornos com traçado linear das rinhas. 192
4.33 - Mapa de contornos com traçado das linhas inter-
poladas pelo interpolador Akima 2d ( 5 interva-
los) 193
4.34 - Mapa de contornos com traçado das linhas inter-
poladas pelo interpolador Akima 2d (10 interva-
los) . 193
4.35 - Mapa de contornos com plotagem automática das
cotas associadas as linhas 194
4.36 - Mapa de contornos com espaçamento entre cotas
igual a 8 194

xvi.
LISTA DE TABELAS

Lat

4.1 - Tempo de geração da grade em função do interpo-


irador 158
4.2 - Porcentagem do erro RMS de geração da grade a
partir de cada conjunto de amostras 167

xv i I
e
CAPÍTULO 1

INTRODUÇÃO

Um Modelo Digital de Terreno, MDT, também


denominado modelo digital de superfície, e uma
representação matemática, tratável computacionalmente, que
representa a distribuição espacial de. uma determinada
característica vinculada a uma superfície real. O modelo

digital e gerado a partir de um conjunto de pontos,
((xi,yi,zi) , 1=1,2 n), amostrados da superficie real,
sendo que as coordenadas x e y dos pontos estao
relacionadas as posições de amostragem na superfície e a
coordenada z esta relacionada a característica da
superfície que se quer modelar.

As características asssociadas as superfícies


podem ser de naturezas diversas tais como : temperatura,
relevo, população, vegetação, hidrologia, mineralogia, tipo
de solo,e 4- - Os modelos digitais são utilizados para se
obter informações relevantes ua superfície sem a
necessidade de se trabalhar diretamente com a superfície
real. Essas informações podem ser de caráter qualitativo,
como por exemplo a visualizaçao da superfície através de
uma projeção geométrica planar do modelo, ou
quantitativo,que podem englobar cá...cuias de áreas, volumes,
etc..

1
2

A geração e utilização de modelos digitais de


Superfícies tiveram grande impulso com o advento dos
computadores digitais, que incorporaram as características
de rapidez e precisão aos processos envolvidos em sistemas
de modelagem digital de terreno.

Os dados de MDT's podem ser combinados com


outros tipos de informações digitais como mapas
topográfico, imagens de satélites, cartas pontuais e dados
não gráficos na forma tabular. Isto, usualmente, é
realizado por Sistemas Geográfico de Informações, SGI,
cujas aplicações incluem cartografia temática, hidrografia,
geologia, agricultura, recursos florestais e cadastramento
e planejamento rural, urbano e regional.

O SGI, do INPE, foi desenvolvido para o


equipamento de processamento de imagens SITIM, Sistema de
Tratamento de Imagens, também desenvolvido no INPE, que se
baseia num microcomputador de 16 bits tipo IBM-PC e está
implementado em linguagem C, sob um sistema operacional
compatível com o UNIX.

A motivação principal para o desenvolvimento


desse sistema é a de prover o país com um equipamento com
as características descritas acima, que permita a execução
de tal sistema em ambientes computacionais de pequeno porte
baseados em microcomputadores.

Dentro desse contexto os principais objetivos


deste trabalho são:
3

1. Estudo das metodologias correntes da area de


modelagem digital' de superfícies, especialmente aquelas
mais apropriadas para implementações em computadores de
pequeno porte tais como em microcomputadores.

2. Desenvolvimento e implementação de um sistema de


modelagem digital de terreno para ser executado em
microcomputadores. O sistema deverá conter funções que
executem no mínimo as seguintes tarefas : aquisição de
amostras da superfície real, geração de . um modelo digital
que represente essa superfície e uma ou mais ap/icaoões
sobre esse modelo.

3. Integração do modelo proposto ao Sistema Geográfico


de Informações desenvolvido para o equipamento de
processamento de imagens SITIM.

É importante salientar que o sistema de


modelagem digital aqui proposto não estará restrito as
características de "hardware" do SITIM. Isto significa que
os algoritmos deste sistema poderão ser implementados em
qualquer oitro ambiente sem a necessidade de mudanças no
modelo proposto. A única restriçõo é que a definição das
estruturas de dados e das funções Ge manipulação das mesmas
será realizada com a preocupação de otimizar os tempos de
processamentos em microcomputadores. A .independencia do
sistema em relação aos dispositivos de entrada e saída de
dados, gráficos e não gráficos, e garantida pela utilização
de um pacote gráfico básico baseado no padrão GKS.
4

Considerando-se esses objetivos, este trabalho


está organizado da seguinte forma: O capítulo 1 apresenta
uma visão geral do ambiente de trabalho e os objetivos a
serem alcançados pelo mesmo. O capítulo 2 engloba um estudo
teerico dos problemas envolvidos em sistemas de modelagem
digital de terreno. Este capitulo e subdividido de acordo
com os elementos que compoem um sistema desse tipo, quais
sejam : a aquisição , o preprocessamento, o gerenciamento
e armazenamento e as aplicações. No capítulo 3 e descrita
uma metodologia de implementação de um sistema de MDT,
dando enfase as estruturas de manipulação dos dados e aos
algoritmos de implementação dos métodos propostos. O
capitulo 4 apresenta os resultados obtidos pelas
metodologias propostas, com análises desses resultados e
algumas consideraçOes que se façam necessárias. O quinto e
último capítulo relata as principais conclusões a respeito
do trabalho desenvolvido e as sugestões para novos
desenvolvimentos na área.
CAPÍTULO 2

O PROCESSO DE MODELAGEM DIGITAL DE TERRENO

2.1. DEFINIÇÕES

Como definido no capítulo 1, um Modelo


Digital de Terreno é uma representação' matemática ,
tratável cOmputaciohalmente, que representa a distribuição
espacial de uma determinada característica vinculada a uma
superfície real.Dentre essas características podemos
incluir itens tais como: temperatura, relevo, população,
vegetação, hidrologia, tipos de solo, etc....

Comumente, a distribuição e representada por


um sistema de coordenadas horizontal xy e a característica
do terreno é a sua elevação, z. Quando se trabalha
exclusivamente com características de elevação de terreno,
ou seja relevo, a denominação moielo digital de terreno
pode ser substituida por modelo digital de elevação, MDE.
No contexto de modelagem digital de terreno e comum a
utilização do termo superfície como sinônimo de terrenc
ambos com o significado de superfície terrestre. Neste
trabalho esses termos também terão essa conotação sendo
utilizados como sinanimos. O termo modelo será utilizado no
texto com o sentido de modelo digital, a menos que se faça
referencia em contrário.

5
6

Um sistema de MODELAGEM DIGITAL DE TERRENO


incorpora, basicamente, os seguintes elementos (Doyle,
1978) :
- Aquisição
- Preprocessamento
- Gerenciamento e Armazenamento
- Aplicações

O processo de aquisição de dados consiste em


amostrar um conjunto de dados (x,y,z) que representarão a
superfície a ser modelada. Existem diversas formas de se
adquirir esses dados, das quais podemos destacar :
- aquisição manual de mapas;
- aquisição automática de mapas;
- aquisicão por levantamento em campo;
- aquisição por modelos estereoscOpicos;
- aquisição por instrumentos transportados
por aviões ou satélites.

Todas essas formas de aquisição serão


descritas e estudadas no item 2.2. O processo de aquisição
e determinante rir qualidade do modelo final do terreno. Um
modelo por mais sofisticado que seja não *pode compensar os
males causados por uma amostragem mal feita.
7

O preprocessamento inclue tarefas de


"formatação" dos dados amostrados para que estes possam ser
mais facilmente utilizados na geração de produtos na fase
de aplicações. Nesta fase incluem-se algumas tarefas
importantes, des pritas com mais detalhes no item 2.3, tais
como:
- edição dos dados amostrados;
- transformações de coordenadas;
- interpolação;
- geração de modelos de grades poligonais
- conversão de formatos.

O preprocessamento pode conter todas essas


tarefas ou apenas um subconjunto delas. Dentre essas
tarefas a interpolação e uma das mais importantes. Ela
-
usada na geração de modelos de grade regular, diretamente
dos dados .amostrados, no refinamento de uma grade já
definida, na conversão de formatos e em várias aplicações
do modelo. Cada uma dessas tarefas pode requerer
interpoladores diferentes, dependendo das características
dos dados de entrada e dos produtos de saída.

O gerenciamento e armazenamento de dados dr -


MDT está diretamente ligado as formas de consulta,
-
armazenamento, recuperaçao, deleçao e demais operaçoes
necessárias para a manipulação de: dados e estruturas do
sistema. Fazem parte desta etapa as estruturas de
armazenamento e os processos de manipulação dos dados
amostrados, bem como dos produtos intermediários e finais
gerados pelo sistema. Esta tem influãncia determinante na:
8

- eficiãncia temporal dos programas que compõem os


demais elementos do sistema de MDT;
- versatilidade do sistema pára aceitar novas
aplicações;
- tranSportabilidade dos dados preprocessados e/ou
produtos de aplicações para outros sistemas.

As aplicações são responsáveis pela produção


de resultados uteis à sociedade. Os produtos gerados pelas
aplicações utilizam diretamente os dados amostrados, ou um
dos modelos digitais gerados no preprocessamento, e os
dados e estruturas definidos no mOdulo de gerenciamento e
armazenamento. A seguir são listadas algumas das aplicaçães
mais frequentes em sistemas de modelagem digital de
superfícies:
- determinação do Mapa de Contornos;
- projeções Geométricas Planares;
- geração de perfis;
- determinação da intervisibilidade entre pontos;
- simulação de Terrenos;
- sistemas de controle de navegação; etc....

Todas essas aplicações serão abordadas com


maior profundidade no item 2.5.

A Figura 2.1 mostra de forma esquemática cada


elemento •de um sistema de modelagem digit,.1 de terreno e as
interrelações entre os mesmos.
9

1 Gerencla- Armaze-
mento namento I

4
Superfície 'Aquisição' 1Preproces-1
. —*I de 1 --•• 1 --4-1Aplicaçõesi
Real 1 Dados 1 . sarnento 1

Fig. 2.1 - Interrelação entre os elementos de um MDT

Outro enfoque, proposto por Pettinati(1983) e


ilustrado na figura 2.2, define.o processo de modelagem de
uma superfície como composto por 3 etapas.
10

Superfície Pontos de Modelo da


---
Real Controle Superfície

Coleta de Elaboração Utilização


/nformações do Modelo do Modelo

Fig. 2.2 - O processo de modelagem de uma superfície


segundo Petinatti.

A primeira etapa e a AMOSTRAGEM ou coleta de


dados da superfície e e equivalente a fase de AQUISIÇÃO
descrita anteriormente.

A segunda é a fase de ELABORAÇÃO DO MODELO


cujo objetivo e criar um modelo matemático, que represente
a superfície real, partir do conjunto de pontos
amostrados. Numa comparação com o sistema descrito por
Doyle(1978), esta fase e equivalente ao preprocessamento e
o gerenciamento e armazenamento dos dados amostrados.

A terceira e Ultima etapa e a UTILIZAÇÃO DO


MODELO elaborado em substituição a superfície original.
Esta fase se equivale as APLICAGÓES no sistema anterior.

Como vemos, as duas abordagens são equivalentes.


Este trabalhd seguirá a abordagem primeira por considerá-la
mais detalhada, o que facilitará a descrição mais didática
11

dos diversos elementos pertencentes a um sistema de


modelagem digital de terreno. A segunda abordagem,por
exemplo, não faz referencia especifica as tarefas
envolvidas na fase de gerenciamento e armazenamento dos
dados de MDT. Essas tarefas são muito importantes quando se
quer implementar um sistema de MDT em microcomputadores,
onde a menor velocidade de processamento e a utilização
frequente de memOria secundária devem ser compensadas por
estruturas de armazenamento e gerenciamento eficazes.

2.2 AQUISIÇÃO

A aquisição, ou amostragem, de dados para


modelagem digital de superfícies á um processo de obtenção
de triplas (x,y,z) que represehteião a superfície real no
processo de geração do modelo da superfície. A quantidade
de dados amostrados e o cuidado na escolha dos pontos que
devem ser amostrados estão diretamente relacionados com a
qualidade do produto final de uma aplicação sobre o modelo.
Para aplictções onde se requer urr grau de precisão e/ou
realismo maior, a quantidade de pontos amostrados, bem como
o cuidado na escolha desses pontos, qualidade dos dados,
sao decisivos. Por outro lado, quanto maior a quantidade de
pontos representantes da superfície real, maior será o
esforço computacional para que estes sejam armazenados,
recuperados, processados, etc.., ate que se alcance o
produto final da aplicação.
12

A experiância mostra que os pontos amostrados,


também conhecidos como pontos de controle, não devem ser
aleatoriamente escolhidos. No processo de amostra gem deve-
se adquirir aqueles pontos que sejam mais representativos
da topografia da superfície real. Assim a amostragem deve
considerar as depressões, elevações, linhas de crista e
drenagem, etc..., que caracterizam a superfície.

Para exemplificar, considere uma superfície


plana com uma depressão ao centro. Uma amostragem dessa
superfície sem pontos representativos da depressão §u
ter§uno ira produzir um modelo de uma superfície plana. Uma
visualizaçâo, por exemplo em perspectiva, do modelo
mostrará a superfície como uma planície. Claramente, esta
amostragem não representativa da superfície real.

Existem diversas formas de classificação dos


dados amostrados na fase de aquisição. Esses dados podem
ser classificados , de acordo com a forma de obtenção dos
mesmos, como dados obtidos por:
- levantamentos em campo;
- digitalizaeão de mapas;
- medidas fctogramétricas em modelos
estereoscOpicos; e
- altímetros transportados por- aviesou
satelites.

Os levantamentos em campo são trabalhos


realizados sobre a superfície real e são também conhecidos
por trabalhos de campo. Nestes os dados são adquiridos por
profissionais da área , topOgrafos, engenheiros e etc...,
13

com auxilio de aparelhos específicos tais como niveladores,


taqueómetros e outros. Esses dados são então inseridos no
computador numa forma tabular ou transcritos para um mapa
para posterior digitalização.

A digitalização de mapas pode ser dividida em


duas formas distintas, de acordo com o tipo de mapa a ser
digitalizado: MAPA DE PONTOS ou MAPA DE CONTORNOS.

A digitalização de mapas de pontos é feita


amostrando-se ponto b do mapa sem qualquer preocupação com a
posição absoluta ou relativa entre os mesmos. A
digitalização de mapas de contornos, que podem ser mapas
políticos, mapas de isolinhas, etc..., é realizada
perseguindo-se os contornos definidos no mapa. Os contornos
podem ser fechados ou abertos. Neste Ultimo caso,
geraimente, os extremos dos contornos são pontos dos
limites do mapa.

A digitalização de mapas de pontos, bem como


a digitalização de mapas de contornos são realizadas por
instrumentos conhecidos como digitalizadores.
digitalizadores convertem dados gráficos em vetores dr.
dados nas direçOes das coordenadas x e y. Noz

digitalizadores e possível, ainda, incluir-se uma


informação numérica extra , como por exemplo altura de
terreno, temperatura, densidade populacional , etc..., par“
cada dado digitalizado.

Em geral os digitalizadores são formados por


uma superfície de digitalização (mesa) onde os dados
14

gráficos são acomodados. Os dados da mesa são então


varridos com um cursor, que le as coordenadas x e y da
mesa.

Podemos classificar os digitalizadores de


acordo com o seu modo de ação:
- digitalizadores ponto a ponto;
- digitalizadores seguidores de linha;
- digitalizadores por varredura.

No primeiro caso, também conhecido como modo


único, o cursor é aplicado manualmente a um ponto e suas
coordenadas ião registradas. Geralmente o comando é. dado
pelo operador que também auxilia na colocação da informação
extra ja mencionada. Este modo geralmente é utilizado na
digitalização de segmentos longos através do registre dos
seus pontos terminais.No caso de sistemas de modelagem
digital de terreno a digitalização ponto a ponto é
utilizada na digitalização de mapas de pontos.

No segundo modo, também conhecido como modo


continuo, o cursor é movimentado sobre a linha a ser
digitalizada. Durinte o movimento do cursor os pontos são
registrados a intervalos de tempo ou distância, na forma de
coordenadas retangulares incrementais absolutas. Este modo
é mais rápido e versátil que o anterior, Os intervalos de
amostragem são definidos pelo usuário e os registros
ocorrem quando uma das condições e. satisfeita : o intervalo
de tempo se esgota ou o intervalo de distãncia
percorrido. Este modo de digitalização pode ser feito
manual ou automaticamente. A aquisição manual através da
15

perseguição de contornos á bastante usual, porem este


trabalho á bastante tedioso e cansativo, com alta
probabilidade de erros e duplicação ou omissão de
informações, quando executado em mapas com grande densidade
de linhas de contorno.

O desenvolvimento de instrumentos seguidores


automáticos de linha tornaram esses problemas menos
críticos. Neste caso prepara-se uma cópia do mapa a ser
digitalizado removendo-se todas as informações espúrias aos
contornos, tais como números e textos, e preenchendo os
vazios das linhas. O mapa cópia e então varrido
automaticamente pelo instrumento que inicia na linha
próxima a borda do mapa e segue-a ate encontrar o ponto
inicial de partida (contorno fechado) ou uma das bordas do
mapa (contorno aberto).

Os digitalizadores classificados como


varredores ou por varredura, dispositivos
predominantemente de aquisição automática. No varredor de
tambor, por exemplo, um mapa cópia, igual ao descrito no
paragrafo anterior, á fixado num tambor que, ou roda sob
uma fonte de luz fixa ou tem a fonte de luz rodando em
volta do tambor fixo. Cada vez que uma linha é cruzada a
posição (x,y) e gravada. Esses dispositivos são excelentes
para adquirir e recuperar dados digitais para simples
visualiza* dos dados. Entretanto se o objetivo & adquirtr
linhas de contornos como vetores de pontos continuos
representando cada contorno, uma grande quantidade de
processamento á necessária para vetorizar os dados e
16

atribuir uma identificação, por exemplo valor da elevação


Ou temperatura, para cada contorno digitalizado.

Outro tipo de digitalizador por varredura


adquire os dados automaticamente varrendo, com um vetor
linear de sensores, o mapa cOpia. Neste caso numa simples
varredura o dispositivo grava todos os pontos de
intersecção de uma linha, faixa de alguns centímetros da
folha, do mapa com as linhas de contorno. A varredura
seguinte cobre a faixa adjacente a anterior ate que o mapa
Inteiro tenha sido percorrido. As linhas de varredura
podem , ou não, estar igualmente espaçadas. Como no caso
anterior, este tipo de digitalização exige muito
processamento para conectar-se segmentos de linhas
individuais e atribuir as identificaçOes correspondentes.

Na prática, para digitalização de contornos,


somente seguidores de linhas e dispositivos de varredura
são usados.

A terceira fonte de dados de modelos digitais


de terreno são au medidas fotogrametricas realizadas por
equipamentos estereoscópicos também, conhecidos como
aparelhos fotogrametricos restituidores ou estereomodelos
fotogramétricos.

Segundo Doyle(1978), a mais recente geração


de intrumentos fotogramétricos grava os dados digitalizados
em fitas magneticas ou de papel. Geralmente os pontos são
adquiridos em coordenadas do estereomodelo, mas para
algumas aplicaçóes é necessário uma transformação para
17

coordenadas do terreno. Os dados de elevação podem ser


formatados como linhas de contorno, perfis com elevações
gravados a intervalos regulares ou em descontinuidades no
declive do terreno, ou como pontos geomOrficos ao longo das
linhas de drenagem, linhas de cristas, etc....

A quarta e última fonte de dados de MDT são


os altímetros transportados por aviões ou satélites. Estes
sao classificados como fontes diretas de obtenção de dados
digitais de elevação na medida em que os dados adquiridos
podem ser utilizados diretamente pelos computadores
digitais sem necessidade do processo de digitalização. Os
dados são adquiridos diretamente na forma digital. A
maioria dos altímetros existente atualmente utilizam
equipamentos baseados em radar ou intrumentos a laser.

Podemos ainda classificar os dados amostrados


segundo a forma de distribuição em que eles são adquiridos

- distribuição irregular ou dispersa;


- distribuição semi-ordenada ou semi-regular;
- distribuição ordenada ou rotular.

A distribuição irregular caracteriza-se pela


falta de regularidade ou ordenação entre os pontos
amostrados. Neste tipo de aquisição a amostragem e
realizada sem a preocupação com a distribuição dos pontos
na superfície mas com a representatividade do ponto para
modelagem mais realista da superfície.
18

Na distribuição semi-ordenada destingue-se


uma certa regularidade na distribuição das amostras.
Geralmente os pontos são ordenados em uma certa direção,
por exempla de ordenada x ou y, mas não se pode definir uma
ordenaçao completa dos pontos.

A distribuição ordenada caracteriza-se pela


completa ordenação dos pontos amostrados no plano
cartesiano 2-d. Essas estruturas são bambem conhecidas como
grades regulares pois cada ponto forma com seus vizinhos
polígonos regulares no especo 2-d. Assim podemos ter
distribuições formando grades retangulares, triangulares,
hexagonais, etc...

Apesar de parecerem distintas, as duas


classificações do processo de aquisição apresentadas estão
intimamente relacionadas. Os levantamentos em campo são
geralmente 'caracterizados por uma distribuição irregular
dos. pontos amostrados. Não se deve confundir a distribuição
irregular com uma distribuição aleatOria. Esta última e
característica de superficies estatísticas. Em
levantamentos de terreno executados por profissionais
existe uma certa lógica na distribuição -das amostras que ó
determinada pela necessidade de se amostrar pontos
representativos da superfície como * já foi explanado
anteriormente. Apsar de não serem comuns, as distribuiçOes
semi-ordenadas e regulares podem ser usadas para aquisição
por levantamentos 3M campo.
19

1 * * I • * * * * I 1 * * * * * 1
* * 1 I I I I
1 * * * * ) 1,* * • * * 1
1 * r * 1 1 * * * * * 1 I I
1 *1 1 1 1 * * * * * 1
1 * * I I
1 * * * * * 1 1 * * * * * 1

(a) (b) (c )

Fig. 2.3 - Distribuição dos pontos amostrados em


levantamentos em campo : (a) irregular, (h) semi-regular e
(c) regular.

A Figura 2.3 mostra as possíveis formas de


distribuição das aquisições para dados obtidos por
levantamentos em campo.

No caso da digitalização ser do tipc


seguidora de linhas, a serie de.ccordenadas (x,y) ao longo
de um contorno definido, geralmente, corresponde ao mesmo
valor de coordenada z.

Em digitalizadores do tipo por varredura, que


se caracterizam pelas intersecções de contornos com linhas
de perfis, os pontos digitalizados podem ter um grau de
20

variação de ordenamento dependendo da.relação das linhas


retas de perfis. A relação entre estas linhas pode ser :
(a) paralelas umas as outras e equidistantes; (b) paralelas
uma a outra mas não equidistantes e; (c) não paralelas com
direções e distancias aleatórias. As diferenças entre essas
distribuiçOes são apresentadas na Figura 2.4.

I I IN"
II li
I II s
I il
ili ui 1 1 1 /
..."1/4 \....,................., 1 I i 1 I ,.....),/, %
1 i

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

Fig. 2.4 - Distribuição dos pontos amostrados por


digitalização de contornos : (a) seguidoros de linhas, (b)
varredura paralela e equidistante, (c) varredura paralela e
não equidistante e (d) varredura não paralela e aleatória.
21

Quando os pontos são gerados a partir de medidas


fotogramátricas de modelos estereoscOpicos eles são,
geralmente, semi— ordenados ou totalmente ordenados. Se o
modelo estereoscópio° varrido ao longo das linhas retas
paralelas e equidistantes, os seguintes. modos de amostragem
são possíveis: (a) pontos notáveis; (b) pontos a intervalos
verticais regulares e; (c) pontos a intervalos horizontais
regulares. Dentre os 3 modos apresentados, somente o modo
(c) fornece um modelo digital de terreno totalmente
ordenado no formato de grade retangular na resolução que se
deseja. Nos casos (a) e (b) é necessária a utilização de
interpolação caso se deseje um modelo digital de terreno na
forma de grade retangular com uma determinada densidade de
pontos.

2.3

Os dados de modelos digitais de terreno


obtidos na etapa de aquisição raramente se encontram no
formato ndequado para ser usado diretamente pelas
aplicações. Quando isto ocorre Aecessário transformar Ob

dados adquiridos de forma que eles possam ser mais


facilmente usados pelos programas de aplicação.Isto e
realizado na fase de preprocessamento.Os principais
objetivos da fase de preprocessamento são: a edição dos
dados amostrados; as transformações de coordenadas; a
interpolação, a geração de modelos de grades e a conversão
de formatos. Apesar de ter sido colocada separadamente como
parte integrante do preprocessamento, a interpolação á
22

utilizada nas tarefas de geração de modelos de grades e


conversão de formatos e em alguns aplicativos que utilizam
os modelos digitais gerados nesta fase. Assim todas as
considerações feitas neste item são igualmente válidas para
os interpoladores utilizados nas aplicações.

2.3.1 EDIÇÃO DOS DADOS

A edição dos dados amostrados é a primeira


tarefa que se deve realizar após a aquisição dos mesmos. É
necessário que os dados, sobre os quais serão realizados
todos os processamentos posteriore s, estejam corretamente
representados sob pena de se ter produtos finais de má
qualidade.

Nesta fase, o usuario tem a possibilidade de


consertar alguns erros que podem ocorrer durante a
digitalização, tais como: superposições de dados, omissões
de dados, dados mal digitalizados, etc....

Segundo Doyle(1278), a edição pode ser


realizada sobre uma cópia dos dados digitalizados, obtida
com uma plotadora de mesa, por exemplo. Neste caso a cópia
é corrigida manualmente e e utilizada para redigitalização
dos dados corrigidos. Esse procedimento se repete ate que
se tenha um produto final aceitável.Outra forma de edição,
mais usual e-mais automática, é realizada mostrando-se os
dados digitalizados em uma unidade visualizadora tipo CRT.
Neste caso a correção dos dados e realizada diretamente
23

,atraves de um programa interativo capaz de delatar, criar,


substituir, mover, etc..., pontos e linhas no mapa
visualizado.

Pode-se, ainda, ter uma forma de edição mista


das duas anteriores. Pode-se, por exemplo, usar a unidade
visualttadora apenas para deleçâo dos dados digitalizados
erroneamente. Depois disso e feita uma eOpia desse mapa. As
demais alterações são feitas manualmente e o mapa volta
para a fase de digitalização ate que se tenha o produto
final desejado.

Alguns sistemas tambem incluem nesta fase a


tarefa de compressão de dados-que visa reduzir a quantidade
de memória ocupada pelos dados amostrados.

2.3..2 TRANSFORMAÇÃO DE COORDENADAS

Como o proprio nome ja diz esta tarefa


compreende a transformação dos dados amostrados de um
sistema de coordenadas para outro. Por exemplo, os dados
adquiridos num sistema de coordenadas de um estereomodelo
devem ser convertidos para outros sistemas de coordenadas
tais come: UTM ("Universal Transversa Mercator") ou
SPCS("State Plane Coordinate System") ou para latitude e
longitude. Essa tarefa geralmente e realizada antes do
armazenamento dos dados e ai:xis a compressão.
24

O processo de transformação de coordenadas á


auxiliado pela definição das coordenadas de alguns pontos
de registro no sistema para o qual os dados serão
convertidos. O conhecimento das coordenadas desses pontos
nos dois sistemas de coordenadas define a função de
mapeamento de um sistema para o. outro.

2.3.3 INTERPOLAÇÃO

2.3.3.1 DEFINIÇÕES

Mesmo aluis a transformação de coordenadas, o


dado de MDT pode não estar na localização própria para o
arquivo final a ser armazenado. Para que isso ocorra esses
dados devem ser interpolados, considerando-se os dados
amostrados já transformados para o novo sistema de
coordenadas e então armazenados no arquivo final.

A interpolação e definida 00j0 um processo de


estimação da cota - valor da coordenada z - num determinado
ponto da superfície, considerando-se as cotas dos pontos
amostrados da superfície. Se o ponto a ser interpolado
coincide com um dos pontos amostrados então o seu valor de
cota z e definido igual a cota z do ponto amostrado. Caso
contrário o seu valor é estimado a partir do conjunto ou
subconjunto dos n pontos amostrados. Assim o valor de cota
z de um ponto (2c,y) no espaço 2d e definido como:
25

1 zi se x=xi e y=yi para algum valor


1 de i=0,1,2,..n-1;
z = 1
1 f((xJ.YJ)) se x #xi ou y OYi P/ todo i=0,.,n-1
1 e (xj,yj) C ((xk,yk)) para k=0,..,n-1.

São raros os casos nos quais a cota da


superfície existe para toda localização desejada, isto é, a
superfície e definida por uma função matemática contínua ou
uma malha de dados densa o suficiente para cobrir todas as
posiçoes de interesse. Portanto, no caso mais geral, um
processo de interpolação dos dados amostrados é necessário
para se alcançar o formato final desejado.

Segundo Peucker(1980), a interpolação é


utilizada para diferentes propósitos:
- para descriçao matemática da superfície por valores
discretos ou contínuos;
- para redução de dados;
- para analise de dados;
- e para uma combinaçao dos propositos acima.

Considerando-se. a relação entre os pontos


amostrados e a superfície, pode-se distinguir entre os
seguintes tipos de interpolação:
- uma função global para toda a região de interpolação
(superfície de tendencia);
- funções localmente definidas para aplicações em
elementos de superfície;
26

- interpolação para uma grade de pontos;


- interpolação para uma malha densa de pontos.

As funções globais são usualmente polinomiais


ou trigonométricas com a variável dependente z como função
das variáveis independentes x e y. A função interpolante é
dependente de todos os pontos amostrados e a adição ou
deleção de um deles ou a mudança de uma das coordenadas de
um deles propaga-se através do domínio da função
(Franke,1982).

É possível determinar-se uma função global


para toda a região de definição dos dados. Essa função
conhecida como superfície de tendáncia. Porém raramente
utilizam-se métodos globais para grandes quantidades de
dados uma vez que esses metodos frequentemente envolvem a
solução de um sistema de equações de grau igual ao número
de pontos amostrados . Outro problema á que essas funções
de superfícies oscilam muito dependendo do grau da função.

A ideia de um método local de interpolação á


contestada por alguns autores. Tipicamente a utilização de
uma interpolação local significa que a adição, a deleção ou
movimentação de um ponto do domínio da função afetará
apenas os pontos próximos ao local da mudança. Isto é o
mesmo que considerar que apenas os pontos próximos ao ponto
interpolado, dentro de um critério de proximidade, irão
influenciar o valor estimado para esse ponto. As
ponderações que se fazem aqui são de que apesar de a função
interpolante depender apenas dos pontos amostrados mais
prOximos, uma inspeção global é necessária para se
27

determinar a vizinhança do ponto, e que muitos


interpolantes considerados locais, segundo a definição
anterior, fazem uso de parãmetros que são determinados
também globalmente. Neste trabalho considerar-se-á o
conceito de interpolante local definido acima, sem
restrições quanto a busca da vizinhança e de como os
parâmetros são escolhidos. Alem disso, as funções globais
definidas localmente, muitas vezes utilizadas na prática,
também são consideradas locais.

Os métodos locais são muito usados para se


definir uma função para elementos da superfície (células)
que são polígonos convexos determinados a partir dos
pontos amostrados. Esses métodos apresentam um bom
desempenho na estimação das cotas dos pontos dentro da
célula, mas deve-se ter cuidado com a continuidade das
funções em 'células vizinhas.

A interpolação para uma grade de pontos


geralmente utiliza um método local de interpolação. Neste
caso o valor de cota de cada ponto da grade é. estimado a
partir das cotas dos pontos conhccidos que estiverem mais
próximos, sem que se defina uma função de interpolação
válida para uma região do espaço de pontos amostrados.
Portanto, para cada ponto da grade determina-se uma função
de interpolação diferente e a cota estimada será o valor da
função definida no ponto em questão.

A interpolação para uma malha densa de pontos


realizada sobre uma malha de pontos que tem a mesma
estrutura da primeira mas á menos densa. Este tipo de
28

interpolação tem o objetivo de refinar uma grade de pontos


da existente, e muitas vezes é chamado de refinamento da
grade. Esses interpoladores são muito mais rápidos que os
anteriores visto que utilizam pontos vizinhos cujas
posições são conhecidas e portanto a busca destes e
imediata.

2.8.3.2 DEFINIÇÃO DA REGIÃO DE INTERESSE

Como o nome já diz uma interpolação deve ser


realizada entre pontos conhecidos. Mais formalmente uma
interpolação deve sempre ser realizada dentro de um domínio
de definição dos pontos amostrados. Esse domínio de
definição e conhecido, na literatura de MDT, como região de
interesse. A estimação de um ponto fora da região de
interesse é conhecida como extrapolação e não deve ser
usada quando se deseja um produto final confiável.

É fácil notar que, dado um conjunto de pontos


de MDT, a definição da região de interetse não é única.
Porem de todas as regiões possíveis . apenas uma e um
polígono convexo. A esta região chamamos fronteira convexa
e as demais fronteiras restritas..Apesar da possibilidade
de incluir em seu interior regióes bem pouco densas, ou ate
sem nenhuma amostra, a fronteira convexa é a única
utilizada para delimitar a região de interesse (Pettinati,
1983).
29

Isto posto, tem-se mais dois problemas para


se resolver que precedem o processo de interpolação que são
: a definição do polígono convexo' referente aos dados de
MDT adquiridos e a determinação da posição do ponto
interpolado em relação a região de interesse , que pode ser
interna ou externa, se o ponto estiver dentro ou fora ,
respectivamente, dessa região. Um ponto sobre a região pode
ser considerado como interno a região, sem grandes
prejuízos do produto final.

Existem vários trabalhos de determinação da


região de interesse (Pettinati, 1983; Yamamoto, 1986; e
Handle Y, 1985). Pettinati(1983), descreve um método para a
-
construção da fronteira convexa e um para a construção de
uma fronteira restrita. Handley(1985), apresenta alguns
algoritmos e propõe um método melhorado que, segundo o
autor, esse método é tão bom em 'termos de espaco de memoria
ocupada e geralmente melhor em termos de tempo de execução
quando comparado com os outros métodos existentes.

2.3.3.3 CUMPARAÇA0 ENTRE OS MÉTODOS DE INTERPOLAÇÃO

É muito grande . a quantidade de métodos de


interpolação atualmente existente. Alguns tem
caracteríseicas bastante prOprias e particulares, enquanto
outros são apenas extensões ou otimizações dos primeiros.
As caracte»Isticas de comparação entre métodos diferentes e
a ponderação dos itens de teste para uma analise final são
as vezes subjetivas.
30

A'característica comum a todos Os métodos de


interpolação refere-se a CONTINUIDADE da superfície gerada
pelo interkolador. Uma superfície e. dita ser da classe Cn
se e somente se for continuamente derivável até a n-ésima
ordem.

Franke(1982), propõe a consideração dos


seguintes itens, em ordem decrescente de importância, na
avaliação de um método de interpolação:

Precisão : A precisão pode ser avaliada ao reproduzir-


se uma superfície cujas características são conhecidas.
Para uma superfície real geralmente não se conhece a função
z=f(x,y) que representa essa superfície. Porem se o método
de interpolação aproximar fielmente o comportamento de uma
variedade de funções de superfícies conhecidas, podemos
esperar resultados razoáveis para superfícies reais. A
performance ou exatidão de um método pode ser avaliada
numericamente, e isso é uma prática bastante usual.

Aspectos visuais : A aparância do interpolante é muito


importante. A plotagem perspectiva pode ser extensivamente
usada nesta avaliação. Dinamicamente bode-se mudar as
direções de visualização sendo poSsível a visuali zação de
toda superfícit. As classificações visuais estão
estritamente relacionadas com a precisão com a qual um
interpolante repuoduz a superfície. Quando a precisão é
alta as chances do interpolador comportar-se mau são
pequenas. Diminuindo-se a precisão as chances de um mau
interpolador ser não agradável visualmente são maiores. A
31

avalição do interpolador pelo aspecto visual e totalmente


subjetiva, mas via importância é amplamente reconhecida. O
problema maior é como integrar esta informação ao contexto
geral da avaliação do interpolante. Quando se conhece a
superfície que se está modelando pode-se ter uma idéia do
comportamento do interpolador comparando visualmente a
superfície gerada com a superfície conhecida. Por outro
lado se a superfície real não éconhecida nada se pode
afirmar quanto a qualidade do interpolador.

Sensibilidade á parãmetros : Muitos métodos requerem o


cálculo de alguns parâmetros que são incorporados ao
interpolador. Esses pargmetros podem ser, por exemplo, a
distancia máxima de influéncia dos pontos vizinhos no ponto
interpolado, ou a posição dos vizinhos mais próximos, ou
ainda, o cálculo de derivadas parciais de primeira e
segunda ordem no ponto. Os parãMetr:os servem para ajustar o
comportamento do interpolante com o conjunto de pontos
amostrados. Os métodos que envolvem parãmetros devem sofrer
testes informais para definição dos valores apropriados dos
parâmetros. Para conjuntos de dados fixos variam-se esses
valores ate que uma faixa apropri:tda seja encontrada. Isto
é necessário porque alguns mátoclos podem ter diferentes
sensibilidades a um mesmo tipo de parãmetro. É desejável
que um método seja estável em relação à perturbaçóes nos
seus parãnetros e os valores dos parãmetros não sejam
altamente dependentes da função wrostrada.

Tempo de processamento : Para computadores de grande


porte, o tempo de processamento não tem grande interesse a
menos que esse tempo seja muito alto. Em geral, devido as
32

características de alta velocidade e grande capacidade de


armazenamento e recuperação de dados isto não deve
acontecer. Em microcomputadores o tempo de processamento
pode inviabilizar a escolha de um determinado interpolador.
Nestes o tempo de processamento é limitado principalmente
pelo grande número de acessos a memória secundária que
podem ser necessários devido ao grande volume de dados
característicos dos processamentos de dados de superfícies.
Assim os métodos testados em computadores de pequeno porte
devem ser implementados -através de estruturas de dados
eficientes que .possam compensar a falta de memória
principal para armazenamento dos dados envolvidos na
interpolação.

Necessidades de memOria : Quanto ao esforço


computacional, as necessidades de memória não são cruciais,
a menos que elas sejam muito grandes. As necessidades de
memória são consideradas apenas em termos de vetores
adicionais necessários para armazenar dados alem dos pontos
amostrados. Não está se considerando variáveis simples ou
tamanho de programa.

Facilidades de implementação : n julgamento da


facilidade de implementação de um método é também altamente
subjetivo. A implementação pode depender da familiaridade
do implementador com algumas estruture., exigidas pelo
método, depende da filosofia de impleNentação e pode
depender, ainda, do ambiente físico disponível para
implementação. Porém esses características são difíceis de
serem avaliadas. No caso mais geral, pode-se avaliar a
facilidade' de implementação considerando-se a complexidade
33

das ideias envolvidas no método e a quantidade de código


necessário para implementá-los.

2.3.3.4 MÉTODOS DE INTERPOLAÇÃO

Neste item, procurar-se-á definir e descrever


alguns métodos de interpolação cujas filosofias podem ser
aproveitadas nos diversos problemas relacionados a geração
de modelos digitai S de superfícies. Muitos dos métodos que
serão aqui apresentados não terão uma definição formal das
suas características, mas serão tratados de forma a
fornecer ao leitor uma compreensão informal do seu
funcionamento. Serão destacadas, também, algumas
características vantajosas e desvantajosas de cada método a
medidá que, se sentir essas necessidades. É importante
salientar que a escolha de um método de interpolação é
altamente dependente do tipo de aplicação que utilizará o
interpolador.

Propagação : A forma mais simples para se determinar o


valor de cota z não conhecida de um ponto á expandir e
área de validade dos pontos amostrádos a -beque ao ponto seja
atribuido o valor de cota de um desses pontos. Esta
operação expande a coordenada z de um ponto amostrado para
os limites de um polígono que define a área de influênci a.

desse ponto.Um procedimento paMa realizar esta expansão


começa com uma malha "raster" toda zerada. No passc
seguinte todos os pontos amostrados são colocados nessa
malha. O procedimento então, verifica, iterativamente para
34

todo ponto da malha ocupado, se os vizinhos estão ou não


ocupados por um valor z=0. Em caso afirmativo o ponto se
expande para o vizinho. A forma final da malha depende do
tipo de varredura (por linha ou por coluna) feito sobre a
mesma durante as florações.

A propagação produz superfícies que são


funções "degraus". Se se deseja uma superfície continua, a
propagação pode ser o primeiro passo para posterior
complementação com, por exemplo, um interpolador de media
local. A Figura 2.5 ilustra o método de interpolação por
propagação.

21 O 0 0 0 0 211 Z1 Z2 2222 0 21 21 22 22 12 22 2121 222222122


0 0 0 22 0 0 ' 21121 22 22 22 0 21 21 22 Z222 Z2 21 21 222222122
0 0 •0 0 0 0 232322 22 221 0 2323 22 2222 22 Z312322[22122122
0 Z3 0 0 0 0 nin zz 0 0 0 2323 2322 22122 Z323 23 pe2j22122
0 0 0 0 0 0 23123 23 0 00 2323 2323 010 23 23 g3izA22g2

Fig. 2.5 - Interpolação pelo método da propagação


35

Media Local : A interpolação por media local consiste


em se atribuir um valor de cota z, para um ponto não
conhecido, igual a media dos valores de cota dos pontos
amostrados que pertencem a uma vizinhança predeterminada.
Assim, seja n o número de pontos amostrados pertencentes a
vizinhança de um ponto (x,y) qualquer, de cota
desconhecida, então a função interpolante por media local é
definida por :

f(x,y) = ( 5 z )/n (2.1)


i=0 i

onde : f(x,y) : função interpolante ;


5 simboliza uma somatoria ;
z : valor de cota i-esimo vizinho de (x,y).

A vizinhança pode ser delimitada por um raio


de influencia definido em torno do ponto interpolado ou por
uma quantidade de vizinhos mais ')reximos a esse ponto. f
questão principal relacionada a esse método de interpolaçã)
é a determinação de quão largo deve ser o raio de
influencia ou a vizinhança em torno do ponto.

O raio de influencia pode ser definido :


empiricamente através de uma análise critica dz.
distribuição dos pontos amostrados; ou automaticamente de
acordo com algum critério. Dentre os critérios existentes
36

pode-se destacar aquele que considera a distribuiçâo das


densidades de pontos sobre o espaço de definição dos
pontos amostrados. Segundo esse critério o raio de
influencia . R deve ser calculado por:

1/2
= (7A/P1*N) (2.2)

sendo: R : raio de influencia de tal modo que, em


média, sete pontos caem dentro do círculo
definido por esse raio.
A : área do menor polígono inscrito nos dados.
Pi = 3.1415927.e.
N : número total de pontos.

Outro método para determinação automática do


raio de influencia considera a correlação espacial dos
pontos amostrados. Esse método atribui ao raio de
influencia o valor da amplitude definida sobre o variograma
dos dados. A amplitude é a distancia que define a
vizinhança dentro da qual os pontos devea ser considerados
vizinhos (Yamamot0,1986).

O critério da vizinhança mais préxima deve


ser usado quando Yamamoto,1986):
- se tem uma distribuição aproximadamente aleateria
dos ponto; amostrados;
- não se necessita de uma precisão muito grande, sendo
suficiente uma aproximação da superfície no ponto
interpolado.
37

A escolha do número pontos amostrados que


comporão a vizinhança do ponto interpolado pode ser feita
considerando-se ou não a posição dos pontos amostrados no
esp a ço. Neste caso todos os n pontos mais próximos ao ponto
interpolado são considerados na interpolação. Naquele caso,
considera-se apenas uma determinada quantidade de pontos
mais próximos para cada quadrante ou octante do espaço. A
Figura 2.6 ilustra essas possibilidades.

O O o 1 o \ o1 * /
o * o * 1 o ■0 I /
* o *1 * 1 *I / o
o * o 1 * 'I / *
£ £
O * * 00 *1 o* /*I
* * o o *1 * 0 / 01 \ *
O 0 * o 00 ol o o 0 / ol \ o
Q0 o j* O o * oN o

(a) (b) (c)

£ : ponto interpolado
* : ponto amostrado considerado na interpolação
o : ponte amostrado não considerado na interpolação

Fig. 2.6 - Distribuição dos viii.nhos mais próximos.


(a) 8 vizinhos mais próximos.
(b) 2 vizinhos mais próximos por quadrante.
(c) 1 vizinho mais prOximo por octante.
38

Media local ponderada : A interpolaçao por media local


ponderada e uma extensão da média local . . A diferença é que
na primeira atribuem-se pesos variados P. ira cada ponto
amostrado pertencente a vizinhança de interpolação.
Portanto, considerando-se os n pontos amostrados da
vizinhança de um ponto (x,y), qualquer, a ser interpolado
temos:

f(x, y ) = ( S w (2.3)
(x,3r) * z )/ S w (x'Y)
1=0 1 1 1=0 1

onde : f(x,y) funçao interpolante


S simboliza uma somátoria ;
w(x,V) : função de ponderaçao;
z : valor de cota 1-esimo vizinho de (x,y).

A função de ponderação mais frequentemente usada é:

w (x, y ) = (1/d ) (2.4)

onde : d = distancia euclidiana do ponto ixterpolante


ao vizinho 1, ou seja:
39

2 2 1/2
d = ((x-x ) + (y-y ) ) (2.5)

u . expoente da função de ponderação.

Outras funções de ponderação podem ser usadas


, tais como funções que variam exponencialmente com a
distância euclidiana elevada a um expoente de ponderação:

ti

-a * d
w (x,y) = e i (2.6)
Á

onde : a = inverso da média aritmética das distancias


entre os pontos da vizinhança e o ponto
interpolado.

-1
a = (( S d )/n) (2.7)

As mesmas considerações sobre a vizinhança do


ponto interpolado feitas para o interpolador de média local
valem tambem para o interpolador de media local ponderada.
Para ser mais rigoroso dever-se-ia considerar o
interpolador de média local um caso particular do ponderado
quando a função de ponderação e constante e igual a 1.
40

Aproximação polinomial : A aproximação polinomial


assume um pressuposto que é bastante frequente entre
algoritmos de interpolação de superfícies: a superfície é
sempre mais suave do que sugerida pela variação dos pontos
amostrados (Peucker, 1980). Assume-se que os pontos de
controle incluem medidas com erros na dimensão Já que a
distribuição dos erros não é conhecida, emprega-se 'uma
aproximação que minimize a soma dos desvios, ou resíduos,
da nova superfície. O resíduo e definido como a diferença
entre função computada no ponto (xi,yi), f(xi s yi), e o
valor amostrado zi nesse mesmo ponto.

A minimização do erro de aproximação pode ser


feito usando-se um dos critérios seguintes:

- minimização da soma dos quadrados dos resíduos


(aproximação por mínimos quadrados), ou seja:

2
min ( S (f(x , y ) - z ) ) (2.8)
i=1

- minimização da soma dos resíduos atsolutos, ou seja:

min ( SI f(x y ) - z I ) ; (2.9)


1=1 i

minimizaçâo do maior resíduo absoluto (aproximação


de Tchebycheff), ou seja:
41

min ( max (f(x , y ) - z )) • (2.10)


1 1 1

O primeiro método &o mais simples nume-


ricamente e portanto é. o metodo mais frequentemente usado.
Porém a superfície tende a apresentar grandes erros em
áreas em que os pontos amostrados estão muito espaçados. 0
segundo evita esse tipo de defeito, mas tem, ate então,
sido implementado fazendo-se uso de programação linear, que
é uma técnica muito custosa considerando-se a grande
quantidade de pontos de controle e pontos da grade. A
aproximação de Tchebycheff é usada para definir uma função
matemática com um resíduo máximo dado. Ela tem sido usada
em áreas de Modelos Digitais de Terreno para seleção
adaptiva de pontos c/ triangulação (Peucker, 1980).

Usualmente utilizam-se polinómios bivariados


para descrever aproximadamente o comportamento de uma
superfície. A fOrmula geral desses polinômios é:

m m-i ii
f(x,y) .S Sc*xy (2.11)
1=0 j=0 .ij

onde:
f(x,y) : função polinomia3;
m : grau do polinômio;
c : coeficientes do polinómio;
ij
x,y : variáveis independentes
42

A determinação dos coeficientes do polinõmio


é feita através da resolução de um sistema de equações
lineares, que satisfaz um dos critérios de ajuste • ou de
aproximação , definidos anteriormente.

Seja Q a função que define a soma dos


quadrados dos resíduos e f(xi,y1) uma função polinomial
bivariada do segundo grau. Então:

ri 2
Q = ( 3 (f(x ,Y ) - z ) ) (2.12)
1=1 1 i
e

f(x ,y ) =C +C x+C y+C xy+


1 1 00 10 1 01 1 11 1 i

2 2
C x+Cy (2.13)
201 021

A condição que garante a minimização da


função Q e dada por:

dp. dQ dQ
---- = 0, - 0, (2.14)
dC dC dC
00 10 02
43

O desenvolvimento dessa condição de mini-


mização dos resíduos considerando-se as duas equaçOes,
2.12 e 2.13, anteriores leva ao sistema matricial A*C=B
definido abaixo:

- - - - - -
I N. 2 2 1
In Sx Sy Sx y Sx Sy IIC tISz
1 i i i 1 i i 1100 11
I II II I
I 2 2 3 211 i i i
I Sx Sx Sxy Sxy Sx Sxy 11C 1 1Szx1
1 i .1 i i i 1 i i i 1 1011 i i I
I II II I
I 2 22 ali I i i
1 Sy Sx y Sy Sx y Sx y Sy 11C 11Syz1
1 i i i i 11 ii 1 11 011=1 i•1 1
1 II II I
I 2 2 22 3 311 i I 1
1 Sxy Sxy Sxy Sxy Sxy Sxy 11C 11Sxyz1
1 11 li ii ii ii 11111111 i i 11
I II II !
1 2 3 2 3 4 2211 I 1 2 1
1 Sx Sx SxySxySx 3xy 11C 11Sxz1
1 i i ii iii i i 1 1 2011 i i 1
I II II I
1 2 2 3 3 22 4 II I I 2 I
1 Sy Sx y Sy Sx y Sx y Sy 11C 1 !Syz1
I i .i i ii ii i 1 1 02 1 1 i i 1
- - - - -
A c a
44

Utilizando-se, por exemplo , o método de


eliminação de Gauss, determinam-se os coeficientes do
vetor C e a expressão do polinõmio que melhor ajusta o
conjunto de pontos (zi,Yi), i=1,...n, dado.

Uma possível variação deste mátodo & a


consideração de uma função de ponderação w na elaboração da
função resíduo. Para a função de ponderação valem as
considerações feitas no interpolador por media local
ponderada. Neste caso, a função que define a soma dos
quadrados dos resíduos terá a seguinte formulação :

2
Q $ (f(z ,Y ) - z ) * w (z >Sr ) (2.15)
1•1 1 1 1 i i

Interpolação por autocorrelação : Este tipo de


interpolador'e uma variação da ponderação por distancia que
usa o "comportamento típico de declive" da superfície
(Peucker,1580). Essa função de comportamento - derivada
tipicamente de uma transformação em frequencia da
superfície - é conhecida em diferentes disciplinas como
função de autocorrelação , função de °avariando ou
variograma e as tecnicas são chamadas interpolação por
autocorrelação, colocação e krigagem, rrspectivamente. A
interpolação é geralmente feita por aproxf_mação por mínimos
quadrados, usando a função de.comportamento como peso.

A Krigagem é um metodo estatístico de


estimação' baseado nos conceitos de variáveis
45

regionalizadas, que usa as informações dos pontos vizinhos,


considerando não somente os valores de cota dos pontos
amostrados, mas tambem, a posição relativa dos mesmos.

A krigagem e usada para estimar o valor de


cota z = f(x,y), a partir dos n pontos amostrados f(xi,yi),
1=1...n, vizinhos ao ponto (x,y) a ser interpolado. O
estImador f*(x,y) é calculado como uma combinação linear
dos n pontos vizinhos conforme a•equação abaixo:

f*(x,y) = S 1 .f(x ,y ) (2.16)


1=0 i i

O objetivo da krigagem é obter os pon-


deradores .(11,12,13..1n) sujeitos a condição de não
enviesamento, que minimizam a variancia de estimação Pe2 ,
ou seja:

TI

E (f(x,Y) - f*(x,y)) = O S 1 .= 1 (2.17)


1=1 i

2 2
P = E((f(x,y) - f*(x,y)) ) deve ser mínima (2.18)
E
46

Yamamoto(1988), apresenta o desenvolvimento


completo das formulações acima.

Interpoladores do tipo "Splines : As funções do tipo


"Splines", ao invés de minimizarem uma função de resíduos,
minimizam a curvatura da superfície (Peucker,1980). Essas
funções são construídas como uma soma de termos e são
parametricamente definidas como mostram as equações abaixo
para o caso unidimensional.

fx(u) = S x B (u) (2.19)


1=1 1 i

fy(u) = S y B (u) (2.20)


1=1 i i

ri
fz(u) = S z B (u) (2.21)

A função Bi(u) é chamada função de mistura e


tem a propriedade de definição de quanto o 1-ésimo ponto
amostrado afeta a posição da curva interpoladora. Se Para
algum valor de i, Bi(u)=1 e para todo j£1, Bj(u)=0 , diz-se
então que o 1-esimo ponto amostrado tem um controle
completo da curva , e a curva passará pelo ponto 1. Caso
não haja controle completo dos pontos amostrados sobre a
47

curva, esta tenderá a aproximar-se dos pontos amostrados. A


Figura 2.7 ilustra estes conceitos.

Fig. 2.7 - Controle dos pontos amostrados sobre a curva,


(a) Controle total
(h) Controle apenas dos pontos extremos

Dentre as funçaes que procuram minimizar a


curvatura da superfície podemos cLtar as funções: "Spline"
pura, "B-rpline", "Nu-Spline", ec..., e as funções de
Bezier e Coons.

Esses tipos de funções. interpolantes são


usadas quase que exclusivamente 3[11 sistemas de auxilio a
projeto e produção , conhecidos uor CAD-CAM. Estes tem
grande utilização nas industrias aeronáutica,
automobilística, naval, etc..., para geração de curvas e
48

superfícies que simulam carrocerias de automóveis,


Carenagens, cabines de avião, etc...

Para modelos digitais de terrenos esse tipo


de interpolador é pouco utilizado, pois uma suavização
excessiva pode levar a superfícies que não representam a
realidade do terreno. Apesar disso, as "splines" bicúbicas
tem sido consideradas as mais apropriadas teoricamente e as
mais usadas na prática (Peucker,1980).

Interpolação para elementos de superfície : Em geral


, a complexidade das superfícies tende a crescer com o seu
tamanho. Com is.so, os algoritmos de interpolação, que
-
tentam aproximar a superfície como um todo, crescem em
complexidade para superfícies maiores , exigindo esforco
computacional cada vez maior. Uma alternativa é particionar
a superfície em elementos de superfície , ou células. Para
cada célula pode-Se definir funções que aproximam a
superfície localmente. Essa funções são de menor ordem do
que a função necessária para definir toda a superfície e
portanto mais simples de serem definidas e utilizadas. O
problema principal desta partição é garan'Jir um determinado
grau de continuidade entre as superfícies definidas para
células vizinhas.

De ttro desse contexto, Akima(1974), propos um


método que define uma superfície polinomial bicúbica para
cada elemento de uma superfície. Um polinõmio bicUbico tem
a seguinte fórmula:
49

3 3 1 j
f(x ) y) =S Sxy (2.22)
1=0 j=0

Esse polinómio é aplicado a uma área re-


tangular no plano xy limitado por quatro linhas retas x=xi,
x=x1+1, y=yj, y=yj+1. Cada polinômio é determinado pelos
valores da função z(x,y) e das derivadas parciais zx =
dz/dx, zy = dz/dy e zxy = d2z/dxdy nos quatro pontos
vértices do retângulo. Essas derivadas -são determinadas
localmente para cada ponto vertice da célula: Para isso são
utilizadas. as coordenadas de 13 pontos, com o ponto vértice
ao centro, dois pontos de cada lado nas direçõesxeye um
ponto em cada direção diagonal. Quando a interpolação .
feita em pontos nas, ou prOximos das, bordas da grade
retangular, são estimados alguns valores de cota para os
pontos que se situarem fora da grade. Essa estimação
baseada em três pontos conhecidos na direção x ou y, no
ponto da borda e dois pontos adjacentes conhecidos. Uma
aproximação para o calculo das derivadas de primeira e
segunda ordem, requeridas pelo método podem ser encontradas
em Akima(1;74).

Segundo o autor, a superfície resultante


desse método é. invariante em relação a uma transformação
linear de escala do sistema de coordenadas. O método requer
apenas procedimentos diretos, sem soluções iterativas de
equações com erros de tolerância preestabelecidos e não
existem problemas de estabilldade ou convergência
computacional na aplicação desse método. A superfície
50

resultante é suave não apenas nos pontos da grade mas


também ao longo dos segmentos que formam OS retãngulos.

Um outro método muito utilizado calcula uma


superfície bilinear para cada elemento da superfície. Uma
superfície bilinear tem a seguinte formulação:

1 1 1 j
f(x,y) =S Sxy (2.2 3)
1=0 j=0

Para se calcular a superfície bilinear para


uma célula da grade pode-se aproveitar as características
de ordenação das posições dos elementos da célula e
otimizar o procedimento que implementa ease interpolador.
Assim, considere uma célula da grade formada pelos pontos
vertices A, )3, C e D, como mostra a Figura 2.8, e seja M =
f(u,v), (u,v) em (0,1), um ponto genérico situado no
interior da célula.

Nesse esquema, a interpolarão bilinear sobre


a célula ABCD poae ser realizada pela stguinte sequgncia:
inicialmente , interpola-se linearmente os pontosEeFa
partir dos pontos C e D, e A e B, respectivamente; por
último interpola-se o ponto M linearmente a 'partir dos
pontos E e F. Assim, o valor de cota zm calculada no ponto
M é:

z = z *(1-v) + z *v =
M E
51

(z *(1-u) + z •u)*(1-v) + (z *(1-u) + z *u)*v


C D A

v*(u*z + (1-u)*z ) + (1-v)*(u*z + (1-u)*z ) (2.24)


A D C

C
-*
I Ei 1 I
I I 1 ;'
I o I i
1 im i 11-5(
i
* , .1
A

2
(u,v) em (0,1) .

Fig. 2.8 - Interpolação bilinear numa célula retangular

Este método é simples de implementar e muitc


rapido computacionalmente. Sua maior desvantagem e.
produção de superfícies que tem continuidade apenas de grau
O com as superfícies das células vizinhas. Portanto deve
52

ser usado quando não se precisa de uma aparáncia suave da


superfície, ou quando a própria superfície apresenta alto
grau de rugosidade.

2.3.4 GERAÇÃO DOS MODELOS DE GRADES POLIGONAIS

Como já visto, os dados de MDT Sã() usualmente


adquiridos segundo uma distribuição irregular no plano xy,
ou seja, não existem relações topológicas definidas entre
as posições dos pontos amostrados. Porem a maioria das
aplicações de MDT são desenvolvidas sobre dados no formato
de grade poligonal triangular ou retangular. Esses formatos
simplificam a' implementação dos algoritmos de aplicação e
os tornam mais rápido computacionalmente.

As grades poligonais podem ser classificadas,


segundo a distribuição de seus pontos, em : grades
regulares e grades irregulares. As grades regulares
caracterizam-se por possuirem todos os polígonos da grade
iguais. Isto é o mesmo que dizer que existe uma
regularidade na distribuição dos pontos q -áe formam a grade.
Nas grades irregulares todos os polígonos da grade são do
mesmo tipo, ou seja, possuem o mesmo número de lados, mas
não são todos iguais. Nos Itens seguintes as grades
regulares e irregulares serão estudadas um pouco mais
detalhadamente.
53

2.3.4.1 GRADES REGULARES

Uma grade regular pode ser definida como um


modelo digital que aproxima superfícies através de um
poliedro de faces regulares(Pettinati,1983). Os vértices
desses poliedros podem ser os proprios pontos amostrados
caso estes tenham sido adquiridos nas mesmas localizações
xy que definem a grade desejada. Porem, isto raramente
ocorre. Quando os pontos amostrados não estão localizados
sobre os pontos da grade regular, uma interpolação é
necessária para se estimar os valores de cotas nesses
pontos. Qualquer um dos interpoladores apresentados no
item 2.3.3.4 pode ser usado para realizar essa tarefa. Os
interpoladores que aproximam elementos de superfície são
frequentemente usados na tarefa de refinamento da grade. O
refinamento consiste na interpoiação dos dados de - uma
grade já existente com o objetivo de densificar essa grade.
Na prática, os sistemas de MDT, utilizam um interpolador
mais caro computacionalmente para gerar uma grade grossa.
Em seguida utiliza-se um interpolador mais simples e rápido
para refinar essa grade.

A grade regular mais usada é a retangular por


ser simples sua manipulação por algoritmos de aplicação e
por apresentarem resultados qualitativos superiores pare
aplicações de visualização em perspectiva - do modelo, por
exemplo.
54

2.3.4.2 GRADES IRREGULARES

As grades irregulares são geradas a partir


dos prOprios pontos amostrados sem 'a necessidade de
qualquer tipo de interpolação sobre os mesmos. A grade
irregular mais utilizada é aquela cujos polígonos são
triângulos e o processo de modelar uma superfície através
de poliedros de faces triangulares 4 conhecido como
triangulação. Os vártices ,dos triângulos de uma grade
irregular triangular são os pontos amostrados na fase de
aquisição dos dados.

Os pontos amostrados pertencentes a trian-


gulação dividem-se em duas classes distintas : pontos
interiores, que são aqueles totalmente rodeados por
riângulos, e pontos exteriores, que são rodeados apenas
parcialmente. Os pontos exteriores estão sempre unidos
dois a dois formando a região de interesse , descrita no
item 2.3.3.2, no qual a modelagem será efetuada. Após a
delimitaco da região de interesse deve-se unir os pontos
amostrados dois a dois para formar os triálgulos da grade.

A união dos pontos amostrados para gerar a


triangulação não é única e nem todas ás triangulações são
boas para a m)delagem de uma superfície. Como o
comportamento da superfície em um ponto depende do
comportamento em pontos vizinhos, deve-se escolher uma
triangulação na qual os segmentos unindo os diversos pontos
amostrados não sejam excessivamente longos e finos. A
triangulação de Delaunay e a única que satisfaz essa
55

exigência( Pettinati,1983). Este autor define a


triangulação de Delaunay, apresenta um metodo de geração
dessa triangulação e gera um modelo de grade regular
retangular a partir da grade triangular. O valor de cota de
cada ponto da grade retangular .obtido pela sequência : 1.
descobre-se a qual triângulo pertence o ponto da grade em
questab"; 2. determina-se uma função polinomial que aproxima
a superfície dentro desse triângulo; 3. calcula-se o valor
de cota no ponto da grade pela função definida no Item
anterior.

2.3.5 CONVERSÃO DE FORMATO

A conversão de formato compreende a trans-


formação, dos dados ou produtos de modelos digitaie de
terreno, de um formato para outro. Assim pode-se definir
transformações do formato de contornos para perfis ou vice-
versa, do formato de perfis para grades regularmente
espaçadas ou. vice-versa, do formato de grades para o de
contornos ou vice-versa, etc.... A maioria dos sistemas
que tratam de modelos digitais de terreno fornecem
programas que executam essas tarefas. Em geral a conversão
de formato e feita utilizando-se alguns dos métodos de
interpolação discutidos no item 2.3.3.4 anteriormente.

Para dados obtidos por dispositivos de varre-


dura é usualmente necessário transforme-los para dados
lineares por um processo de vetorizaçáo.
56

2.4

2.4.1 INTRODUÇÃO

Uma das principais característmcas dos sis-


temas de Modelagem Digital de Terreno é o grande volume de
dados envolvidos nas diversas fases de processamento do
sistema (Aquisiçãb, Preprocessamento e Aplicações). Alem
disso, para que sejam utilizáveis, os dados devem carregar
algumas informações adicionais que facilitam sua
identificação por parte dos algorítmos de manipulação dos
mesmos. Esse conjunto de informações adicionais deve ser
completo, no sentido de ter todas as informações, mas não
redundantes sob pena de se aumentar muito o volume total de
informações. .Grandes volumes de dados exigem utilização de
grande quantidade de memória e rapidez no processamento dos
dados. Em microcomputadores onde se tem limitação de
velocidade do processador e de memória principal isto passa
a ser um problema serio, sob risco de se ter um sistema
extremamente ineficiente.

Em resumo, os dados de MDT devem ser orga-


nizados em estruturas e carregar informações colaterais,
suficientes para que eles possam s'r identificados,
armazenados e recuperados de maneira eficíente.

Em muitos casos, os dado de MDT precisam ser


trocádos entre organizações diferentes. Por isso, o ideal
57

seria que existisse um padrão de armazenamento de dados MDT


que fosse utilizado por todas as organizações que adquirem
e processam esse tipo de dado. Isto, porém, não ocorre. Na
prática cada organização tem desenvolvido seus proprios
forMatos de acordo com suas necessidades. Isto pode ser
perigoso, na medida que os processos de manipulação dos
dados estão intimamente relacionados com as estruturas de
armazenamento. Sempre que se precisar utilizar dados de
outras organizações deverá existir um processo de
transformação de um formato em outro, o que nem sempre á
possível. O formato de uma estrutura de armazenamento de
uma organização pode não ter uma ou mais informações que
seriam importantes para outras organizações e vice-versa.

Peucker (1980), discute e compara as dife-


rentes estruturas de dados que são aplicadas no
armazenamento e visualização das duperfícies topográficas.
Esses tipos de estruturas são discutidos em relação a sua
precisão de representação da superfície, requisito de
armazenamento e complexidade temporal, ou seja, tempo de
computação para manipulação dos dados. À enfase é. dada para
a discussão das diferenças conceiti.ais.

Segundo esse autor c:s estruturas de dados de


MDT são classificadas, com base na razão geométrica, em: .

1. estruturas de pontos e redes;

2. estruturas de linhas, e

3. estruturas de cálula;
58

Estas estruturas Serão descritas nos itens


posteriores.

Um segundo tipo de classificação das estru-


turas de dados de MDT á baseado na distribuição espacial
dos elementos. A diferença principal, neste caso, á entre
as distribuições REGULAR e IRREGULAR.

2.4.2 ESTRUTURAS DE PONTOS E REDES

P$P6.4.6.1 DISTRIBUIÇÃO REGULAR

A ‘strutura de dados mais frequentemente


usada e a de grade regular. A vantagem desta distribuição e
a definição implicita simples das relações topolOgicas. A
grade de ponto é visualizada como uma matriz na qual cada
pcnto pode ser atribuido a uma linha e uma coluna. Assim os
elementos das linhas e colunas vizinhas podem ser
encontrados com pouco esforço computacional. Uma outra
vantagem da grade regular á a declaração implicita das
coordenadas x e y, e dos espaçamentos horizontal, deltax, e
vertical, deitay, entre os pontos da grade vizinhos por
linha e por coluna respectivamente.

Outra forma de definição de estrutura regular


e a de grade triangular que teoricamente seria capaz de
59

anular algumas desvantagens da grade retangular. Apesar


disso a estrutura regular triangular é pouco usada.

Uma desvantagem da distribuição em grade


regular é a enfase dada nas direções ao longo dos eixos da
rede. A maior desvantagem é a inviabilidade dessas
distribuiçoes de se adaptarem as mudanças de rugosidade do
terreno. A largura da malha deve ser adaptada a area de
maior variação local do relevo e é redundante em áreas com
menores frequéncias de mudanças.

Um método para reduzir a redundância das


redes regulares sem perda da regularidade e da facilidade
de programação sugere iniciar-se com uma grade grossa e,
onde for necessário, densificar a grade por um fator de 2.
Porem este método ainda dão é. muito utilizado.

Outro método procura densificar a grade nas


regiões onde a diferença entre o valor de cota de um ponto
da região estimado por (pelo interpolador usado) e o valor
real da cota fica abaixo de um certo limiar. Assim os
pontos são armazenados somente con a densidade local que 4
necessária para a representação da variação da inclinaçã.J
do terreno. Esses métodos de densificação local são
limitados as etapas de entrada e armazenamento. Essas
variações retornam a grade regular, através de uma
interpolação relativamente rápida para a malha mais densa,
tão logo a grade deva ser usada para qualquer computação.
60

2.4.2.2 DISTRIBUIÇÃO IRREGULAR

Uma distribuição irregular de pontos não


possui relações topológicas implicitas. Para conseguir
essas relações topológicas pode-se ou transformar a grade
em outra estrutura com relações topolegicas implicitas, por
exemplo, em grade regular, ou adicionar as relações
explicitamente, ou , ainda, determina-las durante uma
varredura .

A forma mais frequente de se adicionar rela-


ções explicitamente e conhecida por triangulação, como
deTinida no item 2.3.3.6. As relações podem ser
determinadas armazenando os triângulos ou as bordas dos
triângulos resultantes.

O armazenamento das bordas dos triângulos tem


algumas vantagens. Os nomes, "labels", de cada vizinho são
armazenados com as coordenadas de um ponto. A ordem dos
pontos e no sentido'horerio de tal forma que um triângulo e
identificado por um ponto, o ponto de referância, e um
vizinho. O tercEiro ponto e dado implicitamente como o
prOximo vizinho na lista de vizinhança.

Embrrsa as computações sobre redes triangulares


irregulares sejam mais vagarosas que para grades regulares,
61

o tempo total de computação tende a ser uma fração


comparada com a formação dessas grades, devido ao menor
número de pontos necessários para a representação
triangular da superficie.

A forma física das estruturas triangulares


varia significativamente. Um método que ocupa o mínimo de
espaço armazena, alem do vetor de pontos, as bordas da
grade triangular so uma vez. Assim todos os triângulos
podem ser recuperados sem ambiguidade (usa ponteiro). Outro
método tambem tem um vetor de coordenadas e um arquivo de
ponteiros que armazena para todo ponto todas as bordas
originadas naquele ponto. Neste método necessita-se apenas
de buscas locais para construção dos triângulos. Outra
forma de estrutura armazena todos os pontos (x,y,z) em um
arquivo e, em outro arquivo, armazena ponteiros para os
pontos dos vértices de cada triângulo e para os seus'tres
triângulos vizinhos.Esta estrutura permite acesso direto
aos triângulos individualmente. Outra forma alternativa
consiste em montar uma estrutura de armazenamento de todos
os triângulos guardando os seus vértices. Isto, porém,
causa o armazenamento de cada ponto numa média de seis
vezes. Aqui, possível, ainda, além dos vértices de cada
triângulo, adicionar-se ponteiros para os tres vizinhos.

Existem alguns métodos que partem da estruture


irregular dos pontos amostrados e criam as relações
topologicas durante o 'voo' sobre os dados. Isto pode ser
feito, por exemplo, partindo-se de uma linha vertical na
62

borda esquerda do mapa e avançando-se para a direita,


CCnservando um número de pontos na memOria. Durante esse
movimento esse metodo triangulariza os pontos e calcula e
plota todos, os contornos desejados.

2.4.3 ESTRUTURAS DE LINHAS

As estruturas de linhas são similares a


estruturas de pontos, uma vez que elas são definidas por
uma serie de pontos. Embora seja possível construir linhas
per funções, ou grupos de funções matemáticas, o gasto e
muito grande para tornar tal sistema viável para Modelos
Digitais de Terreno. A diferença entre essas estruturas de
pontos e de linhas net) reside nos tipos de unidades de
armazenamento, mas na organização de armazenagem.
Primeiramente, as estruturas de linhas tem em comum que
pontos subsequentes são ligados por linhas retas que podem
ser linearmente interpolados em intervalos arbitrários.
Somente no estágio de visualização os segmentos de reta
serão suavizados para uma aparencia ma..s agradável. As
estruturas de linhas podem ser irregulares, em relação ao
sistema de coordenadas, não necessáriamente em relação a
estrutura da superfície, ou regulares onde pelo menos uma
coordenada e conservada constante ou incrementada em
intervalos regulares.

As linhas de contornos geralmente são amos-


tradas por digitalizadores automáticos. A quantidade de
63

características representadas pelas linhas de contorno á


grande. Elas podem representar características de
temperatura, pressão, elevação, etc.... Porem, qualquer que
seja a característica, as estruturas de dados e os
processos de manipulação dessas estruturas são os mesmos.
Um sistema de linhas de contorno tem a vantagem de a
densidade de contorno mudar com as dinamicas da superfície.
Isto conserva baixo o volume de dados redundantes , embora
a densidade de pontos ao longo dos contornos seja,
geralmente, alta. A maior desvantagem das estruturas de
linhas é a perda de eficiencia em relação a Manipulação de
dados. A razão é à forma relativamente complicada para se
estabelecer relações topológicas entre os pontos.

Numa comparação das grades regulares de pon-


tos com os sistemas de contorno pode-se dizer que o
primeiro e
. mais eficiente para manipulação de dados,
enquanto o segundo necessita menos espaço para
armazenamento de dados. A manipulação de linhas é mais
eficiente apenas na tarefa de replotagem das linhas.

Alem de contorno:, as linhas podem repre-


sentar superfícies ao longo de . perfis que tem ponto:
somente em falhas do terreno. Essas linhas são
conceitualmente similares aos contornos, com a diferença de
serem substancialmente menores porque eles são usados
somente para propOsitos computacionais e não para
.
representação gráfica da superfície. Esses conjuntos são
interpolados para grades regulares sempre que devam ser
usados.
64

2.4.4 ESTRUTURAS CELULARES

As superfícies podem ser representadas por


funções matemáticas. As funções que conseguem representar
toda a superfície são chamadas funções globais. Por outro
lado, as superfícies podem ser particionadas e definidas
por um conjunto de funções matemáticas, cada uma
representando localmente• a superfície. Neste caso, as
funções locais são definidas para elementos de superfície,
ou células, que representam as unidades de partição da
superfície. Os elementos de superfície são polígonos,
regulares ou não, mas usualmente convexos. As funções
locais devem ter alta suavidade ou seja, devem ser
matematicamente derivavel de ordem maior ou igual a 2,
para garantirem alto grau de continuidade entre as . funções
que aproximaM células adjacentes. Essa suavidade é
comumente requerida em projetos industriais, mas nao
necessária , e muitas vezes até indesejável, para trabalhos
em cartografia. Uma discussão mais detalhada dos conceitos
de funções globais e locais é. feita no itcm 2.3.3.1.

Em aplicações cartográficas, é multo frequente


a utilização de funções matemáticas locais que realizam
aproximações em células regulares retangulares. Para cada
célula da superfície, define-se uma função polinomial,
65

valida para a célula, usando-se os pontos vértices da


célula e- suas oito vizinhas. A inclusão de funções de
ponderação, como apresentadas no item 2.3.3.4, assegura a
continuidade das funções para células adjacentes.

Embora esses algoritmos, baseados em células


da superfície, sejam inferiores em tempo de computação em
relação a outros metodos alternativos, eles apresentam duas
vantagens : Primeiro, o sistema parece ser o único que pode
manipular as entradas de dados muito ruidosas. Segundo,
eles tem indubitavelmente uma elegáncia 'matemática. A
superioridade reinvindicada por este método em termos de
armazenamento, ainda não foi sujeita a um teste objetivo.

2.4.5 CONCLUSÃO

Como foi visto, existem muitas formas de


armazenar dados topográficos. Muitos sistemas conhecidos
usam varias estruturas de dados em etapas diferentes. As
maiores muianças ocorrem entre as etapas de digitalização e
armazenamento em sistemas de grande porte, e entre o
armazenamento e a manipulação em sistemas menores. As
estruturas mais usadas são as irregularmente distribuidas,
-
com pontos não topologicamente conectados, na etapa de
entrada, e estruturas regulares retangulares nas etapas de
armazenamento e manipulação.
66

2:5 APLICAÇÕES

2.5.1 INTRODUÇÃO

As operações matemáticas envolvidas nas apli-


cações de dados de modelos digitais de terreno podem ser
resumidas como (Doyle, 1978):

- Dada uma posição de coordenadas (x,y), encontre a


cota z relativa a esse ponto.
- Dada uma matriz de coordenadas •(x,Y,z), defina uma
superfície matemática que definirá z como função de
(x,y).
- Dados conjuntos de vetores de coordenadas (x,y,z) a
intervalos fixados, interpole para encontrar o valor
de z em qualquer outro valor de (x,y) desconhecido.
Determine a intersecção de linhas retas ou linhas
curvas com unia superfície matematicamente definida.
- Determine a intersecção dos planos horizontal,
vertical ol inclinado com a superfície matematica-
mente definida.
- Determine o volume entre superfícies definidas.

Nos itens a seguir serão descritas algumas


das aplicações mais diretas de modelos digitais de terreno.
67

2.5.2 DETERMINAÇÃO DAS LINHAS DE CONTORNOS

O mapa de contornos, ou mapa de isolinhas,


obtido por interpolaçio ou por intersecção de planos
horizontais com uma superfície. Portanto o mapa de
isolinhas é composto por curvas que unem entre si pontos da
superfície que tenham um mesmo valor de "cota". Esse valor
pode estar associado a diferentes fenômenos dependendo da
representatividade da superfície. Assim para uma superfície
representando temperaturas obtem-se as iSotermas, para
pressões 'atmosféricas, as isObaras, para alturas de
terreno,as curvas de nível, etc....

As isolinhas podem ser visualizadas como


sendo a projeção no plano xy das intersecções entre a
superfície e uma família - de planos horizontais
equidistantes como mostra a figura 2.9.

Neste trabalho, utilizar-se-ao somente dados


de altura de relevo, porém, o mátodo aqui proposto de
geração automática das iso‘inhas pretende ser
suficientemente geral para ser ok,ilizado com outros tipos
de dados.

Durante muitos anos, os mapas de isolinhas


foram, e ainda são, construidos manualmente a partir de
dados de levantamento de terreno ou por restituidores de
pares estereoscOpicos, um trabalho cansativo e moroso, d
68

Fig. 2.9 - Representação das isolinhas da superfície


Fonte : Pettinati, 1983.
69

demandando grande habilidade e paciência dos especialistas.


Com o advento dos computadores digitais desenvolveram-se
mátodos automáticos que geram isolinhas com maior rapidez e
precisão. Um dos principais problemas com os contornos
digitais é a obtenção de expressão cartográfica adequada
particularmente para detalhes como cortes de rodovias e
ferrovias, pontes, afluentes, desvios e corregos, etc...

As curvas de isovalores possuem algumas


propriedades importantes:
- Todas as curvas são fechadas, a menos que intercep-
tem as fronteiras de definição do mapa;
- As curvas de isovalores jamais se cruzam, isto e
garantido pelos mátodos de interpolação que aproxi-
mam superfícies por funções f(x,y) em que 2 pontos
distintos e de mesma 'coordenada (x,y) apresentam
obrigatoriamente o mesmo valor da função (Pettinatti
1983), ou seja:

(x )=(x ,y ), iOd ---) f(x ,y )=f(x ,y ) (2.25)


jj i

- O mapa de isolinhas fornece informações de caratei


quantitativo. Pode-se efetuar medidas de inclinação
e distância e cálculo de áreas e volumes diretamen-
te do mapa de forma rápida e precisa.

O traçado automático das curvas de isovaloren


pode ser feita diretamente a partir do conjunto de pontos
amostrados. Sacha (1982), apresenta um metodo que utiliza
70

técnica de interpolação baseada em estatística, e que


fornece não só os valores corretos nos pontos amostrados,
isto e, passa exatamente sobre esses pontos, como também
"leva" a uma função de interpolação que é continua em todas
as suas derivadas e não gera características espúrias em
regiões com baixa densidade de dados.

O mapa de isolinhas pode também ser obtido a


partir de modelos de grade, triangular ou retangular. Estes
são mais frequentemente utilizados, nos diversos sistemas
comerciais existentes, por terem uma implementação mais
simples e serem mais rápidos na geração das isolinhas. Eles
são usados, principalmente, quando a precisão e suavidade
das curvas não são fatores preponderantes.

Para modelos de grades, podemos distinguir 2


métodos diferente a de algoritmos para geração das
isolinhas.

O primeiro é o método de rastreamento , que


consiste numa busca sequencial nas células da grade até
encontrar-se o inicio de uma determinada clrva de isovalor.
Após isso, a curva é perseguida célula a.cálula ate que se
encontve um limite do mapa ou se retorne ao ponto inicial
da curva. Isto é realizado para todas as isolinhas
desejadas.

O segundo é o método das células , que


consiste na determinação de todos os segmentos das curvas
de isovalor que atravessam a célula. Neste método percorre-
àe todas as células apenas uma vez. No final do processo,
71

todas as curvas de isovalores desejadas estarão


determinadas.

Comparando-se os 2 métodos podemos concluir:

- O rastreamento utiliza recursos adicionais de mamo-


ria para armazenar e gerenciar seu percurso através
da grade.

- O rastreamento e mais lento computacionalmente pois


cada célula é visitada uma quantidade de vezes igual
ao número de curvas de isovalor que a atravessa.

- O traçado de cada isolinha individualmente é mais


simples e rápido se as isolinhas tiverem sido obti-
das pelo método de rastreamento. No método de célu-
las, tem-se somente uma grande quantidade de segmen-
tos que devem ser "ligados" para se Obter cada iso-
linha desejada.

Com qualquer um desses métodos, a obtenção da


curva de isovalor, ou de um de seus trechos, é feita em
duas etapas bem definidas: cálculo das intersecções da
curva com uma célula do modelo, interpolação da posição
da curva dentro desta mesma célula (Pettinatti, 1983). Para
essa interpolação deve-se utilizar uma função que aproxime
o comportamento da superfície dentro da cada célula. Caso
interpolação seja feita apenas' e tão somente usando-se os
pontos de intersecção das curvas com as arestas da célula
sem qualquer vinculo com a superfície, não é possível
72

garantir coerãncia no comportamento conjunto de todas as


curvas de isovalor.

A determinação das intersecções com as cálu-


las do modelo e simples e direta para . modelos de grade
triangular. Para as células da grade retangular podem
ocorrer ambiguidades em alguns casos. A Figura 2.10 mostra
os casos ambiguos e as soluções para estes casos. Nessa
figura desenho os sinais + e - siginificam que o valor de
cota do ponto e maior ou menor, respectivamente que a cota
da isolinha. A solução para esses casos de ambiguidade é
obtida pelo cálculo da cota do centro da célula retangular.

Fig. 2.10 - Casos ambigups na determinação das isolinhas


numa célula retangular
Rom and Bergman (1986), propõem um método de
geração do mapa de contornos, a partir de uma grade
retangular, que é dividido em duas etapas:

A primeira etapa do processamento é a compu-


tação de uma "spline" bi-cúbica representando a superfície
do mapa, isto e, constroi-se uma superfície bi-cábica, que
tem a seguinte forma :

3 3 1 j
f(x,y) =S $ A*X* y (2.27)
1=0 j=0 i,j

em cada célula da grade a partir dos valores de cota nos


vertices da célula. A suavidade da spline bi-cúbica fornece
a suavidade das linhas de contorno construidas.

A segunda etapa consiste da construção das


representações paramétricas celulares dos contornos - cada
linha de contorno é aproximada e representada por uma
sequencia de curvas PC (curvas paramátricas cúbicas) que se
ligam suavemente. O algoritmo pw.a computar essas curvas
baseia-se no fato de que a s:Àperfície do mapa esta
representada por uma polinomial bi-cúbica, de forma que os
pontos das linhas de contorno podem ser computados pela
solução da equação de terceiro grau f(x,y) = H, enquanto
mantem-se os valores de x ou y constantes. Inicialmente
computam-se as coordenadas dos pontos das bordas da célula
para uma "cota" especificada H. Então computa-se a
representação cúbica paramétrica dos contornos que aproxima
a linha de contorno real.
74

Segundo os autores a representação para-


métrica cúbica das linhas de contornos fornece rápido
acesso para especificar informação de contorno local. Essa
organização dos dados de contorno permite execução
eficiente de operações como: transformações geométricas no
mapa, computação de perímetros de contornos áreas, volumes
e cálculos comPlicados de propósito tais como cálculos
necessários para projetos de estradas ou tuneis,etc...

Para definir a grade retangular a partir dos


pontos amostrados, os autores propõem a utilização de um
interpolador de média local ponderada, definido pelas
equações (2.3), (2.4) e (2.5). O cálculo dos parãmetros do
polinómio bicUbico definido na equação (2.27) pode ser
efetuado segundo o método proposto por Akima (1974), que
foi apresentado no item 2.3.3.4.

A Figura 2.11 ilustra um exemplo de traçado


de contornos por 3 mátodos diferentes:

As curvas do mapa de contemos podem sofrer


urna serie de me) lorias esteticas que visam facilitar a
compreensão do comportamento da superfície. Dentre essas
melhorias podemos destacar : diferentes espessuras ou cores
para diferentes valores de cota, rotulaçãr das curvas com o
valor numerico da cota correspondente, etc...
-
75

¡r i" 71r4
471. sali ni). '.
i
a 1
(a)
•••• •-,c). .,? i
(6)

ra
mirai
Fig. 2.11 - Mapas de contorno para aproximação de
superfícies. (a) Dado original, (b) Interpolação "spline",
(c) Interpolação "osculatory", (d) Método Akima.
Fonte: Akima (1974).

2.5.3 PROJEÇÕES GEOMÉTRICAS PLANARES

2.5.3.1 C3NCEITOS GERAIS

Em geral, as projeçóes transformam pontos de


um sistema de coordenadas n-dimensional para pontos em um
76

sistema de coordenadas de dimensão menor que n. Neste


trabalho utilizar-se-á apenas projeção do espaço 3-d
(tridimensional) para o espaço 2-d (bidimensional). A
projeção de. um objeto 3-d no espaço 2-d é definida pelos
raios de projeção , tw nbam chamados projetores, que emanam
do centro de projeção e atravessam o plano de projeção .

A classe de projeções assim definida é


conhecida como projeção geométrica planar porque a projeção
á feita numa superfície planar (plano de projeção) ao. invés
de uma superfície curva e . portanto usa raios projetores
retos ao invés de curvos. Existem projeções cartográficas
'que não são nem - planares e nem geométricas (Foley &
VanDam,1982).

As projeções geométricas planares podem ser


divididas basicamente em 2 categorias: perspectivas e
paralelas. A diferença está na relação entre o centro de
projeção e o plano de projeção. Se a distancia de um para
outro é finita, então a projeção é perspectiva, enquanto se
esta for infinita, a projeção é paralela.

A projeção paralela é assim chamada pois os


raios projetores são paralelos entre si, uma vez que o
centro de projeção esta infinitamente distante. Na
definição de projeção perspectiva especifica-se o centro de
projeção , enquanto para projeção paralela deve-se fornecer
a direção de projeção . A projeção perspectiva cria um
efeito visual similar aos sistemas fotográficos e visual

humano, e e usada quando se deseja maior grau de realismo
cio objeto projetado.
77

Vários programas tem sido criados para tra-


tarem exclusivamente com projeções perspectivas e paralelas
de superfícies. As técnicas usadas podem ser divididas em 2
categorias principais: aquelas que acompanham o traçado do
raio ("ray tracing") e aquelas que usam a geometria
projetiva direta ("forward projective geometry").

O "ray tracing" um método no qual os raios


projetores são traçados do centro de projeçéo, através do
plano de projeção e alcançam o objeto real visualizado.
Este método realiza um mapeamento do plano bi-dimensional
(plano de projeção) para o objeto real que é definido no
plano tri-dimensional. Para superfícies definidas não
parametricamente, muitos algoritmos baseados em "ray
tracing" envolvem uma forma de procedimento de busca pois
este mapeamento de bi-dimensional para tri-dimensional não
e único (Dubayah and Dozier,1986).

Superfícies topográficas geralmente não são


definidas parametricamente e, portanto, uma busca e. quase
sempre necessária. O problema aqui é Tua essa busca é
geralmente demorada para grande volume de dados, tornando
os algoritmos baseados nas técnicas de "ray tracing. ,
morosos, a menos que sejam implementados em "hardware".

As técnicas que usam a geometria projetiva


direta read.zam um mapeamento do espaço 3-d do objeto para
o espaço 2-d do plano de projeção. O objeto é primeiramente
reorientado com base nas transformações geométricas e então
projetado no plano de projeção. A maior desvantagem desta
78

técnica e que para MDT no formato "raster", os níveis de


cinza devem ser interpolados no plano de visualizaçao. isto
ocorre pois a transformação projetiva de uma imagem de
entrada ( "MDT raster") cujos valores são funções de
inteiros f(1,$) produzem uma imagem dê saída g(x,y) em
coordenadas de dispositivo "raster", não inteiro. Assim,
f(1,$) é map -jado entre os "pixels" em g(x,y), e alguma
forma de interpolação de níveis de cinza, ou reamostragem,
é necessária para se obter valores de saída em posições
inteiras.

Essa reamostragem dos níveis de cinza dis-


persos pode levar a outro problema conhecido por
"aliasing". O efeito de "aliasing" ocorre toda vez que uma
imagem possui frequencias espaciais maiores que duas vezes
a frequência de amostragem da unidade visualizadora. fr
impossivel reconstruir corretamente uma imagem cujos níveis
de cinza variam mals rápido que .5 ciclos/"pixel".
Frequências mais altas do que esta são sobrepostas sobre as
frequências mais baixas e produzem efeitos visuais como
bcrdas com degraus..

Na interpolação dos níveis de cinza, espa-


lhados, para os valores inteiros, da grade de saída, pode-
se usar 2 técnicas bastante conhecidas: a técnica do
vizinho mais próxuno e o método da ponderação pelo inverso
da distância . A primeira e mais rápida e resume-se em
converter as coordenadas transformadas para "pixels"
inteiros, por arredondamento ou truncamento. Porem esta
apresenta 2 problemas: múltiplas atribuições para um mesmo
"pixel e, "pixels" sem atribuição alguma (buracos na
79

imagem de saída). Outro problema dessa técnica é a


tendância de produzir imagens "blocadas". O método da
ponderação pela distância reduz o efeito dos buracos e á
capaz de produzir imagens mais suaves. Porém o método não é
capaz de garantir a não presença desses buracos e 'e -um
método mais vagaroso computacionalmente. Esse método exige
o acúmulo, em cada "pixel" da imagem de saída, das cotas
dos pontos vizinhos ponderados pelo inverso de suas
distâncias ao pixel. No final do processo, o valor de cota
do pixel é dividido pela soma dos inversos das distâncias
ao pixel. A Figura' 2.12 (a) ilustra a influancia de um
ponto nos quatro "pixels" vizinhos.

LOCALIZAÇÃO DA
CELLIL• DA GRADE
Ma Re I USADA P/
CALCULAR AS DIS-
TIOICIAS AOS POR-
TOS A.3.CE0 *—
PARTIR DAS TAS&
LAS DE DIST/ACIMA

Fig. 2.12 - Interpolação para os "pixels" da imagem de


saida.(a) - Contribuição de um ponto, projetado, para es
4 "pixels" vizinhos da imagem de saída. (h) - Divisão da
célula em subregiões para o cálculo das distancias
inversas aos vértices da célula.
80

Dubayah e Dorien (1986), Sugerem a subdivisão


de cada célula formada por 4 "pixels" adjacentes, na imagem
de saída, 'em subregiiíes, ou microcelulas,como mostra a
Figura 2.12 (b). A distância de cada microcélula, a cada um
dos 4 "pixel's", é então armazenada em 4 tabelas de
distâncias inversas. Isto permite otimizar o tempo de
cálculo da porcentagem de contribuição do nível de cinza
mapeado para cada vértice da célula.

2.5.3.2 MATEMÁTICA DAS PROJEÇÕES PERSPECTIVAS

Para o desenvolvimento deste tOpico usamos os


seguintes sistemas de coordenadas:

1. (x,Y.z) :sistema de referencia. Este é um sistema


3-d baseado na regra de mão direita. As coordenadas
dos objetos assim como a coordenada do centro de
projeção (x0,y0,z0) são definidas neste sistema de
coordenadas.

2. (x , ,yo,z 1 ) : sistema de coordenadas de visualização


ou do centro de projeção. É um sistema 3-d baseado
na regra de mão esquerda. O caltro de projeção é
tomado como origem deste sistema e o eixo z' parte
da origem desse sistema e cruza a origem do sistema
de referencia. O. eixo X é paralelo ao plano xy do
sistema de referencia.
8/

3. (x",F") : sistema do plano de projeção. É um sis-


tema 2-d que representa o plano onde será realizada
a projeção. Este plano passa pela origem do sistema
de referência e e. perpendicular ao eixo Z do
sistema do centro de projeção.

A Figura 2.13 mostra esses sistemas de coor-


denadas e suas relações.

O processo de geração da perspectiva segue os


passos seguintes:
(1). O sistema de referência transladado para o sis-
tema de coordenadas do centro de projeção (xo,yo,zo).
(2). As coordenadas do centro de projeção são rodadas
por 2 õngulos para posicionar o eixo Z passando
pelo centro do sistema de referencia.
(3). Uma transformação perspectiva é aplicada Para se
obter as coordenadas projetadas no Plano projeção

"Sil
re
CENTRO OE
./.. PROJEÇÃO

• 1
> e.

/1

Fig.. 2.13 - Sistemas de coordenadas usadas na projeção


perspectiva.
82

A Figura 2.14 ilustra os passos (1) e (2)


desse processo.

' 11°

Z Zd/arX°
e - -
gxo$0,20)
I I
I I
1 I

leL

Fig. 2.14 - Transformações geométricas para geração da


projeção perspectiva.

Os 2 primeiros itens são conhecidos como


transformações geoMétricas, enquanto que o terceiro item é
a transformação p?.rspectiva propriamente dita.

As matrizes de transformação utilizadas nesse


processo estão relacionadas abaixo. Usaremos representação
em coordenadas homogeneas pois esta permite que as
operações de translações, escalas, e rotações sejam
tratadas uniformemente como multiplicações de matrizes.

1. Translaçao da origem para um ponto Po (xo,yo,zo,l)


genérico:
83

- -
1 1 0 0 -xo 1
T = 1 O 1 O -yo I (2.28)
Po 1001 -zo 1
1 O 00 1 1

2. Inversão de um eixo v generico, por exemplo, eixo


x:

- -
I -1 O O O I
Tinv = I O 1 O O I (2.29)
x 1 0 0 1 0 1
1 0 0 0 1 1
- -

3. Rotação de um angulo A sobre o eixo y:

- -
I cos A O -sen A O I
Ry = I O 1 O 0 1
A 1 sen A O cos A O 1 (2.30)
I 0 0 0 1 I
- -

4. Rotação de um ângulo B sobre o eixo x:


84

- -

l i 0 0 o;
Rx = 1 0 cos B sen B O(
Et I 0 -sen B cos B 01 (2.31)
1 O 0 0 1 I
- -

Para üin sistema de coordenadas baseado na mão


esquerda, o ângulo de rotação é medido positivo no 'sentido
dos ponteiros do relógio quando olhamos de um ponto do eixo
especificado para a erigem. Para sistema baseado na mão
direita o deslocamento angular é positivo no sentido anti-
horário.

Assim as transforMações (1) e (2) do


processo de geração .da perspectiva são descritas pela
seguinte equação matricial.

- - - - - - -
X' = Ry Rx Tinv Rx T X (2.32)

A B x 90 Po

onde:
- -
- I 201
e X' = I y'l (2.33)

I x'l
'li
85

Desenvolvendo (2.32) a partir de (2.28) a


(2.31) e, (2.33),tem-se:

x , = - (x-xo) * cosA + (y-yo) * senk (2.34)

= - (x-xo) * senB * senA -


(y-yo) * senB * cosA + (z-zo) * cosB (2.35)

zl= - (x-xo) * cosB * senA -


(Y-yo) * cosB * cosA - (z-zo) * senB (2.36)

de onde, e da Figura 2.14 obtemos as relações


trigOnometricas:

xo Yo
sen A cos A = (2.37)

zo
sen B = cos 3 = (2.38)

2 2 1/2
sendo: d = I (xo + y; ) I (2.39:

2 2 2 1/2
e D I ( xo + yo + zo ) 1 (2.40)
86

Uma vez que as coordenadas do objeto estão


definidas em coordenadas de visualização, a transformação
em perspectiva propriamente dita é obtida simplesmente
projetando cada ponto do objeto no plano de projeção, como
mostra a Figura 2.15 para a projeção do ponto P jáem
coordenadas de visualização.

Da Figura 2.15(a) temos:

x"
(2.41)
X' z' z'

onde:
xl e ze são dados pelas equações (2.34) e (2.36)

O mesmo raciocínio vale para o cálculo de y"


(Fig 2.15(b)):

Y"
Y es 3= * 3,0 (2.42)
Y' z1 z'

onde :
y' e z/ são dados pelas equações (2.35) e (2.36)
87

i
z PLANO DE PROREÇÃO i PLANO DE PROJEÇÃO
ser li s de e
PW,zi eil,e) ap•
Yb
1
i
za z'p
H—ri') . o O z

Fig. 2.15 - Projeção perspectiva de um ponto. (a) Detalhes


da projeção no plano y'z'. (h) . Detalhes da projeção no
plano x'z'.

Um raciocínio semelhante a geração da pro-


jeção em perspectiva pode ser usado para definir uma
projeção ortogonal (paralela). À principal diferença que
na projeção em perspectiva defipe•se o centro de projeção,
o qual, basicamente, define. as transformações geometricas
necessárias para colocar os pontos no .referencial de
visualização. Na projeção perspectiva a direção de projeção
88

para cada ponto de um objeto e definida pelo ponto e pelo


centro de projeção. Na projeção paralela a direção de
projeção é sempre constante pois todos os raios de projeção
são paralelos entre si. A formulação matemática da
transformação geométrica, para a projeção paralela, segue a
mesma sequãncia da formulação Para a projeção perspectiva,
excetuando-se a translação para o ponto Po , já que este
não existe. A direção de visualização fornecida pelo
usuário a partir da definição dos :ângulos A e B de rotação
sobre os eixos y e x respectivamente.

Na geração da projeção paralela propriamente


dita deve-se simplesmente fazer :

x" = x' e Y" = Y ° (2.43)

pois, após a transformação geometrica ter sido realizada,


todos os raios de projeção são perpendiculares ao plano de
projeção.

2.5.3.3 REMOÇÃO DAS LINHAS ESCONDIDAS

Uma parte integrante do processo de visua-


lização de proje:Oes geométricas planas á a remoção das
linhas escondidas ou seja, as linhas que estão do outro
lado do objeto. JL visibilidade ou não das linhas depende,
logicamente, do ponto de visualização (centro de projeção)
nas projeçOes perspectivas ou da direção de visualização
quando se tratar de projeção paralela.
89

Junkin (1982), propõe um método para remover


linhas escondidas em projeções perspectivas de superfícies.
O método aplica-se a superfícies compostas de segmentos de
linhas formando uma sequencia de .curvas. O objetivo e a
eliminação de todos os segmentos de linha que estafa atras
de outras superfícies e que não são visíveis na plotagem
dos dados em 2 dimensões. Inicialmente define-se um vetor
de horizonte que representa o horizonte de visibilidade
corrente. Durante a projeção todo segmento que estiver
abaixo desse horizonte e considerado não -visível. São
definidos ainda vetores de visibilidade. O processo começa
pela análise dos pontos do segmento mais prOximo ao
observador. Todo ponto do segmento que for visível é
colocado num vetor de visibilidade e torna-se ainda um
ponto do vetor de horizonte. Isto e repetido ate que o
último ponto do segmento seja testado. O vetor de
visibilidade possui então todos os pontos visíveis do
primeiro segmento, que podem ser plotados ou armazenados. O
passo seguinte e analisar o prOximo segmento mais prOximo
dc observador, e repetir o processo ate que todos os
segmentos tenham sido analisados. A cada passo o vetor dr
horizonte é usado para testar a. visibilidade de um novJ
ponto e é atualizado caso o ponto seja visível. Uma
desvantagem desse método e a necessidade de se analisar
todos os pontos de cada segmenta, pois, nem sempre é
possivel conhecer todos os pontos da unidade visualizadora
que formam um determinado segmento, isto depende do
algoritmo de traçado de segmento utilizado.
90

Dozier (1986), desenvolveu um método para


escondimento de superfícies para projeções ortográficas de
terreno que se baseia em ângulos de horizonte. O autor
descreve, nesse trabalho, a produção de vistas-ortográficas
de terreno usando dados digitais de elevação e imagens co-
registradas. Os ângulos de horizonte, utilizados para
determinar a visibilidade da superfície, são determinados a
partir do conjünto de dados de elevação. Assim, para cada
ponto da grade de elevação o ângulo de horizonte hf do
ponto é computado. O cálculo de hf depende da direção
azimutal de projeção e dos valores de cota dos "pixels",
posteriores ou anteriores, que _estiverem sobre, ou muito
próximos, do perfil de visualização ao qual o ponto
pertence.

Uma vez computado o mapa de horizontes para


toda a grade, este é usado para determinação da
visibilidade de cada "pixel" antes da projeção ortogonal.
Segundo o método, um ponto é visível, segundo uma direção
azimutal de visualização estabelecida, se o ângulo de de
elevação B está acima do ângulo de horizonte hf do ponto,
ou seja :

hf < 90 - B (2.44)

Dozier et alli (1981). ap .esenta um estudo


minucioso do cálculo de hf. Segundo os autores, as maiores
vantagens do método de teste dos ângulos df horizonte são a
velocidade e a eficiância. Cada ponto é testado apenas uma
vez e somente pontos visíveis são transformados. O mapa de
91

horizontes pode ser utilizado, também, para a computação


das radiâncias sobre o terreno.

A maior desvantagem do método é a utilização


de memOria adicional, igual ao tamanho da grade, para o
armazenamento do mapa de horizontes. Em microcomputadores,
onde se tem pouco espaço de memória principal, deve-se
utilizar memOria secundária para esse armazenamento, o que
torna o processo mais lento computacionalmente. Outra
desvantagem está em o método, como originalmente proposto
pelos autores, tratar o problema de escondimento de linhas
apenas para projeções ortogonais.

2.5.4 SIMULAÇÃO DE TERRENO

A simulação de terreno consiste num 'real-


çamento' dos detalhes de representação, geralmente uma
projeção perspectiva, da superfície com o objetivo de
aumentar o realismo da apresentação da mesma. Umas das
técnicas cais usadas é o sombreamento, ou iluminação, de
superfície. Através desta técnica pode-se produzir uma
superfície sombreada, especificando-se uma direção cif
iluminação e alguns parãmetros que definem as
características prOprias da superfície, tais como : índice
de reflexão e refração, porosidade, rugosidade etc...

Outra técnica utilizada para aumentar o rea-


lismo das representações das superfícies é a adição de
textura a superfície. A textura pode ser gerada
92

sinteticaMente através de técnicas de computação gráfica ou


ser de procedência real, como por exemplo, de fotografias,
imagens de satélite, etc...

Dentre os modelos de iluminação existentes


podemos destacar aqueles que são baseados nos modelos de
Phong, Whitted e Blinn. Talvez as primeiras imagens
realisticas tenham sido modeladas por Phong, cujo modelo
incluia termos difuso e especular para fontes de luz
diretas e um termo global do ambiente (Hall and Greenberg,
1983). Segundo esse modelo, a intensidade de luz I que
,incide num ponto de uma superfície ou de um objeto é
modelado por:

-,
I = k * S. (N.L)*(cor) + k * $ (R.V) * 1 + / (2.45)
d j=1 s j=1 j a

sendo :

k : coeficiente de reflexão difusa do material;

-
N vetor normal a superfície;

L : vetor unitário da fonte de luz ;


k : coeficiente de reflexão especular ;

R : vetor de reflexão unitário;


93

V : vetor de visualização unitário;


I : intensidade da j-ásima fonte de luz;

: intensidade da iluminação ambiente global.


a

O modelo de Whitted aumentou o de Phong


usando uma interpretação diferente do. termo especular
direto e os termos adicionais de iluminação global. Esta
aparece cdmo uma soma das iluminações global difusa, global
especular e global transmitida.

Esses modelos podem ainda ser aumentados,


incluindo-se: as relações de Fresnell para o comprimento de
onda e dependgncia da luz ti4 andmitida e refletida em
relação ao ângulo de incidgncia, o espalhamento da luz
transmitida de várias fontes e a atenuação de intensidades
dos nos prgvios como uma função das propriedades de
filtragem do material que a luz atravessa.

Schachter (1980i, apresenta um modelo de


iluminação para geração, por computador, de mapas de relevo
sombreado com as seguintes simplificações:
- A luz refletida de um elemento de superfície não
ilumina outro elemento. Segundo o autor este efeito
dificil de ser modelago e levaria a cálculos
globais;
- Os elementos da superfície não sombreiam uns aos
outros.
94

Sob essas hipoteses, a apargncia do elemento


da superfície (x,y) sobre uma largura de banda visual 1 é
dada por :

R (x,y)=P max(0,n(X,y).n )*r (x,y)+A r (x,y) (2.46)


1 1 p 1 11

onde :

R (x,y) apargncia do elemento da superfície (x,y);


1
P : quantidade de luz que alcança a superfície;
1
✓ (x,y) : albedo do elemento da superfície;
1
A : intensidade de luz ambiental de comprimento 1;
1

n(x,y) versor normal a superfície em (x,y);

n versor na direção da luz (solar).

O autor, alem do modelo de iluminação,


procura aumentar c realismo da projeção do relevo sombreado
com a adição de t(xtura de imagens de satélite.

Existem muitos outros modelos de iluminação,


com algumas variações destes ou com novas hipoteses
95

inseridas ao modelo. Um estudo mais detalhado dos vários


modelos atualmente em uso está fora dos propósitos deste
trabalho. Porém é oportuno, ainda, salientar a existãncia
de alguns estudos para a estimação do vetor normal em um
elemento de superfície dado. Gordon (1985), calcula a
normal a qualquer ponto da superfície, z = f(x,y), através
do vetor gradiente :

Vz = (dz/dx dz/dy , 1) (2.47)

Os valores das derivadas dz/dx e dz/dy podem


ser calculados numericamente pelos métodos de aproximação,
das diferenças para frente, diferença para tras ou media
das duas. O autor apresenta, ainda, uma variação desses
métodos com o objetivo de melhorar a estimaçao dessas
derivadas..

2.5.5 OUTRAS APLICAÇÕES

Neste item serão descritas outras aplicaçõeF,


alem daquelas já apresentadas, que não serão implementada.:
como parte deste trabalho. A descrição dessas aplicações
tem o objetivo de defini-las e apresentar algumas
características importantes relacionadas as mesmas, sele
preocupação de um desenvolvimento teórico mais profundo (14:
cada aplicação. Apesar disso, todas essas aplicaçõe,1
inspiram interesse do projeto do Sistema Geográfico de
96

Informações do INPE e serão implementadas e incorporadas ao


sistema em versges futuras.

2.5.5.1 GERAÇÃO DO MAPA DE PERFIS

As linhas de perfis são determinadas pela


intersecção de planos verticais com a superfície. Os planos
verticais de intersecção são definidos pela direção de
visualização dos perfis e são perpendiculares ao plano base
da superfície. Usualmente, os mapas de perfis são
utilizados para controle de instrumentos de impressão de
ortofotos.

2.5.5.2 DETERMINAÇÃO DA INTERVISIBILIDADE DE PONTOS

A determinação da intervisibilidade consiste


na determinação automática da visibilidade de um ou mais
pontos da superfície em relação a um ponto de refergncia.
Edta aplicação á usada para determinar a faixa de cobertura
de radares terrestres e outros sistemas de rastreamento. É
utilizada também na determinação de locais de instalação de
torres de transmissão e problemas similare 1.
97

2.5.5.3 CALCULO DE TRABALHOS EM TERRENOS

Historicamente, esta foi uma das primeiras


aplicações de dados de MDT. Consiste em se realizar
cálculqs de propósitos gerais para auxiliar os trabalhos
que serão realizados na superfície. Dentre estes podemos
destacar os cálculos de declividades, alturas máximas e
mínimas, distancias, áreas e volumes do terreno. Esses
cálculos são usualmente utilizados para monitoração e
auxílio a projetos de pontes, estradas, parques, edifícios,
represas, etc.., e ate na estimação de reservas minerais,
florestais, agrícolas, etc....

2.5.5.4 SISTEMAS DE CONTROLE DE NAVEGACÃO

Esta aplicação tem o objetivo de auxiliar o


controle de sistemas de navegação aérea ou marítima. um
exemplo típico desta aplicação e o sistema MSAW, "Minimum
Safe Altitude Warning System", que calcula a posição e
elevação de todas as obstruçõed dentro de uma distancia
especificada (Doyle, 1978).
CAPITULO 3

METODOLOGIA PROPOSTA

3.1 INTRODUÇÃO

Neste capítulo serão apresentados e discu-


tidos os algoritmos e estruturas de dados. utilizados na
implementação do sistema de modelagem digital de terreno do
SGI do INPE. A nfase será dada aos aspectos teóricos
envolvidos nas implementações, sem preocupação com a
descrição formal dos algoritmos. Não serão abordados os
aspectos relacionados a consistãncia dos dados de entrada e
gerados durante o processamento, que deverão ser
considerados caso o leitor queira implementar qualquer dos
algoritmos aqui apresentados. De modo geral a descrição dos
algoritmos seguirá a sequância normal de execução das
funções. Qualquer restrição importante, em algum dos passos
do algoritmo, que possa comprometer a compreensão do mesmo,
será tratada durante sua apresentc.ção. A ideia e colocar c
leitor a par dos principais problemas envolvidos na
implementação deste sistema em microcomputadores e das
soluções adotadas para esses problemas. Serão ainda
enfocados os aspectos relacionado,: a integração do sistema
ao SGI. Por este motivo o capitulo iniciará por uma
descrição geral do $Gi para faci,itar a compreeensão das
tarefas de integração do MDT ao mesmo.

99
100

3.2 O SISTEMA DE INFORMAÇÕES GEOGRÁFICAS DO INPE

3.2.1 DEFINIÇÃO E APLICAÇÕES

O-sistema de Informações Geográficas, SGI, do


INPE, á um banco de dados geográficos, baseado em
microcomputador, que permite adquirir, armazenar; combinar,
analisar, e recuperar informações codificadas
espacialmente. O SGI á um banco de dados não convencional
na medida que utiliza, além de tabelas, dados espaciais
graficos e não gráficos, bi ou tri-dimensionais,
armazenados num determinado formato (Erthal et alli, 1986).

Os principais objetivos do SGI sào:

- Integrar numa única base de dados informações


espaciais provenientes de mapas temáticos e
topográficos, imagens de satélite, dados geofísicos
e geoquimicos.

- Combinar as várias informações, através de


algoritmos de manipulação, para gerar mapeamentos
derivados.

- Reproduzir e visualizar o conteúdo da base de dados


geocodificados.
101

As aplicações do SGI esta° relacionadas


diretamente a área da região coberta pelo sistema, que pode
ir de áreas municipais ate áreas estaduais e nacionais. O
sistema, quando atua sobre áreas municipais, é usado,
principalmente, em tarefas de planejamento urbano, pesquisa
sociológica, estudos de mercado e administraóeo municipal.
Quando o sistema abrange áreas maiores, ele tem aplicações,
principalmente, nas áreas de monitoração de recursos
naturais e planejamento, podendo-se citar setores
especlicos tais como: cartografia topográfica, hidrologia,
geologia, agricultura, meteorologia e recurso . florestais.

3.2.2 ESTRUTURA GERAL DO. SISTEMA

O SGI composto por um conjunto de funções


orientadas para as várias fases de armazenamento e extração
de informações codificadas espacialmente. O sistema permite
que o usuário escolha uma região de trabalho e, nesta
região, armazene diferentes planos de informação. A cada
Plano de Informação, PI, está associado um tipo de
informação distinta relacionada a uma determinada região. 7.
um PI pcdem estar associados vários arquivos
corresponuentes as várias fases de processamento desse
plano. A todo PI e, ainda, atribuido um arquivo descritor
do PI contendo todas as informações relativas aos atribute.;
do mesmo. Para cada regiao de trabalho existe um arquivo
diretório que contem o minero de PI's e os nomes dos PI';
referentes a essa região. A região de trabalho corrente 5
armazenada no arquivo contexto do $GI.
102

O SGI do IMPE está subdividido, basicamente,


em 5 módulos, que são:

1. Inicialização : este módulo permite ao usuário a


criação e a escolha de uma região de trabalho, a
definição de novos PI's e o conhecimento das
regiões e planos de informações já existentes.

2. Entrada : este mOdulo e. responsável pela aquisição


de dados de entrada do sistema provenientes de
dispositivos de entrada tais como: teclados, mesas
digitalizadoras, "mouses", etc.... Esse módulo é
responsável, tambá, pela integração desses dados ao
sistema.

3. Manipulaçab : permite que as informações de


diferentes Pies sejam combinadas para produzirem
informações relevantes ou novos PI's para uma dada
região.

4. Saída : e:te módulo é responsável pela impressão,


visualização ou plotagem dos componentes da base de
dados.

5. Gerenciamento : É o módulo responsável pelo


armazenamento e recuperação das informações
contidas na base de dados. A este módulo estão
associadas tarefa ã tais como: abertura, fechamento,
criação e deleção de arquivos, leitura e escrita de
dados e registros •de ou nos arquivos, etc...
103

A Figura 3.1 apresenta um esquema geral dos


módulos componentes do SGI mostrando a interrelação entre
os mesmos.

1 I 1 (--) 1 Inicialização 1 (--) 1 1


1 n 1 1 G 1
1 ti lei
1 e 1 (--) 1 Entrada 1 (--) 1 r 1 Base
á (--) 1 r 1 1 e 1 (--) de
1a1 1 n 1 dados
1 ç 1 (--) 1 Manipulação 1 (--) 1 t 1
o. 1 ál 1 lei
1 o 1 1 1
(--) 1 Saida 1 (--) ---

Fig 3.1 Esquema geral do SGI

Alem desses 5 módulos básicos existe, ainda,


um módulo de interação que e responsável pela comunicação
com o usuário a nível de escolha do tipo de processamento
desejado. Essa interação e realizada por um sistema do tipo
"menu" que permite que se alcance o processamento desejado
percorrendo-se uma estrutura de árvore onde cada nó esta
associado a uma nova tela do "menu". Os nós terminais
104

chamam diretamente as funções principais do sistema. O


diálogo a nível do processamento realizado por um sistema
de perguntas e respostas com valores "defaults" para todas
as respostas.

-to ,
3.2.3 SUPORTE FÍSICO

A configuração básica do sistema possui as


seguintes características:,
- microcomputador : processador central 8088 (16
bits), co '-processador de ponto flutuante 8087 e
memória principal 256 "kbytes";
p'eriféricos : disco Winchester de 10 ou 55 "Mbytes",
disco flexível de 5 1/4 e 8 polegadas, terminal de
vídeo alfanumérico, terminal de vídeo colorido e
semigráfico, impressora semigráfica, mesa digitali-
zadora, plotadora de mesa ou de tambor;
- terminal gráfico : unidade visualizadora de imagens,
composta de 4 planos 1024x1024 pontos, em 256 níveis
por ponto (8bits), com capacidade ele tratar imagens
e gráficos.

3.2.4 SUPORTE LUICO

O SGI está implementado em liguagem C sob um


sistema operacional compátivel com o UNIX da AT&T. Esta
previsto, para meados de 1987, o transporte desse software
105

tambem para o sistema operacional DOS. O SGI faz uso de um


pacote gráfico básico baseado no padrão GKS para saídas
gráficas utilizadas pelo sistema.

3.2.5 ESTRUTURA DOS ARQUIVOS UTILIZADOS

No Apõndice A são apresentadas as estruturas


dos arquivos do SGI que são utilizados, nas tarefas de
modelagem digital de superfícies. São apresentadas, ainda,
as funçõei de manipulação desses arquivos, que fazem parte
do mOdulo de gerenciamento do SGI. Esta apresentação
objetiva facilitar a compreensão, por parte do leitor, da
descrição das funções que compõem o sistema de MDT.

3.3 AQUISIÇÃO

3.3.1 DEFINIÇÕES E OBJETIVOS

A aquisição dos daj.os, triplas (x,y,z), que


representarão a superfície real no sistema de MDT & feita
pela função chamada pontual. Os objetivos desta função são
: ler os dados amostrado por uma mesa digitalizadora,
transforma-los para um sistema de coordenadas de trabalho,
definido pelo usuário, e armazenar esses dados
transformados no arquivo de pontos do SGI.
106

3.3.2 CARACTERÍSTICAS DE IMPLEMENTAÇÃO

A função pontual está dividida basicamente em


2 módulos : módulo de inicialização e módulo de leitura e
armazenamento.

O módulo de inicialização destina-se a


obtenção dos dados iniciais para que o módulo de . leitura e
armazenamento funcione adequadamente. O módulo de
inicialização envolve os passos seguintes :

a) Leitura da região de trabalho corrente, no arquivo


contexto, e interação com o usuário para obter o
nome do plano de informação desejado por este.

h) Interação com o usuário para obtenção dos pontos


de controle. Os pontos de controle são utilizados
para definir o mapeamento do sistema de coordenadas,
(x,y) da mesa digitalizadora para o sistema de
coordenadas (u,v) definido pelo usuário. Usualmente
as coorderadas (u,v) estão relacionadas ao sistema
de coordenadas do mapa que está sendo digitalizado.
A função permite que o usuário defina os pontos de
controle no momento da solicitação ou obtenha esses
pontos de um arquivo de pontos de controle
previamente definidos.,

A equação de mapeamento de (x,y) para (u,v)


do tipo:
107

u =a +ax+ay+a xy (3.1)
O 1 2 3

v =b +bx+by+b xy (3.2)
O 1 2 3

O mapeamento definido pelas equações 3.1 e


3.2 permite transformações de escala, rotação, translação,
cizalhamento ("skew") e "keystoning". O cálculo dos
coeficientes a e b dessas equações e feito substituindo as
coordenadas (u,v) e (x,y) dos 4 pontos de controle nessas
equações. Dessa forma obtem-se dois sistemas de 4 equações
com 4 incógnitas que podem ser solucionados, por exemplo,
pelo Metodo de eliminação de Gauss para obtenção desses
coeficientes.

c) Apresentação, na visualizadora do microcomputador,


das coordenadas dos pontos de controle nos dois
sistemas de coordenadas.

O módulo de leitura e armazenamento e res-


ponsável pelas seguintes tarefas;

a) leitura dos pontos digitalizados pelo usuário;

h) transformação dos pontos amostrados para o sistema


de coordenadas (u,v) utilizando as equaçóes de
mapeamento 3.1 e 3.2;
108

c) Armazenamento dos pontos amostrados, já transforma


dos, no arquivo de pontos do SGI.

3.4 GERAÇÃO DO MODELO

O modelo utilizado e o de grade regular


retangular obtido diretamente do conjunto de pontos
amostrados. Este modelo foi escolhido por ser de "fácil
tratamento na geração das aplicações e ser o modelo mais
utilizado comercialmente. A função que gera esse modelo
está dividida, basicamente, em 3 mádulos: definição da
região de interesse, organização dos pontos amostrados e
geração da grade propriamente dita.

3.4.1 DEFINICÃO DA REGIÃO DE INTERESSE

3.4.1.1 DEFINIÇÕFS E OBJETIVOS

Esta função define uma região de interesse


sobre a projeção ortogonal, do conjunto de pontos
amostrados, no plano xy. A região definida nesta função e o
polígono convexo, ou fronteira convexa, que contem todas as
projeções citadas acima. A região de interesse define a
fronteira válida para a interpolação de um ponto qualquer a
partir dos pontos amostrados. Não se pode garantir
109

consistencia para o valor de cota estimado, a partir dos


pontos amostrados, para um ponto fora da fronteira convexa.
Neste caso essa estimação e considerada uma extrapolação e
não interpolação.

3.4.1.2 CARACTERÍSTICAS DE IMPLEMENTAÇÃO

A implementação desta função está baseada no


algorítmo "hull" apresentado em Handley (1985). Neste Item
será apresentado, de maneira informal, o algorítmo
utilizado na implementação dessa função. Antes da descrição
do algorítmo as seguintes considerações devem ser feitas:

Sendo S=fpl,p2,..pn} o conjunto dos n pontos


amostrados; podemos particionar o conjunto S em 2
subconjuntos, C e N, tal que:

C e o conjunto de pontos de $ que podem pertencer ao


polígono convexo, e
11 e o conjunto de pontos de S que não podem pertencer
a esse polígono.

Podemos definir, como mostrados na Figura


3.2, os seguintes pontos extremos:

minx e maxx os pontos extremos na direção da


coordenada x;
110

miny e maxy os pontos extremos na direção da


coordenada y;

minypx e maxypx os pontos extremos na direção y+x;

minymx e maxymx os pontos extremos na direção y-x;

o
umw
amen :imit
e • e e waren
. e e 4e, e .
e • ,
IIINCYPX
ANOSTRADOS

CUM
o
•••
° "•••••J. e e.
'
I I °4 °
01INTPX •e

e
0
e
teure ° °•
e
e •
WINV IC1
• e

Fig 3.2 Pontos extremos para definição do polígono convexo.

Considerando-se as definições acima, o algo-


ritmo utilizado cara definir a fronteira convexa segue
basicamente os segiintes Passos:
a) Determinam-se todos os 8 pontos extremos, defini-
dos acima, percorrendo-se todos os dados
amostrados. Observe que podemos ter um ponto
associado a mais de um extremo. Isto não causa
nenhum problema ao algoritmo,

b) Seleciona-se, dentre todos os pontos amostrados,


aqueles que são externos ao polígono definido pelos
oito pontos extremos. Estes pontos, mais os oito
extremos, sáo associados ao conjunto C. O problema
maior neste' momento & a definição da posição de
cada ponto amostrado em relação ao polígono
definido pelos extremos. O ponto será externo ao
polígono se ele estiver fora dos limites definidos
pelo mesmo. Caso contrário o ponto & interno ao
polígono.

Um dos métodos mais utilizado para determinar


a posição de um ponto P = (xp s yp) em relação a um polígono
fechado qualquer é o método da contagem do número de
intersecçóes da reta y=yp com os lados do polígono. Se o
número de intersecçóes for impar o ponto está dentro du

polígono, caso contrário o ponto á externo ao polígono. Oz


pontos que estio sobre os lados do polígono podem ser
considerados internos ao mesmo sem prejuízo para o
algoritmo em questão. Para se contar o número de
intersecções deve-se tomar cuidado com alguns casos
especiais como mostrado na Figura 3.3.

c) Os pontos de C são, então, divididos em dois sub-


112

conjuntos:

AC/MA - que contem os pontos que ficam acima do ou


sobre o segmento que une os pontos minx e maxx e;

ABAIXO - que contem os pontos que ficam abaixo


desse segmento.

1
r-^" ---y yr)

- - - - ç - - - - - "Y D

(IA

Fig 3.3 7 Casos especiais de intersecção !om o polígono


(a) os pontos indicados não são cons:derados
intersecçOes' como polígono.
(h) os pontos indicados são considerados apenas
uma intersecção com o polígono.
113

A localização de um ponto P em relação a esses


subconjuntos é definida pelas condições :

Se m 5= m ---> P pertence a ACIMA

Se m t m P pertence a ABAIXO

onde :

mré a declividade do segmento formado pelos


pontos P e minx ; e

ms declividade cio segmento formado por.minx


e maxx.

d) Ordena-se os pontos do conjunto ACIMA em ordem


crescente de x, e os pontos do conjunto ABAIXO em
ordem decrescente de x.

e) Partindo-se do ponto xmin percorre-se os pontos do


conjunto ACIMA e posteriormente os do conjunto
ABAIXO, adicionando esses pontos ao polígono
ccavexo. Para cada ponto adicionado testa-se a
convexidade do polígono. Se a adição do ponto
introduziu concavidade ao polígono, os pontos
114

precedentes, já incluídos nele, são removidos um a


um, ate que o polígono volte a ser convexo.

A convexidade e testada pela determinação do


angulo formado pelos dois ultimos segmentos do polígono,
que está sendo formado. Esse angulo e. determinado pelo
produto vetorial entre os dois vetores, formados pelos
segmentos citados, que partem do penultimo ponto do
polígono. A Figura 3.4 ilustra essa situação.

O produto vetorial entre os vetores AB e AC,


mcstrados na Figura 3.4, e obtido por:

AS x AC = I AS I * I AC I * sen (M) =

= ( x - x )*( Y - Y ) - ( Y y )"( x x) (3.3)


B A C A B A C A

o o
p ara O (= M ( 360

portanto :

se n ( m )

( x - x )*( y -y ) - ( Y - y )*( x - x )
B A C A B A C A
(3.4)
1 As 1 * 1 AC 1
115

e e C

PONTO s
ADICIONADO
mo rodeou*
rsci s* I
a • •
a as //4 • s •
3 •
PONTO PONTO
REJEITADO REJEITADO
1 .C1.
(4 e
em
o

l• I O) ()

Fig 3.4 - Determinação da convexidade do polígono apOs a


inserção de um novo ponto vértice.

O polígono continuara convexo quando o ângulo


M da Figu-a 3.4 for maior ou igual a 180 graus, ou seja,
Sen (M) deve ser menor ou iguala zero. Como o denominador
da divisão da equação 3.4 é sempre positivo, pois trata-se
da multiplicação de mOdulos, então a condição para que o
polígono continue convexo e:
116

(x x )*(y - Y ) - (Y - y )*(x - x ) (.0 (3.5)


BACA BACA

3.4.2 ORGANIZAÇÃO DOS PONTOS AMOSTRADOS

3.4.2.1 DEFINIÇÃO E OBJETIVOS

Em geral, os problemas de geração de modelos


de grade requerem que se conheca o comportamento dos pontos
amostrados situados numa vizinhança do ponto da grade. Uma
forma direta de se determinar essa vizinhança é percorrer
todos os pontos amostrados, calcular a distancia de cada um
deles ao ponto da grade e considerar somente os pontos que
obedecem o critério de vizinhança adotado. Porem a medida
que o número de pontos amostrados cresce, aumenta muito o
tempo de computaçao para determinação dos vizinhos por esse
mátodo. Esse tempo aumenta ainda mais para a geração de
grades mais densificadas. A soluça° para este problema
organizar os pon:os amostrados em estruturas de dados que
facilitem a busca de uma vizinhança do ponto interpolado.

O el.-letivo desta função e organizar os pontos


amostrados segundo uma estrutura de árvore, conhecida como
(2d-A), visando otimizar o tempo de busca dessa vizinhança.

A (2d-A) é. uma estrutura de árvore binária


onde cada nO pai possui no máximo 2 ruis filhos. A
117

organização dos pontos amostrados feita através do


particionamento do espaço ocupado pela projeção horizontal,
dos pontos amostrados, no plano xy. Dessa forma os pontos
amostrados são divididos em grupos, ou nuvens de pontos ,
separados pelos limites de .cada partição. A (2d-A)
representa a maneira como foi realizada a partição e cada
nó terminal dessa árvore está associado ao conjunto de
pontos amostrados que são internos a uma dada partição.

O processo de geração da (2d-A) consiste na


divisão da projeção ortogonal, no plano xy, de um conjunto
de pontos P = ç(xi,yi,zi) ; 1=1,2...,nÇ , em dois outros
subconjuntos P1 e P2 que satisfazem as seguintes condiçOes:

Se (Max(x )-Min(x )) (Max(y )-Min(y )) 1 =

então :

P1 = tp = (x ,y ) , pi pert. P / x < x 1 (3.6)


i 1

P2 = (p= (x ,y ) , pi part. P / x > x 3. (3.7)


ii i p

onde : Min(x ) < x Max(x )

senão :

P1 = {p = (x ,y ) , pi part. P / y < Y (3.8)


1 1
118

P2 = p = (x ,y ) , pi part. P / y y
3 (3.9)
1 11 1 p

onde : Min(y ) 4 y Max(y )


1

A linha divisória x=xp ou y=yp e denominada


particionador e, o indicador que mostra se a 'partição e
horizontal ou vertical e o discriminante. O melhor
particionador e a mediana vertical ou horizontal
(Friedman,1978). A mediana de .um conjunto de pontos é a
reta x=xp ou y=yp • do ponto (x1 7 ,YD), que divide esse
conjunto em dois outros com cardinalidades iguais ou a
diferença entre suas cardinalidades é apenas 1.

O processo de subdivisão parte do conjunto


total de pontos amostrados e é aplicado recursivamente a
cada subconjunto gerado, parando apenas quando a
cardinalidade do subconjunto for igual ou menor que um
limiar pré-deterninado, também conheciâo como valor
crítico.

Durante a subdivisão, os particionadores e


discriminantes são armazenados nos nos não folhas da árvore
juntamente com os apontadores para os ri...is filhos. Os nos
terminais tem informações sobre o conteúdo dos subconjuntos
com cardinalidade menor que o valor crítico. A Figura 3.5
ilustra esses conceitos.
119

O
PARTICIONADOR
Cr= DISCRIMINANTE

o
e ye
Te E
1_5/1 I e Tz
Xe X0

Fig. 3.5 - Organização dos pontos segundo uma árvore


(2d-A)

3.4.2.2 CARACTERÍSTICAS DE IMPLEMENTAÇÃO

A função de organização dos pontos amostrados


segue, basicamente, os passos seguintes:
120

a) Interação com o usuário para obter o —nome do


plano de informação com o qual se quer trabalhar e
o valor crítico que irá definir a cardinalidade
máxima de cada subconjunto da partição.

h) Abertura do arquivo de pontos amostrados.

c) Criação e abertura dos arquivos árvore e pontos


organizados. O primeiro conterá os nOs da árvore
que será gerada. durante o particionamento. O
segundo conterá os pontos amostrados divididos em
registros sendo que em cada registro estarão os
pcntos pertencentes a uma das partições geradas. 0
arquivo de pontos organizados contém ainda um
cabeçalho, vide Apõndice A, com os atributos
relevantes para o arquivo.

d) Transferõncia dos pontos do arquivo de pontos, sem


o cabeçalho , para um arquivo auxiliar que
representará a raiz da árvore.

e) Chamada ua função gera_árvore , que funciona


recursivamente até que todos os nEs da árvore sejam
criados e os registros do arquivo de pontos
organizados estejam atualizados.

A função gera_árvore tem apenas parâmetros de


entrada que são : arquivo de pontos a ser particionado,
valores inferiores, xmin e ymin, e valores superiores, xmax
e ymax, dos pontos desse arquivo, o limite maximo de pontos
per registro, valor crítico, e o número total de pontos
121

desse arquivo. Essa função é recursiva e contém 2 módulos


distintos que são ativados de acordo com o número total de
pontos do arquivo de entrada O primeiro é o módulo de
geragio dos nós não terminais da (2d-A) e & ativado quando
esse número de pontos excede o valor critico. Este módulo
executa as seguintes tarefas:

- Determina o valor do discriminante segundo as


seguintes condições:

Se Max(x )-Min(x ) >.= Max(y )-Min(y ),i =1,2....,n

então discriminante = (vertical) (3.10)

senão discriminante = 'h (horizontal) (3.11)

- Calcula o particionador pelo valor médio das


coordenadas x ou y dos pontos a ser particionado,ou
seja

valor médio = ( S valor )/n (3.12)


i=1 g

onde

n = número de pontos dos arquivo a ser particionado,e


122

valor = x se discriminante = 'V' ou

= y se discriminante = 'h'

Utilizou-se o valor médio ao invés da mediana


nc cálculo do particionador pois o cálculo da
mediana exige que se ordene os pontos a serem
particionados. Porém esses pontos estão localizados
num arquivo em disco e não podem ser carregados de
uma so vez para memória principal devido as
limitações desse tipo de memória em
microcomputadores. A implementação exigiu que os
pcntos fossem lidos do arquivo em blocos de 500
pontos por vez. Isto significa que a ordenação
desses pontos seria muito custosa
computacionalmente por exigir muitos acessos a
memória secundária.

- Cria um novo nó da árvore ao qual serão atribuidos


o discriminante e o particionador, calculados nos
itens acimi, e os ponteiros para dois novos nós
filhos que serão criados nas prrximas chamadas da
função gera_árvore.

- Distribui os pontos do arquive de entrada para


dois novos arquivos, ora criados, segundo os
valores atribuidos para o discriminante e
particionador desse conjuntos de pontos.

- Delata o arquivo de pontos entrada.


123

- Chama a função gera árvore para o nó filho


esquerdo.

- Chama a função gera árvore para o nó filho direito.

O segundo mádulo da função gera árvore á o


módulo de geração dos nos terminais da (2d-A) que
representam um conjunto de pontos com cardinalidade menor
dc que o valor crítico definido pelo usuário. Este módulo
executa, basicamente, os seguintes passos:

- preenche um novo registro do arquivo de pontos


organizados com os pontos do arquivo de entrada da
função;

- delata o arquivo de pontos de entrada;

- cria um novo nó terminal da árvore com as seguin-


tes características: no campo do particionador é
colocado o número do novo registro do arquivo de
pontos organizados; o campo do discriminante não á
ccnsiderado ; e os ponteiros para os nós filhos
são zerados identificando um nó terminal.

- retorna da função com o número de nos correntes da


arvore.

f) Atualização do arquivo árvore com o número máximo


de pontos por partição e os nós da árvore que
acabou de ser gerada.
124

g) Fechamento dos arquivos árvore e de pontos organi-


zados.

3.4.3 GERAÇÃO DA GRADE REGULAR

3.4.3.1 DEFINIÇÃO E OBJETIVOS

A função de geração da grade objetiva a


criação de uma grade regular retangular a partir dos pontos
amostrados e já organizados pela função de organização
desses pontos. O valor de cota de cada ponto da grade e
estimado a partir da interpolação de uma certa quantidade
de pontos amostrados vizinhos do ponto da grade. A função
fornece 6 tipos de interpoladores e permite que outras
funções interpoladoras sejam facilmente adicionadas ao
sistema.

3.4.3.2 CARACTERÍSTICAS DE IMPLEMENTAÇÃO

A função de geração da grade retangular está


estruturada em 3 modulos distintos j iqicialização, procura
dos vizinhos e interpoladores.

A inicialização e responsável pela interação


com o usuário para:
125

a) Aquisição do nome do plano de informação.

b) Definição dos limites inferior e superior das


coordenadas vetoriais, x e y, da grade retangular.

c) Definição das resoluções horizontal e vertical da


grade. Os valores "defaults" para essas resoluções
são calculados automaticamente pela função e
dependem da densidade e da distribuição espacial
dos pontos amostrados.

d) Escolha do interpolador a ser usado na estimação


da cota de cada ponto da grade. Dentre estes temos
as seguintes opções :

1. media dos N pontos Vizinhos mais próximos com


peso:

w = 1 / d ; i= 1,2...,N

onde:
d = distância eucliaiana do i-esimo ponto
amostrado i ao ponto interpolado, e n = expoente
da função distância.

2, media dos N pontos vizinhos mais prOximos com


peso:
126

w = exp(-a*d ) / d ; 1 =
1

onde a está definido na equação (2.7)


°te

3, media dos N pontos vizinhos mais próximos por


quadrante com peso:

ri
w = 1 / d 1 = 1,2.....,N
1 i

4, média dos N pontos vizinhos mais próximos por


quadrante com peso:

ri ri
w = exp(-a*d ) / d ;1 = 1,2.....,N
1

5, aproximação pelo critério dos mínimos quadrados,


pcnderado's, sobre os N pcntos vizinhos mais
prOximos com peso:

ri
w -= 1 / d ;
1 i
127

6, aproximação pelo critério dos mínimos quadrados,


ponderados, sobre os N pontos vizinhos mais
próximos com peso:

w = exp(-a*d ) / d ; 1 - 1,2
1

Para as opções 1 e 3 a função solicita, ainda, o


número de vizinhos mais próximos que deverão ser
considerados na interpolação, e para as opções 2 e 4 o
número de vizinhos mais próximos por quadrante.

(e) Escolha do expoente n da função distância


euclidiana —
d

Este módulo realiza, ainda, as seguintes


tarefas: lá os nós da árvore (2d-A) do arquivo árvore;
.abre o arquivo de pontos organizados; cria e abre o arquivo
grade regular, .e chama a função de procura dos vizinhos e a
função interpoladora escolhida pelo usuário.

A busca dos vizinhcs mais proximos para cada


ponto da grade á realizada pela função _procura vizinhos_
cujo algoritmo segue a sequância abaixo:

a) Dado um ponto da grade, percorre-se a árvore ate


que um n6 terminal seja encontrado. O percorrimento
da árvore baseado nas coordenadas do ponto da
grade e nas informações de cada nó da árvore. Para
128

cada novo n6 da árvore, começando pela raiz, a


função verifica se os seus apontadores estão
zerados. Neste caso encontrou-se um nó terminal e a
busca termina. Caso contrário a coordenada x ou y
do ponto á comparada com o particionador,
dependendo de o valor do discriminante ser vertical
ou horizontal respectivamente. Se a coordenada for
menor que o particionador a busca continua pelo
filho da esquerda desse nó, caso contrário, o filho
da direita desse nó é considerado.

b) Alcançado um n6 terminal, re os pontos do


registro, "do arquivo de pontos, que está sendo
apontado pelo nó.

c) Calcula a distancia de cada ponto .desse registro


ao ponto da grade.

d) Ordena os pontos desse registro em ordem crescente


de distancia, criando uma lista de vizinhos mais
próximos ordenados em relação a distancia de cada
ponto ao ponto da grade.

e) Define uma região de influgncia em torno do ponto


da grade.

A região de influgncia é uma janela definida


pela adiça() e subtraçio da dis:ância, dm, das
coordenadas x e y do ponto da grade como mostrado na
Figura 3.6. A determinação de dm respeita o seguinte
critério: Se o número de pontos da partição, a qual
129

pertence o ponto da grade, for menor ou igual ao


número de 'vizinhos mais próximos definidos pelo
usuário, então, dm será a maior distância calculada no
passo (c) acima. Caso contrário utiliza-se a
distância do ponto da grade ao k-esimo ponto .do
registro, onde k é igual ao número de vizinhos mais
próximos desejado. A distância dm é ainda multiplicada
pelo número de vezes que a •execução da função passa
por este Item. Isto e necessário para o caso em que a
janela definida não e suficiente para se obter um
número de pontos vizinhos igual ao 'desejado pelo
usuário.

f) Visita todos os nos terminais que representam


partições que interceptam a janela de influencia
definida no Item anterior.

g) Calcula a distância de cada ponto desses registros


ao ponto da grade e os insere na lista de vizinhos
mais próximos de acordo com as respectivas
distâncias calculadas.

h) Verifica se o numero de pontos da lista de


vizinhos mais próximos e menor que o número de
vizinhos mais próximos definido pelo usuário. Neste
caso a fl Inça° volta para o item (a) Caso contrário
a função retorna com a lista dós vizinhos mais
próximos desejados.

O módulo de interpoladores contem as funções


que realizam as interpolações descritas no Item (d) do
130

módulo de inicialização. Antes de chamar uma dessas funções


de interpolação testa-se se o vizinho mais próximo está a
uma distância, do ponto interpolado, menor que um limiar
pra-definido. Caso isto ocorra o valor de cota atribuído ao
ponto da grade será igual ao do vizinho mais próximo e a
função de interpolação não ó chamada. Caso contrário
realiza-se uma chamada a função de interpolação escolhida
pelo usuário. O limiar de proximidade de um vizinho ao
ponto da grade é calculado pela relação:

2 2
limiar = (resolx resoly )/100. (3.13)

JANELA DE •
• °INFLUENCIA °
J
O
g
;E
• C
—— 1(-. • f2
• 1 e .0-
e
rb 1
1
e e
Ida'
e
• 1 • • 1 1 •
• •
r3
YI

Be 1
1. _c_.— _ 1
a
. e
e o
e 11 1
4 °•
e e
• G •
• • • •
4
• e


X, X0 X2 X3

Fig. 3.6 - Definição da região de influóncia em torno do


ponto da grade.
131

onde: resolx. e resoly são as resoluções da grade nas


direções das coordenadas x e y-respectivamente.

3.44 REFINAMENTO DA GRADE

3.4.4.1 DEFINIÇÕES E OBJETIVOS

O objetivo desta função é o refinamento, ou


densificaçáo, de uma grade regular retangular gerada
previamente pela função gera grade. O interpolador
utilizado no refinamento da grade é do tipo bilinear,
definido pela equação 2.23, aplicado a cada uma das celulas
retangulares da grade. Essa função cria um arquivo imagem,
gerado a partir da grade, com resoluções horizontal e
vertical definidas pelo usuário.

3.4.4.2 CARACTERÍSTICAS DE IMPLEMENTAÇÃO

A função de refinamento executa, basicamente,


as seguintes tarefas:

a) lá o arquivo contexto apresenta na teia do


microcomputador o nome da região de trabalho
corrente;
132

h) interage com o usuário para obter o nome do plano


de informação desejado;

c) abre o arquivo grade e lista os seguintes


atributos da grade de entrada: resoluções
horizontal e vertical da grade; número de linhas e
colunas da grade; e limites inferior e superior das
coordenadas vetoriais x e y da grade;

d) interage com o usuário para adquirir as resoluções


horizontal e vertical da imagem de saída;

e) lista os seguintes atributos da imagem de saída,


calculados a partir das resoluções definidas no
Item (d) acima : número de linhas e colunas da
imagem e limites inferior e superior das
coordenadas vetoriais x e y da imagem de saída ;

f) cria um arquivo tabela que maceis a variação dos


valores de cota da grade de entrada para a faixa de
variação dos níveis de cinza que são associados a
um arquivo imagem (os níveis de cinza da imagem
variam ertre O e 255),

g) calcula a 'cota , de cada pixel .(la imagem através


de uma interpolação bilinear sobre a célula que
contem o pixel em questão. Essas 'cotas' são
mapeadas para níveis de cinza e armazenadas no
arquivo imagem .
133

3.5 PROJEÇÃO GEOMÉTRICA PLANAR

3.5.1 DEFINIÇÕES E OBJETIVOS

Na versão atual do sistema é pogsível gerar


projeções perspectivas, paralelas e pares estereoscOpicos
diretamente sobre os dados do arquivo grade ou arquivo
imagem, resultante do refinamento de uma grade. A função
que gera essas .projeçOes a partir da grade regular
retangular foi inicialmente desenvolvida como trabalho de
graduação (Palludetti and Hayama, 1985). Posteriormente
essa função foi adaptada para funcionar com rotinas básicas
gráficas baseadas no padrão GKS e criou-se, também, uma
nova função para projetar imagens geradas por refinamento
de grades regulares. As estruturas dessas duas funções são
exatamente iguais. A única diferença entré elas á a fonte
de dados a serem projetados, arquivo grade regular ou
arquivo imagem. Por essa razão todas as considerações
feitas nos prOximos Itens serão, válidas para as duas
funções, a menos que se faça referância específica a uma
delas.

3.5.2 CARACTERÍSTICAS DE IMPLEMENTAÇÃO

A função de geração das projeções pode sei.


dividida, para maior facilidade de compreensão, em 3
134

modulos distintos : inicialização, cálculos preliminares e


traçado da projeção.

3.5.2.1 INICIALIZAÇÃO

Alem da leitura do arquivo contexto, para


buscar a região de trabalho corrente,e da interação com o
usuário, para obter o nome do plano de informação, o mOdulo
de inicialização responsavel pela interação com o' usuário
para aquisição dos seguintes dados relativos a projeção:

- fator de escala : fator multiplicativo das cotas


dos pontos a serem projetados;

- fator de amostragem : fator que define as linhas da


grade ou imagem que serão projetadas;

- ângulos de visualizazio : ângulos azimutal e


de elevação que definem a direção de projeção;

- periférico de saída : estação de trabalho associada


ao periférico de saída que o usuario quer utilizar
para a saída da projeção;

- tipo de projeção : projeção paralela, perspectiva


ou par estereoscópios;
135

- cor de saída : cor de aparecimento da projeção nd


periférico de saída. No caso de se querer projetar
o par estereoscópico o usuário deve escolher duas
cores de saída, uma para cada projeção, de acordo
com o filtro que será usado na visualização;

- janela de entrada : coordenadas vetoriais ,


xmin,xmax,ymin e ymax, que limitam a janela da
grade ou da imagem que sé quer visualizar;

- ianela normalizada de salda : coordenadas


normalizadas, intervalo (0,1), do periférico de
saída que delimitam a janela do periférico que
será usada na projeção.

Alem dessas tarefas, este módulo é respon-


sável também pelas inicializações do GKS e da estação de
trabalho, pela ativação dessa estação e peles definições
das transformações de coordenadas e atributos das
primitivas de saída do GKS.

3.5.2.2 CÁLCULOS PRELIMINARES

O objetivo deste módulo o cálculo dos


coeficientes da matriz de transformação geométrica ci•
acordo com a direção de vfsualização e o tipo de projeção
definidos pelo usuário.
136

Esse módulo define, também, um fator de


escala e uma translação, de modo a colocar o centro da
projeção no centro da janela normalizada de saída e para
garantir úma visualização global da superfície no
dispositivo de saída. Esse fator de escala e a translação
são utilizados para o cálculo de uma janela de entrada
cujos valores de coordenadas serão utilizados como
"defaults" para a definição dessa janela. Isto significa
que a escolha desses valores fornecerá ao usuário uma
visualização total da superfície, qualquer que seja a
direção de visualização e a projeção previamente definidas.

Outra característica importante deste mOdulo


é a transformação da faixa de variação das coordenadas de
projeção para o intervalo (O - 1500). Isto irá facilitar
sobremaneira a tarefa de escondimento de linhas ocultas que
será tratada no Item seguinte.

3.5.2.3 TRAÇADO DA PROJEÇÃO

A primeira tarefa deste mOárlo é a escolha da


ordem de projeção das linhas da grade ou da imagem. Essa
escolha é determinante para o bom funcionamento do
algorítmo de" escondimento de linhas aqui utilizado. Segundo
esse algorítmo, as linhas mais prOximas ao ponto de
visualização devem ser projetadas antes das linhas mais
distantes. Por isto, deve-se escolher entre projetar a
grade da primeira para a última linha, como armazenada no
arquivo, ou vice-versa.
137

0 algorítmo de escondimento de linhas baseia-


se na definição de 2 vetores de pontos representando uma
máscara superior e uma máscara inferior que definem se um
dado segmento de linha é, ou não, visível segundo os
parametros de visualização definidos. A primeira linha
projetada e considerada totalmente visível e as máscaras
superior e inferior são atualizadas pelos pontos dessa
linha. A quantidade de pontos dos vetores máscaras depende
da variação das abscissas dos pontos da superfície
projetada. Como já foi visto, a função de prOjeção delimita
essa variação entre O e 1500. Definiram-se então esses
vetores com 1500 posições associando cada uma dessas
posições a uma abscissa diferente da janela de projeção.

O critério de escondimento ou de visibilidade


é o seguinte: se um segmento está totalmente acima da
máscara superior ou totalmente abaixo da máscara inferior,
então ele é visível; se os extremos desse segmento estão
entre essas duas máscaras então ele é invisível; e se um
dos extremos do segmento está entre as máscaras e o outro
não, então o segmento é parcialmente visível.

Para exemplificar o método usado, considere


o segmento AB da Figura 3.7. Considera-se que esse segmento
é formado por uma serie de microsegmentos cujas abscissas
estão relacionadas a duas abscissas consecutivas de AB,
iniciando-se pelo ponto A ate se alcançar o ponto B. G
critério de visibilidade é aplicado a cada um desse:.
microségmentos. Quando o microsegmento nao e totalmente
138

S IGMENTO
PROJCTAO O
MIGROSEGMENTO S ACARA
EA 1 5 SUPERIM
ta
TR*I
Ire I— ri
I ela misc."
I 6' INFERIOR

EA Aki. Xe (500

Fig. 3.7 •Escondimento


- de um segmento projetado

1 e e 1 1 1 I 1
e 1 1 1 1 1 1 • 1
1 Wt.ICARA 1 1 IMSGARA 1 1 MI:SCARA 1 i MASCARA!

V V 1 71 Is io/#0/1.41
t
a
Lel
tes* e I 41+1
I I 1
I I I I
I I 1 i I
e I
a e i I 1 I le I
se, sem sei sne st xis;
. x. Elv.1
(O ) (b) (c 1 (0)

Fig. 3.8 - Soluções para visibilidade de microsegmento


parcialmente visível. (a) soluçâo rigorosa. (h) e (c)
soluções não r-gorosas com segmento visível. (a) solução
não rigorosa com segmento invisível.
139

visível ou invisível, uma das soluções não rigorosas


apresentadas na Figura 3.8 á adotada. A solução (d) dessa
figura deve ser adotada sempre que o microssegmento for
invisível à percepção do olho humano ou devido a resolução
da tela.

A primeira linha, da grade ou imagem, a ser


traçada depende do angulo azimutal, phi, de visualização
escolhido pelo usuário. Se -90 (phi( 90 , o traçado deve
ser iniciado pelo lado A da Figura 3.9; caso contrário, o
traçado deve ser iniciado pelo lado B.

phi

• • • zb •
• • • • so
z'
• • • e 4, •
phi- phi+
Z
PM .40 A

Fig. 3.9 - Escolha da primeira linha a ser projetada


140

Definida e traçada a linha inicial, para cada


nova linha, a função responsável pelo traçado da projeção
realiza, basicamente, as seguintes tarefas :

a) Verifica se a linha deve ser traçada. Dependendo


do fator de amostragem escolhido pelo usuário, essa
linha deve, ou não, ser projetada. Caso a linha não
deva ser projetada, uma nova linha será lida do
arquivo e a função volta para (a).

b) Aplica o fator de escala, definido pelo Usuário,


as cotas dos pontos da linha.

c) Aplica as transformações geometricas e de projeção


a cada microsegmento da linha e verifica a
visibilidade do mesmo. Aqueles que são parcialmente
visíveis são transformados em Visíveis pela solução
(c) da Figura 3.7. Apenas os segmentos visíveis são
plotados no dispositivo gráfico de saída.

Fera traçado do par estereoscopico a se-


quõncia acima e repetida 2 vezes, cada tina com um ponto de
visada e uma cor de saída diferentes. Ar, cores são aquelas
definidas pelo usuário no módulo de inicialização. O
problema maior á a definição dos pontos de visada
utilizados para ;:ada uma das projeções cónicas que formam o
par estereoscópio°. A Figura 3.10 ilustra a solução dessa
questão.

Como visto na Figura 3.10, a distância entre


os pontos de visada, na direção paralela ao plano xy, deve
141

ser aproximadamente igual a distância entre as pupilas,


dip, dos olhos humanos. Assim cada ponto de visada é
deslocado dip/2 para a esquerda e para a direita em relação
ao ponto central de visada, pcv. Isto torna possível a
visualização da superfície, com um filtro adequado, como se
o ponto de visada estivesse situado em pcv,

Fig. 3.10 - Distância entre os pontos de projeção para


definição do par estereoZcópico.
142

3,6 MAPA DE CONTORNOS

O processo de geração do mapa de isolinhas,


ou mapa de contornos, está dividido em duas funções:
geração e armazenamento das isolinhas e plotagem das
isolinhas. A primeira é responsável pela determinação das
isolinhas do mapa e armazenamento de cada isolinha
separadamente num arquivo de linhas do SGI. A segunda
função plota as isolinhas, armazenadas num arquivo de
linhas, segundo alguns atributas definidos pelo usuário. Os
aspectos de implementação dessas duas funções serão tema
dos próximos Itens.

3.6.1 GERA Ç ÃO E ARMAZENAMENTO DAS ISOIINHAS

3.6.1.1 DEFINIÇÕES E OBJETIVOS

A função de geração e armazenamento das


isolinhas tem os seguintes objetivos:
- obter as isolinhas de um modelo digital de terreno
a partir de um modelo de grade regular retangular,
e
- armazenar as isolinhas obtidas num arquivo de
linhas do SGI.
143

3.6.1.2 CARACTERISTICAS DE IMPLEMENTAÇÃO

Para aumentar a facilidade de compreensão


desta função ela será dividida em 4 mOdulos distintos:
mOdulo de inicialização; mOdulo de busca das isolinhas
referentes a cada cota; mOdulo de separação e compressão de
isolinhas distintas de mesma cota; e mOdulo de
armazenamento dos pontos que compõem essas isolinhas.

O mOdUlo de inicialização e responsável: pela


interação com o usuário para obtenção dos dados necessários
ao funcionamento da função, pela verificação da
consistência dos dados de entrada, pela verificação da
existência e abertura do arquivo grade regular e pela
criação e abertura do arquivo de linhas que será utilizado
para "armazenamento das isolinhas. A interação com o usuário
e necessária -para a obtenção dos seguintes dados de
entrada:

- nome do plano de informação;


- valor de cota mínimo desejaeo do mapa de contornos;
- valor de cota máximo desejado do mapa de contornos,
e
- espaçamento entre as isolinhas.

Estas três últimas informações irão definir o


número total de cotas de isolinhas que farão parte do mapa
de contornos.
144

Os fres módulos seguintes são chamados uma


vez para cada valor de cota que foi definido usuário no
módulo de inicialização.

O modulo de busca das isolinhas percorre,


para cada cota, todas as células do arquivo grade regular
procurando a.a. possíveis intersecções de isolinhas, que
possuam esse valor de cota, com cada célula. Os pontos de
intersecção encontrados são armazenados temporariamente num
vetor de pontos.

O módulo de separação e compressão de


isolinhas distintas de mesma cota faz uma busca nesse vetor
tèmporãrio de pontos para determinar as isolinhas distintas
contidas nesse vetor. Para cada isolinha diferenciada faz-
se uma redução de dados para eliminar os pontos redundantes
dentro de um certo critério de inclinação dos segmentos
formados pelos pontos que compõem essa isolinha.

Finalmente o modulo de armazenamento e cha-


mado para que cada isolinha distinta e reduzida seja
armazenada num ..'egistro do arquivo de linhas. Juntamente
com os pontos cue compõem a isolinha são armazenadas,
ainda, algumas informações extras, tais como : retãngulo
envolvente da isolinha, natureza da isolinha, aberta ou
fechada, etc.— que fazem parte do cabeçalho de cada linha
do arquivo de línhas. Estas informações serão úteis quando
da utilização dessas isolinhas por outras funções.
145

3.6.2 PLOTAGEM DAS ISOLINHAS

3.6.2.1 DEFINIÇÕES E OBJETIVOS

O objetivo desta função é a plotagem das


isolinhas previamente armazemadas num arquivo de linhas.
Esta função permite que o usuário escolha, dentre outras
características, o dispositivo de saída e o local desse
dispositivo que as isolinhas irão aparecer, o tipo de
interpolador que irá suavizar as isolinhas e a colocação
automatica, ou não dos valores de cota sobre as linhas
mestras do mapa. Esta função faz uso das rotinas do pacote
gráfico básico baseado no padrão OKS e a cada dispositivo
de saída está associado a uma estação de trabalho
diferente.

3.6.2.2 CARACTERÍSTICAS DE IMPLEMENTAÇÃO

Esta função está dividida, basicamente em 2


módulos distintos: módulo de inicialização e módulo de
plotagem.

O módulo de inicialização é responsável: pela


interação com o usuário para obtenção dos dados necessários
ao funcionamento da função, pela verificação da
consistência dos dados de entrada, pela verificação da
existência e abertura do arquivo de linhas e pela
146

inicialização do GKS. A interação com o usuário ó


necessária para a obtenção dos seguintes dados de entrada :

- nome do plano de informação;


- tipo de interpolador : a função atualmente permite
que o usuário escolha entre não utilizar nenhum
interpolador, que permitirá uma saída mais rápida
do mapa, ou um interpolador do tipo Akima 2-d;
- dispositivo de salda : o usuário pode optar por
uma unidade visualizadora do tipo crt ou uma
plotter;.
- cor de saída;
- plotagem ou não dos valores das cotas sobre as
linhas mestras;
- janela normalizada : valores máximos e mínimos
normalizadas das coordenadas x.e y de saída do mapa
de contornos no dispositivo de saída.

O módulo de plotagem tem a incumbãncia de


plotar o mapa de contornos conforme especificado pelo
usuário no módulo anterior. Essa plotagem, basicamente,
lê as isolinhas do arquivo de linhas, interpola os
pontos , adiciona cotas as isolinha.; mestras caso o
usuário assim o queira e mostra esses dados no
dispositivo de saída escolhido fazendo uso das funçOes
de saída do GKS.
174

A quarta e última medida de erro foi feita


nas mesmas condições anteriores com as seguintes
modificações: o valor do número de vizinhos mais prOximos
considerado na estimação do valor de oota de cada ponto da
grade foi fixado igual a 4 para os interpoladores 1 e 2 e
igual a 1 'Por quadrante (total igual a 4) para os
interpoladores 3 e 4 e variou-se o interpolador. Os
resultados obtidos foram os seguintes:

Para interpolador número 1

erro RMS...... 0.0416


erro médio ...... 0.0007
erro médio (modulo). 0.0249
variância do erro 0.0017
desvio padrão 0.0416
erro mínimo -0.4230
erro máximo 0.2578

Para interpolador número 2

- erro RMS 0.0421


- erro médio.... ...... 0.0002
- erro médio (modulo). : 0.0248
- variáncia do erro... : 0.0018
- desvio padrão. ...... 0.0421
- erro mínimo -0.4148
- erro máximo ..... : 0.2628

Para interpolador número 3


173

- erro RMS • 0.0422


- erro médio • 0.0009
- erro médio (modulo). : 0.0277
- variância do erro... : 0.0018
- desvio padrão ..... .. : 0.0422
- erro mínimo • -0.2722
- erro máximo 0.1904

A observação dos resultados apresentados


acima leva a escolha do valor 6 como a quantidade ideal de
amostras para formar a vizinhança de cada ponto a ser
interpolado. Porém este não deve ser considerado o valor
&timo para ser usado para qualquer superfície e em
quaisquer condiçâes. É de se esperar que para superfícies
mais rugosas esse valor deva ser diminuido sob pena de se
considerar amostras que não reprEsente a variação local
correta da superfície. Observa-se ainda que existe uma
relação inversa entre o expoente da função de ponderação e
o número de amostras da vizinhança de cada ponto
interpolado. O efeito de se escolher Uma vizinhança muito
numerosa pode ser destruido pela escolha de um expoente em
valor absoluto maior. Como a vari,Ação no valor do expoente
da função de ponderação não afeta o tempo de geração da
grade (como visto anteriormente) deve-se escolher uma
quantidade de amostras vizinhas não muito grande (pois do
contrário aumentaria-se muito o ).empo de geração da grade
). Em seguida varia-se o valor do expoente de ponderação de
acordo com as características me] entes a superfície. Isto
pressupOe um sentimento a priori, por parte do usuário, do
comportamento da superfície que se quer modelar.
CAPITULO 4

RESULTADOS OBTIDOS

4.1 INTRODUÇÃO

Neste capitulo serão apresentados os resul-


tados mais importantes referentes a funcionalidade dot
sistema de MDT implementado. Será ainda analisado (À
desempeÁho de algumas funçóes em relação ao tempo d%
processamento gasto e aos erros envolvidos ns
processamento. 9C

Para possibilitar a analise desses resultados


fol utilizado um programa que gera amostras de uma função
matemática conhecida. Essa função gera amostras aleatórias
e a função matemática escolhida foi a função:

sinc(x) = (sen(x))/x -4*p1 < x < 4*pi (4.1)

pi = 3.1415927...

Relativos a esta função gerou-se 4 conjuntos


de amostras que sao:
amostras £1 - 100 pontos amostrados da função sinc(x);
amost:as £2 - 200 pontos amostrados da função sinc(x):
amostras £3 - 500 pontos amostrados da função sinc(x);
amostras £4 -1000 pontos amostrados da função sinc(x);

147
148

Utilizou-se também um conjunto de amostras


que será referenciado no texto como conjunto de amostras £5
e que representa uma amostragem de uma superfície real.
Essas amostras foram obtidas de um par estereoscópio° na
escala de 1:10000, pertencente a uma cobertura
aerofotogrametrica realizada especialmente para a
construção de ortofotos na região de Agulhas Negras, no
estado do Rio de Janeiro, Brasil (Destri, 1987).As
coordenadas x e y dos pontos do conjunto de amostras £5
representam posições de uma faixa de terreno da região de
Agulhas Negras. As coordenadas z desses pontos representam
i altura relativa a cada uma das posições (x,yk, desse
fêrreno. A aquisição das coordenadas foi feita segundo
perfis igualmente espaçados, paralelos ao eixo das
ordenadas do instrumento restituidor fotogrametrico. O
restituidor usado foi um Aviógrafo Wild 8-88 , com
registrador digital de coordenadas. Adquiriu-se tambem
amostras ao longo das linhas características do terreno.

Na Figura 4.2 pode-se visualisar a dis-


tribuição da projeção ortogonal sobre o plano xy do
conjunto de amostras £3. A Figura 4.3 ilustra essa mesmo
tipo de distribuição para o conjunto de amostras £5.

4.2 AQUISIÇÃO

Como visto no capítulo 3 a função de


aquisição implementada adquire dados de mapas existentes
1.49

através de uma mesa digitalizadora. Essa função adquire


inicialmente quatro pontos de controle que servem para
gerar a função de mapeamento das coordenadas de mesa para
as coordenadas de armazenamento dos dados digitalizados.
Após isto a função adquire os pontos digitalizados pelo
usuário, transforma-os .em coordenadas de armazenamento e
armazena-os no arquivo de pontos amostrados. Essa função
adquire os pontos de controle e as amostras em tempo real
e os testes realizados não indicaram nenhum tipo de
problemas com a aquisição desses pontos desde que o sistema
esteja sendo utilizado no modo monousuário do sistema
operacional. No modo multiusuário observou-se perda de
informação enviada pela mesa. Isto ocorre devido a forma de
atendimento dos usuários característica do sistema
operacional Analix. No modo multiusuário há uma perda de
sincronismo entre o envio da amostra pela mesa
digitalizadora e a aquisição dessa amostra 'pelo
microcomputador. Portanto na versão atual do sistema
implementado deve-se utilizar essa função de amostragem
dados da mesa apenas no modo monousuário do sistema
operacional Analix.

Os erros associados aos pontos digitalizados


são praticamente de origem humana, ou seja, os erros de
precisão da mesa são desprezíveis em relação aos erros
causados Por imprecisão da colocação do cursor sobre o:
pontos e de tremulação da mão do usuário no momento de
mover o cursor sobre a mesa e de apertar a tecla de
digitalização do cursor.
150

4.3 GERAÇÃO DO MODELO

4.3.1 REGIÃO DE INTERESSE

A região de interesse implementada é a


fronteira convexa que envolve o conjunto pontos amostrados
pelo usuário. O algoritmo utilizado na definição da região
de interesse sobre um conjunto de amostras mostrou-se
muito eficiente em relação ao tempo gasto para a geração
dessa região. A Figura 4.1 mostra o gráfico da variação do
tempo gasto para a geração da região de interesse em função
dc numero de amostras total. Observa-se que o tempo de
geração cresce proporcionalmente ao número de amostras.
Apesar disto esse tempo é considerado bastante pequeno se
comparado com os tempos de organização dos dados e de
geração do modelo de grade regular retangular que serão
mcstrados nos itens que seguem. Portanto a tarefa de
-
geração da fronteira convexa não compromete o desempenho do
sistema de MDT imnlementado.

A Figura 4.2 ilustra o processo de geração da


fronteira convexa que delimita o conjunto de amostras £3.
Os pontos marcados com * são os extremos que definem a
primeira aproxima )ao da fronteira que se está buscando (ver
Figura 3.2). Os pontos marcados com + são os pontos
externos a essa Negião e os candidatos a formarem a região
convexa. Na Figura 4.3 pode se visualizar mais nitidamente
-

a fronteira convexa definida sobre esse conjunto de pontos.


151

A Figura 4.4 mostra a fronteira convexa


gerada sobre o conjunto de amostras £5.

4.3.2 ORGANIZAÇÃO DAS AMOSTRAS

Esta função é determinante no desempenho


temporal do processo de geração do modelo. O tempo de
organização dos pontos amostrados depende do número total
de amostras e do número de pontos por partição escolhido
pelo usuário. O primeiro parametro é dependente do processo
de aquisição das amostras e uma vez definido não pode ser
mudado pelo usuário. Já o número de pontos por partição
pode ser escolhido livremente pelo usuário e deve ter um
valor tal que otimize os tempos gastos na organização das
amostras e na geração do modelo digital.

83

44

23
16

..•
I G..sO eg
M
ca
O
O
51
tg
W
nú mero
amostras
M
Fig. 4.1 - Tempo de geração da região de interesse x
quantidade de amostras.
152

.- e. . .
. . , e • .
e
• •■ • o • •
. •
o
. 0
0, • e°
• o O e te •
e • e
II * e • e e e e
o e • e o
e e . ° e
O • •.• e e* • .
• . •• , • o
• • • 49 • e
e o .• ..• e e
. e. ° e e •
... e •
e
e o e
e •
e Ne o e
e o a
e e e •e . e e e
e oe e e
• eo e :. • • e e
e o
e e e .
e ...e •
• e o • e o'oe
°
• e o o o
e e e

e . e e e • .... e
• e e• e
e e .
a o
e* e e o e •
e e
: e° e * e .. e
• e e e • e
• e•
e o se e.
e s e, ‘ e e° e
: • . e e
Oe • o • •
• C • O e 4
• e e o • • e e
a
e e fr O .
0. e 0 45 G
e
O 4 O • • o O e
o: o O • . • 0 O
• 0 •
e e
e
e e • °e e • e . e
e • .. • • se • . * e
• •• • Ia e •
• e
• e • •
• e o
• • ..• • •
b e •
o e
i■ e e
e° e
es . e • . • •
o • e&
e e e e
e e e o* e
.
• e •
e
e
.„(.., I. .° °
e : • :

Fig. 4.2 - Processo de geração da região de interesse sobre


o conjunto de amostras £3
153

.• • •




e

rr% ee

•e . a % e e • • I e • e * e .•
• , e e e • •e e e 4
. •
• •• • • e e . 4, e
se. e e
• a e to
e • a o ce
e e NP e e
e ao e • e ...
e a
I • o se e e
• e • e
• ee e e • o •
o e e
e • .
a e e
e e.
*e e e • e
e e .2 . • e
e
a e° • a
e.a. e e e •
i a e. •
e ta e
.° • e et
e• .
e o • o o
• : • •
• o
o e e
a
e
e e e ao

• e

e
e
e •, e • te.
e
*e a :
a a
e e
e• e a e
e e
e ta
e : ee • • oe

• • o e
e •
O • e


O
:0
••• 'et• o eeee • e se e
••
e

e • e • e
e e
e
e e •
e • e e •
e • e
• do
e • o
•e • . e .
e e e e o , a e
• e
de O e • o o
e e e te
e e
e • D •

• e
e
• • e
e •e e
• e e .. e o e e e

• es e e •
e e • :
e • • e • e
e e e te • e
e e e •
a e o
lb % e e
•• O ee qi e • • • e • • • ••
0 C • O • •
• : • • 0 • 0

• % •• • O


Set
• • • :

Fig. 4.3 - Fronteira convexa do conjunto de amostras £3.


154

e• : . • „ • . , • • • • •. .•. ... .
• . 4 e•s
• • • •• . •e , • , . • • • •• • • , • . • • •
.. 0 • • • . • • •• • . ... • *o •• • • •• :

• , • .. " • •• • , • e • • e .
go.. , • ... . , , e e :„
, e a • , • * e
• „ • t . • e e .
• ••
e; e • e , • • • • • .... e

ri
lt • e e e . se. e e • • • .
• se,
..
• e
• • • • • • • e • , • •• • • • , • , • • e c. „ °
• • • : e . • • e • . • „
• „., • • • .. • • e e • , . e • • , • _ e • o *, e
• • • • ..
co e. • • e , .•• a •e•• **
a e** e • • e:: e • e .. o • e • .es .
.., •
. , •
.. C.: . • •• . °• o . • e
• .. *, • : • e •• • • ...
• :., •.
e , . • • . • • • • • e • ..... e • • . e 9,be e . e9.....

• Ge • ••• • •••• • • • »• • •• • • e e e • • 6•:•••


••••.
••••••••.*••, C • e te
•••:•• ,0$ ee•• • •
e e e0 ,6 e e n • ••• 4 e .
• ..ee
e e•,
. ..
• :•
• • •
••••esseesee••••• ■ • : ee ee e e.
•• • • eme e eeee e e e • „ •
• ..es ee % ••• •• • •• •• • • • • •
• ••••
•••• • • ee 5•• 1.• .••
e „et " e4
• . • .: ,•• .• e .
e• • ••

e • • • • . : : • . s t. % 1 '• • : . • . •••• te. e " ° • . • • e • • ° • •


. . • . . • • e “ • • e.. e.. .•.
: • • • • . . • •• . • •• • • • • . • . . • . . •• .•
. .
. • • .• t •.. • .. • •.*:•• • • •.•• •••. ::•”. e • . • e • • •• -......... .
. . .. • .... e „. • e• ...•
• . • • • ee . e • • • e• e • o °ee. 5 • , oe • • •
• e . • • 5, 5. • • e . , •••
• . • • • • • • • •.. • •
• • , • • • e • e? e e•. • .e
e•
... s e s • •" es es *::°• ..e et é 4"...•"
1!. ••••••t •• •• • • • •e • • • e • • N.
• • •,• • • e • e
e • • *G....
•• 1.7

. , t?...• . • • ..
• e • . • .. c e
• • . • •
•••••
• •e
.e eee ee Se •• e e••:••••••• ••• : •••
,•
•••••
e e e e • e e • • ••• •• ••••,.
C
••• e • ?••
ee095eCee..• 0


•••••• 5 a ea . . . • • • • • . , • • • ' . .*: . • e.• ..•
e • e ese . • • • e.
• . . e • • .
e • e t .*.• • . o . oe.• .•
e
a ••• e • °• •
• •• e . • . . • . • . ° e • • • . . . . e
• .. e • e . . • . • . 4
• • . . . . • • •• • • . . . ..

Fig. 4.4 - Fronteira convexa do conjunto de amostras £5.


155

O'grafico da Figura 4.5 mostra uma variação


crescente e aproximadamente linear do tempo de organização
das amostras em função do número das amostras . O gráfico
foi obtido a partir do conjunto de amostras £3 com uma
organização das amostras com 32 pontos por partição.

Os gráficos das Figuras 4.6 e 4.7 mostram a


variação do tempo de organização das amostras em função do
número de pontos por partição. Os dados representados
nesses gráficos foram obtidos respectivamente dos conjuntos
de amostras £1 e £3. Observa-se que o tempo de organização
das amostras diminue com o aumento do número de pontos por
partição. Observa-se uma diminuição aproximadamente
exponencial, que seria mais nítida caso fosse utilitada a
mediana ao invés do valor médio no cálculo do valor do
particionador durante o particionamento do conjunto de
amostras.

313

1513

58
30

O i Serro
I g g o
O o O amostras
Fig. 4.5 - Tempo de organização das amostras x número de
amostras.
156

274

139

64
49
34

a CD pontos
a IV
pot-Ligo

Fig. 4.6 - Tempo de organização das amostras (10C amostras)


x numero de pontos por partição.

Fig. 4.7 - Tempo de organização das amostras (500 amostras)


x número de pontos por partição.
157

4.3.3 GERAÇÃO DA GRADE REGULAR

Neste item serão apresentados vários resul-


tados obtidos com a função de geração da grade regular
retangular utilizando-se apenas os interpoladores 1,2,3 e 4
como descritos no item 3.4.3.2d. Os interpoladores 5 e 6
não serão considerados nesta análise por apresentarem
problemas durante a geração do modelo. Estes interpoladores
deverão sofrer revisões e novos testes para que os erros
que ainda 'persistem sejam detetados e corrigidos.

O tempo gasto para geração do modelo de grade


regular retangular depende:
- do numero de amostras;
- da organização dos pontos afflostrados;
- do tipo, de interpolador utilizado;
- da cardinalidade da vizinhança considerada na esti-
mação de cada ponto da grade ;
- e do expoente da função de ponderação utilizado em
cada interpolador.

A análise da influãncia de cada um desses


parametros no tempo total de geração da grade foi realizada
com a variação dos valores de cada um deles enquanto os
demais permanecessem com um valor fixo. A dificuldade
principel encontrada aqui foi a definição de qual parâmetro
variar primeiro e quais valõres fixar para os demais
parâmetros. Essa escolha baseou-se mais na experiencia
158

prática de utilização do sistema por parte do autor deste


trabalho.

Isto posto definiu-se inicialmente os seguin-


tes valores para os parãmetros apresentados:
- número de amostras : conjunto de amostras £3;
- organização dos pontos amostrados : 32 pontos por
partição;
- tipo de interpolador utilizado interpolador
número 1;
- cardinalidade da vizinhança : 4 vizinhos mais
proximos;
- expoente da função de ponderação : -2 .

A partir dessas definições variou-se o


expoente da função de ponderação do , interpolador 1
mantendo-se os demais parametros fixos. Observou-se que o
tempo de geração da grade manteve-se constante com a
variação desse expoente. Para as condições descritas acima
o tempo de geração da grade foi de 224 segundos. Esse
resultado era previsível visto que esse expoente
utilizado apenas no momento do cálculo do valor de cota de
cada ponto da grLde e serve como parãmetro para uma função
da biblioteca matemática do sistema ( pow(x,y) ). Essa
função deve calcular todas as potõncias da mesma forma e
portanto gastar o mesmo tempo de cálculo ivalquer que seja
o expoente da raiz. Assim as análises seguintes serão
feitas com o valor do expoente da funçã) de ponderação
igual a -2.
159

A análise seguinte realizou-se com a variação


do tipo de interpolador utilizado na estimação dos pontos
da grade. Os resultados obtidos estão mostrados na tabela
4.1

TABELA 4.1

TEMPO DE GERAÇÃO DA GRADE EM FUNÇÃO DO INTERPOLADOR

1 interpolador 1 tempo de geração da grade 1

1 1 1
1 1 1 224 seg 1
1 2 1 227 seg 1
1 3 1 371 seg 1
1 4 1 375 seg 1
1 1 1

Da Tabela 4.1 otserva-se que a diferença


entre os tempos gastos para geração da grade com os
interpoladores 1 e 2 á muito pequena (inferior a 2% nas
condiçOes definidas). O mesmo ocorre para os interpoladoree
3 e 4. Desse fato conclue-se que a mudança da função de
ponderação, que á a única diferença entre os interpoladores
1 e 2.e também entre os interpoladores 3 e 4, não implica
em grande alteração no tempo de geração da grade. Já a
160

diferença entre os tempos dos dois primeiros interpoladores


em relação aos dois últimos e bastante significativa, da
ordem de 65%. Isto é explicável pois os dois últimos
interpoladores tem que, alem de procurar os vizinhos mais
próximos, executar a tarefa de organiza-los por quadrante e
buscar apenas a quantidade de vizinhos mais próximos por
quadrante requerida pelo usuário. A partir destes dados
escolheu-se o interpolador número 1 para os próximos
testes.

Mantendo-se as condições anteriores e varian-


do-se a quantidade de vizinhos escolhidos para
participarem da estimação do valor de cota cada ponto da
grade obteve-se o gráfico da figura 4.8. Esse gráfico
mostra que o tempo gasto na geração do modelo de grade

224

208
197

4"'JM A 010 0 número


;11
vizinhos

Fig. 4.8 - Tempo de geração da grade x número de vizinhos


mais próximos.
2.61

cresce, numa proporção aproximadamente linear, com o


aumento dessa quantidade de vizinhos. Isto ocorre porque
para um número de vizinhos maior a procura dessa vizinhança
deve demandar um tempo maior de pesquisa nas partiçoes do e
proximas ao ponto interpolado.

Nas condições anteriores e variando-se a


quantidade de amostras obteve-se o gráfico da Figura 4.9.
Dessa figura observa-se que o tempo de geração da grade
cresce numa proporção aproximadamente logarítmica com o
aumento do número de amostras. Isto já era previsto uma vez
que as amostras estão organizadas numa estrutura de árvore
binária cuja característica do tempo de busca neste tipo de
estrutura é logarítmica. Os possíveis desvios do
comportamento logarítmico são devido a opção pelo cálculo
do valor do particionador através do valor médio ao invés
da mediana,

As figuras 4.10 e 4.11 mostram o gráfico da


variação do tempo de geração da grade em função do número
de pontos por partição para 100 e 500 amostras
respectivamente. Observa-se, na Figura 4.10 que esse tampe
cresce com o aumento do número de pontos por partiçãc
quando este é superior ao valor 2. Observa-se, como era Cl?

se esperai., que para quantidade de pontos por partição


muito próxima ao número de vizinhos escolhido pelo usuário,
que e igual a 4 neste caso, o procedimento de geração da
grade deve ser mais lento devido ao aumento da
probabilidade de se ter que analisar partiçóes vizinha3
para completar o número total de vizinhos mais próximos
requeridos. A figura 4.11 apresenta uma tendencia Sempre
162

crescente do aumento do tempo. de geração da grade em


relação ao número de pontos por partição pois 'não foram
medidos tempos para uma quantidade de pontos por partição
pr6x1ma ao valor critico 4.

192

1 g 2 0
W
.4
0 número
0 0 o W ~atras
W

Fsg. 4.9 - Tempo de geração da grade x quantidade de


amostras.

192

128

95
82

• 4 W r '11 W
w a pj pontoe
partição
Fig 4.10 - Tempo de geração da grade x número de pontos por
partição (amo3tras £1)
163

Wi1fl3
I 'I 2 2 pontos
partpdo
r1g 4.11 7 Tempo de geração da grade x número de pontos por
partição (amostras £3)

As Figuras 4.12 e 4.13 apresentam o compor-


tamento da soma dos tempos de organização da árvore.e de
geração da grade em função do numero de pontos por partiçao
para 100 e 500 amostras respectivamente. Observa-se que
existe um ponto de mímino em cada uma das funções que
correspondem a 16 e 20 pontos por partição para as figuras
4.12 e 4.15 respectivamente. Portanto esses deveriam ser os
valores ótimos para serem utilizados no caso de se desejar
gerar um ktodelo de grade nas condições apresentadas. Porem
o que acontece na pratica e que se cria uma organizaçao
para as amostras apenas uma vez e sobre esta pode-se gerar
vários modelos digitais de grades diferentes. Dessa forma
deve-se ponderar mais o tempo de geração da grade pois o
processo de organização das amostras á feito apenas uma
vez. Assim, comparando-se a função da Figura 4.10 com a da
Figura 4.12 é aconselhável que se escolha 8 pontos por
164

402

187

159

4 o m pontos
a
perUgto

Fig. 4.12 - Tempo de organização das amostras + tempo de


geração da grade x riGmero de pontos por partição (amostras
£1)

414

mcow a O N s pontos
parttção

Fig. 4.13 - Tempo de organização das amostras + tempo de


geração da grade x número de pontos por partição
(amostras £3)
165

partição, que á o mínimo da primeira função, desde que não


se pretenda utilizar sempre a mesma organização das
amostras jé gerada. Caso contrário deve-se escolher 16
pontos por partiçao.

Além das medidas de tempo em relação aos


diversos parametros envolvidos no processo de geração do
modelo digital foram realizadas medidas de erros de
estimação das cotas dos modelos de grade gerados em relação
aos valores exatos dessas cotas. Utilizou-se um programa
teste que gera uma 'grade padrão sobre uma função matemática
conhecida.. Esta função permite que se escolha a resolução
da grade que se quer obter. Os valores de cota desta grade
padrão são calculados diretamente da função e portanto são
valores exatos. As medidas foram feitas sobre grades com
resolução de 30 linhas por 30 colunas e escolheu-se a
função matemática da equação . 4.1. Utilizaram-se os
conjuntos de amostras £1 a £4 definidos no item 4.1 para a
geração das grades pelo sistema em análise.

O erro (simples) associado a cada ponto da


grade é d?finido como a diferença entre o valor de cota da
grade padrão e o valor de cota da grade gerada pelo
sistema. O programa que realiza o cálculo dos erros le
cada ponto das grades definidas pelo usuário, grade padrão
e grade gerada pelo sistema, compara-os e acumula os
seguintes erros associados a cada ponto: erro simples, erro
ao quadrado e módulo do erro simples. ApOs isto, o programa
calcula:
- erro RMS : erro médio quadrático definido como a
raiz quadrada da média dos erros ao quadrado;
166

- erro médio : média dos erros simples;


- erro médio (modulo) : média dos módulos dos erros;
- variância do erro : diferença entre a média dos
erros ao quadrado e o quadrado do erro médio;
- desvio padrâo : raiz quadrada da variância.

Além desses erros o programa armazena ainda


os erros máximo e mínimo da grade.

Os primeiros resultados de erros foram obti-


dos variando-se o número de amostras e fixando-se os demais
parâmetros nos seguintes valores: interpolador número 1, 4
vizinhos mais préximos, expoente da função peso igual a -2,
nro de pontos por partição igual a 32. Os resultados
obtidos foram os seguintes:

Para o conjunto de amostras £1

- erro RMS • 0.0934


- erro médio - -0.0038
- erro médio (modulo). : 0.0647
- variância do erro... : 0.0087
- desvio padrão..,.... : 0.0933
- erro mínimo • -0.5166
- erro máximo - 0.3610

Para o conjunto de amostras £2

- erro RMS • 0.0690


- erro médio • 0.0091
- erro médio (modulo). : 0.0438
167

- verga:mia do erro... : 0.0047


- desvio padrão • 0.0683
- erro mínimo • -0.2165
- erro máximo • 0.4410

Para o conjunto de amostras £3

I s
erro RMS 0.0416
erro médio 0.0007
erro médio (modulo) 0.0249
variância do erro.., 0.0017
desvio padrão......, 0.0416
erro mínimo -0.4230
erro maximo 0.2578

Para o conjunto de amostras £4

erro RMS ....... 0.0242


erro médio 0.0003
erro médio (modulo) 0.0157
variãncia do erro 0.0006
desvio padrão 0.0242
errr mínimo -0.1131
erro máximo 0.1805

Para se realizar uma comparação entre os


dados necessário que se conheça a variação total
dos valoreL de cota dos pontos da grade padrão. Os valores
de cota mLnimo e máximo dessa grade sào: -0.217121 e
0.938575 respectivamente tendo-se assim uma variação total
igual a 1.115696.
168

A tabela 4.2 mostra a porcentagem de variação


do erro RMS em relação ã. variação total do valor de cota
dos pontos. da grade padrão.

TABELA 4.2

PORCENTAGEM DO ERRO RMS DE GERAÇÃO DA GRADE A PARTIR DE


CADA CONJUNTO DE AMOSTRAS

amostras erro RMS j var. total 1 porc. do erro

1
£1 1 0.0934 1.1157 1 8.37%
£2 J 0.0690 1 1.1157 1 6.18%
£3 1 0.0416 1 1.1157 1 3.72%
£4 1 0.0242 1.1157 1 2.17%
1

A partir dos resulta Jos de erros apresentados


acima observa-se que as medidas dos ' valores dos erros
diminui com o aumento do número de amostras. Isto era
previsível uma vez que o aumento do número de amostras
acarreta uma melhor representação das características da
superfície.
169

A segunda medida de erro foi feita nas mesmas


condições anteriores com as seguintes modificações: o
número de amostras foi fixado em SOO e variou-se o valor do
expoente da função de ponderação do interpolador. Os
resultados obtidos foram :

Para o expoente igual a -1

erro RMS 0.0436


erro médio 0.0012
erro médio (modulo) 0.0271
variância do erro 0.0019
desvio padrão 0.0435
erro mínimo -0.4249
erro máximo 0.2707

Para o expoente igual a -2

- erro RMS • 0.0416


- erro médio 0.0007
- erro médio (modulo). : 0.0249
- variância do erro... : 0.0017
- desvio padrão • 0.0E416
- erro mínimo • -0.4230
- erro máximo • 0.2E78

Para o expoente igual a -3

- erro RMS • 0.0417


- erro médio • 0.0003
- erro médio (modulo) : 0.0248
170

variância do erro,.. : 0.0017


desvio padrão • 0.0417
erro mínimo ° -0.4211
errO máximo • 0.2454

Para o expoente igual a -4

- erro RMS ° 0.0424


- erro médio • 0.0001
- erro médio (modulo). : 0.0252
- variância do erro... : 0.0018
- desvio padrão....... : 0.0424
- erro mínimo ° L0.4193
- erro máximo • 0.2675

Para o expoente igual a -6

- erro RMS • 0.0440


- erro médio • 0.0003
- erro médio (modulo). : 0.0262
- variância do erro... : 0.0019
- desvio padrão • 0.0440
- erro mínito ' • -0.4159
- erro máximo • 0.2957

Dos resultados apresentadc3 acima observa-se


que o melhor valor de expoente da função ie ponderação, nas
condições especificadas, é. -2 sendo que as diferenças de
erro RMS e desvio padrão para o valor -2 e -3 foram
mínimas. Apesar disso esse valor não pode ser consideràdo
como padrão. O valor desse expoente depende muito de como
171

varia a superfície representada pelas amostras. A medida


que se aumenta, em valor absoluto, esse expoente diminue
muito a influóncia dos pontos, considerados na
interpolação, que estão mais distantes da posição do ponto
interpolado. Isto desejável para superfícies muito
"rugosas"(superfícies com muitas variações locais) Póió
amostras mais distantes não tem relação com o comportamento
local 48a superfície. Para superfícies mais "suaves" (menor
quantidade de variações locais), como o caso da função
sinc(x) utilizada, os expoentes menores,em valor absoluto,
são mais representativos pois aumentam a influência de
pontos amostras mais distantes do ponto interpolado.

A terceira medida de erro foi feita nas


mesmas condições anteriores com as seguintes modificações:
6 valor do expoente da funçao de ponderação do interpolador
foi fixado igual a -2 e variou-se o número de vizinhos mais
próximos considerado na estimação do valor de cota de . cada
ponto da grade. Os resultados obtidos foram os seguintes:

Para o número de vizinhos igual a 2

- erro RMS 0.0458


- erro medi° 0.0006
- erro médio (modulo). : 0.0263
- vn , iância do erro... : 0.0021
- desvio padrão 0.0458
- erro mínimo • -0.4027
- erro máximo 0.3700
172

Para o número de vizinhos igual a 5

- erro RMS • 0.0413


- erro médio • 0.0006
- erro médio (modulo). : 0.0254
- variância do erro... : 0.0017
- desvio padrão ...... . : 0.0413
- erro mínimo • -0.4302
- erro máximo.. ..... 0.2056

Para o número de vizinhos igual a 6

erro RMS 0.0409


erro médio 0.0007
erro medi() (modulo) 0.0260
variância do erro 0.0017
desvio padrão 0.0409
erro mínimo - -0.3603
erro máximo 0.2120

Para o número de vizinhos igual a 7

erro RMS 0.0417


erro medi°. ..... 0.0008
erro medi° (modulo). 0.0271
variância do erro 0.0017
desvio padrão 0.0417
erro mínimo -0.3027
erro máximo 0.2123

Para o número de vizinhos igual a 8


175

- erro RMS • 0.0355


- erro mádio • 0.0001
- erro médio (modulo). : 0.0224
variancia do erro... : 0.0013
- desvio padrão • 0.0355
- erro mínimo • -0.2899
- erro máximo • 0.1697

Para interpolador numero 4

- erro RMS • 0.0388


- erro médio.... ...... : 0.0001
- erro médio (modulo). : 0.0235
- variancia do erro... : 0.0015
- desvio padrão 0.0388
- erro mínimo -0.2799
- erro máximo.... ..... : 0.2598

A análise dos resultados apresentados mostra


que o interpolador que fornece menores valores de erro á o
interpolarlor número 3 e em segundo lugar o interpolador 4.
Isto significa que a consideração da posição relativa entre
as amostras, que são utilizadas na interpolação de um ponto
da grade, melhora a precisão do interpolador. Observa-se
ainda que utilização da função de ponderação descrita pela
equação 2.4 e utilizada nos interpoladores 1 e 3 prestou-se
melhor a esse tipo de superfície do que a função de
ponderação definida pela equaçãc 2.6 e utilizada pelo
interpoíadores 2 e 4. Deve-se lembrar ainda que as análises
de performance em termos de tempo indicam que os
176

interpoladores 3 e 4, que consideram a vizinhança por


quadrante, SãO mais lentos que os interpoladoreS 1 e 2.
Portanto se o usuário está interessado numa aproximação
mais grotesca da superfície para, por exemplo, uma
visualização rápida da superfície, ele deve optar pelo uso
do interpolador 1 ou 2. Caso o modelo deva ser usado para
fins que exijam maior precisão como, por exemplo, cálculos
de engenharia então deve-se optar pela utilização dos
interpoladores 3 e 4.

4.3.4 REFINAMENTO DA GRADE

A função de refinamento do modelo de grade


retangular mostrou-se extremamente rápida em relação ao
tempo total de geração do modelo. O tipo de interpolador
implementado para o refinamento (bilinear) e o fato de se
explorar a distribuição geométrica dos pontos do modelo
contribuiram parí que esse tempo fosse minimizado.

O tempo demandado no processo de refinamento


de uma grade depende exclusivamente do tamanho (número de
linhas e colunas) da grade de entrada (não refinada) e da
grade de saída refinada (imagem).

hs Figuras 4.14 e 4.15 mostram os gráficos


da variação do tempo de processamento em relação a
porcentagem de refinamento da grade partindo-se das grades
177

de entrada de 15 linhas x 15 colunas e de 30 linhas x 30


colunas respectivamente. Observou-se uma variação muito
t(*. 1)
(ama)

217
tu co a ai
re$ftmun.
g G o
g a G (.50

Fig. 4.14 - Tempo de refinamento da grade x porcentagem de


refinamento (grade 15x15)

t(*.1)
(nes)
414

326

234

a re$1nam.
ia O G
O g o g 00

Fig. 4.15 - Tempo de refinamento da grade x porcentagem de


refinamento (grade 30x30)
178

pequena no tempo de geração de uma mesma grade refinada


mudando-se a grade de entrada. Observou-se ainda, em ambas
as figuras, que o tempo cresce (linearmente) com o aumento
da grade refinada de saída especificada pelo usuário.

4.4 APLICAÇÕES

4.4.1 PROJEÇÃO PLANAR

Como já foi visto anteriormente as projeções


planares dos modelos digitais de terreno fornecem
informações de carater qualitativo da superfície em estudo.
As projeções permitem que se tenha uma visão tridimensional
dessa superfície, de qualquer posição de visualização do
espaço 3-d, partindo-se do modelo gerado.

Para mostrar a funcionalidade da função de


projeção plotaram-se uma serie de projeções de alguns
modelos de grade gerados variando-se os valores dos dados
de entrada requeridos por essa função. Esses dados estão
definidos no Item 3.5.2.1 .

A Figura 4.16 mostra a plotagem em projeção


paralela da grane padrão utilizada parn medida dos erros
dos modelos de grade gerada. A essa figure estão associados
os seguintes dados de entrada;

- fator de escala • 70;


- fator de amostragem • 1;
179

- ângulo de azimute (em graus) : -10;


- ângulo de elevação (em graus) : -40;
- tipo de projeção ' • paralela;

A Figura 4.17 mostra essa mesma grade plotada


em projeção perspectiva e com os demais dados de entrada
iguais os da figura 4.16.

A projeção da Figura 4.18 diferencia-se da


figura anterior nos ângulos de azimute e de elevação
escolhendo-se o valores -40 e -20 respectivamente.

A Figura 4.19 mostra a projeção do par


estereo da grade padrão nas mesmas condições de entrada da
figura anterior. O par estéreo mostrado nessa figura deve
ser visualizado com filtros adequados as cores de plotagem
da figura. Tentou-se observá-lo através de um Oculos com
filtros verde e vermelho mas estes filtros não se mostraram
muito adequados a essa tarefa.

A seguencia de Figuras 4.20 a 4.23 são todas


elas projeções de modelos de grade gerados pelo sistema a
partir dos conjuntos de amostras £1 a £4 respectivamente.
Os modelos de grade foram gerados pelo interpolador 1 com 4
vizinhos mais prOximos e expoente da função de ponderação
igual a -2. Os modelos foram gerados considerando-se as
regiões de interesse de cada conjunto de amostras. As
características de projeção comuns a todas essas figuras
são:

- fator de escala • 70;


180

- fator de amostragem • 1;
- ângulo de azimute (em graus) : -40;
- ângulo de elevação (em graus) : -40;
- tipo de projeção paralela;

Comparando-se essas figuras pode-se ter uma


percepção visual de que o modelo mais representativo
(compare essas figuras com a figura 4.16 desconsiderando os
ângulos de visualização) para uma quantidade maior de
amostras. Esta conclusão já havia sido alcançada nas
análises de erros feitas no Item 4.3.3 .

As Figuras 4.24 a 4.26 mostram projeções


planares do modelo de grade gerado pelo sistema a partir do
conjunto de amostras £3. As características de projeção
identicas a da figura 4.22. A diferença entre as Figuras
4.22, 4.24, 4.25 e 4.26 e o tipo de interpolador , 1 a 4
respectivamente, utilizado para estimar os pontos da grade
gerada. Como já foi concluido anteriormente pode-se notar
visualmente que os interpoladores 3 e 4 geram grades mais
parecidas com a grade padrão para este tipo de superfície.

A Figura 4.27 ilustra a projeção planar de


uma grade que passou pelo, processo de re.:inamento. A grade
de entrada é a mesma utilizada na projeção mostrada pela
figura 4.21. Essa grade que originariamente foi gerada com
30 linhas e 30 colunas foi refinada gerando uma imagem de
68 linhas por 68 "pixels". Na s prOjeção dessa imagem
utilizou-se um fator de amostragem igual a 2.5. Observa-se
que o refinamento não introduziu maiores distorções na
181

grade de entrada e que a projeção da imagem gerada tem um


aspecto visual mais agradável aos olhos humanos.

As projegóes das Figuras 4.28 a 4.31 foram


realizadas sobre uma grade gerada a partir do conjunto - de
amostras £5. Utilizou-se o interpolador número 1 com 4
vizinhos mais prOximos e o expoente da função de ponderação
igual a -2. As características de projeção da Figura 4.28
são:

- fator de escala • 5;
- fator de amostragem • 1;
- ângulo de azimute (em graus) : -40;
- 'ângulo de elevação (em graus) : -40;
- tipo de projeção • perspectiva;

Na Figura 4.29 pode-se visualizar a grade


gerada com as seguintes diferenças em relação a figura
anterior : fator de escala igual a 7 e ãngulo.de azimute
Igual a -10.

A Figura 4.30 mostra o mesmo modelo plotado


com as mesmas características de projeção da Figura 4.28
modificandc-se a projeção para paralela e considerando-se a
fronteira convexa que delimita as mnostras.

A Figura 4.31 ilustra o par estereoscOpico


gerado a partir do modelo em estudo. As características de
projeção sío as mesmas das da Figura 4.28 a menos do tipo
de projeção á claro.
182

4.4.2 MAPA DE CONTORNOS

O processo de geração áo mapa de contornos


foi dividido em 2 funções: a primeira gera um arquivo de
linhas com as isolinhas escolhidas pelo usuário e a segunda
plota as linhas contidas nesse arquivo. Observou-se que o
tempo de geração do arquivo de linhas a partir de uma
grade qualquer, refinada ou não, aumenta com o aumento da
quantidade de linhas desejada pelo usuário e com a
densidade da grade escolhida. Já o tempo gasto na plotagem
dos
- contornos depende do número de linhas do arquivo, do
tipo de interpolador suavizador, da quantidade de
intervalos de interpolação e do periférico de salda
utilizado para a plotagem desses dados. Observou-se que o
tempo de plotagem utilizando o interpolador linear foi a
mais rápida e que o tempo de saída foi limitado
exclusivamente pelo dispositivo de saída. Quando escolheu-
se o interpolador Akima, a medida que se aumentou a
quantidade de intervalos de interpolação escolhido também
aumentou o tempo total de plotagem das is)linhas. Isto foi
ocasionado também pelo número maior de acesso ao periferico
de saída feito pela função. Pode-se observar, ainda, que a
opção pela plotagem das cotas .nas isolinhas mestras
demandou um tempo extra de plotagem que pode ser desprezado
se comparado com o tempo total da plotagem do mapa de
contornos.

A Figura 4.32 mostra o traçado linear do mapa


de contornos gerado a partir de um modelo de grade obtido
183

do conjunto de amostras £5. O modelo possui 30 linhas x 30


colunas e foi obtido a utilizando-se o interpolador 1 com 4

vizinhos mais próximos e expoente da função de ponderação


igual a -2. O espaçamento entre os valores de cota de
linhas de contorno adjacentes é de 29.08 metros.

As Figuras 4.33 e 4.34 ilustram o traçado do


mesmo mapa de contornos da figura anterior utilizando o
interpolador Akima 2-d com 5 e 10 intervalos de
interpolação respectivamente. Dessas figuras pode-se
observar que o tracado das linhas ficou mais "suave" do
que sem interpolador. As "pontas" (trechos das linhas que
não foram suavizados) são decorrentes da existencia de
pontos da linha muito próximos uns aos outros nessa
região. Como uma das características principais desse
interpolador á que ele passa pelos pontos originários da
curva , ele não consegue suavÏzar a curva nessas regiGes.
Observou-se ainda que o aumento do número de intervalos de
interpolação de 5 para 10 não trouxe uma melhora
significativa no traçado final no traçado dos contornos.
Isto ocorre porque o grau de suavização da curva depende da
densidade de pontos da curva. Curvas com densidade maior clf
pontos são menos suavizadas pois a curva interpolada devo:
passar por todos os pontos originários da curva • A

densidade dos pontos da curva depende, por sua vez da


densidade do modelo de grade gerado.

A Figura 4.35 mostra o mapa de contorno da


figura 4.32 com a plotagem automática das cotas na:
respectivas linhas. Plotou-se as cotas de todas as linhas
apenas para aumentar a quantidade de cotas plotadas, mas
184

isto não e usual. Usualmente plotam-se apenas as cotas das


linhas mestras que são aquelas que tem valor de cota
múltiplo de 5 do espaçamento entre as cotas.

Finalmente a Figura 4.36 mostra o traçado do


mapa de contornos do mesmo modelo utilizado ate então com
uma diferença entre valores de cotas adjacentes igual a 8.
Observa-se um Mapa de contorno muito mais densificado porem
sem que haja intersecção entre as linhas de contornos que e
uma das características principais desse tipo de aplicação
sobre o modelo.

Fig. 446 - Projeção paralela da grade padrão.


185

Fig. 4.17 - Projeção perspectiva da grade padrão (azimute =


-10 e elevação = -40).

Fig. 4.18 - Projeção perspectiva da grade padrão (azimute =


-40 e elevação = -20).
186

Fig. 4.19 - Par estéreo da grade padrão.

Fig. 4.20 - Projeção paralela do modelo gerado a partir do


conjunto de amostras £1 e interpolador 1.
187

Fig. 4.21 - Projeção paralela do modelo gerado a partir do


conjunto de amostras £2 e interpolador 1.

Fig. 4.22 - Projeção paralela do modelo gerado a partir do


conjunto de amostras £3 e interpolador 1.
188

Fi-g. 4.23 - Projeção paralela do modelo gerado a partir do


conjunto de amostras £4 e interpolador 1.

Fig. 4.24 - Projeção paralela do modelo gerado pelo


interpolador 2.
189

Fig. 4.25 - Projeção paralela do modelo gerado pelo


interpolador 3.

Fig. 4.26 - Projeção paralela do modelo gerado pelo


interpolador 4.
190

Fig. 4.27 - Projeção paralela de uma grade refinada.

Fig. 4.28 - Projeção perspectiva da grade gerada a partir


do conjunto de amostras £5.
191

Fig. 4.29 - Projeção perspectiva da grade gerada a partir


do conjunto de amostras £5 (fator de escala = 7 e azimute
-10).

Fig. 4.30 - Projeção paralela da grade gerada a partir do


conjunto de amostras £5 com região de interesse.
192

Fig. 4.31 - Par estéreo da grade gerada a partir do


conjunto de amostras £5.

N°\\fj7- V

A •
Fig. 4.32 - Mapa de contornos com traçado linear das
linhas.
193

Fig. 4.33 - Mapa de contornos com traçado das linhas


interpoladas pelo interpolador Akima 2d (5 intervalos).

A
Fig. 4.34 - Mapa de contornos com traçado das linhas
interpoladas pelo interpolador Akima 2d (10 intervalos).
194

\-re9)
--errja

Fig. 4.35 - Mapa de contornos com plotagem automática das


cotas associadas as linhas.

Fig. 4.36 - Mapa de contornos com espaçamento entre cotas


Igual a 8.
CAPITULO 5

CONCLUSÃO

Este trabalho apresentou uma metodologia


para desenvolvimento e implementação, em microcomputador,
de um sistema de modelagem digital de terreno.

OS objetivos principais do trabalho, des-


critos no capitulo 1, foram plenamente alcançados ou seja :
estudou-se as principais metodologias correntes
relacionadas com as soluções de problemas de modelagem
digital de terreno; desenvolveu-se e implementou-se, em
microcomputador, um sistema de modelagem digital de terreno
e; integrou-se esse sistema -ao Sistema Geográfico de
Informações do INPE.

O sistema de MDT implementado e completo no


sentido que ele comporta funções para cada um dos
elementos, que estão definidos no Item 2.1, e que compõem
um sistema desse tipo . Porém ele não é um sistema fechado,
ou seja e:.e pode ser expandido - com a inclusão de novas
funções em cada um de seus elementos. Dentre as futuras
expansões que seriam apropriadas para o sistema
implementado podem-se destacar:

195
196

- Na aquisição:

Inclusão de novas funções de mapeamerito para


relacionar as coordenadas de mesa com as
coordenadas de mapa ou de armazenamento dos dados
amostrados. Pretende-se incluir nova função que
cOnsidere também possíveis deformações sofridas
pelo mSpa digitalizado.

- No preprocessamento:

1. Introdução de novos algoritmos que delimitem


regiões de interesse baseados em fronteiras não
convexas.

2. Introdução de novos algoritmos interpoladores


para geração e refinamento do modelo digital que
representará a superfície real. Isto é
interessante na medida que se diversifiquem os
tipos de dados de entrada do sistema, ou seja,
um interpolador pode ser mais apropriado para um
deterAinado tipo de dado do que para outro.
Dentre estes podemos destacar dados geofísicos e
geoquímicos cuja geração de seu modelo digital
pode ser otimizada por um interpolador do tipo
krigagem, por exemplo. No c-2o do refinamento,.
encontra-se em fase de especificação um
interpolador bicúbico baseado no algoritmo do
Akima, 1974.
197

3. Geração de novos tipos de modelos de grades


polinomiais. No estágio atual que o sistema se
encontra e interessante a inclusão de uma função
de geração de grade triangular irregular. Esse
tipo de modelo digital e mais apropriado para
ser utilizado por aplicações de carater
quantitativo como por exemplo: medidas sobre a
superfície (área, volume, etc...).

- Nas aplicações

A implementação atual do sistema comporta as


duas aplicações mais comuns nos sistemas de
modelagem digital de terreno atualmente
comercializados, que são; a projeção geométrica
planar e a geração do mapa de contornos. Alem
destas, tem-se especial rnteresse nas seguintes
aplicações : cálculos de trabalhos de engenharia
sobre o terreno (volumes de represas,
terraplanagens, etc...); geração de mapas de
declividade a partir do modelo digital e;
utilização do modelo (agitai para correção
radiometrica de imagens de satélite.
REFERÊNCIAS BIBLIOGRÁFICAS

AKIMA, H. A new method of interpolation and smooth curve


fitting based on local procedurès. Journal of the
Association for Computing Machinery, 17(4):589-602, Oct.
1970.
AKIMA, H. A method of bivariate interpolation and smooth
surfce fitting based on local procedures.
Communications of the ACM, 17(1):18-20, Jan. 1974.
DOYLE, F. J. Digital terrain models: ,An overview.
Photogrametric Engineering and Remote Sensing,
44(12):1481-1485, Dec. 1978.
DOZIER, J.; BRUNO, J.; DOWNEY, P. A faster solution to the
horizon problem . Computers and Geoscience, 7(2):145-
151, 1981
DUBAYAH, O. R.; DOZIER, J. Orthographic terrain views
using data derived from digital elevation models.
Photogrametric Engineering and Remate Sensing, 54(2):503
- 518, Apr. 1986.
ERTHAL, G. J.;-OLIVEIRA, M. O. B.; FELGUEIRAS, C. A. ; NETO
G. C.; PAIVA, J. A. O banco de dados geográficos do
INPE. SIMPÓSIO BRASILEIRO DE 8ANC0 DE DADOS,1., Rio ch
JaneirG, 11-12 abr. 1986.
FRANKE, R. Scattered data interpolation: tests of some
methods. Mathematics of computation, 35(157):181-199,
Jan. 1982.
HANDLEY, C. C. Efficient planar cinvex hull algorithm.
Image and Vision Computing, 3(1):29-35, Feb. 1985.

199
200

JUNKIN, B. G. Development of three-dimensional spacial


displays using a geographically . based information
system. Photogrammetric Engineering and Remote Sensing,
48(4);577-586, Apr. 1982.
PALLUDETTI, C.; HAYAMA, M. Análise e implementação de um
sistema gráfico. Trabalho de Graduação. São Jose dos
Campos; ITA, Divisão de Engenharia Aeronáutica, 1985.
PETTINATI, F. Modelamento digital de terreno e reppe
sentação gráfica de superficie. Dissertação de Mestrado
em Engenharia. São Paulo • Escola Politecnica da
Universidade de São Paulo, 1983.
PEUCKER, T. K. The impact of different mathematical
approaches to contouring. .Cartographica, 17(2);73-95,
1980.
PHONG, B. T. Ilumination for computei' generated
images.Association on Computer Machinery, 18(6):311-317,
June 1975.
ROM, M.; BERGMAN, S. A new technique for automatic contou-
ring and contour representation from machine-readable
spatial data. The computei' journal, 29(5):467-471, 1986.
SCHAGEN, I. P. Automatic contouring from scattered data
points. The c)mputer journal, 25(1): '7-11, 1982.
WITTED, T. Ar improved ilumination model for shaded
display. Comunication 4 of ACM, 23(6):.343-349, June 1980.
YAMAMOTO, J. K. Representações gráficas espaciais em
geologia aplicações no complexo alcalino de Anitapolis..
Dissertação de Mestrado. São Paulo, Instituto de
Geociencias da Universidade de São Paulo, 1986.
BIBLIOGRAFIA

AKIMA, H. Interpolation and smooth curve fitting based on


local procedures, algorithm 433. Communications of the
ACM, 15(10):914-918, Oct. 1972.
ANDERSON, D. P. Hidden une elimination in projected
grid surfaces. ACM Transactions on Graphics,1(4):274-
288, Oct. 1982.
CARLSON, I. Planar geometric projections and viewing
transformations. Computing Surveys, 10(4):.465-502, Dec.
1978.
COQUILHART, S.; GANGNET, M. Shaded display of digital
maps.IEEE Computer Graphics & Applications,: 35-42, July
1984.
FISHMAN, B.; SCHACHTER, B. Computer display of height
fields. Computer & Graphics, 5(2):53-60, Mar. 1980.
GORDON, D.; REYNOLDS, R. A. Image space . sh.ading of 3-
dimensional objects. Computer Vision, Graphics, and
Image Processing, 29(3):361-376, Mar. 1985.
MACCALLUM, K. J.; ZHANG, J. M. Curve-smoothing techniques
using B-splines. The Computer Journal, 29(6):564-571,
1986.
NEWMAN, W. M.; SPROULL, R. F. PriAciples of interactive
computei' graphics . 2.ed. New York, McGraw Hill, 1979.
PAVLIDIS, T. Algorithms for graEhics and imaRe
processing. New Jersey, Computer Science Press, 1982.
PEUCKER, T. K. The use of computer graphics for displaying
data in three dimensions. Cartographica, 17(2):59-72,
1980.

201
202

SCHACHTER, B. Computer generation of shaded relief maps.


In: FREEMAN, H.; Pieroni, G. G., ed. Map data
processing. New York, Academic Press, 1980, p.355-368 .
SCHILCHER, M. Interctiye graphic data processing in
cartography. Computer & Graphics, 9(1):57-66,1965
SUTHERLAND, I. R.; SPROULL, R. F.; SCHUMACKER, R. A.
A characterization of ten hidden surface algorithms. ACM
Computing Surveys. 6(1):1-55, Mar. 1974.
WATKINS, S. L. Masked three-dimensional plot program with
rotations, algorithm 483. Communications of ACM,
17(9):520-523, Sep. 1974.
YOELI, P. Compilation of data for computer assisted
relief cartography. In: DAVIS, J. C.;McCullagh, M.
J.,ed. Display and analysis of spacial data. London,
Wiley-Interscience, 1975, p.352-366.
AnEmnrnr A

DESCRIÇÃO DOS ARQUIVOS DA BD E ROTINAS DE ACESSO

A.1 INTRODUÇÃO

Este documento descreve os arquivos que


compõem a base de dados em termos do seu conteúdo e das
suas rotinas de acesso.

A base de dados do SGI é dividida por regiões


geográficas. Cada regia() e identificada por um nome, e
compõe-se de um certo número de planos de informação.
Dentro do SGI, cada sessão de trabalho permitirá operações
(entrada, manipulação, saída) sobre uma determinada região,
a ser escolhida pelo usuário.

De maneira esquemática, a BD do SGI


composta dJ:

- arquivo contexto ( com noile: SGI.CTX )


- conjunto de regiões

O arquivo contexto contem o nome da região de


trabalho ucilizada no Ultimo processamento.

A.1
A.2

Cada região é composta de:

- arquivo diretório ( com nome: (nome_região).dir )


- conjunto de planos de informação (PI).

O arquivo diretório contem o número de PI's


que compOem a região e o nome de cada um deles.

Cada PI e composto pelos seguintes arquivos:

- arquivo descritor (nome_arquivo).des


- arquivo imagem (nome_arquivo).i
- arquivo descritor da imagem (nome_arquivo).d
- arquivo tabela (nome_arquivo).tab

Alem destes, os seguintes arquivos poderão


compor um PI, dependendo do tipo de dado a ser introduzido
no sistema:

- arquivo de linhas (nome_arquivo).111


(nome_arquivo).1i2
- arquivo de polígonos (nome_arquivo).1)01
- arquivo dr: centre:ides (nome_arquivo).cen
- arquivo de pontos (nome_arquivo).pt
- arquivo de pontos organizados (nome_arquivo).pto
- arquivo grade regular (nome_arquivo).grd
- arquivo pontos de controle (nome_ arquivo).ptc
- arquivo de pares estereo (nome_arquivo).par
- arquivo árvore (nome_arquivo).pta
- arquivo amarra mesa (nome— arquivo).ama
A.3

O esquema abaixo mostra a organizaçao dos


arquivos na BD.
Base de Dados do SGI

I contexto região 1 região 2 região n 1


I I
I I I I I I I ..• I I I
I I
I
Região Geográfica V

I diretório P.I.1 P.I.2 P.I.n I


I I
I I I 1 I I 1 ... 1 I I
I I
I
Plano de Informação V

I I
I Idescr.I 1 .i 1 I .tab I 1 .ptc I I
I I
I
I 1 .ptc I I .111 I I .112 I 1 .pol 1 I
I I
I I
I I .di I 1 .cen I I .pt 1 1 .grd 1 I
I I
I
I I .ped I I .pta I I .ama I I
I I
A.4

Para mapas poligonais (mapas temáticos) usam-


se os arquivos com exter&Oes: .111, .112, .pol, e .Cen .

Para mapas pontuais usam-se os arquivos com


extensões: .pt, .pto, .pta e .grd .

Nos itens que seguem, faz-se uma descrição


das estruturas dos arquivos da BD e á fornecido os nomes
das funções do gerenciador que acessam essas estruturas.

A.2 ARQUIVO CONTEXTO DO SGI

Nome do arquivo contexto: sgi.ctx

Este arquivo á utilizadd para armazenar o


nome da REGIÃO utilizada no Ultimo processamento.

A.2.1 ROTINAS DE ACESSO AO ARQUIVO CONTEXTO

1) SGI_LE_CONTEXTO le arquivo contexto do sgi


(sgi.ctx)

2) SGI_ESCCONTEXTO : escreve arquivo contexto do SGI


(sgi.ctx)
A.5

A.3 DIRETÓRIO DE PLANOS DE INFORMAÇÃO

Nome do arquivo diretório: (nome_região).dir

Nome da estrutura usada: struct sgi diretório

A.3.1 CONTEÚDO DO DIRETÓRIO

O arquivo diretório é montado a partir dos


PI , s que compõem uma dada região. As seguintes informações
estão armazenadas:
- número de P.I.s INT
- nome dos planos CEAR

A.3.2 ROTINAS DE ACESSO AO DIRETÓRIO

1) Dfl_LE_ARQ : abre arquivo, le diretório completo e


fe.Jha arquivo

2) DIR ESC -ARQ : abre arquivo, escreve diretório


completo e fecha arcliaivo.

3) DIÀ_REM~ARQ : remove arquivo diretório


A.6

A.4 ARQUIVO DESCRITOR DO PLANO DE INFORMAÇÃO

Nome do arquivo descritor: (nome_regiao) ~(nome_pi).dir

Nome da estrutura usada: struct arq_descritor

Este arquivo e criado no subsistema de


inicialização ou no subsistema de manipulação.

A.4.1 CONTEÚDO DO ARQUIVO DESCRITOR

O arquivo descritor conterá as seguintes informações:

- texto de identificação CHAR


- tipo de entidade CHAR
O = indefinido
1 = mapa de pontos
2 = mapa de linhas (polígonos abertos)
3 = mapa temático (polígonos)
4 . superficies 3D
5 = imagem não classificada.
- tipo entrada CHAR
O = . indefinido
1 = polígono
2 = isolinhas
3 = pontual
4 . i-aster
- escala do mapa de entrada FLOAT
A. 7

- projeção de entrada CHAR


O . indefinido
1 = nenhuma
2 . fi,lambda
3 = UTM
4 = SOM
- projeção atual ORAR
O = indefinido
1 = nenhuma
2 = fi,lambda
3 = UTM
4 = SOM
- modo de digitalização . CHAR
up" = por polígonos
"a" = por arcos
- tipo de imagem CIAR
O = indefinido
1 = direta
2 = indireta-numérica
3 = indireta-simbólica
- correção geométrica CHAR
O = indefinido
1 = nenhuma
- £ de bits por pixel CHAR
- resolução horizontal em metros INT
- resolução vertical em metros INT
- coordenadas da imagem, raster INT
- £ de linhas (arcos)digitalizadas INT
- £ máximo de linhas (arcos) INT
- tamanho máximo da linha INT
- proximo número de linha INT
A.8

- compactação do arquivO de linhas CHAR


- £ de centrOides INT
- £ de classes INT
(1 'classe . vários polígonos)
- £ de polígonos INT
- £ máximo de polígonos INT
-,-;
- £ máximo de linhas por polígono INT
- coord. de proj. da imagem FLOAT
- coord. absolutas da imagem FLOAT
- cota mínima FLOAT
- cota máxima FLOAT
- "flags" de gerenciamento CHAR
, - digitalização de linhas
- edição de linhas
- poligonalização
- edição de polígonos
- digitalizaçâo de centrOides
- edição de centrOides
- digitalização de pontos de controle
- edição de pontos de controle
- transformação geométrica
- rasterizaçâo
- dispositivo de armazenamento CHAR
- ponteiro arq. de linhas (cab.) UNSIGNED
- pont. posição atual LONG
no arq. çe linhas (cab.)
- ponteiro arq. de linhas (dados) UNSIGNED
- pont. posição atual LONG
no arq. de linhas (dados)
- ponteiro para o arq. de polígonos UNSIGNED
A.9

- pont. para a posição atual LONG


no arq. de polígonos
- ponteiro para o arquivo tabela UNSIGNED
- pont. para a posição atual LONG
no arq. tabela

A.4.2 ROTINAS DE ACESSO AO ARQUIVO DESCRITOR

1) PI_LE_DESCRITOR : le arquivo descritor

2) PI_ESC_DESCRITOR : escreve arquivo descritor

3) PI_REM_DESCRITOR : remove arquivo descritor

A.5 ARQUIVO DE LINHAS

Cada linha (ou arco) digitalizada é composta


de duas partes: (a)cabeçalho e (b)dados. O armazenamento
das linhas é feito utilizando dois arquivos:

arq. de cabeçalhos: (nome_região)_(nome_pi).1i1


arq. de dados : (nome região) (nome_pi).1i2
A. 10

A.541 CONTEÚDO DO ARQUIVO

Cada linha e identificada por um rótulo


numérico cujo valor varia na faixa (1 , NUM_LIN_MAX).
Quando uma linha deletada o seu rótulo não é mais
utilizado, São exemplos de sequéncias de rótulos validas:

(1,2,3,4,5) ou ((1,2,4,5) ou (2,4,5,7)

Seguem as descrições das informações referente á a uma


linha:

a) conteúdo do cabeçalho de uma linha: (84 bytes)


- £ de pontos INT
- cota z FLOAT
- flag de ajuste de pontas CHAR
• O = não realizado
1 = realizado
- flag de redução de dados CHAR
O = não realizado
1 = lealizado
- x máxYmo (de projeção) FLOAT
- y máximo (" " ) FLOAT
- x mínimo (" I1 )
FLOAT
- y m1n..mo (" " ) FLOAT
- coord. (x,y) do primeiro e FLOAT
último pontos
- 10 campos para os £ das INT
linhas ligadas a (X1,Y1)
-- £ de linhas ligadas a (X1,Y1) INT
A.13.

- 10 campos para os £ das INT


linhas ligadas a (Xn,Yn)
- £ de linhas ligadas a (Xn,Yn) INT
- £ de vezes a linha foi CHAR
usada na poligonalização
uma linha pode ser usada
uma (ilha ou ilha poligonal)
ou duas vezes (polígono comum)
- £ dos polígonos que a usam INT
- tipo de linha: '-CHAR
O = ilha
1 = polígono aberto
2 = polígono fechado
3 = linha (arco)

b) conteúdo do registro de dados:


- (xl,x2,...,xn),(y1,y2 yn) FLOAT

A.5.2 ROTINAS DE ACESSO

O acesso as informaç;Ses de uma linha pode ser


feito de duas maneiras: (a)pelo número da linha ou
(b)sequencialmente (i-esima linha). O cabeçalho da linha
pode ser lido separadamente dos dados, mas a escrita e
sempre realizada em conjunto.

Existem dois formatos de armazenamento para o


arquivo de linhas: (a)normal e (b)compactado.
A.12

Modo normal: no arquivo de cabeçalhos, o número de


registros alocados é igual ao número de registros definidos
na criação do arquivo. No arquivo de dados existe o mesmo
número de registros, sendo todos de comprimento fixo (= 2
vezes o tamanho máximo de linha que foi definido na criação
do arquivo).

Modo compactado: no arquivo de cabeçalhos permanecem


apenas os registros realmente ocupados. No arquivo de dados
ocorre o mesmo, com o detalhe de que os registros passam a
ser de comprimento variavel.

Importante: operações que modificam os


arquivos so podem ser realizadas no modo normal. Para isto
existem (por enquanto não) as rotinas de compactaçao e
descompactaáo de arquivos.

Segue a descriçáo das rotinas existentes.

1) LINHA_CRIA_ARQ : cria arquivo de linhas


2) LINHA_ABRE_ARQ : abre arquivo de linhas
3) LINHAJECHA_ARQ : fecha arquivo de linhas
4) LINHA LE HEAD : le o cabeçalho de uma dada linha
5) LINHA_LE : le cabeçalho e dados de uma linha
6) LINHA ESC : escreve cabeçalho e dados de uma linha
7) LINHA_DEL : delata uma linha
8) LINHA_LESEQ_HEAD le o calSeçaiho da i-ésima linha
9) LINHALESED : le cabeçalho e dados da i-ésima
linha
10) LINHA_SUBSTITUI : substitui cabeçalho e dados de
uma linha
A.13

11) LINHA_COMPACTA_ARQ : compacta arquivo de linhas.


12) LINHA_DESCOMPACTA_ARQ : descompacta arquivo de
linhas.
13) LINHA_AMPLIA_ARQ : amplia arquivo de linhas.
14) LINHA_REM_ARQ : remove arquivo de linhas

A.6 ARQUIVO IMAGEM (RASTER)

A imagem raster e representada por dois


arquivos, a saber:

(nome—região) _ (nome—pi).i - dados da imagem


(nome _região) (nome pi).d - descritor da imagem

A imagem de referencia da base de dados é uma


imagem LANDSAT. Todas as imagens a serem manipuladas pelo
sistema deverão estar residentes em disco.

A.6.1 CONTEÚDO DO ARQUIVO IMAGEM

O arquivo de imagem (dados) compõe-se de


registros de tamanho fixo representando as linhas da
imagem, sendo cada "pixel" armazenado em um "byte".

O arquivo descritor da imagem contem a:.


seguintes informações:
A.14

- nome da região CHAR


- nome do PI ORAR
- coordenadas da imagem em disco INT
- coord. raster da janela em uso INT
- coord. raster da janela de tela INT
- coord. normalizadas da janela INT
de tela
- coord. vetoriais da imagem INT
- coord. vetoriais da janela em uso INT
- dispositivo de saída CHAR
- resolusão horizontal FLOAT
- resolução vertical FLOAT

A.6.2 ROTINAS DE ACESSO

1) IMAGE_CRIA~ARQ cria arquivo de imagem


2) IMAGE_ABRE_ARQ abre arquivo de imagem
3) IMAGE FECHA ARO : fecha arq. de imagem
4) IMAGE LE _LIN le linha de imagem
5) IMAGE ESC _LIN : escreve linha de imagem
6) IMAGE_REM. ARQ : remove arquivo de imagem
7) IMAGE_LE_ATRIBUTOS : le atributos da imagem
8) IMAGE_ESC_ATRIBUTOS: escreve atributos da imagem
9) IMAGE_REM_ATRIBUTOS : remove arquivo de atributos
da imagem
A.15

A.7 ARQUIVO DE PONTOS

Nome do arquivo: (nome do PI: 12 chars).PT


Nome da estrutura : struct arq_pontos

A.7.1 CONTEÚDO DO ARQUIVO

Este arquivo compõe-se de um cabeçalho,


seguido de tres vetores contendo os dados referentes aos
pontos.

a) conteúdo do cabeçalho
- número de pontos no arquivo INT
- número de pontos máximo INT
para o arquivo
- coordenada horizontal mínima FLOAT
- coordenada horizontal máxima FLOAT
- coordenada vertical mínima FLOAT
- coordenada vertical máxima FLOAT
- cota mínima FLOAT
- cota máxima FLOAT
- ponteiro para a posição atual LONG
- ponteiro para o arquivo UNSIGNED
A.16

A.7.2 ROTINAS DE ACESSO

1) PONTOS_CRIA_ARQ : cria arquivo de pontos


2) PONTOS ABRE ARQ : abre arquivo e le cabeçalho.
3) PONTOS FECHA AR : escreve cabeçalho e fecha
arquivo.
4) PONTOS_LE_REG : le registro de pontos
5) PONTOS ESC REG : escreve registro de dados.
6) PONTOS_REM_ARQ : remove arquivo de ponto.

As.8 ARQUIVO AMARRA

Nome do arquivo: (nome do PI: 12 chars).AMA

Nome da estrutura : struct arq_amarra mesa

A.8.1 CONTEÚDO DO ARQUIVO

Este arquivo contem os pontos de controle que


são utilizados para o mapeamento das coordenadas (x,y) da
mesa para as coordenadas (u,v) escolhidas pelo usuário.
Estas Ultimas serão tratadas, neste documento, como
coordenadas do mapa. A utilização desses pontos "amarram"
os valores de um sistema de coordenada a outro.
A.17

O arquivo está dimensionado para aceitar ate


10 pontos de controle sendo que na versão atual são
utilizados apenas 4.

O arquivo composto por uma estrutura do


tipo arq_amarramesa que. tem o seguinte formato:

Struct arq_amarra_mesa

float ama xmesa(10); /* abscissa do ponto da mesa */


float ama_ymesa(10); /* ordenada do ponto da mesa */
float ama_xmapa(10); /* abscissa do ponto do mapa */
float ama~vmapa(10); /* ordenada do ponto do mapa */
0 ;

A.8.2 ROTINAS DE ACESSO

1) LE_ARQ AMARRA : le os pontos do arquivo amarra.


número de nós da arvore e os nós da mesma.
2) ESC_ARQ_AMARRA : escreve os pontos no arquivo
amarra
3) REMOVE_ARQ_AMARRADOR : remove arquivo amarra.

A.9 ARQUIVO DE GRADE REGULAR

Nome do arquivo: (nome do PI: 12 chars).GRD


Nome da estrutura : struct arg_grade_regular
A.18

A.901 CONTEÚDO DO ARQUIVO

Este arquivo compõe-se de um cabeçalho,


seguido dos dados referentes a grade regular. Cada posição
da grade é ocupada por um "float". O acesso aos dados da
grade é feito por linhas (ver rotinas 6 e 7).

a) conteúdo do cabeçalho
- tamanho horizontal da grade INT
- tamanho vertical da grade INT
- distancia horiz. entre ptos, da grade FLOAT
- distancia vert. entre ptos. da grade FLOAT
- coOrdenada horizontal mínima FLOAT
- coordenada horizontal máxima FLOAT
- coordenada vertical mínima FLOAT
- coordenada vertical máxima FLOAT
- cota mínima FLOAT
- cota máxima FLOAT
- ponteiro para o arquivo LONG

A.9.2 ROTINAS DE ACESSO

1) GRADE_CRIA_ARQ : aloca area para o arquivo


2) GRADE_ABRE_ARQ : abre arquivo grade regular
3) GRADE_FECHA_ARQ : fecha arquivo grade regular
4) GRADE LE CABEÇALHO : le cabeçalho do arquivo
A.19

5) GRADEJSC_CABEÇALHO : escreve cabeçalho do arquivo


6) GRADE_LE_LINHA : le linha do arquivo
7) GRADE_ESC_LINHA : escreve linha do arquivo

A.10 ARQUIVO TABELA

Nome do arquivo: (nome do PI).TAB

Este arquivo e criado no subsistema de inicialização.

A.10.1 CONTEÚDO DO ARQUIVO

Registro contendo:

- índice para a classe INT


- nome da classe (rOtulo) CHAR
- cor INT
- tipo de preenchimento INT
- retângulo envolvente INT
- arca da classe FLOAT
- número de "clusters" INT
- texto CHAR
A.20

A.10.2 ROTINAS DE ACESSO

1) TAB CRIA ARQ : cria arquivo tabela


2) TAB_ABRE_ARQ : abre arquivo tabela
3) TAB FECHA ARQ : fecha arquivo tabela
4) TAB_LE_ATRIBUTOS : le atributos da classe
5) TABESC_ATRIBUTOS : escreve atributos da classe
6) TAB REM ARQ : remove arquivo tabela

A.11 ARQUIVO DE PONTOS ORGANIZADOS

- Nome do arquivo: (nome do PI: 12 chars).PTO

Nome da estrutura : struct arq_pontorg

A.11.1 CONTEÚDO DO ARQUIVO

Este arquivo compõe-se de um eabeçalho,


seguido registrob contendo triplas (z,y,z) que representam
os pontos. Os reaistros são numerados de 1 a N (N = número
de registros).

a) conteúdo do cabeçalho
- número de pontos no arquivo INT
- número de registros no arquivo INT
- número de pontos máximo INT
por ré ;is tro
A.21

- número de registros máximo INT


no arquivo
- coordenada horizontal mínima FLOAT
- coordenada horizontal máxima FLOAT
- coordenada vertical mínima FLOAT
- coordenada vertical máxima FLOAT
- cota mínima FLOAT
- cota máxima FLOAT
- espaçãmento horizontal FLOAT
entre celas
- espaçamento vertical FLOAT
entre celas
- ponteiro para a posição atual LONG
- ponteiro para o arquivo UNSIGNED

A.11.2 ROTINAS DE ACESSO

1) PTORG_CRIA_ARQ : cria arquivo de 'Santos organi-


zados
2) PTORG_ABRE_ARQ : abre arquivo e le cabeçalho.
á) PTOUG_FECHA_ARQ : fecha arquivo.
4) PTORG LE REG : le registro ce pontos organizados.
5) PTORG_ESC_REG : escreve registro de dados.
6) PTORG_REM ARQ : remove arquivo de pontos organi-
zados.
A,22

A.I2 ARQUIVO ARVORE

Nome do arquivo 2 (nome do PI: 12 óharsY,PTA


Nome da estrutura : struct arq_nó

A.12.1 CONTEÚDO DO ARQUIVO

Este arquivo contem um cabeçalho e os nás que


compgem a árvore (2d-A)

a) conteúdó do cabeçalho
- nUmero de pontos maicimo por partição INT
- numero de nós da -ái.Vore INT

A.12.2 ROTINAS DE ACESSO

1) ÁRVORE_LtARQ : le limite máxiL.o de pontos por


partioac, número de nOs da árvore e .os nós da
mesma.
2) ÁRVORE ESC ARO : escreve árvore (2d-A) no arquivo
árvore,
3) ÁRVORE_REM ARQ : remove arquivo arvore.

Você também pode gostar