Entender la distancia entre dos puntos geográficos es crucial para:
Para calcular la distancia entre dos puntos en la superficie de la Tierra, utilizamos la fórmula de Haversine. Esta fórmula toma en cuenta la curvatura de la Tierra, proporcionando una estimación precisa de la distancia.
La fórmula de Haversine es la siguiente:
Donde:
son las latitudes de los dos puntos en radianes y
es la diferencia entre las latitudes de los dos puntos y por otro lado
es la diferencia entre las longitudes de los dos puntos y
es el radio de la Tierra (6371 km).
A continuación, se muestra cómo implementar esta fórmula en JavaScript:
function calcularDistancia(lat1, lon1, lat2, lon2) {
const R = 6371; // Radio de la Tierra en km
const dLat = gradosARadianes(lat2 - lat1);
const dLon = gradosARadianes(lon2 - lon1);
const a =
Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(gradosARadianes(lat1)) * Math.cos(gradosARadianes(lat2)) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
const distancia = R * c; // Distancia en km
return distancia;
}
function gradosARadianes(grados) {
return grados * (Math.PI / 180);
}
// Ejemplo de uso:
const lat1 = 40.7128; // Latitud de Nueva York
const lon1 = -74.0060; // Longitud de Nueva York
const lat2 = 34.0522; // Latitud de Los Ángeles
const lon2 = -118.2437; // Longitud de Los Ángeles
const distancia = calcularDistancia(lat1, lon1, lat2, lon2);
console.log(`La distancia es ${distancia.toFixed(2)} km`);
1. Función calcularDistancia
: Esta función toma las coordenadas de dos puntos (latitud y longitud) y calcula la distancia entre ellos utilizando la fórmula de Haversine.
2. Conversión de Grados a Radianes: La función gradosARadianes
convierte las coordenadas de grados a radianes, ya que las funciones trigonométricas en JavaScript trabajan con radianes.
3. Ejemplo de Uso: Se proporcionan coordenadas de ejemplo para calcular la distancia entre Nueva York y Los Ángeles.
Calcular la distancia entre dos puntos geográficos en JavaScript es una tarea sencilla cuando se utiliza la fórmula de Haversine. Esta fórmula permite obtener una estimación precisa de la distancia, considerando la curvatura de la Tierra. Este cálculo es esencial para muchas aplicaciones que dependen de la geolocalización y puede ser fácilmente implementado y adaptado a tus necesidades específicas.
Jorge García
Fullstack developer