¿Encontrar la distancia entre dos coordenadas en elipsoide?


18

Tengo dos conjuntos de latitud y longitud.

¿Cómo encuentro la distancia entre las dos ubicaciones si supongo que la Tierra es un elipsoide perfecto (con una excentricidad de 0.0167)?

Respuestas:


16

1
Las fórmulas en esa página parecen ignorar la excentricidad. Asumen que la tierra es una esfera y no un elipsoide.
Jon Bringhurst

Anteriormente, siempre usaba una biblioteca que conocía distancias entre algunos puntos largos establecidos y luego realizaba un promedio para calcular la distancia de cualquier punto desconocido. Preguntaré a algunas personas sobre esto.
Wallbasher

Ah, el segundo enlace parece tener la fórmula correcta. ¡Gracias!
Jon Bringhurst

1
Gracias por tu respuesta @Wallbasher. Sin embargo, sería mejor si las respuestas pudieran ser independientes. Sería de gran ayuda si publicara la fórmula relevante con su respuesta también.
RK

7

Entonces conoces tus dos latitudes y longitudes, digamos

Puede calcular las coordenadas cartesianas para cada:

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));

Y luego calcule la distancia del gran círculo entre los dos usando:

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

Este enfoque simplificado permite el cálculo previo de los valores de x, y y z, que pueden almacenarse junto a una base de datos para consultas eficientes de "puntos dentro de x millas".

Por supuesto, esto supone una esfera perfecta, y la Tierra ni siquiera es un elipsoide perfecto, por lo que la precisión solo será de unos pocos metros.


1
Iba a señalar la "esfera perfecta" también. Debe tener en cuenta que este método le dará diferentes grados de precisión dependiendo de dónde se encuentre en el mundo.
TroutSlayer

@TrotuSlayer generalmente es lo suficientemente bueno para la mayoría de las aplicaciones, y siempre hay una compensación entre velocidad y precisión. Si necesita ser más preciso, es hora de sacar la rueda nido o recurrir a suposiciones de que la Tierra es plana para su área determinada, y las distancias en 2D son suficientes.
Rowland Shaw

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.