segunda-feira, 11 de maio de 2009

Distância entre coordenadas geográficas

As coordenadas geográficas expressam de forma exata em graus a posição de qualquer ponto na superfície do globo terrestre. O globo é dividido em latitudes que vão de 0 a 90 graus a partir da linha do Equador, separando Norte e Sul, e longitudes que vão de 0 a 180 graus a partir do meridiano de Greenwich, separando Leste e Oeste.

A medida de grau possui duas notações, grau em notação sexagesimal (grau, minuto e segundo) e grau em notação decimal. A latitude e longitude para a notação sexagesimal é indicada pelas letras de Norte-Sul-Leste-Oeste, em notação decimal é indicada com o sinal - (negativo) a latitude sul ou a longitude oeste. Exemplo: 48°45'51,01"Oeste = -48,7641694444444.

A circunferência média do globo terrestre mede aproximadamente 40.030,20 quilômetros, dividindo por 360 conclui-se que o grau equivale a 111,19 km. Dividindo um grau por 60 temos um minuto que equivale a 1.853,25 metros e é a medida de uma milha náutica (atualmente por convenção adotou-se 1.852,00 metros). Dividindo um minuto por 60 temos um segundo que equivale a 30,88 metros. O raio médio do globo terrestre é 6371.004 km.

Antes de vermos como se calcula a distância vamos ver como se faz a conversão entre as notações de grau. A notação decimal é obtida a partir da notação sexagesimal com o uso da fórmula:

grau + minuto/60 + segundo/3600

Lembrando que para a latitude sul e a longitude oeste o resultado receberá o sinal negativo.

No sentido inverso, a notação sexagesimal é obtida a partir da notação decimal com o uso das fórmulas:

Grau = valor absoluto da notação decimal, somente a parte inteira.
Minuto = valor absoluto da parte fracionária da notação decimal multiplicado por 60, somente a parte inteira.
Segundo = valor absoluto da parte fracionária da notação decimal multiplicado por 60, e multiplicando a parte fracionária deste resultado por 60.

Se o valor da notação decimal é negativo então a latitude será sul ou a longitude será oeste.

Para o cálculo da distância é utilizado os valores em notação decimal, por isso é necessária a conversão caso as coordenadas estejam em notação sexagesimal. Sua fórmula, já com a unidade do resultado em metros, é dada abaixo:

D = ( ( ArcoCosseno( Cosseno( ( 90 - LatitudeUm ) * Pi / 180 ) * Cosseno( ( 90 - LatitudeDois ) * Pi / 180 ) + Seno( ( 90 - LatitudeUm ) * Pi / 180 ) * Seno( ( 90 - LatitudeDois ) * Pi / 180 ) * Cosseno( ABS( ( ( 360 + LongitudeUm ) * Pi / 180 ) - ( ( 360 + LongitudeDois ) * Pi / 180 ) ) ) ) ) * 6371,004 ) * 1000

LatitudeUm e LongitudeUm referem-se as coordenadas da primeira localidade e LatitudeDois e LongitudeDois referem-se as coordenadas da segunda localidade. ABS é o valor absoluto da expressão e Pi é obviamente o valor do número Pi (3,14159265). Toda a expressão é multiplicada pelo raio médio da Terra e o resultado multiplicado por 1000 para a unidade ser em metros.

A fórmula deste cálculo é baseada na lei dos cossenos da trigonometria esférica e a distância segue a linha geodésica, que é a curva de menor comprimento unindo dois pontos. Como o sistema de coordenadas terrestre é dividido em hemisférios, com os ângulos entre 0-90 e 0-180, faz-se necessário o ajuste na fórmula para estes ângulos limítrofes. E como as diferenças na altitude da superfície terrestre serem insignificantes em relação ao raio da Terra, é possível ignorar esta variação sem comprometer o resultado do cálculo. Observando que como está sendo utilizado o raio médio então os resultados para pontos próximos a linha do Equador serão subestimados e para pontos próximos aos pólos serão superestimados.

Nenhum comentário:

Postar um comentário