UNIVERSIDADE FEDERAL FLUMINENSE Fabrício Xavier Alves · •Profa. Aline Marins Paes, ... Aos...
Transcript of UNIVERSIDADE FEDERAL FLUMINENSE Fabrício Xavier Alves · •Profa. Aline Marins Paes, ... Aos...
UNIVERSIDADE FEDERAL FLUMINENSEFabrício Xavier Alves
Cálculo da direção e distância entre dois pontos quaisquerda superfície terrestre e declinação magnética
a partir de suas coordenadas geográficas
Niterói2007
Fabrício Xavier Alves
Cálculo da direção e distância entre dois pontos quaisquerda superfície terrestre e declinação magnética
a partir de suas coordenadas geográficas
Trabalho de Conclusão de Curso subme-
tido ao Curso de Tecnologia em Siste-
mas de Computação da Universidade
Federal Fluminense como requisito par-
cial para obtenção do Tecnólogo em Sis-
temas de Computação.
Orientador:Leandro Soares de Sousa
NITERÓI2007
Fabrício Xavier Alves
Cálculo da direção e distância entre dois pontos quaisquerda superfície terrestre e declinação magnética
a partir de suas coordenadas geográficas
Trabalho de Conclusão de Curso subme-
tido ao Curso de Tecnologia em Siste-
mas de Computação da Universidade
Federal Fluminense como requisito par-
cial para obtenção do Tecnólogo em Sis-
temas de Computação.
Niterói, 13 de novembro de 2007.
Banca Examinadora:
• Profa. Anna Dolejsi Santos, Dr.Sc. - Universidade Federal Fluminense• Prof. Leandro Soares de Sousa, Msc. - Universidade Federal Fluminense• Profa. Aline Marins Paes, Msc. - Universidade Federal do Rio de Janeiro
Dedico este trabalho aos gigantes nos om-
bros dos quais me apoiei para chegar até
aqui.
AGRADECIMENTOS
A Deus, que sempre iluminou a minha cami-
nhada.
A meu orientador Leandro Soares de Sousa
pelo estímulo e atenção que me concedeu
durante a elaboração desse trabalho.
Aos professores que acreditaram no projeto
de educação à distância ajudando a escrever
a história da educação no Brasil
A todos os meus familiares e amigos pelo
apoio e colaboração.
“Há Um que mora acima do círculo da terra”.
Isaías 40:22, c. 732 A.C.
RESUMO
Esse trabalho descreve um método que permite, a partir de duas coorde-nadas quaisquer na superfície terrestre, determinar a distância e direção a ser segui-da para ir de um ponto a outro. Adicionalmente, descreve como determinar a decli-nação magnética prevista para a origem.
Os cálculos da distância e da direção baseiam-se no trabalho publicado pelo geógrafo polonês Thaddeus Vincenty no número 176 da revista Survey Review, páginas 88-93 sob o título "Direct and Inverse solutions of geodesics on the ellipsoid with application of nested equations".
O cálculo da declinação magnética utiliza o World Magnetic Model, produ-zido pelo U.S. National Geophysical Data Center (NGDC) e a British Geological Sur-vey (BGS). Esse modelo é utilizado como padrão pelo Departamento de Defesa Americano, o Ministério da Defesa britânico, a OTAN e o World Hydrographic Office e é descrito no documento “The US/UK World Magnetic Model” publicado pela Natio-nal Geophysical Data Center e British geological Survey Geomagnetism Group.
É sugerida uma implementação usando a Web, como plataforma. Usando essa implementação nós podemos ver os mapas e fotografias de satélite dos pontos de origem e destino bem como os resultados dos cálculos.
Palavras-chaves: geodésica, declinação, magnetismo, gps, google maps, dire-ção, distância, latitude, longitude, ortodromia, loxodromia.
ABSTRACT
This work describes how to compute the distance and direction between two points at Earth surface using latitude and longitude of origin and destination. Also, describes how to compute the origin’s magnetic declination.
The computation of the distance and direction comes from Vincenty’s equation, published on Survey Review magazine, number 176, pages 88-93, “Direct and inverse solutions of geodesics on the ellipsoid with application of nested equa-tions” .
Magnetic declination comes from World Magnetic Model, produced by U.S. National Geophysical Data Center (NGDC) and British Geological Survey (BGS). This is the standard model of the US Department of Defense, the IK Ministry of Defense, the North Atlantic Treaty Organization (NATO), and the World Hydro-graphic Office (WHO) and is described at “The US/UK World Magnetic Model” docu-ment published by National Geophysical Data Center and British geological Survey Geomagnetism Group.
We suggest an implementation using Web architecture. Using this imple-mentation we can see the maps and satellite photography of origin and destination and the results of computation.
Key words: geodesy, declination, magnetism, gps, google maps, direction, dis-tance, latitude, longitude, orthodromy, loxodromy.
LISTA DE ILUSTRAÇÕES
1 Otodrómicas traçadas sobre uma esfera...............................................................35
2 Loxodrómia na esfera............................................................................................36
3 O campo magnético terrestre................................................................................37
4 Declinação magnética............................................................................................64
LISTA DE TABELAS
Tabela 1 – Tabela de coeficientes............................................................................43
Tabela 2 – Coordenadas utilizadas nos testes de distância....................................54
Tabela 3 – Resultados esperados e obtidos para a distância..................................55
Tabela 4 – Resultados esperados e obtidos para a declinação...............................63
LISTA DE ABREVIATURAS E SIGLAS
GPS – Geographic Positioning System
NMEA – National Marine Electronics Association
NOAA – National Oceanic and Atmospheric Administration
NGDC – National Geophisical Data Center
BGS – British Geographic Survey
OTAN – Organização do Tratatado do Atlântico Norte
ASP – Active Server Pages
API – Application Programming Interface
SUMÁRIO
RESUMO ..................................................................................................... 7
ABSTRACT ................................................................................................. 8
LISTA DE ILUSTRAÇÕES .......................................................................... 9
LISTA DE TABELAS ................................................................................. 10
LISTA DE ABREVIATURAS E SIGLAS .................................................... 11
1 INTRODUÇÃO ........................................................................................ 13
2 METODOLOGIA ...................................................................................... 15
3 metodologia de cálculo .......................................................................... 18
4 implementação ........................................................................................ 48
CONCLUSÕES ......................................................................................... 64
RefERÊNCIAS BIBLIOGRÁFICAS ........................................................... 66
RefERÊNCIAS BIBLIOGRÁFICAS ........................................................... 66
1 INTRODUÇÃO
O objetivo desse trabalho é desenvolver um sistema que permita a sele-
ção de dois pontos quaisquer da superfície da Terra, A e B, e calcule a distância a
ser percorrida e a direção a ser seguida para ir de A até B. Adicionalmente, para per-
mitir uma correta orientação, o sistema deverá informar a declinação magnética do
local, a saber: a diferença angular entre a direção apontada pela agulha de uma bús-
sola magnética e o norte. O sistema deverá permitir a escolha do par origem e desti-
no em um mapa e, preferencialmente, sugerir o local de origem detectando o local
em que está sendo feita a localização.
São várias as aplicações para esse tipo de sistema:
• Dimensionamento de cabos e dutos submarinos
• Alinhamento de antenas de rádio transmissão
• Navegação em pequenos barcos ou aviões particulares.
• Grupos que têm interesse em saber a direção de um local específi-
co, como os muçulmanos que precisam orar voltados para Meca.
• Logística de produtos e pessoas
• Cálculo de rotas e direções
O principal problema enfrentado na determinação da distância entre dois
pontos é o modelo matemático utilizado. Na maioria dos casos os modelos utilizam
simplificações que aceleram os cálculos, mas reduzem sua precisão, especialmente
para grandes distâncias.
Outro problema diz respeito à direção a ser seguida para ir de um ponto a
outro. Se o referencial utilizado for uma bússola magnética, haverá diferenças devi -
do à mudança secular na declinação magnética. Especialmente no Brasil, cujo terri-
13
tório apresenta uma das maiores variações na declinação magnética, tais diferenças
podem acarretar desvios consideráveis.
Esse trabalho foi organizado da seguinte forma:
• Inicialmente apresentamos os principais desafios da determinação
precisa da distância e direção entre dois pontos e a da declinação
magnética.
• A seguir apresentamos a metodologia descrita no trabalho de Vin-
centy [1] para o cálculo da distância e direção entre dois pontos.
• Apresentamos um exemplo detalhado de cálculo.
• Explicamos a metodologia utilizada na determinação da declinação
magnética.
• Apresentamos uma proposta computacional para os cálculos e vi-
sualização dos dados.
• E finalmente, na conclusão, fazemos sugestões para novos traba-
lhos.
14
2 METODOLOGIA
A solução do problema proposto apresenta uma série de desafios:
• A forma da Terra, que não é perfeitamente esférica, mas apresenta-se li-
geiramente achatada nos pólos. O cálculo da distância e direção entre
dois pontos deve levar esse fato em consideração.
• Uma solução matemática como a apresentada acima deve ser de fácil im-
plementação em dispositivos móveis, tais como celulares equipados com
GPS. Alguns desses aparelhos não possuem primitivas para cálculos tri-
gonométricos. O sistema deve implementar esse tipo de cálculo.
• A declinação magnética não é homogênea sobre a superfície da Terra,
apresentando áreas de anomalia. Além disso, essa declinação varia com o
tempo. Para que o sistema seja viável, faz-se necessária especial atenção
a esse fato.
Para solucionar os problemas apresentados, foi feito um esforço de seleci-
onar as mais avançadas metodologias em uso no mundo. Procurou-se descrever em
detalhes os cálculos matemáticos utilizados, apresentando exemplos de cálculos.
Além disso, é apresentado um sistema que foi desenvolvido utilizando-se a Web,
como plataforma, que permite visualizar a solução do problema proposto.
15
2.1 CÁLCULO DA DISTÂNCIA E DIREÇÃO
O cálculo da distância e direção entre dois pontos da superfície terrestre
baseou-se no trabalho realizado pelo geógrafo polonês Thaddeus Vincenty, particu-
larmente no artigo intitulado “Direct and Inverse solutions of geodesics on the ellip-
soid with application of nested equations.” [1]. Nesse artigo ele detalha um método
interativo utilizando aproximações algébricas sucessivas para o cálculo da distância
entre dois pontos. Esse cálculo foi utilizado por sua extrema precisão e facilidade de
implementação.
2.2 CÁLCULO DA DECLINAÇÃO MAGNÉTICA
O cálculo da declinação magnética baseou-se no trabalho “The US/UK
World magnetic Model for 2005-2010” publicado pela National Geophysical Data
Center e British Geological Survey Geomagnetism Group [3]. Esse documento des-
creve um modelo matemático, que permite determinar a declinação magnética de
um local, ou seja, a diferença entre a direção apontada por uma agulha magnética e
a direção norte. Esse é o método padrão utilizado pelo Departamento de Defesa dos
Estados Unidos, pelo Ministério da Defesa da Grã-Bretanha, pela OTAN e pelo Word
Hydrographic Office na determinação da declinação magnética.
2.3 IMPLEMENTAÇÃO
Para a implementação utilizamos as linguagens HTML, JavaScript e ASP,
com banco de dados Access e arquitetura AJAX1 no desenvolvimento de um sistema
1 Consiste em um estilo baseado na utilização de scripts de cliente de forma asíncrona, permitindo a
carga parcial de páginas. Algumas de suas características são: (i) permite a carga parcial de dados
em uma página e (ii) combina JavaScript e XML.
16
que permitiu implementar os cálculos descritos. Além disso, foi utilizada a interface
com o Google Maps para visualização das informações geográficas.
17
3 METODOLOGIA DE CÁLCULO
Duas importantes variáveis de entrada em nosso sistema são a latitude e
longitude, tanto da origem como do destino. Os dados precisos do local de origem
podem ser obtidos com o auxílio de um GPS. GPS é a sigla para Global Positioning
System ou Sistema de Posicionamento Global, que é omposto por uma constelação
de 28 satélites em órbita ao redor da Terra, que permanentemente enviam dados
que podem ser captados por um receptor para calcular sua posição precisa. Parti -
mos do princípio de que o usuário do sistema sabe onde está e para onde deseja ir.
Como forma de se localizar ele deve usar as coordenadas do local ou então tentar
localizar, através da ferramenta de pesquisa e visualização oferecida pelo Google
Maps, o local onde está e para onde deseja ir.
3.1 CÁLCULO DA DISTÂNCIA E DIREÇÃO
Há muitas maneiras de se calcular a distância entre dois pontos na super-
fície da Terra a partir de sua latitude e longitude. Os métodos variam em complexi-
dade e precisão. Geralmente, quanto mais simples o método menos preciso ele é.
Os métodos mais utilizados são:
• Método do Grande Círculo (ou Círculo Máximo), baseado na trigonometria
esférica [5];
• Fórmula de Vincenty, que utiliza o método de aproximações sucessivas
[1].
Para a maioria dos propósitos, o método do grande círculo é satisfatório,
especialmente para distâncias pequenas.
Já a fórmula de Vincenty oferece precisão de meio milímetro para distân-
cias transcontinentais, de acordo com o número de interações e os parâmetros utili-
18
zados nos cálculos, que são: o número de casas decimais utilizados para Pi; diâme-
tro da Terra nos pólos; diâmetro da Terra no Equador e o número de casas decimais
utilizados nos cálculos trigonométricos.
3.1.1 MÉTODO DO GRANDE CÍRCULO
O grande círculo (ou círculo máximo) é a seção da esfera que contém o
seu diâmetro [5]. Seções da esfera que não contêm o diâmetro são chamadas pe-
quenos círculos. O menor caminho entre dois pontos em uma esfera, também co-
nhecido como ortodrómia é um segmento de círculo máximo.
O método do grande círculo assume a terra como uma esfera, ignorando
seu achatamento. Trata-se de um método bastante preciso para pequenas distânci-
as. Seu cálculo baseia-se na lei dos cossenos. [7]
Fórmula:
R é o raio da terra (6371 km)
cRdaac
longlatlatlatalonglonglong
latlatlat
⋅=
−⋅=
∆⋅⋅+∆=
−=∆−=∆
)1(arctan2
)2/(sin)cos()cos()2/(sin 221
212
12
Por exemplo, a distância entre o Pólo Universitário da UFF em Rio das
Ostras (latitude: -22,5037, longitude: - 41,9242) e a Kaaba, em Meca, na Arábia Sau-
dita (latitude: 21,4225, longitude: 39,8261), utilizando pela fórmula acima é de 10110
km.
19
3.1.2 FÓRMULA DE VINCENTY
No número 176 da revista Survey Review, páginas 88-93 o geógrafo po-
lonês Thaddeus Vincenty publicou o artigo intitulado "Direct and Inverse solutions of
geodesics on the ellipsoid with application of nested equations" [1]. Nesse artigo ele
detalha um método interativo e compacto, para o cálculo da distância entre dois pon-
tos. Nas seções 3.1.2.1, 3.1.2.2. e 3.1.2.3 apresentamos as equações como apare-
cem em Vincenty, 1975 [1]. Nas seções 3.1.3.4 e 3.2.1.5, explicamos as fórmulas
utilizadas na solução do problema e apresentamos um exemplo de cálculo.
3.1.2.1 Notação utilizada nas fórmulas
,,ba maior e menor semieixos do elipsóide.
,f achatamento = aba /)( − .
φ , latitude geodética, positiva ao norte do equador.
,L diferença na longitude, positiva ao leste.,s comprimento da geodésica
,, 21 αα azimutes da geodésica, no sentido horário a partir do norte;,α azimute da geodésica no equador
22222 /)(cos bbau −= α .
,U latitude reduzida, definida por φtan)1(tan fU −=
,λ diferença na longitude de uma esfera auxiliar.
,σ distância angular 21PP na esfera.
,1σ distância angular na esfera do equador a 1P
,mσ distância angular na esfera do equador à metade da linha.
20
3.1.2.2 Fórmula direta
111 cos/tantan ασ U= (1)
11 sincossin αα U= (2)
( )[ ]{ }2222
175320768409616384
1 uuuuA −+−++= (3)
( )[ ]{ }2222
47741282561024
uuuuB −+−+= (4)
σσσ += 122 m (5)
( ) ( )( )
+−+−−+−+=∆ mmmm BBB σσσσσσσσ 2cos43sin432cos
612cos21cos
412cossin 222 (6)
σσ ∆+=bAs
(7)
As equações (5), (6) e (7) são repetidas até que a mudança no valor de σ
seja desprezível. A primeira aproximação de σ é o primeiro termo de (7)
( ) ( )[ ] 212111
2
1112
coscoscossinsinsin1
cossincoscossintan
ασσα
ασσφUUf
UU
−+−
+= (8)
111
1
cossinsincoscossinsin
tanασσ
ασλUU −
= (9)
( )[ ]αα 22 cos344cos16
−+= ffC (10)
( ) ( )[ ]{ }mm CCfCL σσσσσαλ 2cos21cos2cossinsin1 2+−++−+= (11)
1112 coscoscossinsin
sintanασσ
ααUU +−
= (12)
Se os termos em 8u e 3B forem omitidos σ∆ (da onde vem isto?) teremos
um erro máximo de menos de 1,5 milímetro. Portanto as seguintes equações simpli-
ficadas poderão ser usadas caso não seja necessária maior precisão:
21
( )[ ]222
51264256
1 uuuA +−++= (3a)
( )[ ]222
3764128512
uuuB +−+= (4a)
( )
+−+=∆ mm BB σσσσσ 2cos21cos
412cossin 2 (6a)
3.1.2.3 Fórmula inversa
Escreva algo sobre a fórmula inversa- por que e para que?)
L=λ (primeira aproximação) (13)
( ) ( ) 221212
22 coscossinsincossincossin λλσ UUUUU −+= (14)
λσ coscoscossinsincos 2121 UUUU += (15)
σσσ
cossintan = (16)
σλα
sinsincoscossin 21 UU= (17)
ασσ 2
21
cossinsin2
cos2cosUU
m −= (18)
λ é obtido pelas equações (10) e (11). Esse procedimento é iterado co-
meçando com a equação (14) até que a mudança no valor de λ seja desprezível,
segundo os parâmetros estabelecidos.
( )σσ ∆−= bAs (19)
onde σ∆ vem das equações (3), (4) e (6)
λλα
coscossinsincossincos
tan2121
21 UUUU
U−
= (20)
λλα
cossincoscossinsincos
tan2121
12 UUUU
U+−
= (21)
22
Assim como na solução direta, as equações simplificadas (3a), (4a) e (6a)
podem ser usadas quando um erro máximo de menos de 1,5 milímetro é aceitável.
3.1.2.4 Algoritmo para o cálculo da distância e da direção
(A numeração das fórmulas está fora de ordem, se tem um porque expli-
que, também coloque um fim-enquanto)
ba, raio da terra no equador e nos pólos respectivamente.
f é o achatamento da terra.
21 ,φφ são as latitudes da origem e do destino.
L é a diferença entre as duas longitudes.
)tan)1arctan(( 11 φ⋅−= fU é a latitude reduzida.
πλλ 2, =′= L
Enquanto módulo ( ) 1210 −>′− λλ (ou seja, 0,06 mm)
( ) ( ) 221212
22 coscossinsincossincossin λλσ UUUUU −+= (c14)
λσ coscoscossinsincos 2121 UUUU += (c15)
σσσ
cossintan = (c16)
σλα
sinsincoscossin 21 UU= (c17)
ασσ 2
21
cossinsin2cos2cos UU
m −= (c18)
( )[ ]αα 22 cos344cos16
−+= ffC (c10)
λλ =′
( ) ( )[ ]{ }mm CCfCL σσσσσαλ 2cos21cos2cossinsin1 2+−++−+= (c11)
( )[ ]{ }2222 175320768409616384/1 uuuuA −+−+⋅+= (c3)
( )[ ]{ }2222
47741282561024
uuuuB −+−+= (c4)
23
( ) ( )( )
+−+−−+−+=∆ mmmm BBB σσσσσσσσ 2cos43sin432cos
612cos21cos
412cossin 222 (c6)
( )σσ ∆−= bAs (c19)
λλα
coscossinsincossincos
tan2121
21 UUUU
U−
= (c20)
λλα
cossincoscossinsincos
tan2121
12 UUUU
U+−
= (c21)
Ondes é a distância (na mesma unidade utilizada em a e b)
1a é a direção inicial, no sentido horário a partir do norte.
2a é a direção final. Obs.: numa ortodrómia o sentido a ser seguido muda durante o
trajeto.
Vincenty observou que a equação (c18) se torna indeterminada quando
os pontos de origem e destino se encontram sobre a linha do equador (já que
0cos2 =α ); nesse caso basta atribuirmos o valor 0 a mσ2cos e o resultado será cal-
culado corretamente. Ele também observou que a fórmula talvez não consiga chegar
a um resultado para dois pontos antípodas (Explique este termo). Por isso devemos
utilizar uma limitação no número de iterações.
Decidimos utilizar o datum WGS-84 (coloque referência ou explique), para os valo-
res de a, b e f.
Os valores utilizados são os seguintes:
Raio da terra no equador (a): 6.378.137,0 m
Raio da terra nos pólos (b): 6.356.752,314245 m
Achatamento da terra (f): 0,0033528106647474807198455286185206
Achatamento inverso (1/f): 298,257223563
No Brasil, segundo as Especificações e Normas Gerais para Levantamen-
tos Geodésicos em Território Brasileiro, utiliza-se o elipsóide SGR-67 cujos parâme-
24
tros são:
Raio da terra no equador (a): 6.378.160 m
Raio da terra nos pólos (b): 6.356.774,719 m
Achatamento inverso (1/f): 298,25
3.1.2.5 Exemplo de cálculo da distância e direção
Nesta subseção, como um exemplo, calculamos, através do algoritmo
apresentado anteriormente, a direção e a distância entre o Pólo Universitário da UFF
em Rio das Ostras (PURO) e a Kaaba, em Meca, na Arábia Saudita utilizando a fór-
mula inversa.
Localização do Pólo Universitário de Rio das Ostras (Fonte: Google Maps [referen-
cia])
Latitude: 22,5037 sul
Longitude: 41,9242 oeste
Localização da Kaaba em Meca na Arábia Saudita (Fonte: Google Maps [referencia])
Latitude: 21,4225 norte
Longitude: 39,8261 leste
Em primeiro lugar, os valores precisam ser convertidos para radianos.
Para a latitude, os valores são positivos ao norte e negativos ao sul. Para a longitu-
de, os valores são positivos a leste e negativos a oeste.
Obs.: Utilizamos valores com apenas 4 casas decimais para simplificar os cálculos.
1416.3=π
3928,0180/5037,221 −=⋅−= πLat
7317,0180/9242,411 −=⋅−= πLon
25
3739,0180/4225,212 =⋅= πLat
6951,0180/8261,392 =⋅= πLon
,a raio da Terra no equador (6.378.137 metros [WGS 1984])
,b raio da Terra nos pólos (6.356.752,3142 [WGS 1984])
,f achatamento da Terra, dado pela fórmula aba /)( − . Fazendo o cálculo encontra-
mos 70033528106,0=f
φ , latitude geodética, positiva ao norte do equador.
Portanto:
3928,01 −=φ
3739,02 =φ
,L é a diferença entre as duas longitudes
4268,1)7317,0(6951,012 =−−=−= LonLonL
,U latitude reduzida, definida por φtan)1(tan fU −=
3728,0]3923,09966,0arctan[)]tan()1arctan[(3916,0]4143,09966,0arctan[)]tan()1arctan[(
22
11
−=⋅=⋅−=−=−⋅=⋅−=
φφ
fUfU
Calculamos, também, o valor do seno e cosseno de U1 e U2:
9313,0)3728,0cos(cos3642,0)3728,0sin(sin9243,0)3916,0cos(cos3816,0)3916,0sin(sin
2
2
1
1
=−==−==−=
−=−=
UUUU
L=λ (primeira aproximação)
4268,1=λ
Utilizaremos um valor auxiliar λ ′
2832,62 =⋅=′ πλ
26
Enquanto a diferença entre os valores de λ e λ ′ for maior que 0,0001 re-
petiremos os cálculos que seguem. Para facilitar os cálculos, criamos algumas variá-
veis intermediárias auxiliares que serão úteis na implementação do código, melho-
rando sua legibilidade.
1435,0)cos(cos9897,0)sin(sin
====
λλλλ
Pela equação (c14) temos que
( ) ( ) 221212
22 coscossinsincossincossin λλσ UUUUU −+=
Para facilitar os cálculos futuros, faremos o seguinte:
])coscossinsin(cos)sin[(cossin 22121
22 λλσ ⋅⋅−⋅+⋅= UUUUU
9999,01502,08495,0)0510,03366,0()9217,0(sin
])1435,09313,0)3816,0(3642,09243,0()9897,09313,0[(sin22
22
=+=++=
⋅⋅−−⋅+⋅=
σ
σ
Pela equação (c15) temos que
0155,01235,01390,0cos1435,09313,09243,03642,03816,0cos
coscoscossinsincos 2121
−=+−=⋅⋅+⋅−=
+=
σσ
λσ UUUU
Pela equação (c16) temos que
5863,1)5097,64arctan(
5097,640155,09999,0
cossintan
=−=
−=−
==
σσσσ
Pela equação (c17) temos que
8520,09999,09897,09313,09243,0
sinsincoscossin 21 =⋅⋅==
σλα UU
Pela equação (c18) temos que
27
ασσ 2
21
cossinsin2cos2cos UU
m −=
Para facilitar os cálculos, acharemos primeiro o valor de α2cos
2741,07259,01)(sin1cos 22 =−=−= αα
Substituindo o valor encontrado na equação (c18):
9989,02741,0
3642,03816,020155,02cos =⋅−⋅−−=mσ
Pela equação (c10) temos que
( )[ ]
0002,0
)]8223,04(0034,4[2741,00002,0)]2741,034(0034,04[2741,0160034,0
cos344cos16
22
=
−⋅=⋅−+⋅=
−+=
C
C
ffC αα
Nesse ponto, armazenamos o novo valor de λ ′ : 4268,1==′ λλ
Pela equação (c11) temos que
( ) ( )[ ]{ }( ) ( )[ ]{ }
[ ]{ }[ ]{ }
[ ]{ }{ }{ }{ }
4314,10046,04268,1
5865,10029,04268,10002,05863,10029,04268,1
9989,00002,05863,10029,04268,1]000009,09989,0[0002,05863,10029,04268,1
)9912,2(000003,09989,00002,05863,10029,04268,1)9978,021(000003,09989,00002,05863,10029,0)9998,0(4268,1
)9978,021(000003,09989,00002,05863,18520,00034,0)0002,01(4268,19989,0210155,00002,09989,09999,00002,05863,1sin1
2cos21cos2cossinsin12
2
=+=
⋅+=++=
⋅++=−++=
−+⋅+=⋅+−−+⋅⋅+=
⋅+−−+⋅⋅⋅−+=⋅+−−⋅+⋅+−+=
+−++−+=
LLLLLLLLL
fCLCCfCL mm
αλ
σσσσσαλ
4314,1== Lλ (segunda aproximação)
Como a diferença entre os valores de λ e λ ′ é maior que 0,0001, repeti-
mos novamente os cálculos. Nessa segunda iteração encontramos os seguintes va-
28
lores:
9998,0sin =σ
0193,0cos −=σ
5901,1=σ
8526,0sin =α
2730,0cos2 =α
9989,02cos =mσ
0002,0=C
4314,1=′λ
4314,1=λ
Como, dessa vez, a diferença entre os valores de λ e λ ′ é menor que
0,0001, a parte iterativa está concluída. A seguir, devemos realizar os cálculos finais
utilizando as equações [3], [4] e [6].
Da notação, temos que
00184,0)00674,0(2730,01,40874040829998/)945,812723316066(2730,0
1,40874040829998/)1,4087404082999807694068063159(2730,03142,6356752/)3142,63567526378137(2730,0
/)(cos
2
2
2
2222
22222
==
=−=
−=
−=
uuuu
bbau α
Pela equação [3] temos que:
( )[ ]{ }
( )[ ]{ }[ ]{ }[ ]{ }[ ]{ }[ ]{ }
{ }
000459,1000459,01}59,4094{000000112,01
)41,1(4096000000112,0141,76700184,04096000000112,0159,076800184,04096000000112,01
68,31900184,076800184,04096000000112,01)322,0320(00184,076800184,04096000000112,01
00184,017532000184,076800184,040961638400184,01
175320768409616384
1 2222
=+=+=
−++=−++=
+−++=⋅+−++=
−+−++=
⋅−+−++=
−+−++=
AAAAAAA
A
uuuuA
29
Pela equação [4] temos que:
( )[ ]{ }
( )[ ]{ }( )[ ]{ }
[ ]{ }[ ][ ]{ }
{ }{ }
000460,0765,25500000180,0
)235,0(25600000180,0864,12700184,025600000180,0
}136,012800184,0256{00000180,0)913,73(00184,012800184,025600000180,0087,07400184,012800184,025600000180,0
00184,0477400184,012800184,0256102400184,0
47741282561024
2222
==
−+=−+=
+−+=+−+=
−+−+=
⋅−+−+=
−+−+=
BBBBBBB
B
uuuuB
Pela equação [6] temos que:
( )
( )
( )
( )
( )
⋅+−⋅+−−⋅+−+=∆
⋅+−⋅+−−⋅+−+=∆
⋅+−⋅+−−⋅+−+=∆
+−+−−⋅+−+⋅=∆
+−+−−⋅+−+=∆
)9978,043)(9996,043(2cos612cos21cos
412cos00046,0
)9978,043)(9996,043(2cos612cos21cos
412cos00046,0
)9989,043)(9998,043(2cos612cos21cos
412cos00046,0
)2cos43)(sin43(2cos612cos21cos
412cos9998,000046,0
)2cos43)(sin43(2cos612cos21cos
412cossin
2
2
222
222
222
mmm
mmm
mmm
mmmm
mmmm
BB
BB
BB
BB
BBB
σσσσσ
σσσσσ
σσσσσ
σσσσσσσ
σσσσσσσσ
30
( )
( )
( )
( )
( )
⋅−−+=∆
⋅−−+=∆
−+−−+=∆
−⋅+−−+=∆
⋅−⋅+−−+=∆
+−+−⋅−⋅+−−+=∆
000455,06101155,000046,0
419989,000046,0
)9896,0(00046,0619956,00193,000046,0
419989,000046,0
)9912,0)(9984,0(00046,0619956,110193,000046,0
419989,000046,0
)9912,0)(9984,0(00046,0619978,0210193,000046,0
419989,000046,0
)9912,0)(9984,0(9989,000046,0619978,0210193,000046,0
419989,000046,0
)9912,33)(9984,33(9989,000046,0619989,0210193,000046,0
419989,000046,0 2
σ
σ
σ
σ
σ
σ
[ ]{ }{ }{ }{ }
0004595,099889866,000046,0
)00000134,0(9989,000046,0]0116,0[000115,09989,000046,0
0000076,001155,0000115,09989,000046,0
=∆=∆
−+=∆−+=∆
−−+=∆
σσσσσ
Finalmente, a distância em metros é dada pela equação [19]
( )
10109589)590370145,1(3142,6356752
)5896405,1(000459,13142,6356752)0004595,05901,1(000459,13142,6356752
==
⋅=−⋅=
∆−=
ssss
bAs σσ
Em outras palavras, a distância entre o Pólo Universitário da UFF em Rio
das Ostras (PURO) e a Kaaba, em Meca, na Arábia Saudita é de 10.109.589 me-
tros, ou pouco mais de 10.109 quilômetros, uma diferença de cerca de 1 km se com-
parada com a encontrada na seção 3.1.1 utilizando o método do Grande Círculo.
A direção é dada pela equação (20)
31
174,1
3894,23860,09223,0
)0494,0(3366,09223,0tan
1389,0)3554,0(3366,09903,09313,0tan
)4314,1cos(9313,0)3816,0(3642,09243,0)4314,1sin(9313,0tan
coscossinsincossincostan
1
1
1
1
2121
21
=
==−−
=
⋅−−⋅=
⋅⋅−−⋅⋅=
−=
α
α
α
α
λλα
UUUUU
Convertendo agora o resultado de radianos para graus temos:
3,67/18011 =⋅= παα g
Essa é a direção loxodrómica (veja discussão sobre ortodrómia e loxodró-
mia nas próximas subseções) a ser seguida inicialmente para, partindo do Pólo Uni-
versitário da UFF em Rio das Ostras, chegarmos à Kaaba, em Meca, na Arábia Sau-
dita, pelo caminho mais curto possível.
3.1.3 ORTODRÓMIA
É a linha que une dois pontos da superfície da Terra, que corresponde ao
caminho mais curto entre eles. Este é o sentido normalmente atribuído no âmbito da
navegação marítima ou aérea. Formalmente, uma ortodrómia é uma linha geodésica
definida sobre um modelo esférico ou elipsoidal da Terra [5]. Numa superfície esféri-
ca, a ortodrómia é um arco de círculo máximo.
Entre dois pontos quaisquer da superfície terrestre podem traçar-se dois
tipos distintos de rotas: a ortodrómia, que minimiza a distância entre eles e a loxo-
drómia que mantém constante o rumo, isto é, o ângulo entre o caminho seguido e os
meridianos. Caso os pontos estejam separados por um arco de 180º, isto é, sejam
antípodas, existe uma infinidade de rotas ortodrómicas que os ligam, pelo que, es-
quecendo outras considerações, em qualquer direção que se parta, se a rota for
mantida, chega-se igualmente ao outro ponto. A ortodrómia pura tem o inconvenien-
32
te de necessitar de correções constantes de rumo, já que o ângulo com cada meridi -
ano é sempre diferente, exceto quando a viagem se faz sobre o equador ou ao longo
de um meridiano.
Em navegação marítima, a ortodrómia só é utilizada em circunstâncias
especiais e em trajetos muito longos, quando o fator tempo é decisivo, o que não
acontece na navegação área. Em qualquer dos casos, a sua aplicação prática é con-
cretizada através de um conjunto de loxodrómias, isto é, de rumos constantes entre
pontos intermediários escolhidos ao longo da rota. Outro inconveniente desse tipo
de trajeto reside no fato de as ortodrómias entre pontos distantes atingirem muitas
vezes latitudes elevadas, onde a ocorrência de gelo e de condições atmosféricas ad-
versas é freqüente. Nesses casos é sempre possível optar-se por uma rota mista,
constituída por duas ortodrómias que ligam pontos de partida e de chegada a um
certo paralelo limite e uma ortodrómia intermediária de rumo leste-oeste ao longo
desse paralelo. [4]. Como exemplo, observamos na figura 1 ortodrómias traçadas
sobre uma esfera.
Figura 1: Ortodrómias traçadas sobre uma esfera
3.1.4 LOXODRÓMIA
É a linha sobre a superfície da Terra que faz ângulo constante com todos
33
os meridianos. Em outras palavras, é a linha cuja direção geográfica, ou azimute, é
constante. Trata-se, em geral, de uma linha espiralada em direção a um dos pólos
sem nunca o alcançar. Este fato foi reconhecido pela primeira vez pelo matemático
português Pedro Nunes no Tratado em Defesa da Carta de Marear, incluído na obra
o Tratado da Esfera de 1537.
É o tipo de trajeto normalmente utilizado em navegação marítima, muito
embora não constitua o caminho mais curto entre dois pontos. A razão está no fato
de a orientação dos navios e aeronaves se realizar com base em direções geográfi-
cas fornecidas por bússolas magnéticas e girobússolas. Na navegação marítima, o
acréscimo à distância decorrente do emprego da loxodrómia, em vez da ortodrómia,
é normalmente desprezível, exceto em longos trajetos oceânicos. Nestes casos, o
trajeto planejado segundo a ortodrómia é decomposto em pequenos trajetos loxodró-
micos, cada um dos quais com rumo constante.
Na projeção de Mercator (referência ou explicação) as loxodrómias são
representadas por segmentos de reta. Na figura 2, vemos um exemplo de uma loxo-
drómia. Observe que ela cruza todos os meridianos com ângulo constante.
Figura 2: Loxodrómia na esfera
34
3.2 CÁLCULO DA DECLINAÇÃO MAGNÉTICA
A declinação magnética é a diferença angular entre a direção apontada
por uma agulha magnética e a direção norte. O valor dessa declinação está intima-
mente relacionado ao campo magnético da Terra explanado na seção anterior. Para
sabermos o valor da declinação, utilizaremos o World Magnetic Model, produzido
pelo U.S. National Geophysical Data Center (NGDC) e a British Geological Survey
(BGS).
Esse modelo é utilizado como padrão pelo Departamento de Defesa Ame-
ricano, o Ministério da Defesa britânico, a OTAN (Organização do Tratado do Atlânti-
co Norte) e o World Hydrographic Office. Na próxima seção, descrevemos os princi-
pais pontos abrangidos no documento “The US/UK World Magnetic Model” publicado
pela National Geophysical Data Center e British geological Survey Geomagnetism
Group. [3]
3.2.1 O CAMPO MAGNÉTICO DA TERRA
O movimento do magma no interior da Terra, junto com outros fatores, in-
duz um potente campo magnético ao redor do nosso planeta. Esse campo magnéti-
co, que varia no espaço (r) e no tempo (t), é o responsável pelo alinhamento das
bússolas magnéticas aproximadamente no sentido norte-sul.
As principais fontes responsáveis pelo campo magnético terrestre (B),
mostrados na Figura 3, são:
• O campo principal, apresentado na Figura 3, gerado no núcleo fluido externo da Terra (Bm).
• O campo crustal do manto superior (Bc).• A combinação de distúrbios provocados por correntes elétricas na alta atmos-
fera e na magnetosfera que também induzem correntes elétricas no mar e no
35
solo ( dB ).
Figura 3: O campo magnético observado é a soma das contribuições de cada fonte
),()(),(),( trBrBtrBtrB dcm ++= (m1)
mB é a parte dominante do campo, respondendo por 95% do magnetismo
na superfície da Terra. A variação no tempo muda lentamente mB . cB , que é o cam-
po gerado por rochas magnéticas na crosta da Terra, varia no espaço, mas pode ser
considerado constante no tempo para os propósitos considerados aqui. cB é geral-
mente muito menor em magnitude que mB . O campo gerado por correntes elétricas
na ionosfera e na magnetosfera e as resultantes correntes induzidas no manto e
crosta terrestre, dB , variam tanto no espaço como no tempo. [3]
Para criar um modelo preciso, é necessário haver uma medição com boa
cobertura global e o menor nível de ruído possível. O satélite dinamarquês Orsted e
o alemão CHAMP provêm dados que satisfazem a esses requisitos. Ambos ofere-
cem dados escalares e vetoriais de alta qualidade para todas as latitudes e longitu-
des, mas não para todo o período necessário para a modelagem. Porém há vários
observatórios no solo que oferecem dados quase contínuos para o período de inte-
resse, porém com uma baixa cobertura especial. Se usados em conjunto, as infor-
36
mações dos satélites e dos observatórios provêm dados de excepcional qualidade,
que permitem modelar o comportamento do campo magnético no espaço e tempo.
cB possui variações espaciais que vão de metros a milhares de quilôme-
tros e que não podem ser completamente descritos num modelo esférico harmônico
de baixo grau. Portanto o modelo magnético não inclui contribuições de distúrbios da
crosta terrestre, exceto os de grande comprimento. cB é, normalmente, menor no
mar do que em terra e diminui com o aumento a altitude.
O campo resultante de correntes na ionosfera e na magnetosfera e suas
correntes induzidas na Terra dB , variam tanto no espaço como no tempo. O campo
magnético induzido pode variar em períodos de um dia e um ano, bem como irregu-
larmente em escalas de tempo que variam de segundos a dias. As variações regula-
res diárias e anuais são essencialmente geradas pela luminosidade atmosférica em
altitudes de 100-130 km, ionizadas pela radiação do Sol, movendo-se sobre o cam-
po terrestre sob a ação dos ventos e marés. As variações diárias e anuais são cau-
sadas pela rotação da Terra na magnotosfera externa que tem seu ciclo organizado
em sincronia com o sol. As variações irregulares se devem a tempestades magnéti-
cas e subtempestades.
O campo geomagnético B é descrito por 7 elementos, que são:
(nos elementos abaixo os coloque em negrito e no início, logo após o nú-
mero)
1. Componentes ortogonais X (intensidade no sentido norte),
2. Y (intensidade no sentido leste)
3. Z (intensidade vertical, positiva para baixo),
4. intensidade total F,
5. intensidade horizontal H,
6. inclinação I (o ângulo entre o plano horizontal e o vetor do campo, positiva para
baixo)
7. declinação (ou variação magnética) D (o ângulo horizontal entre o norte verdadei -
37
ro e o campo magnético, positivo a leste.
A declinação, inclinação e intensidade total podem ser calculadas a partir
dos componentes ortogonais usando as seguintes equações:
22 YXH += ,22 ZHF += , ),arctan( XYD = , ),arctan( HZI = (m2)
O campo geomagnético medido na superfície da Terra ou em um satélite
é a soma dos campos gerados por fontes internas e externas à Terra. Além dessas
fontes o campo magnético interno B (se é o B de m3 coloque a referência à fórmula)
e o campo potencial que podem ser descritos como uma graduação negativa de um
escalar potencial.
),,,(),,,( trVtrB λϕλϕ ′− ∇=′ (m3)
Esse potencial pode ser expandido em termos harmônicos esféricos:
( ) ( ) ( ) ( )( ) ( )
′
+=′ ∑ ∑
= =
+n
n
m
m
mn
nmn
mn P
ramthmtgatrV
1 0
1
sinsincos),,,( ϕλλλϕ
(m4)
onde a (6371,2 km) é o raio da Terra, ),,( rλϕ ′ são a latitude, longitude e raio em
uma referência esférica geocêntrica e ( ) ( )( )thtg mn
mn , são os coeficientes de Gauss da
dependência temporal de grau n e ordem m descrevendo fontes internas.
)(sinϕ ′mnP
são as Funções de Legendre Associadas semi-normalizadas de Schimidt
[6] definidas como:
)(sin)!()!(2)(sin ϕϕ ′
+−=′ m
nmn P
mnmnP
se 0>m
)(sin)(sin ϕϕ ′=′ mn
mn PP
se 0=m (m5)
38
O valor da expansão interna N foi truncado em 36 (porque?). O coeficien-
tes de Gauss de graus 1 a 8 assumem uma variação quadrática no tempo.
200
200
)(21)()(
)(21)()(
tthtthhth
ttgttggtg
mn
mn
mn
mn
mn
mn
mn
mn
−+−+=
−+−+=
(m6)
Onde, no lado esquerdo,mng e
mnh são funções que variam com o tempo,
enquanto mng ,
mnh ,
mng ,
mnh
,mng e
mnh
no lado direito da equação (6) (m6?) denotam
constantes. O tempo é fornecido como um ano decimal e 0t é a data de referência do
modelo.
O modelo fornecido na equação (4) (m4?) é válido apenas para forças in-
ternas à Terra, como o campo principal e o campo crustal. Para campos externos,
causados por correntes na ionosfera e magnetosfera, uma representação esférica
harmônica, similar à equação (4) (m4?) pode ser usada.
Os dados contendo as medições de hora em hora realizadas nos obser-
vatórios (as variações em cada observatório) foram introduzidas para levar em conta
o campo local, gerado principalmente na crosta, o qual não pode ser descrito pelo
modelo. Sendo assim, num observatório, o campo magnético B é dado por:
),,(),,,(),,,( rOtrVtrB λϕλϕλϕ ′+′− ∇=′ (m7)
Onde o vetor de deslocamento ),,( rO λϕ ′ , também conhecido como com-
ponente crustal, é constante no tempo.
As equações para as componentes internas do campo são (defina XYZ –
são as coordenadas..., é isto?):
( )ϕ
ϕλλ
ϕλϕ
′′
+
−=
′∂∂−=′′ ∑∑
=
+
= dPd
mthmtgra
rVrX
mn
n
m
mn
mn
nN
n
)(sinsin)(cos)(1),,(
0
2
1
(m8)
39
)(sin)cos)(sin)((cos1
cos1),,(
0
2
1ϕλλ
ϕλϕλϕ ′−
′=
∂∂
′−=′′ ∑∑
=
+
=
mn
n
m
mn
mn
nN
nPmthmtgm
raV
rrY
(m9)
∑∑=
+
=
′+
+−=
∂∂=′′
n
m
mn
mn
mn
nN
nPmthmtg
ran
rVrZ
0
2
1
)(sin)sin)(cos)(()1(),,( ϕλλλϕ
(m10)
As equações acima, junto com o vetor do campo magnético são a base
para a determinação do modelo matemático. Assim, se houverem d dados, há d equações lineares com p parâmetros do modelo principal:
Amy = (m11)
Onde, y é o vetor coluna (d x 1) das observações, A é a matriz (d x p) dos
coeficientes desconhecidos em função da posição e m é o vetor coluna (p x 1) dos
valores desconhecidos, para determinação dos coeficientes de Gauss do modelo.
Como há mais observações do que valores desconhecidos, isto é, d > p, o sistema é
parcialmente determinado e não possui uma solução exata. Suponhamos que m~ é
uma estimativa de m (o que é m defina ou diga a fórmula onde é calculado). Então:
mAy ~~ = (m12)
Uma estimativa dos valores desconhecidos m~ é encontrada através de:
WyAWAAm TT 1)(~ −= (m13)
Onde W é o tamanho da matriz (d x d) dos dados.
Os dados dos satélites utilizam coordenadas geocêntricas, mas os dados
de superfície utilizam coordenadas geodéticas. Assim precisamos padronizar os da-
dos convertendo de coordenadas geodéticas para geocêntricas antes de proceder a
modelagem harmônica esférica. Ao calcular o modelo, as localizações ),,,( λϕh onde
40
h é a altitude geodética e ϕ é a latitude geodética, são transformados em ),,( λϕ ′r
usando
ϕϕϕϕϕϕ tan)sincos()sincos(tan 22/12222
22/12222
AhBABhBA
++++=′ (m14)
ϕϕϕϕϕϕ 2222
24242/1222222
sincossincos)sincos(2
BABABAhhr
+++++= (m15)
Onde A é o raio da terra no equador e B é o raio da terra nos pólos. Usa-
mos o elipsóide WGS-84 (referência) também neste caso.
As observações das intensidades norte, oeste e vertical X, Y e Z, relativas
a um elipsóide são transformadas em intensidades verticais relativas à esfera X’, Y’
e Z’:
ψψ
ψψ
cossin
sincos
ZXZYY
ZXX
+−=′=′
+=′
Onde ψ é a diferença entre as latitudes geocêntrica e geodética
ϕϕψ −′=
Para criar um modelo que incorporasse predições de mudanças futuras
no campo magnético, utilizaram-se dados de observatórios, que são colhidos de
hora em hora.
É apresentada, a seguir, na Tabela 1 com os coeficientes para o período
de 2005 – 2010. As unidades são em NT? para o campo principal e NT? por ano
para a variação secular. (não entendi – coloque de forma mais clara)
Tabela 1: coeficientes para o período de 2005 a 2010
n m mng
mnh
mng m
nh
41
1 0 -29556.8 0.0 8.0 0.01 1 -1671.7 5079.8 10.6 -20.92 0 -2340.6 0.0 -15.1 0.02 1 3046.9 -2594.7 -7.8 -23.22 2 1657.0 -516.7 -0.8 -14.63 0 1335.4 0.0 0.4 0.03 1 -2305.1 -199.9 -2.6 5.03 2 1246.7 269.3 -1.2 -7.03 3 674.0 -524.2 -6.5 -0.64 0 919.8 0.0 -2.5 0.04 1 798.1 281.5 2.8 2.24 2 211.3 -226.0 -7.0 1.64 3 -379.4 145.8 6.2 5.84 4 100.0 -304.7 -3.8 0.15 0 -227.4 0.0 -2.8 0.05 1 354.6 42.4 0.7 0.05 2 208.7 179.8 -3.2 1.75 3 -136.5 -123.0 -1.1 2.15 4 -168.3 -19.5 0.1 4.85 5 -14.1 103.6 -0.8 -1.16 0 73.2 0.0 -0.7 0.06 1 69.7 -20.3 0.4 -0.66 2 76.7 54.7 -0.3 -1.96 3 -151.2 63.6 2.3 -0.46 4 -14.9 -63.4 -2.1 -0.56 5 14.6 -0.1 -0.6 -0.36 6 -86.3 50.4 1.4 0.77 0 80.1 0.0 0.2 0.07 1 -74.5 -61.5 -0.1 0.67 2 -1.4 -22.4 -0.3 0.47 3 38.5 7.2 1.1 0.27 4 12.4 25.4 0.6 0.37 5 9.5 11.0 0.5 -0.87 6 5.7 -26.4 -0.4 -0.27 7 1.8 -5.1 0.6 0.18 0 24.9 0.0 0.1 0.08 1 7.7 11.2 0.3 -0.28 2 -11.6 -21.0 -0.4 0.18 3 -6.9 9.6 0.3 0.38 4 -18.2 -19.8 -0.3 0.48 5 10.0 16.1 0.2 0.18 6 9.2 7.7 0.4 -0.28 7 -11.6 -12.9 -0.7 0.48 8 -5.2 -0.2 0.4 0.49 0 5.6 0.0 0.0 0.09 1 9.9 -20.1 0.0 0.09 2 3.5 12.9 0.0 0.0
42
9 3 -7.0 12.6 0.0 0.09 4 5.1 -6.7 0.0 0.09 5 -10.8 -8.1 0.0 0.09 6 -1.3 8.0 0.0 0.09 7 8.8 2.9 0.0 0.09 8 -6.7 -7.9 0.0 0.09 9 -9.1 6.0 0.0 0.010 0 -2.3 0.0 0.0 0.010 1 -6.3 2.4 0.0 0.010 2 1.6 0.2 0.0 0.010 3 -2.6 4.4 0.0 0.010 4 0.0 4.8 0.0 0.010 5 3.1 -6.5 0.0 0.010 6 0.4 -1.1 0.0 0.010 7 2.1 -3.4 0.0 0.010 8 3.9 -0.8 0.0 0.010 9 -0.1 -2.3 0.0 0.010 10 -2.3 -7.9 0.0 0.011 0 2.8 0.0 0.0 0.011 1 -1.6 0.3 0.0 0.011 2 -1.7 1.2 0.0 0.011 3 1.7 -0.8 0.0 0.011 4 -0.1 -2.5 0.0 0.011 5 0.1 0.9 0.0 0.011 6 -0.7 -0.6 0.0 0.011 7 0.7 -2.7 0.0 0.011 8 1.8 -0.9 0.0 0.011 9 0.0 -1.3 0.0 0.011 10 1.1 -2.0 0.0 0.011 11 4.1 -1.2 0.0 0.012 0 -2.4 0.0 0.0 0.012 1 -0.4 -0.4 0.0 0.012 2 0.2 0.3 0.0 0.012 3 0.8 2.4 0.0 0.012 4 -0.3 -2.6 0.0 0.012 5 1.1 0.6 0.0 0.012 6 -0.5 0.3 0.0 0.012 7 0.4 0.0 0.0 0.012 8 -0.3 0.0 0.0 0.012 9 -0.3 0.3 0.0 0.012 10 -0.1 -0.9 0.0 0.012 11 -0.3 -0.4 0.0 0.012 12 -0.1 0.8 0.0 0.0
43
3.2.1.1 Algoritmo para o cálculo da declinação magnética
O procedimento passo a passo para o cálculo dos elementos do campo
magnético para uma determina localidade e tempo ),,,( th λϕ , onde h é a altitude ge-
odética, ϕ e λ são a latitude e longitude e t é o tempo dado em anos decimais é:
No primeiro passo, as coordenadas geodéticas elipsoidais ),,( λϕh são
transformadas em coordenadas esféricas geocêntricas ),,( λϕ ′r usando
ϕϕϕϕϕϕ tan)sincos()sincos(tan 22/12222
22/12222
AhBABhBA
++++=′ (m17)
ϕϕϕϕϕϕ 2222
24242/1222222
sincossincos)sincos(2
BABABAhhr
+++++= (m18)
Onde A é o raio da terra no equador e B é o raio da terra nos pólos, ou
seja A=6378,137 km e B = 6356,7523142 km, segundo o datum WGS-84.
No segundo passo, os coeficientes de Gauss ))(),(( thtg mn
mn de grau n e or-
dem m são determinados para o tempo desejado. Isso é feito ajustando os coeficien-
tes ),( mn
mn hg do campo em 0,20050 =t para a variação secular linear ),( m
nmn hg , usan-
do
)()(
)()(
0
0
tthhth
ttggtgmn
mn
mn
mn
mn
mn
−+=
−+=
(m19)
Onde o tempo é dado em anos decimais e 0,20050 =t é a data de referên-
cia do modelo.
44
No terceiro passo, o vetor dos componentes X’, Y’ e Z’ em coordenadas
geocêntricas é computado usando:
( )ϕ
ϕλλ
ϕλϕ
′′
+
−=
′∂∂−=′′ ∑∑
=
+
= dPd
mthmtgra
rVrX
mn
n
m
mn
mn
n
n
)(sinsin)(cos)(1),,(
0
212
1
(m20)
)(sin)cos)(sin)((cos1
cos1),,(
0
212
1
ϕλλϕλϕ
λϕ ′−
′=
∂∂
′−=′′ ∑∑
=
+
=
mn
n
m
mn
mn
n
nPmthmtgm
raV
rrY
(m21)
∑∑=
+
=
′+
+−=
∂∂=′′
n
m
mn
mn
mn
n
nPmthmtg
ran
rVrZ
0
212
1
)(sin)sin)(cos)(()1(),,( ϕλλλϕ
(m22)
Nesse ponto, podemos também calcular a variação secular dos compo-
nentes do campo usando:
( )ϕ
ϕλλ
ϕλϕ
′′
+
−=
′∂∂−=′′ ∑∑
=
+
= dPd
mthmtgra
rVrX
mn
n
m
mn
mn
n
n
)(sinsin)(cos)(1),,(
0
212
1
(m23)
)(sin)cos)(sin)((cos1
cos1),,(
0
212
1
ϕλλϕλϕ
λϕ ′−
′=
∂∂
′−=′′ ∑∑
=
+
=
mn
n
m
mn
mn
n
nPmthmtgm
raV
rrY
(m24)
∑∑=
+
=
′+
+−=
∂∂=′′
n
m
mn
mn
mn
n
nPmthmtg
ran
rVrZ
0
212
1
)(sin)sin)(cos)(()1(),,( ϕλλλϕ
(m25)
No quarto passo, os componentes geocêntricos são novamente transfor-
mados em geodéticos, usando
ψψ
ψψ
cossin
sincos
ZXZYY
ZXX
+−=′=′
+=′
(m26)
Onde ψ é a diferença entre as latitudes geocêntrica e geodética
ϕϕψ −′= e ϕ ′ foi calculado no passo 1. De modo similar, as derivadas temporais
45
do vetor são transformadas usando
ψψ
ψψ
cossin
sincos
ZXZYY
ZXX
+−=′=′
+=′
(m27)
No último passo, os elementos magnéticos H, F, D, I é a grade de varia-
ção, GV, são computados a partir dos componentes vetoriais usando
),arctan(),arctan(
22
22
HZIXYD
ZHF
YXH
==
+=
+=
(m28)
λ−= DGV para °> 55ϕ
λ+= DGV para °−< 55ϕ
Onde ),arctan( ba é )/(tan 1 ba− , levando em conta o quadrante angular,
evitando a divisão por zero, e resultando numa declinação entre -180º e 180º e
numa inclinação de -90º a 90º. Para H=0 a declinação é indefinida.
A variação secular desses elementos é calculada usando:
DVGF
HZZHI
HXYYXD
FZZYYXXF
HYYXXH
=
⋅−⋅=
⋅−⋅=
⋅+⋅+⋅=
⋅+⋅=
2
2
180
180
π
π(m29)
46
Onde D , I e VG são dados em graus por ano. Aqui, o fator π/180 con-
verte de radianos para graus. Este fator de conversão não é apresentado na equa-
ção (m28), assumindo que a função arctan fornece o resultado em graus.
47
4 IMPLEMENTAÇÃO
O primeiro grande desafio ao se desenvolver a implementação foi a esco-
lha de uma aplicação prática que se beneficiasse das informações descritas. A tradi-
ção muçulmana exige orações em horários específicos feitas em direção à Kaaba2
em Meca. O número de muçulmanos hoje no mundo excede a marca de 1 bilhão de
pessoas, de modo que haveria uma grande quantidade pessoas beneficiadas pela
implementação do código.
Tradicionalmente é utilizado o método do Grande Círculo ao se calcular a
direção de Meca, mas, conforme explanação na seção 3.1 desse trabalho, esse mé-
todo não é tão preciso quanto o método de Vincenty. Por isso optou-se por utlizá-lo
no cálculo da distância e direção.
Uma vez calculada a direção de Meca, essa deve ser localizada girando-
se no sentido horário a partir do Norte. Mas, qual é a direção Norte? Normalmente,
utiliza-se uma bússola magnética para indicar o Norte, mas a direção apontada pela
agulha não corresponde, para a maior parte da superfície terrestre, à direção real
do norte. Por isso, há a necessidade do cálculo da declinação magnética.
Por fim, precisávamos desenvolver uma interface simples de se utilizar,
que permitisse ao visitante verificar a sua localização atual, selecionar para onde de-
seja ir e verificar, da forma mais simples possível, a direção e a distância entre a ori-
gem e o destino, bem como a declinação magnética de onde está, ou seja, para qual
direção aponta sua bússola.
Apresentamos, a seguir, o código que implementa os cálculos vistos até 2 Kaaba é uma construção que é reverenciada pelos muçulmanos, na mesquita sagrada de Al Masjid
AL-Haram em Meca, e é considerada pelos devotos do Islã como o lugar mais sagrado do mundo, lo-
calizada nas coordenadas 21º25'21"N e 39º49'1"E. É uma construção em forma de cubo (Kaaba).
48
aqui. Funciona da seguinte maneira: o usuário visita uma página na Internet que
executa as seguintes operações:
1. Determina, a partir do IP do usuário onde ele está.
2. Exibe, num mapa, onde o usuário está e permite que ele selecione ou-
tros lugares se desejar.
3. Exibe um segundo mapa permitindo ao usuário selecionar aonde de-
seja ir.
4. Calcula a distância e direção a ser seguida para ir de um lugar a outro,
vistos no mapa.
5. Calcula a declinação magnética para o local de origem.
Para determinação da localização do usuário a partir do seu endereço IP
utilizamos a base de dados GeoLite City da empresa MaxMind, disponível no sitio
http://www.maxmind.com/app/geolitecity (6). O arquivo disponibilizado utiliza o for-
mato CSV (comma separated values), que foi importado para dentro de uma base
de dados Access. Segundo o fabricante, o GeoLite City oferece uma precisão de
98% na detecção do país e de 70% na detecção da cidade do visitante.
Para visualização dos mapas utilizou-se a API do Google Maps, cuja docu-
mentação está disponível em http://www.google.com/apis/maps/ (7). Através dela
exibimos num mapa as coordenadas geográficas tanto da localização do visitante
como do local para onde ele deseja ir.
Implementou-se uma consulta onde o usuário pode informar textualmente
o local de origem ou de destino. Além disso são disponibilizados campos que permi-
tem ao usuário informar a latitude e longitude da origem e destino, facilitando a loca-
lização. A latitude e longitude da origem e do destino são atualizadas sempre que há
uma alteração no mapa da origem ou do destino. Também quando se movimenta
qualquer um dos mapas são refeitos os cálculos da direção, distância e declinação
magnética.
49
O cálculo é implementado em duas páginas ASP, cada uma delas conten-
do uma função que recebe como parâmetros a latitude e longitude da origem e/ou
(não seria somente e) do destino e retorna os resultados dos cálculos. Essas fun-
ções são executadas todas as vezes que o mapa sofre um evento que altere sua la-
titude e longitude.
Para evitar que a página fosse carregada novamente todas as vezes que
se executasse um cálculo, optou-se pelo uso de Ajax, que permite a execução das
funções dos cálculos de forma assíncrona.
Com o objetivo de obter recursos que permitam ao sítio permanecer no ar,
optou-se pela utilização do programa de afiliados do site Amazon, Google AdSense
e donativos através do PayPal.
O programa de afiliados do sítio Amazon (http://affiliate-program.amazon.-
com/gp/associates/join (8)) efetua o pagamento de comissão quando um usuário vi-
sita um dos produtos indicado pelo sítio e efetiva sua compra. Na geração do script
que exibe os produtos é feito um cadastro de palavras-chave de produtos que pos-
sam interessar os visitantes do site.
O Google AdSense (https://www.google.com/adsense (9)), insere links na
página que possam interessar aos visitantes de acordo com algoritmo próprio. A re-
muneração é feita de acordo com o número de cliques nesses links.
O PayPal (www.paypal.com (20)) é um sistema de pagamento on-line que
recebe do usuário usando cartão de crédito, boleto bancário, etc. em diversos países
e transfere o pagamento para a conta do sítio na Internet.
A divulgação do sítio foi feita através da inserção de links para ele em arti-
gos relacionados na Wikipedia e da otimização das palavras-chave para que apare-
ça nos primeiros resultados nos mecanismos de pesquisa.
50
O resultado desse trabalho pode ser visto no endereço www.qibla.com.br
[12]. O nome qibla vem do árabe e significa direção.
4.1.1 CÓDIGO PARA O CÁLCULO DA DISTÂNCIA E DIREÇÃO
Trata-se de uma função que recebe como parâmetros a latitude e a longi-
tude da origem e do destino e retorna a distância em metros da origem até o destino
bem como a direção a ser seguida para ir de um ponto a outro, em graus. O código
aparece detalhado abaixo no qual foi utilizada a linguagem ASP. Os comentários co-
brem todo o procedimento bem como as equações utilizadas.
Sub Vincenty(Lat1, Lon1, Lat2, Lon2)'Constantes usadas no cálculoa = 6378137b = 6356752.314245f = 1/298.257223563pi = 3.1415926535897932384626433832795
'Converte as coordenadas para radianosLat1 = Lat1 * Pi / 180Lon1 = Lon1 * Pi / 180Lat2 = Lat2 * Pi / 180Lon2 = Lon2 * Pi / 180
'Valores auxiliaresL = Lon2 - Lon1U1 = Atn((1-f) * Tan(Lat1))U2 = Atn((1-f) * Tan(Lat2))SenU1 = Sin(U1)CosU1 = Cos(U1)SenU2 = Sin(U2)CosU2 = Cos(U2)
'Primeira aproximaçãoLambda = LLambdaP = 2 * PiLimite = 20 'Número máximo de iterações
'Enquanto precisão for menor que 0,06mmWhile Abs(Lambda - LambdaP) > 0.000000000001 And Limite > 0 SenLambda = Sin(Lambda) CosLambda = Cos(Lambda)
'Equação 14 SenSigma = Sqr((CosU2 * SenLambda) * (CosU2 * SenLambda) + (CosU1 * SenU2 - SenU1 * CosU2 * CosLambda) * (CosU1 * SenU2 - SenU1 * CosU2 * CosLambda))
'Equação 15 CosSigma = SenU1 * SenU2 + CosU1 * CosU2 * CosLambda
'Equação 16
51
If CosSigma = 0 Then Sigma = Sgn(SenSigma) * (Pi / 2) ElseIf CosSigma > 0 Then Sigma = Atn(SenSigma / CosSigma) Else Sigma = Atn(SenSigma / CosSigma) + Pi * Sgn(SenSigma) End If
'Equação 17 If SenSigma = 0 Then SenAlfa = 0 Else SenAlfa = CosU1 * CosU2 * SenLambda / SenSigma End If
'Equação 18 CosQdAlfa = 1 - SenAlfa * SenAlfa If CosQdAlfa <> 0 Then 'Pontos sobre a linha do Equador Cos2Sigma = CosSigma - 2 * SenU1 * SenU2 / CosQdAlfa Else Cos2Sigma = 0 End If
'Equação 10 C = f / 16 * CosQdAlfa * (4 + f * (4 - 3 * CosQdAlfa))
'Próxima aproximação LambdaP = Lambda
'Equação 11 Lambda = L + (1 - C) * f * SenAlfa * (Sigma + C * SenSigma * (Cos2Sigma + C * CosSigma * (-1 + 2 * Cos2Sigma * Cos2Sigma)))
'Variável que controla o número máximo de interações Limite = Limite - 1Wend'Valor de U2, usado na equação 3uQd = CosQdAlfa * (a * a - b * b) / (b * b)
'Equação 3A2 = 1 + uQd / 16384 * (4096 + uQd * (-768 + uQd * (320 - 175 * uQd)))
'Equação 4B2 = uQd / 1024 * (256 + uQd * (-128 + uQd * (74 - 47 * uQd)))
'Equação 6DSigma = B2 * SenSigma * (Cos2Sigma + B2 / 4 * (CosSigma * (-1 + 2 * Cos2Sigma * Cos2Sigma) - B2 / 6 * Cos2Sigma * (-3 + 4 * SenSigma * SenSigma) * (-3 + 4 * Cos2Sigma * Cos2Sigma)))
'Equação 19S = b * A2 * (Sigma - DSigma) 'Distância em Metros
'Equação 20x = ((CosU1 * SenU2) - (SenU1 * CosU2 * Cos(Lambda)))y = Atn((CosU2 * Sin(Lambda)))If x = 0 Then Alfa1 = Sgn(y) * Pi / 2ElseIf x > 0 Then Alfa1 = Atn(y / x)Else Alfa1 = Atn(y / x) + Pi * Sgn(y)End If
'Cálculo da direção em graus
52
Az = Alfa1 * 180 / Pi
'Se forem pontos sobre a linha do equadorIf Lon2 = Lon1 Then If Lat1 > Lat2 Then Az = 180.0 Else Az = 0.0 End IfEnd If
Response.Write S & "|" & AzEnd Sub
'Exemplo de cálculo (Rio das Ostras até Meca)Vincenty -22.5037, -41.9242, 21.4225, 39.8261
4.1.1.1 Precisão nos cálculos da distância
No sitio http://www.ga.gov.au/geodesy/datums/distance.jsp (11) aparece
uma relação de coordenas e as suas distâncias calculadas pela equação de Vin-
centy. A tabela 2 mostra a relação dos pontos utilizados nos testes.
Tabela 2: Coordenadas utilizadas nos testes
Ponto Latitude LongitudeA -30 150B -31 150C -31 151D -32 151E -33 151F -34 151G -35 151H -40 151I -50 151J -60 151K -70 151L -80 151
Utilizamos, para os testes no programa desenvolvido, as coordenas dos
pares de pontos apresentados na tabela 2.
53
Vincenty -30, 150, -30, 150 Vincenty -30, 150, -31, 150 Vincenty -30, 150, -31, 151 Vincenty -30, 150, -32, 151 Vincenty -30, 150, -33, 151 Vincenty -30, 150, -34, 151 Vincenty -30, 150, -35, 151 Vincenty -30, 150, -40, 151 Vincenty -30, 150, -50, 151 Vincenty -30, 150, -60, 151 Vincenty -30, 150, -70, 151 Vincenty -30, 150, -80, 151
A tabela 3 apresenta os resultados esperados (onde coletou os dados es-
perados?) e obtidos dos cálculos para 12 pares de pontos cujas coordenadas foram
expostos na tabela 2.
Tabela 3: Resultados esperados e obtidos para a distância
Par origem-destino Resultado esperado Resultado obtidoA A 0,000 0A B 110,861 110,86092556603A C 146,647 146,647227225843A D 241,428 241,427618286232A E 345,929 345,928955846721A F 453,439 453,493055376482A G 562,376 562,375992555354A H 1.113,142 1.113,14171557588A I 2.222,323 2.222,32277281995A J 3.334,804 3.334,8049416503A K 4.449,317 4.449,31708005225A L 5.565,218 5.565,21797325836
Observou-se que os resultados estão essencialmente corretos, com uma
precisão de três casas decimais com o arredondamento da quarta.
54
4.1.2 CÓDIGO PARA O CÁLCULO DA DECLINAÇÃO MAGNÉTICA
Trata-se de uma função que recebe como parâmetros a latitude e a longi-
tude da origem e retorna a declinação magnética, em graus. O código aparece deta-
lhado abaixo, no qual também utilizamos a linguagem ASP. Os comentários indicam
todo o procedimento utilizado bem como as equações utilizadas. Embora os cálculos
incluam todos os componentes magnéticos, só é exibida a declinação, que é o que
nos interessa para a solução do problema proposto.
Sub Declinacao(Lat1, Lon1)'Constantes usadas no cálculoa = 6378137/1000b = 6356752.314245/1000f = 1/298.257223563pi = 3.1415926535897932384626433832795glat = Lat1glon = Lon1'Coeficientes para o período de 2005 a 2010Dim wmm(92)wmm(0) = split("1,0,-29556.8,0.0,8.0,0.0",",")wmm(1) = split("1,1,-1671.7,5079.8,10.6,-20.9",",")wmm(2) = split("2,0,-2340.6,0.0,-15.1,0.0",",")wmm(3) = split("2,1,3046.9,-2594.7,-7.8,-23.2",",")wmm(4) = split("2,2,1657.0,-516.7,-0.8,-14.6",",")wmm(5) = split("3,0,1335.4,0.0,0.4,0.0",",")wmm(6) = split("3,1,-2305.1,-199.9,-2.6,5.0",",")wmm(7) = split("3,2,1246.7,269.3,-1.2,-7.0",",")wmm(8) = split("3,3,674.0,-524.2,-6.5,-0.6",",")wmm(9) = split("4,0,919.8,0.0,-2.5,0.0",",")wmm(10) = split("4,1,798.1,281.5,2.8,2.2",",")wmm(11) = split("4,2,211.3,-226.0,-7.0,1.6",",")wmm(12) = split("4,3,-379.4,145.8,6.2,5.8",",")wmm(13) = split("4,4,100.0,-304.7,-3.8,0.1",",")wmm(14) = split("5,0,-227.4,0.0,-2.8,0.0",",")wmm(15) = split("5,1,354.6,42.4,0.7,0.0",",")wmm(16) = split("5,2,208.7,179.8,-3.2,1.7",",")wmm(17) = split("5,3,-136.5,-123.0,-1.1,2.1",",")wmm(18) = split("5,4,-168.3,-19.5,0.1,4.8",",")wmm(19) = split("5,5,-14.1,103.6,-0.8,-1.1",",")wmm(20) = split("6,0,73.2,0.0,-0.7,0.0",",")wmm(21) = split("6,1,69.7,-20.3,0.4,-0.6",",")wmm(22) = split("6,2,76.7,54.7,-0.3,-1.9",",")wmm(23) = split("6,3,-151.2,63.6,2.3,-0.4",",")wmm(24) = split("6,4,-14.9,-63.4,-2.1,-0.5",",")wmm(25) = split("6,5,14.6,-0.1,-0.6,-0.3",",")wmm(26) = split("6,6,-86.3,50.4,1.4,0.7",",")wmm(27) = split("7,0,80.1,0.0,0.2,0.0",",")wmm(28) = split("7,1,-74.5,-61.5,-0.1,0.6",",")wmm(29) = split("7,2,-1.4,-22.4,-0.3,0.4",",")wmm(30) = split("7,3,38.5,7.2,1.1,0.2",",")wmm(31) = split("7,4,12.4,25.4,0.6,0.3",",")wmm(32) = split("7,5,9.5,11.0,0.5,-0.8",",")wmm(33) = split("7,6,5.7,-26.4,-0.4,-0.2",",")wmm(34) = split("7,7,1.8,-5.1,0.6,0.1",",")wmm(35) = split("8,0,24.9,0.0,0.1,0.0",",")
55
wmm(36) = split("8,1,7.7,11.2,0.3,-0.2",",")wmm(37) = split("8,2,-11.6,-21.0,-0.4,0.1",",")wmm(38) = split("8,3,-6.9,9.6,0.3,0.3",",")wmm(39) = split("8,4,-18.2,-19.8,-0.3,0.4",",")wmm(40) = split("8,5,10.0,16.1,0.2,0.1",",")wmm(41) = split("8,6,9.2,7.7,0.4,-0.2",",")wmm(42) = split("8,7,-11.6,-12.9,-0.7,0.4",",")wmm(43) = split("8,8,-5.2,-0.2,0.4,0.4",",")wmm(44) = split("9,0,5.6,0.0,0.0,0.0",",")wmm(45) = split("9,1,9.9,-20.1,0.0,0.0",",")wmm(46) = split("9,2,3.5,12.9,0.0,0.0",",")wmm(47) = split("9,3,-7.0,12.6,0.0,0.0",",")wmm(48) = split("9,4,5.1,-6.7,0.0,0.0",",")wmm(49) = split("9,5,-10.8,-8.1,0.0,0.0",",")wmm(50) = split("9,6,-1.3,8.0,0.0,0.0",",")wmm(51) = split("9,7,8.8,2.9,0.0,0.0",",")wmm(52) = split("9,8,-6.7,-7.9,0.0,0.0",",")wmm(53) = split("9,9,-9.1,6.0,0.0,0.0",",")wmm(54) = split("10,0,-2.3,0.0,0.0,0.0",",")wmm(55) = split("10,1,-6.3,2.4,0.0,0.0",",")wmm(56) = split("10,2,1.6,0.2,0.0,0.0",",")wmm(57) = split("10,3,-2.6,4.4,0.0,0.0",",")wmm(58) = split("10,4,0.0,4.8,0.0,0.0",",")wmm(59) = split("10,5,3.1,-6.5,0.0,0.0",",")wmm(60) = split("10,6,0.4,-1.1,0.0,0.0",",")wmm(61) = split("10,7,2.1,-3.4,0.0,0.0",",")wmm(62) = split("10,8,3.9,-0.8,0.0,0.0",",")wmm(63) = split("10,9,-0.1,-2.3,0.0,0.0",",")wmm(64) = split("10,10,-2.3,-7.9,0.0,0.0",",")wmm(65) = split("11,0,2.8,0.0,0.0,0.0",",")wmm(66) = split("11,1,-1.6,0.3,0.0,0.0",",")wmm(67) = split("11,2,-1.7,1.2,0.0,0.0",",")wmm(68) = split("11,3,1.7,-0.8,0.0,0.0",",")wmm(69) = split("11,4,-0.1,-2.5,0.0,0.0",",")wmm(70) = split("11,5,0.1,0.9,0.0,0.0",",")wmm(71) = split("11,6,-0.7,-0.6,0.0,0.0",",")wmm(72) = split("11,7,0.7,-2.7,0.0,0.0",",")wmm(73) = split("11,8,1.8,-0.9,0.0,0.0",",")wmm(74) = split("11,9,0.0,-1.3,0.0,0.0",",")wmm(75) = split("11,10,1.1,-2.0,0.0,0.0",",")wmm(76) = split("11,11,4.1,-1.2,0.0,0.0",",")wmm(77) = split("12,0,-2.4,0.0,0.0,0.0",",")wmm(78) = split("12,1,-0.4,-0.4,0.0,0.0",",")wmm(79) = split("12,2,0.2,0.3,0.0,0.0",",")wmm(80) = split("12,3,0.8,2.4,0.0,0.0",",")wmm(81) = split("12,4,-0.3,-2.6,0.0,0.0",",")wmm(82) = split("12,5,1.1,0.6,0.0,0.0",",")wmm(83) = split("12,6,-0.5,0.3,0.0,0.0",",")wmm(84) = split("12,7,0.4,0.0,0.0,0.0",",")wmm(85) = split("12,8,-0.3,0.0,0.0,0.0",",")wmm(86) = split("12,9,-0.3,0.3,0.0,0.0",",")wmm(87) = split("12,10,-0.1,-0.9,0.0,0.0",",")wmm(88) = split("12,11,-0.3,-0.4,0.0,0.0",",")wmm(89) = split("12,12,-0.1,0.8,0.0,0.0",",")wmm(90) = split("999,999,9999999999,9999999999,99999999999,99999999999",",")wmm(91) = split("999,999,9999999999,9999999999,99999999999,99999999999",",")
'Declaração de arrays auxiliaresDim c(13,13)Dim cd(13,13)Dim tc(13,13)Dim dp(13,13)'Dim snorm(169)Dim sp(13)'Dim cp(13)'Dim fn(13)
56
Dim fm(13)Dim pp(13)'Dim k(13,13)Dim p(169)'Dim ti(13)Dim dec(13)Dim dip(13)Dim gv(13)
'ConstantesrTd = 0.017453292epochrange = 5.0epochlowlim = 2005.0maxdeg = 12warn_H = 0warn_H_val = 99999.0warn_H_strong = 0warn_H_strong_val = 99999.0warn_P = 0
'Inicializa constantesmaxord = 12sp(0) = 0.0cp(0) = 1.0p(0) = 1.0pp(0) = 1.0dp(0,0) = 0.0re = 6371.2a2 = a * ab2 = b * bc2 = a2 - b2a4 = a2 * a2b4 = b2 * b2c4 = a4 - b4
'Lê coeficientes harmônicos esféricosc(0,0) = 0.0cd(0,0) = 0.0epoch = 2005.0
'Pega os valores de acordo com array de coeficientesFor x = 0 to 89 If wmm(x)(1) <= wmm(x)(0) Then c(wmm(x)(1),wmm(x)(0)) = wmm(x)(2) cd(wmm(x)(1),wmm(x)(0)) = wmm(x)(4) If (wmm(x)(1) <> 0) Then c(wmm(x)(0),wmm(x)(1)-1) = wmm(x)(3) cd(wmm(x)(0),wmm(x)(1)-1) = wmm(x)(5) End If End IfNext
'Converte coeficientes de Schmidt Gauss normalizados para não normalizadossnorm(0) = 1.0For n = 1 To maxord snorm(n) = snorm(n-1) * (2*n-1) / n j = 2 m = 0 D1 = 1 D2 = (n - m + D1) / D1 While D2 > 0 k(m,n) = (((n-1)*(n-1)) - (m*m)) / ((2*n-1) * (2*n-3)) If m > 0 Then flnmj = ((n-m+1) * j) / (n+m) snorm(n+m*13) = snorm(n+(m-1)*13) * sqr(flnmj) j = 1
57
c(n,m-1) = snorm(n+m*13) * c(n,m-1) cd(n,m-1) = snorm(n+m*13)*cd(n,m-1) End If c(m,n) = snorm(n+m*13) * c(m,n) cd(m,n) = snorm(n+m*13) * cd(m,n) D2 = D2 - 1 m = m + D1 Wend fn(n) = (n+1) fm(n) = nNextk(1,1) = 0
otime = -1000.0oalt = -1000.0olat = -1000.0olon = -1000.0
altm = 0tempo = Year(Date()) + ((Month(Date())-1) / 12) + ((Day(Date())-1) / 365)alt = altm / 1000dt = tempo - epochdtr = pi / 180.0rlon = glon * dtrrlat = glat * dtrsrlon = sin(rlon)srlat = sin(rlat)crlon = cos(rlon)crlat = cos(rlat)srlat2 = srlat * srlatcrlat2 = crlat * crlatsp(1) = srloncp(1) = crlon
'Converte coordenadas de geodética para esféricaIf alt <> oalt or glat <> olat Then q = sqr(a2 - c2 * srlat2) q1 = alt * q q2 = ((q1 + a2)/(q1 + b2)) * ((q1+a2)/(q1+b2)) ct = srlat / sqr(q2 * crlat2 + srlat2) st = sqr(1.0 - (ct * ct)) r2 = (alt * alt) + 2.0 * q1 + (a4 - c4 * srlat2)/(q*q) r = sqr(r2) d = sqr(a2 * crlat2 + b2 * srlat2) ca = (alt + d) / r sa = c2 * crlat * srlat / (r * d)End If
If glon <> olon Then For m = 2 To maxord sp(m) = sp(1) * cp(m-1) + cp(1) * sp(m-1) cp(m) = cp(1) * cp(m-1) - sp(1) * sp(m-1) NextEnd If
aor = re / rar = aor * aorbr = 0.0bt = 0.0bp = 0.0bpp = 0.0
For x = 0 to 169 p(x) = snorm(x)Next
58
For n = 1 To maxord ar = ar * aor m = 0 D3 = 1 D4 = (n+m+D3)/D3 While D4 > 0 'Calcula polinomiais de Legendre não normalizados 'derivativas via relações de recursão If alt <> oalt Or glat <> olat Then If n = m Then p(n+m*13) = st * p(n-1+(m-1)*13) dp(m,n) = st * dp(m-1,n-1) + ct * p(n-1+(m-1)*13) End If If n = 1 And m = 0 Then p(n+m*13) = ct * p(n-1+m*13) dp(m,n) = ct * dp(m,n-1) - st * p(n-1+m*13) End If If n > 1 and n <> m Then If (m > n-2) Then p(n-2+m*13) = 0.0 End If If (m > n-2) Then dp(m,n-2) = 0.0 End If p(n+m*13) = ct * p(n-1+m*13) - k(m, n) * p(n-2+m*13) dp(m,n) = ct * dp(m,n-1) - st * p(n-1+m*13) - k(m,n) * dp(m,n-2) End If End If 'Ajusta coeficientes de Gauss para variável tempo If tempo <> otime Then tc(m,n) = c(m,n) + dt * cd(m,n) If m <> 0 Then tc(n,m-1) = c(n,m-1) + dt * cd(n,m-1) End If End If 'Acumula termos de expansões harmonicas esféricas par = ar * p(n+m*13) If m = 0 Then temp1 = tc(m,n) * cp(m) temp2 = tc(m,n) * sp(m) Else temp1 = tc(m,n) * cp(m) + tc(n,m-1) * sp(m) temp2 = tc(m,n) * sp(m) - tc(n,m-1) * cp(m) End If bt = bt - ar * temp1 * dp(m,n) bp = bp + (fm(m) * temp2 * par) br = br + (fn(n) * temp1 * par) 'Caso especial: pólos sul e norte geográfico If (st = 0.0 And m = 1) Then If n = 1 Then pp(n) = pp(n-1) Else pp(n) = ct * pp(n-1) - k(m,n) * pp(n-2) End If parp = ar * pp(n) bpp = bpp + (fm(m)* temp2 * parp) End If D4 = D4 - 1 m = m + D3 WendNextIf st = 0 then bp = bppElse bp = bp / stEnd If
59
'Rotaciona componente de vetor de esférico para geodéticobx = -bt * ca - br * saby = bpbz = bt * sa - br * ca'Calcula Declinação, Inclinação e Intensidade Totalbh = sqr((bx*bx)+(by*by))ti(0) = sqr((bh*bh)+(bz*bz))If bx = 0 Then 'Emula função atn2 dec(0) = (Sgn(by) * Pi / 2) / dtrElseIf bx > 0 Then dec(0) = Atn(by/bx)/dtrElse dec(0) = (Atn(by/bx) + Pi * Sgn(by))/dtrEnd If'dec(0) = Atn2(by,bx)/dtrIf bh = 0 Then 'Emula função atn2 dip(0) = (Sgn(bz) * Pi / 2) / dtrElseIf bh > 0 Then dip(0) = Atn(bz/bh)/dtrElse dip(0) = (Atn(bz/bh) + Pi * Sgn(bz))/dtrEnd If'dip(0) = Atn2(bz,bh)/dtr
If CosSigma = 0 Then Sigma = Sgn(SenSigma) * Pi / 2ElseIf SenSigma > 0 Then Sigma = Atn(SenSigma / CosSigma)Else Sigma = Atn(SenSigma / CosSigma) + Pi * Sgn(SenSigma)End IfAz = Sigma * 180 / Pi
'Calcula grade de variação se posição geodética for os pólos norte ou sulgv(0) = -999.0If Abs(glat) >= 55 Then If glat > 0 And glon >= 0 Then gv(0) = dec(0) - glon End If If glat > 0 And glon < 0 Then gv(0) = dec(0) + Abs(glon) End If If glat < 0 And glon >= 0 Then gv(0) = dec(0) + glon End If If glat < 0 And glon < 0 Then gv(0) = dec(0) - Abs(glon) End If If gv(0) > 180 Then gv(0) = gv(0) - 360 End If If gv(0) < -180 Then gv(0) = gv(0) + 360 End IfEnd Ifotime = tempooalt = altolat = glatolon = glontempo1 = tempodec1 = dec(0)dip1 = dip(0)ti1 = ti(0)tempo = tempo1 + 1Response.Write dec1End Sub
60
4.1.2.1 Precisão nos cálculos da declinação magnética
No documento The US/UK World Magnetic Model for 2005-2010 NOAA
Technical Report (3) aparece uma tabela de testes para a declinação magnética.
Essa tabela considera o parâmetro temporal como 2007.5. A tabela 4 mostra os va-
lores da declinação esperada e econtrada para uma série de coordenadas especifi -
cadas na tabela de testes. Foi utilizado o programa de testes a seguir. A variável
tempo foi fixada em 2007.5 exatamente como na definição do teste.
Declinacao 80, 0 Declinacao 80, 60 Declinacao 80, 120 Declinacao 80, 180 Declinacao 80, 240 Declinacao 80, 300 Declinacao 40, 0 Declinacao 40, 60 Declinacao 40, 120 Declinacao 40, 180 Declinacao 40, 240 Declinacao 40, 300 Declinacao 0, 0 Declinacao 0, 60 Declinacao 0, 120 Declinacao 0, 180 Declinacao 0, 240 Declinacao 0, 300 Declinacao -40, 0 Declinacao -40, 60 Declinacao -40, 120 Declinacao -40, 180 Declinacao -40, 240 Declinacao -40, 300Declinacao -80, 0 Declinacao -80, 60 Declinacao -80, 120 Declinacao -80, 180 Declinacao -80, 240 Declinacao -80, 300
61
Tabela 4: resultados esperados (onde coletou os dados esperados?) e obtidos para
a declinação
Latitude Longitude Esperado Obtido80 0 -6,92 -6,7280 60 35,84 35,7080 120 0,55 0,9380 180 8,65 8,5180 240 31,25 32,0080 300 -54,44 -54,5240 0 -0,98 -1,0940 60 5,08 4,9940 120 -7,40 -7,3840 180 5,79 5,8540 240 14,75 14,7840 300 -17,79 -17,710 0 -6,44 -6,470 60 -4,13 -4,130 120 1,08 1,070 180 9,62 9,620 240 9,13 9,180 300 -14,63 -14,68
-40 0 -23,43 -23,43-40 60 -45,31 -45,24-40 120 -3,36 -3,30-40 180 21,80 21,77-40 240 22,46 22,44-40 300 -2,65 -2,65-80 0 -21,77 -21,81-80 60 -74,33 -74,38-80 120 -140,75 -140,71-80 180 131,56 131,47-80 240 70,39 70,35-80 300 23,86 23,99
Observa-se que os valores encontrados são muito próximos aos valores
de teste, com diferença máxima de 0,75 grau. Acreditamos que essa diferença pos-
sa vir de um ou mais dos seguintes fatores: (1) Pequenas diferenças ou arredonda-
mento na tabela de coeficientes; e (2) diferença no número de casas decimais utili-
zadas nos parâmetros (pi, raio da terra no equador e nos pólos).
Em resumo, o código apresentado é eficaz no cálculo da declinação mag-
nética, dadas as coordenadas de um ponto.
62
A figura 4 mostra um mapa contendo os valores da declinação magnética.
Figura 4: declinação magnética
63
CONCLUSÕES
Como ficou demonstrado, neste documento, os modelos matemáticos
apresentados para o cálculo da direção e distância entre dois pontos e da declina-
ção magnética de um ponto, bem como a implementação apresentada são eficazes
na solução do problema proposto.
Fica claro que existe um amplo espaço para o desenvolvimento de aplica-
ções que fazem uso desses cálculos. O principal diferencial da metodologia apre-
sentada é o baixo custo de implementação e computacional necessários para utilizá-
la.
Por exemplo, o fato de ser possível, a partir de uma agulha magnética, de-
terminar a direção a ser seguida (já que é efetuado o cálculo da declinação magnéti -
ca), permite um menor custo na determinação de rotas de aviação e marítimas.
Além disso, visto que a implementação utiliza visualização dos mapas e
fotografias aéreas e de satélite, o usuário da aplicação consegue se localizar com
muito mais facilidade.
Acreditamos que um setor que irá se beneficiar grandemente desse traba-
lho é o de petróleo e gás. Os cálculos apresentados permitem um melhor dimensio-
namento na instalação de dutos submarinos, uma vez que é possível saber a rota
ideal utilizando-se o caminho mais curto, bem como a orientação direcional necessá-
ria para que as embarcações utilizadas na instalação consigam implementar o que
foi projetado.
64
Por fim, deixamos registradas as sugestões de novas implementações e
trabalhos, tais como listados abaixo:
1. Preparar a aplicação para que possa ser utilizada em celula-
res e aparelhos de GPS, aumentando, assim, a precisão des-
ses aparelhos nos cálculos. Talvez possa ser utilizada a tec-
nologia BREW da Qualcomm ou então Android do Google
que oferecem suporte a dispositivos GPS
2. Desenvolver um modelo magnético levando em considera-
ções inúmeros resultados de observações feitas no Brasil.
Por exemplo, a Petrobrás possui dados de medições em
grande parte do território brasileiro que poderiam ser usados
no desenvolvimento de um modelo que contemple as anoma-
lias magnéticas em nosso território.
65
REFERÊNCIAS BIBLIOGRÁFICAS
1. Vincenty, T. Direct and Inverse solutions of geodesics on the ellipsoid with ap-
plication of nested equations, 1975 - Survey Review XXII 176, pp. 88-93
2. Torge, Wolfgang. Geodesy, Terceira Edição, ed. Walter de Gruyter: Abril 2001
3. McLean, S., S. Macmillan, S. Maus, V. Lesur, A. Thomson, and D. Dater,
Dezembro 2004, The US/UK World Magnetic Model for 2005-2010 NOAA
Technical Report
4. Gaspar, Joaquim Alves, 2005 - Cartas e Projecções Cartográficas. 3.ª Edição.
Lisboa: Lidel - Edições Técnicas.
5. Kern, W. F. and Bland, J. R. Solid Mensuration with Proofs, 2nd e. New York:
Wiley, 1948
6. GeoLite City da empresa MaxMind. Disponível em: <http://www.maxmind.-
com/app/geolitecity >. Acesso efetuado em 16/11/2007
7. API do Google Maps. Disponível em: <http://www.google.com/apis/maps/ >.
Acesso efetuado em 16/11/2007
8. Programa de afiliados da Amazon. Disponível em: <http://affiliate-program.a-
mazon.com/gp/associates/join>. Acesso efetuado em 16/11/2007
9. Google AdSense. Disponível em: <https://www.google.com/adsense>. Acesso
efetuado em 16/11/2007
10.Sistema de pagamentos PayPal. Disponível em: <www.paypal.com>. Acesso
efetuado em 16/11/2007
11.Geoscience Australia. Disponível em: < http://www.ga.gov.au/geodesy/datums/dis-
tance.jsp>. Acesso efetuado em 16/11/2007
12.Cálculo da direção e distância entre dois pontos e declinação magnética. Dis-
ponível em: http://www.qibla.com.br. Acesso efetuado em 16/11/2007
66