Necesito implementar la distancia Harvesine en mi código java.Java: preguntas sobre radianes, Math.cos, Math.sin, double y long
Encontré este fragmento en Javascript, y necesito convertirlo a Java.
- ¿Cómo puedo convertir la latitud y la longitud a radianes en Java?
- Math.sin quiere un doble en Java. ¿Debo pasar el valor previamente convertido en radianes o no?
- Math.sin y Math.cos regresan de largo. ¿Debo declarar un tiempo igual y pasarlo a Math.sqrt o convertirlo a double?
gracias
dLat = (lat2-lat1).toRad();
dLon = (lng2-lng1).toRad();
a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) *
Math.sin(dLon/2) * Math.sin(dLon/2);
c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
d = R * c;
return d;
Para (1), usando 'Math.toRadians (grados)' sería más fácil de leer. – coobird
@coobird Gracias, actualizado. –