22int main(
int argc,
char **argv ) {
25 cout <<
"Wrong usage" << endl;
28 double loc_lat =
atof( argv[1] );
29 double loc_lon =
atof( argv[2] );
31 double rwy_lat =
atof( argv[4] );
32 double rwy_lon =
atof( argv[5] );
33 double rwy_hdg =
atof( argv[6] );
34 double rwy_len =
atof( argv[7] ) * SG_DEGREES_TO_RADIANS;
39 if ( rwy_hdg > 360.0 ) {
45 double thresh_lat = 0.0, thresh_lon = 0.0, return_az = 0.0;
46 geo_direct_wgs_84 ( 0.0, rwy_lat, rwy_lon, rwy_hdg,
47 rwy_len / 2.0, &thresh_lat, &thresh_lon, &return_az );
48 cout <<
"Threshold = " << thresh_lat <<
"," << thresh_lon << endl;
51 double az1, az2, dist_m;
52 geo_inverse_wgs_84( 0.0, loc_lat, loc_lon, thresh_lat, thresh_lon,
53 &az1, &az2, &dist_m );
54 cout <<
"Distance = " << dist_m << endl;
57 double nloc_lat = 0.0, nloc_lon = 0.0;
58 geo_direct_wgs_84 ( 0.0, thresh_lat, thresh_lon, rwy_hdg + 180.0,
59 dist_m, &nloc_lat, &nloc_lon, &return_az );
60 printf(
"New localizer = %.6f %.6f\n", nloc_lat, nloc_lon );