Jump to content

Haversine formula: Difference between revisions

→‎{{header|Java}}: Rearrange java code very slightly
(→‎{{header|Rust}}: Improved Rust implementation which doesn't rely on mutable function arguments)
(→‎{{header|Java}}: Rearrange java code very slightly)
Line 1,749:
<syntaxhighlight lang="java">public class Haversine {
public static final double R = 6372.8; // In kilometers
 
public static double haversine(double lat1, double lon1, double lat2, double lon2) {
double dLat = Math.toRadians(lat2 - lat1);
double dLon = Math.toRadians(lon2 - lon1);
lat1 = Math.toRadians(lat1);
lat2 = Math.toRadians(lat2);
double dLondLat = Math.toRadians(lon2lat2 - lon1)lat1;
double dLatdLon = Math.toRadians(lat2lon2 - lat1lon1);
 
double a = Math.pow(Math.sin(dLat / 2), 2) + Math.pow(Math.sin(dLon / 2), 2) * Math.cos(lat1) * Math.cos(lat2);
double c = 2 * Math.asin(Math.sqrt(a));
return R * c;
}
 
public static void main(String[] args) {
System.out.println(haversine(36.12, -86.67, 33.94, -118.40));
2

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.