Distanz zwischen zwei GPS-Koordinaten in Java berchenen
Um den Abstand zwischen zwei GPS-Koordinaten zu berechnen ist ein wenig Mathematik nötig. Man kann dafür zum Beispiel auf die Semiversus-Formel (eher bekannt unter dem englischen Namen Haversine formula) zurückgreifen.
In Java umgesetzt sieht eine entsprechende Funktion, die den Abstand zwischen zwei GPS-Koordinaten, gegeben durch Längen- und Breitengrad, in Kilometern berechnet wie folgt aus:
public static double distanceInKm(double lat1, double lon1, double lat2, double lon2) { int radius = 6371; double lat = Math.toRadians(lat2 - lat1); double lon = Math.toRadians(lon2- lon1); double a = Math.sin(lat / 2) * Math.sin(lat / 2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(lon / 2) * Math.sin(lon / 2); double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); double d = radius * c; return Math.abs(d); }