#include #include "SpiceUsr.h" int main() { /* Local variables */ SpiceDouble alt; SpiceDouble et; SpiceDouble lt; SpiceDouble f; SpiceDouble lat; SpiceDouble lon; SpiceDouble radii [3]; SpiceDouble re; SpiceDouble rectan [3]; SpiceDouble rp; SpiceInt n; /* Load an LSK file containing constants needed for conversion between UTC and Ephemeris time. */ furnsh_c ( "naif0007.tls" ); /* Load a PCK file containing a triaxial ellipsoidal shape model and orientation data for Mars. */ furnsh_c ( "pck00008.tpc" ); /* Load an SPK file containing planetary ephemerides. */ furnsh_c ( "spk_de410_050810_170101_p-v2.bsp" ); /* Load an SPK file containing MRO aerobraking trajectory. */ furnsh_c ( "mro_ab.bsp" ); /* Look up the radii for Mars and compute flattening coefficient */ bodvrd_c ( "MARS", "RADII", 3, &n, radii ); re = radii[0]; rp = radii[2]; f = ( re - rp ) / re; /* Convert UTC time of interest to Ephemeris Time (ET). */ str2et_c ( "2006-03-24T05:07:25.000", &et ); /* Compute geometric position of MRO as seen from Mars in Mars body-fixed frame. */ spkpos_c ( "MRO", et, "IAU_MARS", "NONE", "MARS", rectan, < ); /* Convert MRO position relative to Mars to planetographic coordinates. */ recpgr_c ( "MARS", rectan, re, f, &lon, &lat, &alt ); printf ( "\n" "MRO geometric position wrt Mars in IAU_MARS frame:\n" "\n" " X (km) = %18.9f\n" " Y (km) = %18.9f\n" " Z (km) = %18.9f\n" "\n" "Planetographic coordinates:\n" "\n" " Longitude (deg) = %18.9f\n" " Latitude (deg) = %18.9f\n" " Altitude (km) = %18.9f\n" "\n", rectan[0], rectan[1], rectan[2], lon / rpd_c(), lat / rpd_c(), alt ); return ( 0 ); }