Я использовал алгоритм на http://www.movable-type.co.uk/scripts/latlong.html, чтобы найти расстояние между двумя точками.
Мои две точки
long1 = 51.507467;
lat1 = -0.08776;
long2 = 51.508736;
lat2 = -0.08612;
Согласно скрипту Movable Type, ответ равен 0,1812 км.
Мое приложение дает результат (d
) как 0,230 км.
Проверьте формулу Хаверсина: http://www.movable-type.co.uk/scripts/latlong.html
double R = 6371; // earth’s radius (mean radius = 6,371km)
double dLat = Math.toRadians(lat2-lat1);
double dLon = Math.toRadians(long2-long1);
a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
double d = R * c;