(real academia de artilharia, fortificação e desenho, 1792) · (real academia de artilharia,...

57
MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA (Real Academia de Artilharia, Fortificação e Desenho, 1792) SEÇÃO DE ENGENHARIA CARTOGRÁFICA - SE/6 AL FELIPE DE CARVALHO DINIZ AL EURICO LOURENÇO NICACIO JUNIOR DETERMINAÇÃO DA INTERSEÇÃO DE LINHAS GEODÉSICAS Rio de Janeiro 2009

Upload: doananh

Post on 07-Nov-2018

228 views

Category:

Documents


4 download

TRANSCRIPT

MINISTÉRIO DA DEFESAEXÉRCITO BRASILEIRO

DEPARTAMENTO DE CIÊNCIA E TECNOLOGIAINSTITUTO MILITAR DE ENGENHARIA

(Real Academia de Artilharia, Fortificação e Desenho, 1792)

SEÇÃO DE ENGENHARIA CARTOGRÁFICA - SE/6

AL FELIPE DE CARVALHO DINIZAL EURICO LOURENÇO NICACIO JUNIOR

DETERMINAÇÃO DA INTERSEÇÃO DE LINHAS GEODÉSICAS

Rio de Janeiro2009

INSTITUTO MILITAR DE ENGENHARIA

AL FELIPE DE CARVALHO DINIZ

AL EURICO LOURENÇO NICACIO JUNIOR

DETERMINAÇÃO DA INTERSEÇÃO DE LINHAS GEODÉSICAS

Iniciação à Pesquisa apresentada ao Curso de Graduação em

Engenharia Cartográfica do Instituto Militar de Engenharia.

Orientador: Cap QEM Francisco Roberto da Rocha Gomes

Rio de Janeiro

2009

SUMÁRIO

LISTA DE ILUSTRAÇÕES · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3

LISTA DE TABELAS · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 4

1 INTRODUÇÃO · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 7

1.1 Contextualização · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 7

1.2 Objetivo · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 8

1.3 O problema · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 8

2 CONCEITOS BÁSICOS · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 10

2.1 Geometria do elipsóide · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 10

2.2 A linha geodésica · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 11

2.2.1 Teorema de Clairaut · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 12

2.3 Problema direto de coordenadas · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 16

2.4 Problema inverso de coordenadas · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 16

2.5 Fórmulas de Vincenty · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 17

2.6 Linhas geodésicas na esfera · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 19

2.6.1 O problema da interseção na esfera · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 22

3 SOLUÇÕES NO ELIPSÓIDE · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 23

3.1 Solução Analítica · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 23

3.2 Solução computacional · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 24

3.2.1 Transformada discreta de Fourier · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 28

3.2.2 Solução por transformada discreta de Fourier · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 29

3.2.3 Solução pelo primeiro método de busca · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 31

3.2.4 Solução pelo segundo método de busca · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 33

3.2.5 Solução por ajuste por polinômios · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 34

3.2.6 Solução por aproximação da integral principal · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 35

3.3 Influência de erros · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 36

4 CONCLUSÃO · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 38

5 REFERÊNCIAS BIBLIOGRÁFICAS · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 39

1

6 APÊNDICES · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 40

6.1 Apêndice 1: Problema Direto · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 41

6.2 Apêndice 2: Mudança de coordenadas · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 43

6.3 Apêndice 3: Gráfico da linha geodésica na esfera · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 44

6.4 Apêndice 4: Diferenças de latitude entre linha geodésicas na esfera e no elipsóide · · 45

6.5 Apêndice 5: Interseção na esfera · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 46

6.6 Apêndice 6: Interseção por Fourier · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 47

6.7 Apêndice 7: Problema inverso · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 49

6.8 Apêndice 8: Primeiro método do cálculo da interseção por busca · · · · · · · · · · · · · · · · · · · 51

6.9 Apêndice 9: Segundo método do cálculo da interseção por busca· · · · · · · · · · · · · · · · · · · · 52

6.10 Apêndice 10: Método do cálculo da interseção por ajuste polinomial· · · · · · · · · · · · · · · · 54

2

LISTA DE ILUSTRAÇÕES

FIG.1.1 Aplicação da interseção de linhas geodésicas em demarcação territorial · · · · · · 7

FIG.1.2 Interseção de linhas geodésicas em distribuição de royalties de petróleo · · · · · · 8

FIG.2.1 Coordenadas Geodésicas sobre o elipsóide · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 10

FIG.2.2 Elemento de linha de uma curva sobre a superfície do elipsóide · · · · · · · · · · · · · · · 11

FIG.2.3 Problemas de coordenadas Direto e Inverso · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 16

FIG.2.4 Elemento de linha de uma curva sobre a superfície da esfera · · · · · · · · · · · · · · · · · · 20

FIG.3.1 Gráficos em latitude-longitude e coordenadas cartesianas · · · · · · · · · · · · · · · · · · · · · 24

FIG.3.2 Gráficos ampliados em latitude-longitude e coordenadas cartesianas · · · · · · · · · · 25

FIG.3.3 Comparação da linha geodésica em um elipsóide com e=0.6 e na esfera · · · · · · 25

FIG.3.4 Linhas geodésicas na esfera e no elipsóide WGS84 · · · · · · · · · · · · · · · · · · · · · · · · · · · 26

FIG.3.5 Interseção de duas linhas geodésicas na esfera. · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 27

FIG.3.6 Saída Matlab · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 31

FIG.3.7 Interseção no elipsóide · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 31

FIG.3.8 Esquema algoritmo de busca · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 32

FIG.3.9 Interseção no elipsóide · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 33

3

LISTA DE TABELAS

TAB.3.1 Estatísticas para variações em azimute · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 26

TAB.3.2 Estatísticas para variações em latitude · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 26

TAB.3.3 Estatísticas para variações em longitude · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 27

TAB.3.4 Exemplos de interseção· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 34

TAB.3.5 Comparação método por ajuste e segundo método de busca · · · · · · · · · · · · · · · · · · 34

TAB.3.6 Influência em azimute · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 37

TAB.3.7 Influência em latitude· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 37

TAB.3.8 Influência em longitude· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 37

4

RESUMO

Esta pesquisa trata da solução do problema de interseção de linhas geodésicas, realizando

abordagens tanto por métodos computacionais quanto por um método analítico. Buscou-se ini-

cialmente realizar uma revisão de conceitos básicos de Geodésia, enfatizando alguns teoremas e

corolários necessários ao desenvolvimento matemático dos métodos. Em seguida, revisou-se os

conceitos de problema direto e inverso de coordenadas e, finalmente, avançou-se na implemen-

tação de métodos computacionais para a solução do problema. Para a solução computacional,

obteve-se sucesso com o uso de dois métodos por busca, um método por transformada discreta

de Fourier e um método por ajuste de polinômios. O primeiro método por busca e o método por

transformada de Fourier não se mostraram aplicáveis, o primeiro por nem sempre convergir e

o segundo por exigir uma aproximação inicial para resolver um sistema não-linear, retornando

um resultado não condizente caso tal aproximação não fosse próxima do resultado verdadeiro.

O segundo método por busca e o método por ajuste de polinômios foram considerados bons, o

primeiro por possuir erro menor que um metro, ainda podendo ser refinado, e o segundo por dar

a opção ao usuário de escolher a qualidade dos resultados, podendo obter precisão submétrica.

Para o método analítico, realizou-se apenas uma discussão sobre possíveis abordagens para o

mesmo. Outro ponto abordado na pesquisa é o modo como um erro em um dado inicial in-

fluencia a interseção entre linhas geodésicas, mostrando que uma pequena variação nos dados

iniciais pode gerar uma alteração de ordem maior que a variação inicial na interseção de linhas.

Por fim, é apresentada uma conclusão, com propostas para trabalhos futuros.

5

ABSTRACT

This research deals with the solution of the problem of intersection of geodesic lines, mak-

ing approaches through both computational methods as through analytical method. Initially, a

review of basic concepts of Geodesy was conducted, emphasizing some theorems and corol-

laries necessary for the development of mathematical methods. Then the concepts of direct

and inverse problem of coordinates were reviewed, and finally, moved to the implementation

of computational methods for solution of the problem. For the computational solution, it was

obtained success using two search methods, a method through Discrete Fourier Transform and

a method through polynomials adjustment. The first search method and the Fourier transform

method were not applicable, the first one by not always converging and the second by requiring

an initial approximation for solving a non-linear system, yielding a result not consistent if this

approximation was not close to the real result. The second search method and the method for

polynomials adjustment were considered good, the first one by having error fewer than one me-

ter, which can still be refined, and the second one by giving the user the option of choosing the

quality of the results, being able to obtain submetric accuracy. For the analytical method it was

only held a discussion of some possible approaches. Another point addressed in the research

is how an error in a given initial influences the intersection lines between geodesics, showing

that a small disturbance can generate a change of order greater than the initial change in the

intersection of lines. Finally, a conclusion is presented, with proposals for future works.

6

1 INTRODUÇÃO

1.1 Contextualização

A interseção de linhas geodésicas constitui um problema de relevância da Geodésia. Tal

assunto é utilizado, na atualidade, com diversas finalidades, dentre as quais podem ser citadas:

• Demarcação territorial: diversas fronteiras são geradas entre pontos que representam o

cruzamento de linhas geodésicas. Como exemplo, pode ser citado um trecho da fronteira

Brasil-Colômbia, o qual segue da cabeceira do Igarapé Santo Antônio até o talvegue do

rio Japurá. Este trecho, no sentido Tabatinga-Apapóris, é descrito por uma grande linha

geodésica de comprimento aproximado de 300 quilômetros, de acordo com o Laboratório

Nacional de Computação Científica.

FIG. 1.1: Aplicação da interseção de linhas geodésicas em demarcação territorial

FONTE: LABORATÓRIO NACIONAL DE COMPUTAÇÃO CIENTÍFICA.

• Distribuição de royalties sobre a obtenção de petróleo em plataformas no mar: de acordo

com o art.9o da Lei no 7.525, de 22 de julho de 1986, fica atribuído ao IBGE “traçar

as linhas de projeção dos limites territoriais dos Estados, Territórios e Municípios con-

frontantes, segundo a linha geodésica ortogonal à costa ou segundo o paralelo até o ponto

de sua interseção com os limites da plataforma continental”. Dessa forma, a distribuição

7

de direitos referentes à extração do petróleo em zonas econômicas exclusivas será coorde-

nada pelo IBGE e poderá ser realizada tendo como base as linhas geodésicas ortogonais

à costa.

FIG. 1.2: Interseção de linhas geodésicas em distribuição de royalties de petróleo

FONTE: SECRETARIA DE MEIO AMBIENTE E RECURSOS HÍDRICOS DO

ESTADO DO PARANÁ.

Além dos exemplos citados anteriormente, certamente há outras aplicações para o pro-

blema.

1.2 Objetivo

A presente pesquisa tem como objetivo propor métodos para a resolução do problema da

interseção de duas linhas geodésicas no elipsóide de revolução.

1.3 O problema

Uma das aproximações para a superfície da Terra utilizada para estudos da mesma é o

elipsóide de revolução, assim o cálculo de distâncias entre dois pontos no elipsóide é de extrema

importância para a Engenharia Cartográfica. A linha geodésica para cada superfície é uma

função unicamente obtida por dois pontos ou um ponto e um azimute. Possui como principal

propriedade determinar a menor distância entre dois pontos pertencentes a uma mesma linha

geodésica, sendo tal distância medida ao longo de seu arco.

8

O problema da interseção de duas linhas geodésicas consiste em encontrar as interseções

entre linhas geodésicas geradas por dois pontos e dois azimutes iniciais no elipsóide de revolu-

ção.

9

2 CONCEITOS BÁSICOS

2.1 Geometria do elipsóide

A título de evidenciar alguns conceitos básicos, a seguir segue um conjunto de algumas das

variáveis importantes e que merecem uma atenção especial nessa parte inicial, para que possa

haver o entendimento de todo o trabalho. Para maiores informações acerca das mesmas, ou para

informações sobre qualquer outro fator que o leitor julgue relevante e que não se encontra no

texto, sugere-se consulta à bibliografia, principalmente (BOMFORD,1971), (TORGE,2001) e

(VANICEK,1986).

O primeiro conceito que será utilizado é o sistema de Coordenadas Geodésicas, que é

definido pela orientação de seus eixos e determinação da origem. O eixo Z coincide com o

eixo de rotação médio da Terra, o eixo X definido pelo meridiano de Greenwich e o eixo Y é

definido de forma a tornar o sistema dextrógiro. A origem coincide com o centro de massa da

Terra.

Um ponto sobre o elipsóide é definido pelo ângulo que a normal ao elipsóide no ponto faz

com o plano XY, e pelo ângulo horário a partir do eixo X até o plano que contém o ponto e é

perpendicular ao plano XY como pode ser visto na FIG.2.1.

FIG. 2.1: Coordenadas Geodésicas sobre o elipsóide

10

Chama-se Seção Meridiana o plano que contêm o eixo de rotação do elipsóide de revolução,

é perpendicular ao plano XY e passa pelo ponto. O raio de Curvatura da Seção Meridiana é

dado por (BOMFORD,1971):

M =a(1− e2)(√1− e2 senϕ

)3

Chama-se Seção 1a Vertical o plano que contém o ponto e é perpendicular à Seção Meridiana

que passa pelo ponto. O raio de Curvatura da Seção 1a Vertical é dado por (BOMFORD,1971):

N =a√

1− e2 senϕ

Construindo os triângulos infinitesimais, mostrados na FIG.2.2, podemos obter as equações

diferenciais para uma curva sobre o elipsóide.

(a) Paralelo. (b) Meridiano. (c) Arco de curva.

FIG. 2.2: Elemento de linha de uma curva sobre a superfície do elipsóide

ds=

cosα

M

ds=

sinα

N cosϕ

A partir desse conceito temos base para tratar de linhas geodésicas.

2.2 A linha geodésica

A linha geodésica será inicialmente definida nesse texto como a curva, na superfície dada,

que dá a menor distância entre dois pontos. Se a superfície é o plano, a linha geodésica é a reta.

11

No caso da superfície ser a esfera a linha geodésica é o circulo máximo.

Existem outras definições para a linha geodésica como, por exemplo, a curva cuja normal

principal coincide com a normal à superfície. Mas nesse texto, de modo a ter uma abordagem

utilizando cálculo variacional, será adotada a definição de distância mínima entre dois pontos.

No decorrer da seção poderá ser notado que a definição pode ser extendida para a menor ou

maior distância entre dois pontos e além de ser unicamente obtida por dois pontos ela também

pode ser obtida por um ponto e um azimute.

Teorema 2.1. Os meridianos são linhas geodésicas.

Demonstração. Para o meridiano, utilizando as equações diferenciais de uma curva no elip-

sóide:

ds≡ 0→ α ≡ 0 ou π

sm =

ϕ2∫ϕ1

M dϕ

Para outra curva entre os pontos ϕ1 e ϕ2 utilizando as equações diferenciais de uma curva

no elipsóide e utilizando o teorema do valor médio com pesos:

s =

ϕ2∫ϕ1

M

cosαdϕ =

1

cosα′

ϕ2∫ϕ1

M dϕ ≥ϕ2∫ϕ1

M dϕ = sm

onde cosα obrigatoriamente troca de sinal pois como ∆λ = 0 o azimute em algum momento

atinge o valor π2.

Logo a curva meridiana tem o menor comprimento de arco, portanto é uma linha geodésica.

2.2.1 Teorema de Clairaut

Nesta seção será demonstrada uma importante relação para a linha geodésica, mas para isso

será utilizada uma das equações fundamentais do cálculo variacional. Sua demonstração pode

ser encontrada em (WEINSTOCK, 1974).

Teorema 2.2 (Equação Diferencial de Euler-Lagrange). Seja

I =

∫f

t, y, dy

dt

dt

12

Se f satisfaz

∂f

∂y−

d

dt

(∂f

∂y

)= 0

onde y = dydt

, então I possui um ponto estacionário.

Com o uso da equação diferencial de Euler-Lagrange pode-se obter o Teorema de Clairaut:

Teorema 2.3 (Teorema de Clairaut). A linha geodésica no elipsóide de revolução satisfaz

N cosϕ sinα = cte.

Demonstração. O comprimento de arco é dado por:

s =

∫ √dx2 + dy2 + dz2

mas

dx =∂x

∂udu+

∂x

∂vdv

dx2 =

(∂x

∂u

)2

du2 + 2∂x

∂u

∂x

∂vdu dv +

(∂x

∂v

)2

dv2

Analogamente para y e z. Substituindo:

s =

∫ (((∂x

∂u

)2

+

(∂y

∂u

)2

+

(∂z

∂u

)2)

du2 + 2

(∂x

∂u

∂x

∂v+∂y

∂u

∂y

∂v+

+∂z

∂u

∂z

∂v

)du dv +

((∂x

∂v

)2

+

(∂y

∂v

)2

+

(∂z

∂v

)2)

dv2

)12

(2.1)

Para o elipsóide de revolução

x = N cosϕ cosλ

y = N cosϕ senλ

z = N (1− e2) senϕ

(2.2)

Fazendo u = ϕ, v = λ e substituindo x, y e z em EQ.2.1

13

(∂x

∂ϕ

)2

+

(∂y

∂ϕ

)2

+

(∂z

∂ϕ

)2

= M2

∂x

∂ϕ

∂x

∂λ+∂y

∂ϕ

∂y

∂λ+∂z

∂ϕ

∂z

∂λ= 0(

∂x

∂λ

)2

+

(∂y

∂λ

)2

+

(∂z

∂λ

)2

= N2 cos2 ϕ

s =

∫ √M2 dϕ2 +N2 cos2 ϕ dλ2

ou

s =

∫ M2

2

+N2 cos2 ϕ

12

Como a linha geodésica é a curva com s mínimo, fazendo R = M2 , P = N2 cos2 ϕ,

v = dϕdλ

, f =(M2

(dϕdλ

)2+N2 cos2 ϕ

)12 e utilizando a equação diferencial de Euler-Lagrange

∂f

∂ϕ=

∂P∂ϕ

+ v2 ∂R∂ϕ

2√P +Rv2

∂f

∂v=

Rv√P +Rv2

d

(∂f

∂v

)= R

dvdλ√

P +Rv2+(−1

2

) v (2Rv dvdλ

)(P +Rv2)

32

∂f

∂ϕ−

d

(∂f

∂v

)=

1

2√P +Rv2

∂P∂λ

+ v2∂R

∂λ− 2R

dv

dλ+

2Rv2 dvdλ

P +Rv2

= 0

∂P

∂λ+ v2∂R

∂λ− 2R

dv

dλ+

2Rv2 dvdλ

P +Rv2= 0

Rv2

√P +Rv2

−√P +Rv2 = cte

v2 =P (P − cte2)

cte2R

2

=N2 cos2 ϕ (N2 cos2 ϕ− cte2)

cte2M2(2.3)

14

Das equações diferenciais de uma curva no elipsóide

dλ=N cosϕ cotgα

M(2.4)

Elevando ao quadrado EQ.2.4 e igualando a EQ.2.3

N2 cos2 ϕ cotg2 α

M2=N2 cos2 ϕ (N2 cos2 ϕ− cte2)

cte2M2

N2 cos2 ϕ = cte2(cotg2 α + 1

)N2 cos2 ϕ sin2 α = cte2

E assim N cosϕ sinα = cte′.

Note que, pelo fato da equação diferencial de Euler-Lagrange apenas garantir um ponto

estacionário, o Teorema de Clairaut é válido tambem para a linha de comprimento máximo

entre dois pontos.

Corolário 2.1. A equação diferencial dαds

= sinϕ dλds

é satisfeita pela linha geodésica.

Demonstração. Derivando N cosϕ sinα = cte em relação a s

N cosϕ cosα dαds

+ senα d(N cosϕ)ds

= 0 (2.5)

d (N cosϕ)

ds= −M senϕ

ds∗1= −M senϕ

cosα

M(2.6)

Substituindo EQ.2.6 em EQ.2.5:

N cosϕ cosα dαds− senα senϕ cosα = 0

ds=

tgϕ senα

N∗2= senϕ

ds

onde as passagens ∗1 e ∗2 são válidas pelas equações diferenciais de uma curva no elipsóide.

Corolário 2.2. O único paralelo que é uma linha geodésica é ϕ ≡ 0.

15

Demonstração. Suponha que algum paralelo seja uma linha geodésica. Como para o paralelodαds≡ 0 e como dα

ds= senϕ dλ

dsé válido para linha geodésica então senϕ dλ

ds≡ 0. Mas para o

paralelo dλds6= 0, assim sinϕ ≡ 0, então ϕ ≡ 0.

Corolário 2.3. A constante de Clairaut pode ser definida por um ponto e um azimute, conse-

quentemente, a linha geodésica pode ser definida por um ponto e um azimute.

Na próxima seção serão apresentados os principais problemas relacionados a linha geodésica.

2.3 Problema direto de coordenadas

O problema direto da geodésia assume que dadas as coordenadas do ponto inicial, o azimute

e a distância para um segundo ponto, é desejado encontrar as coordenadas do segundo ponto,

assim como o azimute do segundo para o primeiro ponto após percorrer uma distância s pela

linha geodésica definida pelo ponto inicial e pelo azimute.

2.4 Problema inverso de coordenadas

O problema inverso assume que dadas as coordenadas dos pontos inicial e final é desejado

encontrar o azimute do primeiro para o segundo ponto, o azimute do segundo para o primeiro

ponto e a distância entre eles.

(a) Problema Direto (b) Problema Inverso

FIG. 2.3: Problemas de coordenadas Direto e Inverso

16

2.5 Fórmulas de Vincenty

Um dos métodos para resolver o Problema Direto e Inverso de coordenadas na Geodésia

são as fórmulas de Vincenty descritas a seguir (VINCENTY, 1975). Ambas as fórmulas são

baseadas em métodos iterativos.

Primeiro serão apresentadas as fórmulas para o problema direto.

Dado o ponto inicial (ϕ1, λ1), azimute inicial α1, distância s em metros e os parâmetros

do elipsóide de referência b, f, e′ (semi-eixo menor, achatamento, segunda excentricidade) são

calculados:

tgU1 = (1− f) tgϕ1

u2 = e′2 cos2 α1

tg σ1 =tgU1

cosα1

senα = cosU1 senα1

A = 1 +u2

16384

(4096 + u2

(−798 + u2

(320− 175u2

)))(2.7)

B =u2

1024

(256 + u2

(−128 + u2

(74− 47u2

)))(2.8)

σ =s

bA

2σm = 2σ1 + σ (2.9)

∆σ = B senσ(

cos 2σm + 14B(

cosσ(−1 + 2 cos2 2σm

)−

− 16B cos 2σm

(−3 + 4 sen2 σ

) (−3 + 4 cos2 2σm

) ))(2.10)

σ =s

bA+ ∆σ (2.11)

As EQ.2.9, EQ.2.10 e EQ.2.11 são iteradas até que a variação em σ seja desprezível.

17

tgϕ2 =senU1 cosσ + cosU1 senσ cosσ1

(1− f)√

sen2 α + (senU1 senσ − cosU1 cosσ cosα1)2(2.12)

tg λ =senσ senα1

cosU1 cosσ − senU1 senσ cosα1

C =f

16cos2 α

(4 + f

(4− 3 cos2 α

))(2.13)

λ2−λ1 = λ− (1− C) f senα(σ+C senσ

(cos 2σm + C cosσ

(−1 + 2 cos2 2σm

)) )(2.14)

Das EQ.2.12 e EQ.2.14 é obtido o ponto final (ϕ2, λ2).

A seguir estão as fórmulas para o problema inverso.

λ = λ2 − λ1 (primeira aproximação)

sen2 σ = (cosU2 senλ)2 + (cosU1 senU2 − senU1 cosU2 cosλ)2 (2.15)

cosσ = senU1 senU2 + cosU1 cosU2 cosλ

senα =cosU1 cosU2 senλ

senσ

cos 2σm = cosσ −2 senU1 senU2

cos2 α

A variável λ é obtida pelas EQ.2.13 e EQ.2.14. As equações são iteradas começando por

EQ.2.15 até que a mudança em λ seja negligível. Após λ convergir pode-se calcular:

tgα1 =cosU2 senλ

cosU1 senU2 − senU1 cosU2 cosλ

tgα2 =cosU1 senλ

− sinU1 cosU2 − cosU1 sinU2 cosλ

s = bA(σ −∆σ)

onde ∆σ é obtido pelas EQ.2.7, EQ.2.8 e EQ.2.10.

18

As expressões foram validadas por (THOMAS e FEATHERSTONE, 2005) considerando

distâncias de até 18.000km, com erros em distância menores que 0, 115mm em todos os casos

testados. Este método será utilizado para o desenho de uma linha geodésica tendo em vista o

estudo de seu comportamento.

2.6 Linhas geodésicas na esfera

Nesta seção será deduzida a equação de uma linha geodésica na esfera utilizando métodos

similares a dedução do Teorema de Clairaut. A solução na esfera é de grande importância,

pois servirá como primeira aproximação para o cálculo computacional da interseção de linhas

geodésicas no elipsóide.

Parametrizando a esfera em coordenadas esféricas e calculando sua métrica:

x = a cosϕ cosλ

y = a cosϕ senλ

z = a senϕ

(∂x

∂ϕ

)2

+

(∂y

∂ϕ

)2

+

(∂z

∂ϕ

)2

= a2

∂x

∂ϕ

∂x

∂λ+∂y

∂ϕ

∂y

∂λ+∂z

∂ϕ

∂z

∂λ= 0(

∂x

∂λ

)2

+

(∂y

∂λ

)2

+

(∂z

∂λ

)2

= a2 cos2 ϕ

s =

∫ a2

2

+ a2 cos2 ϕ

12

Resolvendo analogamente ao elipsóide, mas com R = a2 e P = a2 cos2 ϕ, tem:se

v2 =P (P − c2

1)

c21R

2

=a2 cos2 ϕ (a2 cos2 ϕ− c2

1)

c21 a

2(2.16)

Note que um outro método para se obter a EQ.2.16 seria fazer e = 0 na EQ.2.3.

19

FIG. 2.4: Elemento de linha de uma curva sobre a superfície da esfera

Pode-se deduzir também o análogo do teorema de Clairaut, adaptando-o para a esfera. Da

FIG.2.4 tem-se:

ds=

cosα

a

ds=

sinα

a cosϕ

dλ= cosϕ cotgα (2.17)

Elevando a EQ.2.17 ao quadrado e igualando a EQ.2.16 tem-se:

cos2 ϕ cotg2 α =a2 cos2 ϕ (a2 cos2 ϕ− c2

1)

c21 a

2

a2 cos2 ϕ = c21

(cotg2 α + 1

)

a cosϕ senα = c1 (2.18)

onde c1 pode ser calculado a partir da equação:

c1 = a cosϕ1 senα1

Reescrevendo a EQ.2.16:

20

λ =

∫ dϕ

cosϕ

√(ac1

)2

cos2 ϕ− 1

λ = arctg

senϕ√(ac1

)2

cos2 ϕ− 1

+ c2

λ = arcsen

tgϕ√(ac1

)2

− 1

+ c2 (2.19)

onde c2 pode ser calculado a partir da equação:

c2 = λ1 − arcsen

tgϕ1√(ac1

)2

− 1

Note que a/c1 não depende de a, assim c2 e λ não dependem do raio da esfera.

Será demonstrada uma importante propriedade da linha geodésica na esfera: todas as linha

geodésicas são circulos máximos. Reorganizando a EQ.2.19:

sen (λ− c2) = cosλ sen (−c2) + senλ cos (−c2) =tgϕ√(ac1

)2

− 1

a cosϕ cosλ sen (−c2) + a cosϕ senλ cos (−c2)−a senϕ√(ac1

)2

− 1

= 0

x sen (−c2) + y cos (−c2)−z√(

ac1

)2

− 1

= 0

Logo a linha geodésica na esfera pertence a um plano que passa pela origem, assim ela é

um circulo máximo.

21

2.6.1 O problema da interseção na esfera

Seja (λ, ϕ) a interseção entre duas linhas geodésicas na esfera. Igualando as longitudes

dadas pela EQ.2.19 tem-se:

arcsen

tgϕ√(acA1

)2

− 1

+ cA2 = arcsen

tgϕ√(acB1

)2

− 1

+ cB2

Sejam A1 = 1√(acA1

)2

−1

, B1 = 1√(acB1

)2

−1

, u = tgϕ, cA2 = A2 e cB2 = B2

Dessa forma tem-se:

arcsenA1u+ A2 = arcsenB1u+B2

A1u = B1u cos (B2 − A2) + sen (B2 − A2)√

1−B21u

2

(A1 −B1 cos (B2 − A2))2 u2 = sen2 (B2 − A2)− sen2 (B2 − A2)B21u

2

u2 =sen2 (B2 − A2)

(A1 −B1 cos (B2 − A2))2 +B21 sen2 (B2 − A2)

tgϕ = u =± | sen (B2 − A2) |√

A21 +B2

1 − 2A1B1 cos (B2 − A2)

ϕ = arctg

± | sen (B2 − A2) |√A2

1 +B21 − 2A1B1 cos (B2 − A2)

(2.20)

Portanto existem duas interseções e elas são dadas pelas EQ.2.20 e EQ.2.19.

Seja (ϕ0, λ0) uma interseção, utilizando propriedades trigonométricas pode-se deduzir que

ϕ2 = −ϕ1 e λ2 = π + λ1.

Na próxima seção serão abordados métodos para a solução analítica no elipsóide de revolu-

ção.

22

3 SOLUÇÕES NO ELIPSÓIDE

Nesta seção serão abordados métodos analíticos e computacionais para a interseção de lin-

has geodésicas no elipsóide além de uma análise na influência de erros em dados iniciais na

interseção de linhas geodésicas.

3.1 Solução Analítica

Da EQ.2.3 pode-se chegar a

λ2 − λ1 =

ϕ2∫ϕ1

cM dϕ

N cosϕ√N2 cos2 ϕ− c2

(3.1)

Assim para a interseção

ϕi∫ϕ1

c1M dϕ

N cosϕ√N2 cos2 ϕ− c2

1

+ λ1 =

ϕi∫ϕ2

c2M dϕ

N cosϕ√N2 cos2 ϕ− c2

2

+ λ2 (3.2)

Há diversas formas de abordar o problema de forma puramente analítica, sendo a mais

natural resolver a EQ.3.2. Essa integral não pode ser resolvida através de funções usuais, assim

são necessários outros métodos. Como, pode-se citar:

• expansão das integrais por séries de Taylor;

• utilização de funções Theta de Jacobi (já que a integral da EQ.3.2 é uma função elíptica

de Jacobi de primeiro tipo);

• mudança para o dominínio complexo para utilizar ferramentas como Teorema de Cauchy

e Teorema dos Resíduos;

• expansão das funções em séries trigonométricas.

Mas todos esses métodos falharam em encontrar tal solução, então outra forma de resolver

é necessária. Utilizando artifícios de análise númerica, interpolação e ajuste pode-se chegar a

soluções aproximadas para o problema. Na próxima seção tais métodos serão abordados.

23

3.2 Solução computacional

Com a inviabilidade de uma solução inteiramente analítica foram feitas tentativas de méto-

dos utilizando auxílio computacional ,algumas soluções já foram propostas, como em (SJOBERG,

2008). Nesta seção será apresentado cinco propostas para solução. Primeiramente será abor-

dado o comportamento de linhas geodésicas no elipsóide.

Com o auxílio do algoritmo de Vincenty foi desenvolvido um algoritmo para plotar a linha

geodésica desenvolvida no elipsóide de revolução, tanto em coordenadas geodésicas (APÊNDICE

1) quanto em coordenadas cartesianas (APÊNDICE 2).

Na FIG.3.1 foram utilizados os algoritmos apresentados nos APÊNDICES 1 e 2 para gerar

um gráfico das linhas geodésicas definidas pelo ponto ϕ1 = 0◦, λ1 = 0◦, α1 = 20◦(representado

em azul no gráfico) e ϕ2 = 0◦, λ2 = 0◦, α2 = 30◦(representado em verde no gráfico).

FIG. 3.1: Gráficos em latitude-longitude e coordenadas cartesianas

Na FIG.3.1 a linha horizontal é somente para representar que a linha geodésica chegou a

360 graus e retornou para 0. Como pode-se ver na FIG.3.2 a linha geodéscia no elipsóide de

revolução não é fechada.

Verificando diversos gráficos podemos notar que a linha geodésica somente possui um

máximo e um mínimo no intervalo [0◦,360◦], e que esses pontos de inflexão estão afastados

por aproximadamente 180◦. Como consequência dessas propriedades tem-se que duas linhas

geodésicas não coincidentes se intersectam em dois pontos no intervalo [0◦,360◦] afastados de

aproximadamente 180◦.

Essa forma bem comportada da linha geodésica se deve ao valor da excentricidade ser

próximo de 0, assim se assemelhando à linha geodésica na esfera. A FIG.3.3 é o gráfico da

24

FIG. 3.2: Gráficos ampliados em latitude-longitude e coordenadas cartesianas

linha geodésica definida pelo ponto ϕ1 = 0◦, λ1 = 0◦, α1 = 20◦ no elipsóide (represen-

tado em azul no gráfico) de mesmos semi-eixos que o elipsóide WGS84 (a = 6378137m,

b = 6356752.31424518m), mas com uma excentricidade 0.6, que é bem maior que a excentri-

cidade original do WGS84, e a linha geodésica na esfera de raio igual ao semi-eixo maior do

WGS84 (a = 6378137m) representada em verde no gráfico.

FIG. 3.3: Comparação da linha geodésica em um elipsóide com e=0.6 e na esfera

Na FIG.3.4 é apresentado o gráfico da linha geodésica no elipsóide WGS84 e na esfera de

raio igual ao semi-eixo maior do elipsóide WGS84 (a = 6378137m).

Com o algoritmo apresentado no APÊNDICE 4 foi calculada a média dos módulos da di-

ferença entre as latitudes da linha geodésica no elipsóide e na esfera e sua variância para uma

dada longitude.

Os resultados apresentados nas TAB.3.1, TAB.3.2 e TAB.3.3 foram obtidos utilizando 400.000

pontos com afastamento de 10 metros entre eles.

25

FIG. 3.4: Linhas geodésicas na esfera e no elipsóide WGS84

TAB. 3.1: Estatísticas para variações em azimute

Azimute Média Desvio Padrão

15◦ 0.09976537500086◦ 0.00254528960485◦

30◦ 0.09123232611095◦ 0.00220389789808◦

45◦ 0.07642084479034◦ 0.00161585032946◦

60◦ 0.05535771499617◦ 8.826355521288976e-004◦

75◦ 0.02914223499899◦ 2.513685748803767e-004◦

TAB. 3.2: Estatísticas para variações em latitude

Latitude Média Desvio Padrão

0◦ 0.09976537500086◦ 0.00254528960485◦

15◦ 0.07798635865684◦ 0.00125797374877◦

30◦ 0.05029078955766◦ 3.932253610996046e-004◦

45◦ 0.02419933598908◦ 6.443057293959272e-005◦

60◦ 0.00728774848705◦ 4.799677271970695e-006◦

75◦ 0.00126335658284◦ 9.723945487448426e-007◦

89◦ 0.00972544893910◦ 1.218057715836067e-004◦

Na TAB.3.1 foi utilizado ϕ = 0, λ = 0 e variações de azimute, enquanto na TAB.3.2 foi

utilizado λ = 0, α = 15 e variações em latitude e finalmente na TAB.3.3 ϕ = 0, α = 15 e

variações em longitude.

Pode-se notar que variar os dados iniciais somente em longitude não altera o valor da estatís-

tica e que quanto, mais próximo do equador, mais a linha geodésica no elipsóide se aproxima da

linha geodésica na esfera. Em todos os casos a média foi menor que 0, 1, fazendo 1◦≈ 110km

na superfície do elipsóide, tem-se que 0.1◦≈ 11, 0km.

26

TAB. 3.3: Estatísticas para variações em longitude

Longitude Média Desvio Padrão

0◦ 0.09976537500084◦ 0.00254528960485◦

15◦ 0.09976537500084◦ 0.00254528960485◦

30◦ 0.09976537500084◦ 0.00254528960485◦

45◦ 0.09976537500084◦ 0.00254528960485◦

60◦ 0.09976537500084◦ 0.00254528960485◦

75◦ 0.09976537500084◦ 0.00254528960485◦

90◦ 0.09976537500084◦ 0.00254528960485◦

180◦ 0.09976537500084◦ 0.00254528960485◦

270◦ 0.09976537500084◦ 0.00254528960485◦

Vale notar que o raio da esfera não altera o valor das estatísticas, pois a latitude é somente

função da longitude e não do raio como pode ser visto na EQ.2.19 após substituir o valor de c1

e que um erro no algoritmo que traça a linha geodésica impediu testes de mais casos (o erro faz

com que a função plote o gráfico errado para certos azimutes e latitudes inicias).

A FIG.3.5 foi gerada a partir do algoritmo apresentado no APÊNDICE 3, são os gráficos da

linha geodésica gerada pelo ponto ϕ1 = 50◦, λ1 = 50◦, α1 = 100◦(representada em azul no

gráfico) e pelo ponto ϕ2 = 52◦, λ1 = 45 ◦, α1 = 110◦(representada em verde no gráfico).

FIG. 3.5: Interseção de duas linhas geodésicas na esfera.

Utilizando o algoritmo de interseção do APÊNDICE 5 chega-se aos resultados para inter-

seção λi1 = 196, 4144◦ e ϕi1 = −40, 0657◦ que é condizente com o gráfico. O algoritmo

também retorna a solução λi2 = 16, 4144◦ e ϕi2 = 40, 0657◦, que não aparece no gráfico.

27

3.2.1 Transformada discreta de Fourier

Dado um conjunto de N dados X[k], k = 1, 2, 3,...,N a transformada discreta de Fourier é

definida por:

Y (j) =N∑k=1

X(k)w−(x−1)(k−1)N

e sua transformada inversa por:

X(j) =1

N

N∑k=1

Y (k)w(x−1)(k−1)N

onde

wN = e2πiN

A transformada discreta de Fourier é extremamente útil, pois ela revela periodicidades nos

dados e também destaca componentes periódicos.

Pode-se notar que a transformada discreta é periódica:

XN+k = Xk

e para dados reais:

XN−k = Xk

onde Xk é o conjugado complexo de Xk.

Com essas duas propriedades pode-se diminuir o tempo de processamento, mas o método que

garante maior eficiência é a chamada transformada rápida de Fourier. A transformada rápida

de Fourier é um algoritmo baseado na transformada discreta de Fourier que reduz o número

de cálculos necessários para N pontos de 2N2 para 2NlgN onde lg é o logarítmo na base 2.

Através do lema de Danielson-Lanczos, demonstrado em (BRIGHAM, 2002), pode-se utilizar

o algoritmo da transformada rápida de Fourier para calcular a transformada discreta quando o

número de pontos é uma potência de 2.

O MATLAB já possui esse algoritmo implementado, e ele será base para o cálculo da inter-

seção como será demonstrado na próxima Seção.

28

3.2.2 Solução por transformada discreta de Fourier

Nesta seção será utilizada a Transformada Discreta de Fourier para interpolar a linha geodésica

no elipsóide e para o cálculo da interseção.

A partir de valores da latitude e longitude pode-se gerar a sequência U(j) e V (j) a partir dos

dados de λ e ϕ respectivamente. Quanto maior o número de dados melhor será a interpolação.

U(j) =N∑k=1

λ(k)w−(j−1)(k−1)N

V (j) =N∑k=1

ϕ(k)w−(j−1)(k−1)N

λ(k) =1

N

N∑k=1

U(k)w(j−1)(k−1)N

ϕ(k) =1

N

N∑k=1

V (k)w(j−1)(k−1)N

FazendoU(k) = A(k)+B(k)i e V (k) = C(k)+D(k)i, comow(j−1)(k−1)N = cos(2π(j−1)(k−1)

N)+

i sin(2π(j−1)(k−1)N

), tem-se que:

λ(j) =1

N

N∑k=1

A(k) cos(2π(j−1)(k−1)N

)−B(k) sin(2π(j−1)(k−1)N

)+

i1

N

N∑k=1

B(k) cos(2π(j−1)(k−1)N

) + A(k) sin(2π(j−1)(k−1)N

)

ϕ(j) =1

N

N∑k=1

C(k) cos(2π(j−1)(k−1)N

)−D(k) sin(2π(j−1)(k−1)N

)+

i1

N

N∑k=1

D(k) cos(2π(j−1)(k−1)N

) + C(k) sin(2π(j−1)(k−1)N

)

Como λ e ϕ são números reais temos que =λ = =ϕ = 0

λ(j) =1

N

N∑k=1

A(k) cos(2π(j−1)(k−1)N

)−B(k) sin(2π(j−1)(k−1)N

)

29

ϕ(j) =1

N

N∑k=1

C(k) cos(2π(j−1)(k−1)N

)−D(k) sin(2π(j−1)(k−1)N

)

Sejam ϕ∗(x) e λ∗(x) a função contínua que se sobrepõe a ϕ e λ para valores inteiros de

x respectivamente. Serão utilizadas estas funções como aproximação das funções latitude e

longitude.

λ∗(x) ≈1

N

N∑k=1

A(k) cos(2π(j−1)(k−1)N

)−B(k) sin(2π(j−1)(k−1)N

) (3.3)

ϕ∗(x) ≈1

N

N∑k=1

C(k) cos(2π(j−1)(k−1)N

)−D(k) sin(2π(j−1)(k−1)N

) (3.4)

Sejamϕ∗1 , ϕ∗2 e λ∗1 , λ∗2 duas aproximações das funções latitude e longitude. Assim igualando-

as para encontrar a interseção:

ϕ∗1(x) = ϕ∗2(y)

λ∗1(x) = λ∗2(y)

Este é um sistema de equações não linear, que pode ser resolvido utilizando a função fsolve

do Matlab. Tal função necessita de uma aproximação inicial que pode ser obtida resolvendo as

equações

λ∗1(x0) = λ0

λ∗2(y0) = λ0

onde λ0 é a longitude da solução na esfera.

Essas equações são não-lineares, então elas necessitam de uma aproximação inicial. Tal

método para se obter essa segunda aproximação inicial não pode ser obtido, isso compromete o

método, já que sem uma boa aproximação inicial o método pode levar a falsos resultados.

Como exemplo, utilizando a linha geodésica gerada por ϕ1 = 0◦, λ1 = 0◦, α1 = 75◦, e

a linha geodésica gerada por ϕ2 = 10◦, λ2 = 30◦, α2 = 300◦, 400.000 pontos com saltos de

100m e aproximação inicial x0 = 0 e y0 = 0 a saída do Matlab é apresentada na FIG.3.6.

30

FIG. 3.6: Saída Matlab

Os valores ϕi = 35, 6574◦e λi = 47.8347◦obtidos pelo método não são condizente com o

gráfico na FIG.3.7.

FIG. 3.7: Interseção no elipsóide

No APÊNDICE 6 se encontra o método de interseção por Fourier em função da aproximação

inicial.

3.2.3 Solução pelo primeiro método de busca

Nesta seção será apresentado o método por busca para o cálculo da interseção de linhas

geodésicas no elipsóide de revolução.

O método se baseia na proximidade da solução na esfera da solução no elipsóide. Sejam A

e B os pontos de entrada e P0 a solução da interseção na esfera. O primeiro passo do algoritmo

31

é a solução do problema inverso de A e P0, assim obtendo s0. A segunda etapa é a solução

do problema direto para o ponto A e distância s0, assim obtendo o ponto P1 que é a projeção

métrica de P0 sobre a linha geodésica que passa por A com o azimute azA.

A seguir se resolve o problema inverso para P1 e B, obtendo-se α1. Se α1 − azB > 0 então

P1 encontra-se após a interseção assim é calculado o problema direto para o ponto A e distância

s0 − d, onde d é um valor predefinido, obtendo-se P2. Se α1 − azB < 0 então P1 encontra-se

anterior a interseção assim é calculado o problema direto para o ponto A e distância s0 + d. O

processo se repete com a sequencia Pk até que a diferença αk − azB seja desprezível. Quando

isso ocorrer tem-se que Pk é a interseção.

O esquema do algoritmo se encontra apresentado na FIG.3.8, sendo que o mesmo não fun-

ciona em todos os casos. Em diversos casos testados ocorre a divergência do algoritmo devido

a oscilação da distância entre αk − azB.

FIG. 3.8: Esquema algoritmo de busca

O algoritmo se encontra no APÊNDICE 8.

32

3.2.4 Solução pelo segundo método de busca

O segundo método por busca se baseia em discretizar ambas as linhas geodésicas e encontrar

pontos onde a diferença de latitude e longitude sejam os menores possíveis.

O algoritmo se divide em dois programas a fim de diminuir o tempo de execução do al-

goritmo. O primeiro discretiza ambas as linhas geodésicas em 8.000 pontos com saltos de

5.000m. O número de pontos foi escolhido de tal forma que a discretização abrangesse toda

a linha geodésica no intervalo [0◦,360◦]. Dentre esses pontos são escolhidos dois pontos Pk e

Qj(um de cada linha geodésica) tal que√

(∆ϕ)2 + (∆λ)2 entre esses pontos fosse mínimo.

O processo então se repete discretizando os arcos de linha geodésica Pk−1Pk+1 e Qj−1Qj+1

em 10.000 pontos com salto de 1m e encontrando dois pontos Pk′ e Qj′(um de cada arco de

linha geodésica) tal que√

(∆ϕ)2 + (∆λ)2 entre esses pontos fosse mínimo. Tais pontos são

quase coincidentes e são considerados a interseção.

O programa poderia repetir o processo pela terceira vez, mas somente com 2 processos o

programa ja atinge precisão sub-métrica.

Como exemplo, seja a linha geodésica gerada por ϕ1 = 0◦, λ1 = 0◦e α1 = 75◦e a linha

geodésica gerada por ϕ2 = 10◦, λ2 = 30◦e α2 = 300◦. A interseção encontrada foi ϕi =

−8.50490394146717 e λi = 213.0990367794438 sendo a distância de 4.542203101802x10−6◦≈

0, 4m, que é condizente com a FIG.3.9.

FIG. 3.9: Interseção no elipsóide

O método tem a vantagem de não utilizar uma aproximação inical. O exemplo anterior foi

calculado em 120 segundos em um AMD Turion 64 X2 mobile, TL-60 2,01GHz com 1,93GB

de RAM.

33

Na TAB.3.4 encontram-se alguns outros exemplos.

TAB. 3.4: Exemplos de interseção

Pontos Interseção diferença Tempo

ϕ1 λ1 α1 ϕ2 λ2 α2 ϕi λi

0◦ 0◦ 20◦ 5◦ 30◦ 330◦ 31,18699406◦ 12,64593314◦ 2,07x10−6◦ 113s

0◦ 30◦ 120◦ 0◦ 0◦ 95◦ -2,889554307◦ 34,98190102◦ 1,01x10−6◦ 96s

30◦ 0◦ 120◦ 40◦ 0◦ 20◦ 31,45301998◦ 356,0895787◦ 4,42x10−6◦ 97s

O algoritmo se encontra no APÊNDICE 9.

3.2.5 Solução por ajuste por polinômios

Devido ao grande número de pontos que deve ser utilizado para garantir a representação de

linhas geodésicas, uma interpolação polinomial leva a um polinômio interpolador de grau ele-

vado, assim um método de interseção utilizando interpolação polinomial se consistiria em gerar

e encontrar a raiz de um polinômio de grau 400.000, o que, com testes, se mostrou inviável.

Este método consiste em ajustar ambas as linhas geodésicas em um polinômio de grau baixo,

no caso do programa são utilizados os graus 5,7,9 e 50, e calcular as raízes da diferença dos

polinômios. Tais raízes são as longitudes das interseções entre as linhas geodésicas, e utilizando

o polinômio novamente pode-se calcular a latitude da interseção.

Na TAB.3.5 se encontra a comparação entre as interseções encontradas nos ajustes e a in-

terseção encontrada pelo segundo método de busca utilizando a linha geodésica gerada por

ϕ1 = 0◦, λ1 = 0◦, α1 = 75◦e a linha geodésica gerada por ϕ2 = 10◦, λ2 = 30◦, α2 = 300◦.

TAB. 3.5: Comparação método por ajuste e segundo método de busca

Grau

5 7 9 50

∆ϕi ∆λi ∆ϕi ∆λi ∆ϕi ∆λi ∆ϕi ∆λi

0,366739475 0,008728007 0,131412204 0,00371969 0,021780792 0,000478133 0,000762565 3,47818E-05

Para o ajuste utilizando polinômio de grau 50 encontramos um erro em λ de 3, 47818x10−5◦≈

3, 825998m e erro em ϕ de 0, 000762565◦≈ 83, 88215m.

O algoritmo da interseção encontra-se no APÊNDICE 10.

34

3.2.6 Solução por aproximação da integral principal

Expandindo a integral da EQ.3.2 em série de Taylor em torno de zero para e tem-se

∫ca(1− e2)

a cosϕ√

1− e2 senϕ√a2cosϕ2 − c2

dϕ =

=

∫c

cosϕ√a2cosϕ2 − c2

dϕ+

∫c(senϕ− 2)e2

2√a2cosϕ2 − c2

dϕ+ . . . (3.5)

Aproximando a série para a ordem de e2 e substituindo na EQ.3.2

arcsen

tgϕi√(ac1

)2

− 1

+ d1 +

ϕi∫ϕ1

c1(senϕ− 2)e2

2√a2cosϕ2 − c2

1

dϕ =

arcsen

tgϕi√(ac2

)2

− 1

+ d2 +

ϕi∫ϕ2

c2(senϕ− 2)e2

2√a2cosϕ2 − c2

2

(3.6)

onde

d1 = λ1 − arcsen

tgϕ1√(ac1

)2

− 1

d2 = λ2 − arcsen

tgϕ2√(ac2

)2

− 1

Fazendo A1 = 1√(

acA1

)2

−1

, B1 = 1√(acB1

)2

−1

, u = tgϕi, A2 = d2 +∫ ϕi

ϕ2

c2(senϕ−2)e2

2√a2cosϕ2−c22

dϕ e

B2 = d2 +∫ ϕi

ϕ1

c1(senϕ−2)e2

2√a2cosϕ2−c21

dϕ tem-se:

arcsenA1u+ A2 = arcsenB1u+B2

Que como na seção 2.6.1 pode ser resolvida, obtendo-se

35

ϕi = arctg

± | sen (B2 − A2) |√A2

1 +B21 − 2A1B1 cos (B2 − A2)

=

arctg

± | sen

(d2 +

∫ ϕi

ϕ2

c2(senϕ−2)e2 dϕ

2√a2cosϕ2−c22

− d1 −∫ ϕi

ϕ1

c1(senϕ−2)e2 dϕ

2√a2cosϕ2−c21

)|√

A21 +B2

1 − 2A1B1 cos

(d2 +

∫ ϕi

ϕ2

c2(senϕ−2)e2 dϕ

2√a2cosϕ2−c22

− d1 −∫ ϕi

ϕ1

c1(senϕ−2)e2 dϕ

2√a2cosϕ2−c21

)(3.7)

O valor de ϕi pode ser obtido resolvendo recursivamente a EQ.3.7, tomando como aproxi-

mação inicial a interseção na esfera.

Analogamente a solução pode ser refinada para ordem e4 obtendo-se

ϕi = arctg

± | sen (d2 − d1 + I(ϕi)) |√A2

1 +B21 − 2A1B1 cos (d2 − d1 + I(ϕi))

onde

I(ϕi) =

ϕi∫ϕ2

c2(senϕ− 2)e2 dϕ

2√a2cosϕ2 − c2

2

−ϕi∫

ϕ1

c1(senϕ− 2)e2 dϕ

2√a2cosϕ2 − c2

1

+

+

ϕi∫ϕ2

c2(3senϕ2 − 4 senϕ)e4 dϕ

8 cosϕ√a2cosϕ2 − c2

2

−ϕi∫

ϕ1

c1(3senϕ2 − 4 senϕ)e4 dϕ

8 cosϕ√a2cosϕ2 − c2

1

A longitude da interseção pode ser obtida utilizando a EQ.3.1.

3.3 Influência de erros

Utilizando a solução computacional para o problema pode-se verificar como erros nos dados

iniciais influênciam a interseção. Nas TAB.3.6, TAB.3.7 e TAB.3.8 é calculado o erro inserido

por uma variação de 0,1 segundos e 0,01 segundos em latitude, longitude e azimute em um dos

pontos iniciais. Nas tabelas é mantida a linha geodésica ϕ1 = 0◦, λ1 = 0◦, α1 = 20◦.

A partir desses dados pode se constatar que a influência de erro é maior quando o erro é

em longitude. Para erros desse tipo a influência é da ordem de 50 vezes maior que a variação

inicial. Para variações de 0,01” em azimute o erro gerado foi, em geral, menor que a precisão

do segundo algoritmo de busca.

36

TAB. 3.6: Influência em azimute

Ponto diferença

∆α = 0.1′′ ∆α = 0.01′′

ϕ2 λ2 α2 ∆ϕ ∆λ ∆ϕ ∆λ

5◦ 30◦ 330◦ 0,0595” 0,0302” 3,6E-11” 3,6x10−11”

0◦ 10◦ 10◦ -0,2586” 0,1823” -0,0287” 0,0203”

10◦ 50◦ 340◦ 0,0541” 0,0568” 3,6E-11” 3,6x10−11”

TAB. 3.7: Influência em latitude

Ponto diferença

∆ϕ = 0.1′′ ∆ϕ = 0.01′′

ϕ2 λ2 α2 ∆ϕ ∆λ ∆ϕ ∆λ

5◦ 30◦ 330◦ 2,7386” 1,3879” 0,2679” 0,1358”

0◦ 10◦ 10◦ 2,7579” -1,9444” 0,2586” -0,1823”

10◦ 50◦ 340◦ 1,2991” 1,3631” 0,1353” 0,1420”

TAB. 3.8: Influência em longitude

Ponto diferença

∆λ = 0.1′′ ∆λ = 0.01′′

ϕ2 λ2 α2 ∆ϕ ∆λ ∆ϕ ∆λ

5◦ 30◦ 330◦ 4,4650” 2,2630” 0,4465” 0,2263”

0◦ 10◦ 10◦ -15,8580” 11,1810” -1,6088” 1,1342”

10◦ 50◦ 340◦ 2,8960” 3,0387” 0,2977” 0,3124”

37

4 CONCLUSÃO

De fato, o problema de interseção de linhas geodésicas constitui um tema de complexidade

avançada, com alguns aspectos pouco abordados, bem como suas soluções computacional e

analítica. Como foi visto na introdução, trata-se de um problema com aplicações variadas, as

quais exigem que se prime por uma solução viável, apropriada e vantajosa.

Durante o desenvolvimento desta pesquisa, notou-se a maior viabilidade de implementar

uma solução computacional em detrimento à analítica. Dentre os métodos computacionais

propostos o que obtve melhor resultados foi o segundo método de busca, pois obtém precisão

submétrica e pode ser refinado utilizando uma nova discretização.

Além disso, a análise da influência de erros em dados inicais na interseção de linhas geodési-

cas, verificando a maneira como ele se propaga tendo como entrada um dado inicial incorreto,

pôde mostrar que erros em latitude e longitude variam mais que a perturbação inserida, fazendo

com que uma pequena perturbação pode gerar uma alteração de ordem maior que a perturbação

inicial na interseção de linhas.

Como proposta para trabalhos futuros, sugere-se:

• modelagem da influência de erros em dados inicais na interseção de linhas geodésicas;

• busca de avanços na solução analítica para o problema de interseção de linhas geodésicas;

• desenvolvimento de um método para se obter uma boa aproximação inicial do sistema

não-linear do método de fourier aplicado na solução do problema;

• correção do erro no algoritmo que traça a linha geodésica na esfera;

• realização de modificações que garantam a convergência do primeiro método por busca

para solução do problema de interseção de linhas geodésicas;

• implementação e análise dos dados para o método por aproximação da integral principal.

38

5 REFERÊNCIAS BIBLIOGRÁFICAS

BOMFORD, G. (1971). Geodesy. 3th ed. Oxford: Oxford University Press.

BRIGHAM, E. 0. (2002). The Fast Fourier Transform. 2th ed. New York: Prentice-Hall.

LABORATÓRIO NACIONAL DE COMPUTAÇÃO CIENTÍFICA. Fronteiras e limites do

Brasil. Disponível em: http://info.lncc.br/. Acesso em: 1 de jun. 2009.

SECRETARIA DE MEIO AMBIENTE E RECURSOS HÍDRICOS DO ESTADO DO PARANÁ.

Mar territorial e os royalties do petróleo no Paraná.Disponível em:

http://www.recursoshidricos.pr.gov.br/arquivos/File/anexo2-2007marter.pdf. Acesso em: 1 de

jun. 2009.

SJOBERG, L.E. Geodetic intersection on the ellipsoid. J Geod, n. 82, p. 565-567, 2008.

THOMAS, C. M., FEATHERSTONE, W. E. Validation of Vincenty’s Formulas for the

Geodesic Using a New Fourth-Order Extension of Kivioja’s Formula. Journal of Surveying

Enginnering, p 20-26, fevereiro 2005.

TORGE, W. Geodesy. Berlin, Walter Gruyter, 2001.

VANICEK, P., KRAKIWSKI, E. Geodesy: the concepts. Amsterdam, North Holland Pub-

lishing Co., 1986.

VINCENTY, T. Direct and inverse solutions of geodesics on the ellipsoid with application

of nested equations. Survey Review , v. XXIII, n. 176, p. 88-93, abril 1975.

WEINSTOCK, R. (1974). Calculus of Variations: With Applications to Physics and

Engineering. Courier Dover Publications.

39

6 APÊNDICES

40

6.1 Apêndice 1: Problema Direto

O programa resolve o problema direto n vezes para um ponto inicial (lon,lat),azimute az,

com a distância variando de s ate n*s utilizando a função direto2 e armazenando os pontos nos

vetores X e Y, onde X armazena longitude e Y latitude. A principal utilidade da função direto1

é gerar dados de tal forma que se possa plotar a linha geodésica. Entrada: Latitude,Longitude

e Azimute em (graus minutos segundos), s em metros. A função direto 2 resolve o problema

direto utilizando o algoritmo de Vincenty.

function [X,Y] = direto1(lat,lon,s,az,n)

lat1 = lat(3)/3600 + lat(2)/60 +lat(1);

lon1 = lon(3)/3600 + lon(2)/60 +lon(1);

a12 = az(3)/3600 + az(2)/60 +az(1);

X= zeros(1,n+1);

Y= zeros(1,n+1);

X(1)=lon1;

Y(1)=lat1;

for k=1:n,

s2=s*k;

[Y(k+1) X(k+1)]=direto2(lat1,lon1,s2,a12);

end

return

function [lat2,lon2] = direto2(lat1,lon1,s,a12)

a = 6378137;

b = 6356752.31424518;

f = 1/298.257223563;

lat1 = lat1*0.017453292519943295769236907684886;

lon1 = lon1*0.017453292519943295769236907684886;

a12 = a12*0.017453292519943295769236907684886;

e2=1-(1-f)^2;

if abs(pi/2-abs(lat1)) < 1e-10;

lat1 = sign(lat1)*(pi/2-(1e-10));

end

Sa12 = sin(a12);

Ca12 = cos(a12);

41

TU1 = (1-f)*tan(lat1);

CU1 = 1/sqrt(1+(TU1)^2);

SU1 = TU1*CU1;

sgm1 = atan2(TU1,Ca12);

Sa = CU1*Sa12;

Casq = 1 - (Sa)^2;

usq = Casq*(1/(1-e2)-1);

A = 1 + usq/16384*(4096+usq*(-768+usq*(320-175*usq)));

B = usq/1024 * (256+usq*(-128+usq*(74-47*usq)));

sgm = s/(b*A);

sgmp = 2*pi;

while abs(sgm-sgmp) > 1e-12,

M = cos(2*sgm1 + sgm);

Ssgm = sin(sgm);

Csgm = cos(sgm);

Dsgm = B*Ssgm*(M+B/4*(Csgm*(-1+ 2*(M^2))-B/6*M*(-3+4*(Ssgm^2))*(-3+4*(M^2))));

sgmp = sgm;

sgm = s/(b*A) + Dsgm;

end

T = SU1*Ssgm - CU1*Csgm*Ca12;

lat2 = atan2(SU1*Csgm + CU1*Ssgm*Ca12,(1-f)*sqrt((Sa)^2 + (T)^2));

lbd = atan2(Ssgm*Sa12, CU1*Csgm - SU1*Ssgm*Ca12);

C = f/16*Casq*(4+f*(4-3*Casq));

L = lbd - (1-C) * f * Sa * (sgm + C*Ssgm*(M+C*Csgm*(-1+2*(M^2))));

lon2 = lon1 + L;

lat2=lat2*57.295779513082320876798154814105;

lon2=lon2*57.295779513082320876798154814105;

lon2 = mod(lon2,360);

return

42

6.2 Apêndice 2: Mudança de coordenadas

Essa função faz a mudança de coordenadas geodésicas para cartesianas utilizando as equações:

x = N cos[lat] cos[long], y = N cos[lat] sin[long] ez = N(1−e2) sin[lat]. Entradas: A=longitude,

B=latitude

function [] = coord(A,B)

A=A*(0.017453292519943295769236907684886);

B=B*(0.017453292519943295769236907684886);

a = 6378137;

f = 1/298.257223563;

e2 =(1-(1-f)^2);

N= a./sqrt(1-e2*(sin(B).^2));

u1= N.*cos(B).*cos(A);

v1= N.*cos(B).*sin(A);

w1= N.*(((1-f)^2)*sin(B));

plot3(u1,v1,w1)

return

43

6.3 Apêndice 3: Gráfico da linha geodésica na esfera

Esta função plota úma linha geodésica desenvolvida na esfera como um gráfico.

function[] = esfera2(lat,lon,az,d,a)

lat1 = lat(3)/3600 + lat(2)/60 +lat(1);

lon1 = lon(3)/3600 + lon(2)/60 +lon(1);

a12 = az(3)/3600 + az(2)/60 +az(1);

sent=1;

if mod(a12,360) > 180

sent=-1;

end

lat1 = lat1*0.01745329251994;

lon1 = lon1*0.01745329251994;

a12 = a12*0.01745329251994;

n=round(3000);

X= zeros(1,n);

Y= zeros(1,n);

d=d*0.01745329251994;

X(1)=lon1;

Y(1)=lat1;

C1= a*cos(lat1)*sin(a12);

C2= lon1 - asin(tan(lat1)/sqrt((a/C1)^2 -1));

if(a12 >pi/2 && a12<3*pi/2 && lat1==0) t1=-1;

else t1=1;

end

for k=2:n,

X(k)=X(1)+(k-1)*sent*d;

Y(k)=t1*atan((sqrt((a/C1)^2 -1))*sin(X(k)-C2));

end

X=X*57.295779513082320876798154814105;

X=mod(X,360);

Y=Y*57.295779513082320876798154814105;

plot(X,Y)

grid

clear

return

44

6.4 Apêndice 4: diferenças de latitude entre linha geodésicas na esfera e no elipsóide

Esta função retorna a média e a variância das diferenças de latitute entre a linha geodésica

no elipsóide de revolução e na esfera para uma mesma longitute. As entradas da função são as

coordenadas do ponto e o azimute em grau, minuto, segundo, a distância entre pontos, o raio da

esfera e o número de pontos. Esta função faz uso da função direto2 descrita no APÊNDICE 1.

function [M Sd] = estatisticas(latA,lonA,azA,s,a,n)

lat1 = latA(3)/3600 + latA(2)/60 +latA(1);

lon1 = lonA(3)/3600 + lonA(2)/60 +lonA(1);

a12 = azA(3)/3600 + azA(2)/60 +azA(1);

lat11 = lat1*0.01745329251994;

lon11 = lon1*0.01745329251994;

a121 = a12*0.01745329251994;

M1= zeros(1,n+1);

Sd1= zeros(1,n+1);

M1(1)=0;

M=0;

Sd=0;

C1= a*cos(lat11)*sin(a121);

C2= lon11 - asin(tan(lat11)/sqrt((a/C1)^2 -1));

for k=1:n

s2=s*k;

[A B C] = direto2(lat1,lon1,s2,a12);

B=B * .1745329251994329577e-1;

aux=atan((sqrt((a/C1)^2 -1))*sin(B-C2));

aux=aux*57.29577951308232;

M1(k+1)=abs(aux-A);

end

for k=1:(n+1)

M=M+M1(k);

end

M=M/(n+1);

for k=1:(n+1)

Sd=Sd+(M1(k)-M)^2;

end

Sd=Sd/(n+1);

return

45

6.5 Apêndice 5: Interseção na esfera

A função calcula a interseção de duas linhas geodésicas na esfera. As entradas da função

são as coordenadas e azimutes em grau, minuto e segundo de cada ponto e o raio da esfera.

function[inter1lat,inter1lon] = intersecaoesfera(latA,lonA,azA,latB,lonB,azB,a)

lat1 = latA(3)/3600 + latA(2)/60 +latA(1);

lon1 = lonA(3)/3600 + lonA(2)/60 +lonA(1);

a1 = azA(3)/3600 + azA(2)/60 +azA(1);

lat2 = latB(3)/3600 + latB(2)/60 +latB(1);

lon2 = lonB(3)/3600 + lonB(2)/60 +lonB(1);

a2 = azB(3)/3600 + azB(2)/60 +azB(1);

lat1 = lat1*0.01745329251994;

lon1 = lon1*0.01745329251994;

a1 = a1*0.01745329251994;

lat2 = lat2*0.01745329251994;

lon2 = lon2*0.01745329251994;

a2 = a2*0.01745329251994;

C1A= a*cos(lat1)*sin(a1);

C2A= lon1 - asin(tan(lat1)/sqrt((a/C1A)^2 -1));

C1B= a*cos(lat2)*sin(a2);

C2B= lon2 - asin(tan(lat2)/sqrt((a/C1B)^2 -1));

A1=1/(sqrt((a/C1A)^2-1));

B1=1/(sqrt((a/C1B)^2-1));

A2=C2A;

B2=C2B;

inter1lat=atan2(abs(sin(B2-A2)),(sqrt(A1^2 + B1^2 -2*A1*B1*cos(B2-A2))));

inter2lat=atan2(-abs(sin(B2-A2)),(sqrt(A1^2 + B1^2 -2*A1*B1*cos(B2-A2))));

inter1lon=asin(tan(inter1lat)/(sqrt((a/C1A)^2 -1))) +A2;

inter2lon=inter1lon+3.1415926535897932384626433832795;

inter1lat=inter1lat*57.29577951308232;

inter2lat=inter2lat*57.29577951308232;

inter1lon=mod(inter1lon*57.29577951308232,360);

inter2lon=mod(inter2lon*57.29577951308232,360);

return

46

6.6 Apêndice 6: Interseção por Fourier

Calcula a latitude e longitude da interseção de duas linhas geodésicas no elipsóide de revo-

lução utilizando o método de interpolação de Fourier descrito na seção 3. As entradas são as

coordenadas dos pontos, seus azimutes, e a aproximação inicial t1,t2.

function [latinter,loninter] = fourier(latA,lonA,azA,latB,lonB,azB,t1,t2)

s=100;

n=400000;

lat1 = latA(3)/3600 + latA(2)/60 +latA(1);

lon1 = lonA(3)/3600 + lonA(2)/60 +lonA(1);

az1 = azA(3)/3600 + azA(2)/60 +azA(1);

lat2 = latB(3)/3600 + latB(2)/60 +latB(1);

lon2 = lonB(3)/3600 + lonB(2)/60 +lonB(1);

az2 = azB(3)/3600 + azB(2)/60 +azB(1);

X1= zeros(1,n+1);

X2= zeros(1,n+1);

X3= zeros(1,n+1);

X4= zeros(1,n+1);

X1(1)=lat1;

X2(1)=lon1;

X3(1)=lat2;

X4(1)=lon2;

for k=1:n,

s2=s*k;

[A B]=direto2(lat1,lon1,s2,az1);

X1(k+1)=A;

X2(k+1)=B;

end

for k=1:n,

s2=s*k;

[A B]=direto2(lat2,lon2,s2,az2);

X3(k+1)=A;

X4(k+1)=B;

end

Y1 = fft(X1);

Y2 = fft(X2);

Y3 = fft(X3);

Y4 = fft(X4);

47

%%%%

x0 = [t1; t2];

options=optimset(’Display’,’iter’);

j=n;

T4=Y4;

T3=Y3;

T2=Y2;

T1=Y1;

lon0=213;

[x1,fval] = fsolve(@(x) myfun2(x,T2,lon0,j),x0,options)

[x2,fval] = fsolve(@(x) myfun2(x,T4,lon0,j),x0,options)

x0 = [x1(1); x2(1)];

[x,fval] = fsolve(@(x) myfun(x,T1,T2,T3,T4,j),x0,options)

latinter=somalat(x(1),T1,n+1);

loninter=somalon(x(1),T2,n+1);

return

function F = myfun(x,T1,T2,T3,T4,j)

F = [somalat(x(1),T1,j+1)-somalat(x(2),T3,j+1);

somalon(x(1),T2,j+1)-somalon(x(2),T4,j+1)];

return

function [R1] = somalon(x,T1,n)

R1=0;

for k=1:n

R1=R1+real(T1(k))*cos(2*pi*(x-1)*(k-1)/n)-imag(T1(k))*sin(2*pi*(x-1)*(k-1)/n);

end

R1=R1/n;

return

function [R1] = somalat(x,T1,n)

R1=0;

for k=1:n

R1=R1+real(T1(k))*cos(2*pi*(x-1)*(k-1)/n)-imag(T1(k))*sin(2*pi*(x-1)*(k-1)/n);

end

R1=R1/n;

return

function F = myfun2(x,T2,lon0,j)

F = somalon(x(1),T2,j+1)-lon0;

return

48

6.7 Apêndice 7: Problema inverso

A função resolve o problema inverso de coordenadas na geodésia utilizando o algoritmo de

Vincenty.

function [s,a12,a21] = inverso(lat1,lon1,lat2,lon2)

a = 6378137;

b = 6356752.31424518;

f = 1/298.257223563;

e2=1-(1-f)^2;

lat1 = lat1*0.017453292519943295769236907684886;

lon1 = lon1*0.017453292519943295769236907684886;

lat2 = lat2*0.017453292519943295769236907684886;

lon2 = lon2*0.017453292519943295769236907684886;

if abs(pi/2-abs(lat1)) < 1e-10;

lat1 = sign(lat1)*(pi/2-(1e-10));

end

if abs(pi/2-abs(lat2)) < 1e-10;

lat2 = sign(lat2)*(pi/2-(1e-10));

end

L = abs(lon2-lon1);

if L > pi

L = 2*pi - L;

end

lbd = L;

lbd0 = 0;

U1 = atan((1-f)*tan(lat1));

U2 = atan((1-f)*tan(lat2));

while abs(lbd-lbd0) > 1e-12

lbd0 = lbd;

Ssgm = sqrt((cos(U2)*sin(lbd))^2+(cos(U1)*sin(U2)-

sin(U1)*cos(U2)*cos(lbd))^2);

Csgm = sin(U1)*sin(U2)+cos(U1)*cos(U2)*cos(lbd);

sgm = atan2(Ssgm,Csgm);

a12 = asin(cos(U1)*cos(U2)*sin(lbd)/sin(sgm));

M = cos(sgm)-2*sin(U1)*sin(U2)/cos(a12)^2;

C = f/16*cos(a12)^2*(4+f*(4-3*cos(a12)^2));

lbd = L+(1-C)*f*sin(a12)*(sgm+C*sin(sgm)*

(M+C*cos(sgm)*(-1+2*M^2)));

end

usq = cos(a12)^2*(1/(1-e2)-1);

49

A = 1 + usq/16384*(4096+usq*(-768+usq*(320-175*usq)));

B = usq/1024 * (256+usq*(-128+usq*(74-47*usq)));

Dsgm = B*sin(sgm)*(M+B/4*(cos(sgm)*(-1+2*M^2)-B/6*M*

(-3+4*sin(sgm)^2)*(-3+4*M^2)));

s = b*A*(sgm-Dsgm);

a12 = atan(cos(U2)*sin(lbd)/(cos(U1)*sin(U2)

-sin(U1)*cos(U2)*cos(lbd)));

a21 = atan(cos(U1)*sin(lbd)/(-sin(U1)*cos(U2)

+cos(U1)*sin(U2)*cos(lbd)));

if a12 < 0

a12 = a12+2*pi;

end

if a21 < 0

a21 = a21+2*pi;

end

a12=a12*57.295779513082320876798154814105;

a21=a21*57.295779513082320876798154814105;

return

50

6.8 Apêndice 8: Primeiro método do cálculo da interseção por busca

Calcula a interseção de duas linhas geodésicas no elipsóide de revolução utilizando o método

por busca descrito na seção 3.

function [Lat,Lon] = intersecao(LatA,LonA,AzA,LatB,LonB,AzB,Lat0,Lon0)

Lat0 = Lat0(3)/3600 + Lat0(2)/60 +Lat0(1);

Lon0 = Lon0(3)/3600 + Lon0(2)/60 +Lon0(1);

LatA = LatA(3)/3600 + LatA(2)/60 +LatA(1);

LonA = LonA(3)/3600 + LonA(2)/60 +LonA(1);

AzA = AzA(3)/3600 + AzA(2)/60 +AzA(1);

LatB = LatB(3)/3600 + LatB(2)/60 +LatB(1);

LonB = LonB(3)/3600 + LonB(2)/60 +LonB(1);

AzB = AzB(3)/3600 + AzB(2)/60 +AzB(1);

[s0 A B] = inverso1(LatA,LonA,Lat0,Lon0)

[Lat Lon] = direto2(LatA,LonA,s0,AzA)

d=1;

Ds=10;

n=0;

while abs(d)>=0.01 & n<10000,

[S A1 A] = inverso1(LatB,LonB,Lat,Lon);

d = AzB-A1;

s = s0 + sign(d)*Ds;

[Lat Lon] = direto2(LatA,LonA,s,AzA);

s0=s;

n=n+1;

end

return

51

6.9 Apêndice 9: Segundo método do cálculo da interseção por busca

Calcula a interseção de duas linhas geodésicas no elipsóide de revolução utilizando o se-

gundo método por busca descrito na seção 3.

function [latinter,loninter,Least,t] = recursao(latA,lonA,azA,latB,lonB,azB)

tic

n=8000

s=5000

lat1 = latA(3)/3600 + latA(2)/60 +latA(1);

lon1 = lonA(3)/3600 + lonA(2)/60 +lonA(1);

az1 = azA(3)/3600 + azA(2)/60 +azA(1);

lat2 = latB(3)/3600 + latB(2)/60 +latB(1);

lon2 = lonB(3)/3600 + lonB(2)/60 +lonB(1);

az2 = azB(3)/3600 + azB(2)/60 +azB(1);

X1= zeros(1,n+1);

X2= zeros(1,n+1);

i=sqrt(-1);

X1(1)=lon1 + lat1*i;

X2(1)=lon2 + lat2*i;

for k=1:n,

s2=k*s;

[A B]=direto2(lat1,lon1,s2,az1);

X1(k+1)= B+A*i;

end

for k=1:n,

s2=s*k;

[A B]=direto2(lat2,lon2,s2,az2);

X2(k+1)= B+A*i;

end

Least0=10;

for j=1:n+1

for i=1:n+1

Least = sqrt((real(X2(i))-real(X1(j)))^2+ (imag(X2(i))-imag(X1(j)))^2);

if Least<Least0

Least0=Least;

il=i;

jl=j;

end

end

end

52

[latinter loninter Least] = recursao2(latA,lonA,azA,latB,lonB,azB,il,jl);

toc

t = toc

return

function [latinter,loninter,Least0] = recursao2(latA,lonA,azA,latB,lonB,azB,il,jl)

s=1;

n=round(10000/s);

lat1 = latA(3)/3600 + latA(2)/60 +latA(1);

lon1 = lonA(3)/3600 + lonA(2)/60 +lonA(1);

az1 = azA(3)/3600 + azA(2)/60 +azA(1);

lat2 = latB(3)/3600 + latB(2)/60 +latB(1);

lon2 = lonB(3)/3600 + lonB(2)/60 +lonB(1);

az2 = azB(3)/3600 + azB(2)/60 +azB(1);

X1= zeros(1,n+1);

X2= zeros(1,n+1);

i=sqrt(-1);

for k=1:n,

s2=5000*max((jl-2),0)+k*s;

[A B]=direto2(lat1,lon1,s2,az1);

X1(k)= B+A*i;

end

for k=1:n,

s2=5000*max((il-2),0)+s*k;

[A B]=direto2(lat2,lon2,s2,az2);

X2(k)= B+A*i;

end

Least0=5;

for j=1:n

for i=1:n

Least = sqrt((real(X2(i))-real(X1(j)))^2 + (imag(X2(i))-imag(X1(j)))^2);

if Least<Least0

Least0=Least;

il2=i;

jl2=j;

end

end

end

latinter=imag(X1(jl2));

loninter=real(X1(jl2));

return

53

6.10 Apêndice 10: Método do cálculo da interseção por ajuste polinomial

Calcula a interseção de duas linhas geodésicas no elipsóide de revolução utilizando o método

de ajuste por polinômios descrito na seção 3.

function [longinter,latinter,t] = ajuste(latA,lonA,azA,latB,lonB,azB)

tic

n=40000

s=1000

lat1 = latA(3)/3600 + latA(2)/60 +latA(1);

lon1 = lonA(3)/3600 + lonA(2)/60 +lonA(1);

az1 = azA(3)/3600 + azA(2)/60 +azA(1);

lat2 = latB(3)/3600 + latB(2)/60 +latB(1);

lon2 = lonB(3)/3600 + lonB(2)/60 +lonB(1);

az2 = azB(3)/3600 + azB(2)/60 +azB(1);

X1= zeros(1,n+1);

X2= zeros(1,n+1);

i=sqrt(-1);

X1(1)=lon1 + lat1*i;

X2(1)=lon2 + lat2*i;

for k=1:n,

s2=k*s;

[A B]=direto2(lat1,lon1,s2,az1);

X1(k+1)= B+A*i;

end

for k=1:n,

s2=s*k;

[A B]=direto2(lat2,lon2,s2,az2);

X2(k+1)= B+A*i;

end

longinter=zeros(9,4);

latinter=zeros(9,4);

s15=polyfit(real(X1),imag(X1),5);

s25=polyfit(real(X2),imag(X2),5);

U5=roots(s25-s15);

dU5=size(U5);

j=1;

i=1;

for k=1:dU5

if imag(U5(k))==0 & U5(k)>0 & U5(k)<360

longinter(j,i)=U5(k);

latinter(j,i)=polyval(s15,U5(k));

j=j+1;

end

54

end

s17=polyfit(real(X1),imag(X1),7);

s27=polyfit(real(X2),imag(X2),7);

U7=roots(s27-s17);

dU7=size(U7);

j=1;

i=2;

for k=1:dU7

if imag(U7(k))==0 & U7(k)>0 & U7(k)<360

longinter(j,i)=U7(k);

latinter(j,i)=polyval(s17,U7(k));

j=j+1;

end

end

s19=polyfit(real(X1),imag(X1),9);

s29=polyfit(real(X2),imag(X2),9);

U9=roots(s29-s19);

dU9=size(U9);

j=1;

i=3;

for k=1:dU9

if imag(U9(k))==0 & U9(k)>0 & U9(k)<360

longinter(j,i)=U9(k);

latinter(j,i)=polyval(s19,U9(k));

j=j+1;

end

end

s150=polyfit(real(X1),imag(X1),50);

s250=polyfit(real(X2),imag(X2),50);

U50=roots(s250-s150);

dU50=size(U50);

j=1;

i=4;

for k=1:dU50

if imag(U50(k))==0 & U50(k)>0 & U50(k)<360

longinter(j,i)=U50(k);

latinter(j,i)=polyval(s150,U50(k));

j=j+1;

end

end

toc

t = toc;

return

55