18static inline double geoHaversine(
double lat1,
double lon1,
double lat2,
double lon2) {
19 double lat1Rad = lat1 * M_PI / 180.0;
20 double lon1Rad = lon1 * M_PI / 180.0;
21 double lat2Rad = lat2 * M_PI / 180.0;
22 double lon2Rad = lon2 * M_PI / 180.0;
24 double sinHalfDLat = sin((lat2Rad - lat1Rad) / 2);
25 double sinHalfDLon = sin((lon2Rad - lon1Rad) / 2);
27 double a = sinHalfDLat * sinHalfDLat + cos(lat1Rad) * cos(lat2Rad) * sinHalfDLon * sinHalfDLon;
28 double c = 2 * atan2(sqrt(a), sqrt(1 - a));
static double geoHaversine3D(double prevLat, double prevLng, double prevAlt, double currentLat, double currentLng, double currentAlt)
Definition GeoMath.h:33