- double ft_per_deg_lat = 366468.96 - 3717.12 * cos(lat / SG_RADIANS_TO_DEGREES);
- double ft_per_deg_lon = 365228.16 * cos(lat / SG_RADIANS_TO_DEGREES);
- double lat_diff_ft = fabs(wp->latitude - lat) * ft_per_deg_lat;
- double lon_diff_ft = fabs(wp->longitude - lon) * ft_per_deg_lon;
- return sqrt((lat_diff_ft * lat_diff_ft) + (lon_diff_ft * lon_diff_ft));
+ //double ft_per_deg_lat = 366468.96 - 3717.12 * cos(lat / SG_RADIANS_TO_DEGREES);
+ //double ft_per_deg_lon = 365228.16 * cos(lat / SG_RADIANS_TO_DEGREES);
+ //double lat_diff_ft = fabs(wp->latitude - lat) * ft_per_deg_lat;
+ //double lon_diff_ft = fabs(wp->longitude - lon) * ft_per_deg_lon;
+ //return sqrt((lat_diff_ft * lat_diff_ft) + (lon_diff_ft * lon_diff_ft));
+ SGWayPoint sgWp(wp->longitude,wp->latitude, wp->altitude, SGWayPoint::WGS84, string("temp"));
+ sgWp.CourseAndDistance(lon, lat, wp->altitude, &course, &distance);
+ return distance;