/* all the routines to calculate the distance */ /* between two points on the earth */ #include double pi=3.1415; double deg_2_rad (double deg) { return deg*pi/180.0; } double rad_2_deg (double rad) { return rad*180.0/pi; } double geo_colat (double lat) { double r_lat; r_lat=.993277 * tan(deg_2_rad(lat)); return (pi/2-atan(r_lat)); } double calc_dist (double s_lat,double s_lon,double e_lat,double e_lon) { double gs_lat=geo_colat(s_lat); double rs_lon=deg_2_rad(s_lon); double ge_lat=geo_colat(e_lat); double re_lon=deg_2_rad(e_lon); double ans=rad_2_deg(acos(cos(ge_lat)*cos(gs_lat)+sin(ge_lat)*sin(gs_lat)*cos(rs_lon-re_lon))); return ans; }