![]() |
SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
|
Expressing coordinates in non-equatorial systems, such as ecliptic, galactic, or local horizontal (for geodetic observer) coordinate systems. More...
Classes | |
| class | supernovas::Ecliptic |
| Ecliptic coordinates (l, b or λ, β), representing the direction on the sky, for a particular type of equatorial coordinate reference system, relative to the ecliptic and equinox of that system. More... | |
| class | supernovas::Galactic |
| Galactic coordinates (l, b), representing the direction on the sky, relative to the Galactic plane and the nominal Galactic center location. More... | |
| class | supernovas::Horizontal |
| Horizontal (azimuth, elevation = Az/El) sky coordinates at a geodetic observing location, such as an observatory site, an aircraft, or a balloon. More... | |
Functions | |
| Ecliptic | supernovas::Apparent::ecliptic () const |
| Returns the apparent ecliptic coordinates on the sky, with respect to the true equinox of date. | |
| Ecliptic | supernovas::Geometric::ecliptic () const |
| Returns the geometric ecliptic coordinates, in the system in which the geometric positions and velocities were defined. | |
| Galactic | supernovas::Apparent::galactic () const |
| Returns the apparent galactic coordinates on the sky. | |
| Galactic | supernovas::Geometric::galactic () const |
| Returns the geometric galactic coordinates, in the system in which the geometric positions and velocities were defined. | |
| int | novas_e2h_offset (double dra, double ddec, double pa, double *restrict daz, double *restrict del) |
| Converts coordinate offsets, from the local equatorial system to local horizontal offsets. | |
| double | novas_epa (double ha, double dec, double lat) |
| Returns the Parallactic Angle (PA) calculated for an RA/Dec location of the sky at a given sidereal time. | |
| int | novas_h2e_offset (double daz, double del, double pa, double *restrict dra, double *restrict ddec) |
| Converts coordinate offsets, from the local horizontal system to local equatorial offsets. | |
| double | novas_hpa (double az, double el, double lat) |
| Returns the Parallactic Angle (PA) calculated for a horizontal Az/El location of the sky. | |
| int | novas_los_to_xyz (const double *los, double lon, double lat, double *xyz) |
| Converts a 3D line-of-sight vector (δφ, δθ, δr) to a rectangular equatorial (δx, δy, δz) vector. | |
| int | novas_uvw_to_xyz (const double *uvw, double ha, double dec, double *xyz) |
| Converts equatorial u,v,w projected (absolute or relative) coordinates to rectangular telescope x,y,z coordinates (in ITRS) to for a specified line of sight. | |
| int | novas_xyz_to_los (const double *xyz, double lon, double lat, double *los) |
| Converts a 3D rectangular equatorial (δx, δy, δz) vector to a polar (δφ, δθ, δr) vector along a line-of-sight. | |
| int | novas_xyz_to_uvw (const double *xyz, double ha, double dec, double *uvw) |
| Converts rectangular telescope x,y,z (absolute or relative) coordinates (in ITRS) to equatorial u,v,w projected coordinates for a specified line of sight. | |
| Ecliptic | supernovas::Equatorial::to_ecliptic () const |
| Returns the equivalent ecliptic coordinates corresponding to these equatorial coordinates. | |
| Ecliptic | supernovas::Galactic::to_ecliptic () const |
| Converts these galactic coordinates to equivalent ICRS ecliptic coordinates. | |
| Galactic | supernovas::Ecliptic::to_galactic () const |
| Converts these ecliptic coordinates to equivalent Galactic coordinates. | |
| Galactic | supernovas::Equatorial::to_galactic () const |
| Returns the equivalent galactic coordinates corresponding to these equatorial coordinates. | |
| Horizontal | supernovas::Apparent::to_horizontal () const |
| Returns the apparent unrefracted horizontal coordinates for this position for a geodetic observer located on or near Earth's surface, or as an invalid set of coordinates if the observer location is not Earth bound. | |
Expressing coordinates in non-equatorial systems, such as ecliptic, galactic, or local horizontal (for geodetic observer) coordinate systems.
| Ecliptic supernovas::Apparent::ecliptic | ( | ) | const |
Returns the apparent ecliptic coordinates on the sky, with respect to the true equinox of date.
References ecliptic(), equatorial(), and supernovas::Validating::is_valid().
Referenced by ecliptic().
| Ecliptic supernovas::Geometric::ecliptic | ( | ) | const |
Returns the geometric ecliptic coordinates, in the system in which the geometric positions and velocities were defined.
Note, that these coordinates are physical, and not what an observer would perceive at the time of observation, because:
If you are interested in observable ecliptic coordinates, see Apparent::ecliptic() instead.
References equatorial(), supernovas::Validating::is_valid(), and supernovas::Equatorial::to_ecliptic().
| Galactic supernovas::Apparent::galactic | ( | ) | const |
Returns the apparent galactic coordinates on the sky.
References equatorial(), galactic(), and supernovas::Validating::is_valid().
Referenced by galactic().
| Galactic supernovas::Geometric::galactic | ( | ) | const |
Returns the geometric galactic coordinates, in the system in which the geometric positions and velocities were defined.
Note, that these coordinates are physical, and not what an observer would perceive at the time of observation, because:
If you are interested in observable galactic coordinates, see Apparent::galactic() instead.
References equatorial(), supernovas::Validating::is_valid(), and supernovas::Equatorial::to_galactic().
| int novas_e2h_offset | ( | double | dra, |
| double | ddec, | ||
| double | pa, | ||
| double *restrict | daz, | ||
| double *restrict | del ) |
Converts coordinate offsets, from the local equatorial system to local horizontal offsets.
Converting between local flat projections and spherical coordinates usually requires a WCS projection.
REFERENCES:
| dra | [arcsec] Projected ffset position in the apparent true-of-date R.A. direction. E.g. The projected offset between two RA coordinates at a same reference declination, is δRA = (RA2 - RA1) * cos(Dec0). | |
| ddec | [arcsec] Projected offset position in the apparent true-of-date declination direction. | |
| pa | [deg] Parallactic Angle | |
| [out] | daz | [arcsec] Output offset position in the local azimuth direction. It can be a pointer to one of the input coordinates, or NULL if not required. |
| [out] | del | [arcsec] Output offset position in the local elevation direction. It can be a pointer to one of the input coordinates, or NULL if not required. |
References novas_h2e_offset().
| double novas_epa | ( | double | ha, |
| double | dec, | ||
| double | lat ) |
Returns the Parallactic Angle (PA) calculated for an RA/Dec location of the sky at a given sidereal time.
The PA is the angle between the local horizontal coordinate directions and the local true-of-date equatorial coordinate directions, at the given location and time. The polar wobble is not included in the calculation.
The Parallactic Angle is sometimes referrred to as the Vertical Position Angle (VPA). Both define the same quantity.
| ha | [h] Hour angle (LST - RA) i.e., the difference between the Local (apparent) Sidereal Time and the apparent (true-of-date) Right Ascension of observed source. |
| dec | [deg] Apparent (true-of-date) declination of observed source |
| lat | [deg] Geodetic latitude of observer |
| int novas_h2e_offset | ( | double | daz, |
| double | del, | ||
| double | pa, | ||
| double *restrict | dra, | ||
| double *restrict | ddec ) |
Converts coordinate offsets, from the local horizontal system to local equatorial offsets.
Converting between local flat projections and spherical coordinates usually requires a WCS projection.
REFERENCES:
| daz | [arcsec] Projected offset position in the azimuth direction. The projected offset between two azimuth positions at the same reference elevation is δAz = (Az2 - Az1) * cos(El0). | |
| del | [arcsec] projected offset position in the elevation direction | |
| pa | [deg] Parallactic Angle | |
| [out] | dra | [arcsec] Output offset position in the local true-of-date R.A. direction. It can be a pointer to one of the input coordinates, or NULL if not required. |
| [out] | ddec | [arcsec] Output offset position in the local true-of-date declination direction. It can be a pointer to one of the input coordinates, or NULL if not required. |
Referenced by novas_e2h_offset().
| double novas_hpa | ( | double | az, |
| double | el, | ||
| double | lat ) |
Returns the Parallactic Angle (PA) calculated for a horizontal Az/El location of the sky.
The PA is the angle between the local horizontal coordinate directions and the local true-of-date equatorial coordinate directions at the given location. The polar wobble is not included in the calculation.
The Parallactic Angle is sometimes referrred to as the Vertical Position Angle (VPA). Both define the same quantity.
| az | [deg] Azimuth angle |
| el | [deg] Elevation angle |
| lat | [deg] Geodetic latitude of observer |
| int novas_los_to_xyz | ( | const double * | los, |
| double | lon, | ||
| double | lat, | ||
| double * | xyz ) |
Converts a 3D line-of-sight vector (δφ, δθ, δr) to a rectangular equatorial (δx, δy, δz) vector.
| los | [arb.u.] Line-of-sight 3-vector (δφ, δθ, δr). | |
| lon | [deg] Line-of-sight longitude. | |
| lat | [deg] Line-of-sight latitude. | |
| [out] | xyz | [arb.u.] Output rectangular equatorial 3-vector (δx, δy, δz), in the same units as the input. It may be the same vector as the input. |
Referenced by novas_uvw_to_xyz(), starvectors(), and transform_cat().
| int novas_uvw_to_xyz | ( | const double * | uvw, |
| double | ha, | ||
| double | dec, | ||
| double * | xyz ) |
Converts equatorial u,v,w projected (absolute or relative) coordinates to rectangular telescope x,y,z coordinates (in ITRS) to for a specified line of sight.
u,v,w are Cartesian coordinates (u,v) along the local equatorial R.A. and declination directions as seen from a direction on the sky (w). As such, they are effectively ITRS-based line-of-sight (LOS) coordinates.
x,y,z are Cartesian coordinates w.r.t the Greenwich meridian in the ITRS frame. The directions are x: long=0, lat=0; y: long=90, lat=0; z: lat=90.
| xyz | [arb.u.] Absolute or relative u,v,w coordinates (double[3]). | |
| ha | [h] Hourangle (LST - RA) i.e., the difference between the Local (apparent) Sidereal Time and the apparent (true-of-date) Right Ascension of observed source. | |
| dec | [deg] Apparent (true-of-date) declination of source | |
| [out] | uvw | [arb.u.] Converted x,y,z coordinates (double[3]) in the same unit as uvw. It may be the same vector as the input. |
References novas_los_to_xyz().
| int novas_xyz_to_los | ( | const double * | xyz, |
| double | lon, | ||
| double | lat, | ||
| double * | los ) |
Converts a 3D rectangular equatorial (δx, δy, δz) vector to a polar (δφ, δθ, δr) vector along a line-of-sight.
| xyz | [arb.u.] Rectangular equatorial 3-vector (δx, δy, δz). | |
| lon | [deg] Line-of-sight longitude. | |
| lat | [deg] Line-of-sight latitude. | |
| [out] | los | [arb.u.] Output line-of-sight 3-vector (δφ, δθ, δr), in the same units as the input. It may be the same vector as the input. |
Referenced by novas_xyz_to_uvw(), and transform_cat().
| int novas_xyz_to_uvw | ( | const double * | xyz, |
| double | ha, | ||
| double | dec, | ||
| double * | uvw ) |
Converts rectangular telescope x,y,z (absolute or relative) coordinates (in ITRS) to equatorial u,v,w projected coordinates for a specified line of sight.
x,y,z are Cartesian coordinates w.r.t the Greenwich meridian, in the ITRS frame. The directions are x: long=0, lat=0; y: long=90, lat=0; z: lat=90.
u,v,w are Cartesian coordinates (u,v) along the local equatorial R.A. and declination directions as seen from a direction on the sky (w). As such, they are effectively ITRS-based line-of-sight (LOS) coordinates.
| xyz | [arb.u.] Absolute or relative x,y,z coordinates (double[3]). | |
| ha | [h] Hourangle (LST - RA) i.e., the difference between the Local (apparent) Sidereal Time and the apparent (true-of-date) Right Ascension of observed source. | |
| dec | [deg] Apparent (true-of-date) declination of source | |
| [out] | uvw | [arb.u.] Converted u,v,w coordinates (double[3]) in same units as xyz. It may be the same vector as the input. |
References novas_xyz_to_los().
| Ecliptic supernovas::Equatorial::to_ecliptic | ( | ) | const |
Returns the equivalent ecliptic coordinates corresponding to these equatorial coordinates.
References dec(), supernovas::Angle::deg(), supernovas::Unit::deg, equ2ecl(), supernovas::TimeAngle::hours(), ira_equinox(), supernovas::Validating::is_valid(), NOVAS_CIRS, NOVAS_FULL_ACCURACY, NOVAS_TRUE_EQUINOX, ra(), and supernovas::Ecliptic::undefined().
Referenced by supernovas::Geometric::ecliptic(), supernovas::Galactic::to_ecliptic(), supernovas::Ecliptic::to_icrs(), supernovas::Ecliptic::to_j2000(), supernovas::Ecliptic::to_mod(), supernovas::Ecliptic::to_system(), and supernovas::Ecliptic::to_tod().
| Ecliptic supernovas::Galactic::to_ecliptic | ( | ) | const |
Converts these galactic coordinates to equivalent ICRS ecliptic coordinates.
References supernovas::Validating::is_valid(), supernovas::Equatorial::to_ecliptic(), and to_equatorial().
| Galactic supernovas::Ecliptic::to_galactic | ( | ) | const |
Converts these ecliptic coordinates to equivalent Galactic coordinates.
References supernovas::Validating::is_valid(), to_equatorial(), and supernovas::Equatorial::to_galactic().
| Galactic supernovas::Equatorial::to_galactic | ( | ) | const |
Returns the equivalent galactic coordinates corresponding to these equatorial coordinates.
References dec(), supernovas::Angle::deg(), supernovas::Unit::deg, equ2gal(), supernovas::TimeAngle::hours(), supernovas::Validating::is_valid(), supernovas::Spherical::latitude(), supernovas::Spherical::longitude(), ra(), to_icrs(), and supernovas::Galactic::undefined().
Referenced by supernovas::Geometric::galactic(), and supernovas::Ecliptic::to_galactic().
| Horizontal supernovas::Apparent::to_horizontal | ( | ) | const |
Returns the apparent unrefracted horizontal coordinates for this position for a geodetic observer located on or near Earth's surface, or as an invalid set of coordinates if the observer location is not Earth bound.
It's best practice to check if the returned coordinates are valid, e.g. as:
References supernovas::Unit::deg, supernovas::Validating::is_valid(), novas_app_to_hor(), NOVAS_TOD, to_horizontal(), supernovas::Horizontal::undefined(), and vector2radec().
Referenced by to_horizontal().