Encontrando distância entre duas coordenadas no elipsóide?


18

Eu tenho dois conjuntos de latitude e longitude.

Como faço para encontrar a distância entre os dois locais se eu assumir que a Terra é um elipsóide perfeito (com uma excentricidade de 0,0167)?

Respostas:


16

1
As fórmulas nessa página parecem ignorar a excentricidade. Eles assumem que a Terra é uma esfera e não um elipsóide.
Jon Bringhurst

Anteriormente, eu sempre usava uma biblioteca que conhecia distâncias entre alguns pontos definidos e depois fazia a média para calcular a distância de quaisquer pontos desconhecidos. Vou perguntar a algumas pessoas sobre isso.
Wallbasher

Ah, o segundo link parece ter a fórmula certa. Obrigado!
precisa

1
Obrigado pela sua resposta @Wallbasher. No entanto, seria melhor se as respostas pudessem permanecer por conta própria. Seria de grande ajuda se você também publicasse a fórmula relevante com sua resposta.
RK

7

Então você conhece suas duas latitudes e longitudes, digamos

Você pode calcular as coordenadas cartesianas para cada um:

xa = (Cos(thisLat)) * (Cos(thisLong));
ya = (Cos(thisLat)) * (Sin(thisLong));
za = (Sin(thisLat));

xb = (Cos(otherLat)) * (Cos(otherLong));
yb = (Cos(otherLat)) * (Sin(otherLong));
zb = (Sin(otherLat));

E então calcule a grande distância do círculo entre os dois usando:

MeanRadius * Acos(xa * xb + ya * yb + za * zb);

Essa abordagem simplificada permite o pré-cálculo dos valores x, ye z, que podem ser armazenados em um banco de dados para consultas eficientes sobre "pontos dentro de x milhas".

Obviamente, isso pressupõe uma esfera perfeita, e a Terra nem sequer é um elipsóide perfeito, então a precisão será de apenas alguns metros.


1
Eu apontaria a "coisa de esfera perfeita" também. Você deve estar ciente de que esse método fornecerá vários graus de precisão, dependendo de onde você esteja no mundo.
TroutSlayer

O @TrotuSlayer geralmente é bom o suficiente para a maioria das aplicações, e sempre há uma troca entre velocidade e precisão. Se você precisa ser mais preciso, é hora de tirar a roda de rodízio ou recorrer a suposições de que a Terra é plana para sua área e as distâncias 2D são suficientes.
Rowland Shaw

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.