Você está na página 1de 6

CLCULO DE DISTNCIAS ENTRE PONTOS COORDENADAS GEOGRFICAS

Demonstraremos alguns mtodos para o clculo da distncia entre 2 pontos, dadas suas coordenadas.
1 Forma Tringulo Pitagrico Imaginemos 2 pontos P=(x1,y1) e Q=(x2,y2), obtemos a distncia entre P e Q, traando as projees destes pontos sobre os eixos coordenados, obtendo um tringulo retngulo e usando o Teorema de Pitgoras.
Anexo:

Pitagoras1.png [ 682 Bytes | Exibido 139 vezes ]

Assim, considerando 2 pontos de coordenadas (-22.902778, -43.206667) e (-23.548333, -46.636111) Calculando-se a distncia entre eles, tem-se:
Anexo:

Pitagoras2.png [ 2.14 KiB | Exibido 138 vezes ]

Anexo:

Pitagoras3.png [ 2.75 KiB | Exibido 138 vezes ]

A distncia em graus resulta 3,4896744 O raio da terra tem aproximadamente 6371km. Uma volta na terra tem 2 * pi * raio = 40030000m. Podemos, atravs de uma regra de 3 simples, obter a converso do ngulo encontrado para uma distncia em metros:
Cdigo:

360 3,4896744

40030000m 388032m

d = 388032m ------------------------------------2 Forma Lei dos Cossenos - Tringulo Esfrico Sabemos, contudo, que a superfcie da terra no plana, elipsoidal. Podemos, para melhorar a preciso dos clculos, consider-la esfrica, e utilizar trigonometria esfrica. A Longitude de um ponto no globo terrestre a distncia medida em graus desde o Meridiano de Greenwich, que a referncia de Zero graus - at o Meridiano que passa por esse ponto. A Latidude de um ponto no globo terrestre a distncia medida em graus desde o Equador Terrestre, que a referncia de Zero Graus - at o crculo paralelo que passa por esse ponto.
Anexo:

TrianguloEsferico.gif [ 1.21 KiB | Exibido 138 vezes ]

Como vemos na figura, os pontos formam um tringulo esfrico. Ao contrrio da trigonometria plana, no suficiente conhecer dois ngulos para resolver o tringulo esfrico. sempre necessrio conhecer no mnimo trs elementos: ou trs ngulos, ou trs lados, ou dois lados e um ngulo, ou um ngulo e dois lados. Dentre as frmulas principais para a soluo dos tringulos esfricos temos a lei dos cossenos para os lados:
Cdigo:

cos a = cos b * cos c + sen b * sen c * cos A cos b = cos a * cos c + sen a * sen c * cos B cos c = cos a * cos b + sen a * sen b * cos C

Vamos ento agora repetir o clculo da distncia atravs da lei dos cossenos para o tringulo esfrico.

Anexo:

Cossenos.gif [ 11.89 KiB | Exibido 137 vezes ]

Observe que do ponto A localizado no extremo norte at a linha do equador h arcos de 90. O ngulo A, formado entre b e c a diferena entre as longitudes dos pontos.
Cdigo:

arco b = 90 - (-22.902778) = 112.902778 arco c = 90 - (-23.548333) = 113.548333 A = -43.206667 - (-46.636111) = 3.429444

cos a = cos b * cos c + sen b * sen c * cos A cos a = cos(112.902778)*cos(113.548333) + sen(113.548333)*sen(112.902778)*cos(3.429444) cos a = (-0,3891686 * -0,3995225) + (0,9167234 * 0,9211665 * 0,9982092) cos a = 0,1554816 + 0,8429426 = 0,9984242 a = arc cos(0,9984242) = 3,2169568

O raio da terra tem aproximadamente 6371km. Uma volta na terra tem 2 * pi * raio = 40030000m. Podemos, atravs de uma regra de 3 simples, obter a converso do ngulo encontrado para uma distncia em metros:
Cdigo:

360 3,2169568

40030000m 357708m

