Información y enlaces

Participa comentando, viendo lo que otros tienen que decir, o enlazandolo desde tu blog.


Otros artículos
C# / ASP.NET : Firma digital y autenticación con Viafirma (II)
Leyendo un feed OpenSearch con código Java

Implementación de la fórmula Haversine en Java

Posteado por Javier Echeverría Usua en 25 November, 2008

El algoritmo Haversine sirve para calcular la distancia entre dos puntos de los que conocemos su longitud y latitud. A continuación incluimos un método Java que implementa esta fórmula devolviendo la distancia en metros:

    private static int calculateDistanceByHaversineFormula(double lon1, double lat1,
double lon2, double lat2) {

double earthRadius = 6371; // km

lat1 = Math.toRadians(lat1);
lon1 = Math.toRadians(lon1);
lat2 = Math.toRadians(lat2);
lon2 = Math.toRadians(lon2);

double dlon = (lon2 - lon1);
double dlat = (lat2 - lat1);

double sinlat = Math.sin(dlat / 2);
double sinlon = Math.sin(dlon / 2);

double a = (sinlat * sinlat) + Math.cos(lat1)*Math.cos(lat2)*(sinlon*sinlon);
double c = 2 * Math.asin (Math.min(1.0, Math.sqrt(a)));

double distanceInMeters = earthRadius * c * 1000;

return (int)distanceInMeters;

}

En nuestro caso ha sido utilizado para evaluar la distancia a un establecimiento determinado desde nuestra posición actual (calculada mediante GPS).



Escriba un comentario

Tomate un momento para comentar y contar lo que piensas sobre el post. Puedes usar un HTML básico para formatear

Comentarios leidos

Se el primero en dejar un comentario