fix: haversine formula fixed

Resolves #276
This commit is contained in:
Mateusz Pusz
2021-05-02 13:03:14 +02:00
parent 9d4ea8a8bf
commit ab66455fb1

View File

@@ -53,8 +53,8 @@ distance spherical_distance(position from, position to)
return distance(earth_radius * central_angle); return distance(earth_radius * central_angle);
} else { } else {
// the haversine formula // the haversine formula
const auto sin_lat = sin(lat2 - lat1) / 2; const auto sin_lat = sin((lat2 - lat1) / 2);
const auto sin_lon = sin(lon2 - lon1) / 2; const auto sin_lon = sin((lon2 - lon1) / 2);
const auto central_angle = 2 * asin(sqrt(sin_lat * sin_lat + cos(lat1) * cos(lat2) * sin_lon * sin_lon)); const auto central_angle = 2 * asin(sqrt(sin_lat * sin_lat + cos(lat1) * cos(lat2) * sin_lon * sin_lon));
return distance(earth_radius * central_angle); return distance(earth_radius * central_angle);
} }