Go to the documentation of this file.
40 opts.AddProgramDescription(std::string() +
41 "Converts from Galactic coordinates to observed altitude and zenith " +
42 "coordinates for a given Julian date. Additional observing conditions " +
43 "an also be specified to allow more accurate coordinate values.");
46 opts.AddGalacticPars();
47 opts.AddObserverPars();
61 std::printf(
"**********************************************\n");
62 std::printf(
"* Results of GALACTIC -> Observed conversion *\n");
63 std::printf(
"**********************************************\n");
64 std::printf(
"Observed Coordinates (output)\n");
65 std::printf(
" Azimuth : %f degrees\n", obs_coords.
XCoord().
Deg());
66 std::printf(
" Zenith : %+f degrees\n", obs_coords.
YCoord().
Deg());
67 std::printf(
" Altitude : %+f degrees\n", 90.0-obs_coords.
YCoord().
Deg());
68 std::printf(
"Galactic Coordinates (input)\n");
69 std::printf(
" Gal. Longitude : %f degrees\n", inputs.AsDouble(
"glon"));
70 std::printf(
" Gal. Latitude : %+f degrees\n", inputs.AsDouble(
"glat"));
71 std::printf(
" Julian Date : %f\n", inputs.AsDouble(
"juliandate"));
72 std::printf(
"Apparent Galactic Coordinates\n");
73 std::printf(
" Gal. Longitude : %f\n", obs_gal_coords.
XCoord().
Deg());
74 std::printf(
" Gal. Latitude : %+f\n", obs_gal_coords.
YCoord().
Deg());
75 std::printf(
"Observer Info\n");
76 std::printf(
" Longitude : %f deg\n", inputs.AsDouble(
"longitude"));
77 std::printf(
" Latitude : %+f deg\n", inputs.AsDouble(
"latitude"));
78 std::printf(
" Elevation : %f meters\n", inputs.AsDouble(
"elevation"));
79 std::printf(
" Pressure : %f hPa\n", inputs.AsDouble(
"pressure"));
80 std::printf(
" Temperature : %f Celsius\n", inputs.AsDouble(
"temperature"));
81 std::printf(
" Relative Humid.: %f\n", inputs.AsDouble(
"humidity"));
87 int main(
int argc,
char** argv)
91 if (opts.ParseCommandLine(argc, argv))
return 0 ;
97 CEObserver obs(opts.AsDouble(
"longitude")*DD2R,
98 opts.AsDouble(
"latitude")*DD2R,
99 opts.AsDouble(
"elevation"),
102 obs.SetPressure_hPa(opts.AsDouble(
"pressure"));
103 obs.SetWavelength_um(opts.AsDouble(
"wavelength"));
112 date, obs, &obs_gal_coords);
int main(int argc, char **argv)
static void Galactic2Observed(const CESkyCoord &in_galactic, CESkyCoord *out_observed, const CEDate &date, const CEObserver &observer, CESkyCoord *observed_galactic=nullptr, CEAngle *hour_angle=nullptr)
GALACTIC -> OBSERVED coordinate conversion.
Galacitc longitude, latitude.
void SetRelativeHumidity(const double &humidity=0.0)
Set the observer's relative humidity.
double Deg(void) const
Return angle in degrees as a double.
CEExecOptions DefineOpts()
Define the command line options for this program.
static CEAngle Deg(const double &angle)
Return angle (radians) constructed from a degree angle.
virtual CEAngle XCoord(const CEDate &jd=CppEphem::julian_date_J2000()) const
Return x coordinate at given Julian date.
virtual CEAngle YCoord(const CEDate &jd=CppEphem::julian_date_J2000()) const
Return y coordinate at given Julian date.
void PrintResults(CEExecOptions &inputs, const CESkyCoord &obs_coords, const CESkyCoord &obs_gal_coords)