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)?
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:
Eu recomendaria verificar:
Esférico: http://www.movable-type.co.uk/scripts/latlong.html
Grande Círculo: http://www.movable-type.co.uk/scripts/gis-faq -5.1.html
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.
Existem algumas ferramentas úteis na página de calculadoras de coordenadas e ferramentas de distância do Visualizador GPS . Um deles calcula a distância entre dois pontos. Ele tem a opção de desenhar os pontos no mapa com o Grande Círculo sendo exibido, bem como a opção de desenhar um perfil e exportar os dados.