d = 357708m -----------------------------3 Forma Frmula de Haversine A Frmula de Haversine equao utilizada em navegao, fornecendo distncia entre 2 pontos de uma esfera, a partir de suas latitudes e longitudes. Quando aplicada Terra, ela representa apenas uma aproximao, pois o nosso planeta no uma esfera perfeita. O raio da Terra varivel: nos polos da ordem de 6357km; enquanto que no equador 6378km. Nos clculos utilizados estamos considerando um valor de raio mdio geralmente aceito, 6371km. A impreciso dos clculos aumenta conforme nos afastamos da linha do equador. Se for desejada uma preciso ainda maior do que a obtida com Haversine, aconselha-se a utilizao da Frmula de Vincenty, que leva em considerao o achatamento da Terra nos polos, a sua carterstica elptica. A frmula utiliza a funo seno verso - versine(). O seno verso de um ngulo A, tem a seguinte relao: versin(A) = 1 - cos(A). Haversine significa a metade do seno verso (half versine). Assim, h a relao: (1-cos(A))/2 = sen(A/2) * sen (A/2) Haversine:
Cdigo:

Raio_da_terra = 6371; // km dLat = (lat2-lat1) //diferena das latitudes dos pontos em radianos dLon = (lon2-lon1) //diferena das longitudes dos pontos em radianos a = sen(dLat/2) * sen(dLat/2) + cos(lat1) * cos(lat2) * sen(dLon/2) * sen(dLon/2) c = 2 * atan2(sqrt(a), sqrt(1-a)); distancia = Raio_da_terra * c;

O valor a o quadrado da metade do arco entre os pontos. O valor c a distncia em ngulos radianos encontrada. Ento voltemos a calcular, agora com a frmula haversine, a distncia entre os pontos (22.902778, -43.206667) e (-23.548333, -46.636111). Os ngulos so em radianos.
Cdigo:

lat1 = -22.902778 * 3.1415927 / 180 = -0.3997289 long1 = -43.206667 * 3.1415927 / 180 = -0.7540986 lat2 = -23.548333 * 3.1415927 / 180 = -0.4109959

long2 = -46.636111 * 3.1415927 / 180 = -0.81395369 dLat = -0.0112671 dLon = -0.0598551 a = sen(-0.00563353)*sen(-0.00563353) + cos(-0.3997289)*cos(-0.4109959)*sen(0.02992754) = 0.0007878533 c = 0.056144822

d = 6731 * 0.056144822 * 1000 = 357699m ---------------------------------4 Forma Google Earth Utilizando-se da ferramenta rgua, medimos a distncia entre as coordenadas no mapa. Desconhecemos o algoritmo e o raio da Terra que o Google utiliza para os clculos.
Anexo:

GoogleEarth.png [ 485.36 KiB | Exibido 133 vezes ]

d = 357781m ----------------------------------

Concluso

Como observamos, h pouca diferena de resultado entre a 2 e 3 forma de clculo. A 2 forma contudo, pouco indicada para distncias curtas. A 4 forma pode tornar-se imprecisa, j que a marcao da reta sujeita a erro. 1 2 3 4 forma forma forma forma pitgoras - d = 388032m cossenos - d = 357708m haversine - d = 357699m google - d = 357781m

Fontes:
http://astro.if.ufrgs.br/trigesf/trigesf.htm http://educacao.uol.com.br/matematica/ult1705u43.jhtm http://mathforum.org/library/drmath/view/51879.html http://www.movable-type.co.uk/scripts/latlong.html http://www.brasilescola.com/matematica/ ... etrico.htm http://caraipora.tripod.com/calc_dist_e ... pontos.htm http://blog.shander.eng.br/2011/03/calc ... errestres/

Tem um "jeitinho" simples para calcular a distncia aproximada de 2 pontos a partir de suas coordenadas lat,long. Pegue a primeira frmula da mensagem anterior (a pitagoras2.png), use os valores de latitude e longitude no lugar de x e y e multiplique o resultado por 110 (o nmero do logotipo do Maparadar). Pronto, distncia em quilmetros. Para metros, multiplique por 1000. Numa calculadora cientfica que tenha x (x ao quadrado) e (raiz quadrada), a sequncia de digitao seria: MC (limpa a memria) lat1 - lat2 = x M+ (acumula para a memria) long1 - long2 = x M+ MR (raiz quadrada) x 110 =

Este nmero mgico 110 vem da relao (2 * pi * raio da terra) / 360 2 * 3,141592654 * 6371 / 360 111 Pelo menos uma aproximao disso e semelhante regra de 3 aplicada nos clculos.

Isso mesmo! exatamente o resultado da sua regra de trs! Arredondei para 110 para coincidir com o logo do Maparadar O erro de menos de 1%, ento...

Mas no precisava contar, assim acaba o mistrio!