Tengo dos conjuntos de latitud y longitud.
¿Cómo puedo encontrar la distancia entre las dos ubicaciones si asumo que la Tierra es un elipsoide perfecto (con una excentricidad de 0.0167)?
Tengo dos conjuntos de latitud y longitud.
¿Cómo puedo encontrar la distancia entre las dos ubicaciones si asumo que la Tierra es un elipsoide perfecto (con una excentricidad de 0.0167)?
Así que ya sabes tus dos latitudes y longitudes, digamos
Puedes calcular las coordenadas cartesianas para cada una:
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 calcula la gran distancia de 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 x, y, que se pueden almacenar junto con una base de datos para consultas "puntos dentro de x millas" eficientes.
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.
Hay un puñado de herramientas útiles en calculadoras de coordenadas del visualizador GPS & página de herramientas de distancia . Uno de ellos calcula la distancia entre dos puntos. Tiene la opción de dibujar los puntos en el mapa con el Gran Círculo y la opción de dibujar un perfil y exportar los datos.
Lea otras preguntas en las etiquetas distance great-circle