SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
Loading...
Searching...
No Matches
Other coordinate systems

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.
Ecliptic supernovas::Equatorial::to_ecliptic (enum novas_accuracy=NOVAS_FULL_ACCURACY) const
 Returns the equivalent ecliptic coordinates corresponding to these equatorial coordinates, with respect to the same equator and equinox of date as these equatorial 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.

Detailed Description

Expressing coordinates in non-equatorial systems, such as ecliptic, galactic, or local horizontal (for geodetic observer) coordinate systems.

Function Documentation

◆ ecliptic() [1/2]

Ecliptic supernovas::Apparent::ecliptic ( ) const

Returns the apparent ecliptic coordinates on the sky, with respect to the true equinox of date.

Returns
the apparent ecliptic coordinates with respect to the true equinox of date.
Since
1.6
See also
equatorial(), galactic(), to_horizontal()
Equatorial::to_ecliptic()

References ecliptic(), equatorial(), and supernovas::Validating::is_valid().

Referenced by ecliptic().

◆ ecliptic() [2/2]

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:

  • they are not corrected for aberration for a moving observer.
  • they do not account for gravitational bending around massive Solar-system bodies, as light travels to the observer.

If you are interested in observable ecliptic coordinates, see Apparent::ecliptic() instead.

Returns
geometric ecliptic coordinates.
Since
1.6
See also
Apparent::ecliptic(), equatorial(), galactic()

References equatorial(), supernovas::Validating::is_valid(), and supernovas::Equatorial::to_ecliptic().

◆ galactic() [1/2]

Galactic supernovas::Apparent::galactic ( ) const

Returns the apparent galactic coordinates on the sky.

Returns
the apparent galactic coordinates for this position.
Since
1.6
See also
equatorial(), ecliptic(), to_horizontal()
Equatorial::to_galactic()

References equatorial(), galactic(), and supernovas::Validating::is_valid().

Referenced by galactic().

◆ galactic() [2/2]

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:

  • they are not corrected for aberration for a moving observer.
  • they do not account for gravitational bending around massive Solar-system bodies, as light travels to the observer.

If you are interested in observable galactic coordinates, see Apparent::galactic() instead.

Returns
geometric galactic coordinates.
Since
1.6
See also
Apparent::galactic(), equatorial(), ecliptic()

References equatorial(), supernovas::Validating::is_valid(), and supernovas::Equatorial::to_galactic().

◆ novas_e2h_offset()

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:

  1. Calabretta, M.R., & Greisen, E.W., (2002), Astronomy & Astrophysics, 395, 1077-1122.
Parameters
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.
Returns
0
Since
1.3
Author
Attila Kovacs
See also
novas_h2e_offset(), novas_epa()

References novas_h2e_offset().

◆ novas_epa()

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.

Parameters
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
Returns
[deg] Parallactic Angle (PA). I.e., the clockwise position angle of the elevation direction w.r.t. the declination axis in the equatorial system. Same as the clockwise position angle of the declination direction w.r.t. the elevation axis, in the horizontal system.
Since
1.3
Author
Attila Kovacs
See also
novas_hpa(), novas_e2h_offset()

◆ novas_h2e_offset()

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:

  1. Calabretta, M.R., & Greisen, E.W., (2002), Astronomy & Astrophysics, 395, 1077-1122.
Parameters
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.
Returns
0
Since
1.3
Author
Attila Kovacs
See also
novas_e2h_offset(), novas_hpa()

Referenced by novas_e2h_offset().

◆ novas_hpa()

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.

Parameters
az[deg] Azimuth angle
el[deg] Elevation angle
lat[deg] Geodetic latitude of observer
Returns
[deg] Parallactic Angle (PA). I.e., the clockwise position angle of the declination direction w.r.t. the elevation axis in the horizontal system. Same as the the clockwise position angle of the elevation direction w.r.t. the declination axis in the equatorial system.
Since
1.3
Author
Attila Kovacs
See also
novas_epa(), novas_h2e_offset()

◆ to_ecliptic()

Ecliptic supernovas::Equatorial::to_ecliptic ( enum novas_accuracy accuracy = NOVAS_FULL_ACCURACY) const

Returns the equivalent ecliptic coordinates corresponding to these equatorial coordinates, with respect to the same equator and equinox of date as these equatorial coordinates.

CIRS coordinates will returns ecliptic coordinates w.r.t. the true equinox of date, effectively by converting CIRS to TOD before rotating into the equatorial system.

Parameters
accuracy(optional) NOVAS_FULL_ACCURACY (default) or NOVAS_REDUCED_ACCURACY.
Returns
the ecliptic coordinates that represent the same position on sky as these equariorial coordinates.
Since
1.6
See also
Ecliptic::to_equatorial(), to_galactic()

References dec(), supernovas::Angle::deg(), supernovas::Unit::deg, equ2ecl(), supernovas::TimeAngle::hours(), ira_equinox(), supernovas::Validating::is_valid(), NOVAS_CIRS, 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().

◆ to_galactic()

Galactic supernovas::Equatorial::to_galactic ( ) const

Returns the equivalent galactic coordinates corresponding to these equatorial coordinates.

Returns
the galactic coordinates that represent the same position on sky as these equariorial coordinates.
Since
1.6
See also
Galactic::to_equatorial(), to_ecliptic()

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().

◆ to_horizontal()

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:

Apparent app = ...;
if(!h) {
// Oops, could not provide valid horizontal coordinates...
return;
}
Horizontal (azimuth, elevation = Az/El) sky coordinates at a geodetic observing location,...
Definition supernovas.h:2635
Horizontal to_horizontal() const
Returns the apparent unrefracted horizontal coordinates for this position for a geodetic observer loc...
Definition Apparent.cpp:327
Returns
the unrefracted (astrometric) horizontal position on the Earth-bound observer's sky, or else Horizontal::undefined() if the observer is not on or near Earth's surface.
Since
1.6
See also
equatorial(), ecliptic(), galactic()
Horizontal::to_apparent(), GeodeticObserver

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().