![]() |
SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
|
Geometric locations are 3D positions and velocities relative to an observer location. More...
Classes | |
| class | supernovas::AstrometricPosition |
| The astrometric 3D geometric equatorial position of an object, referenced to the Solar System Barycenter (SSB) or place in the Solar-system w.r.t. More... | |
| class | supernovas::Geometric |
| The geometric (3D) position and velocity of a source relative to an observer location. More... | |
| class | supernovas::Position |
| A 3D physical position vector in space. More... | |
| class | supernovas::Velocity |
| A 3D physical velocity vector in space. More... | |
Functions | |
| Geometric | supernovas::Planet::approx_geometric_in (const Frame &frame) const |
| Returns approximate eometric posiitions and velocities for a major planet, Sun, Moon, Earth-Moon Barycenter (EMB) – typically to arcmin level accuracy – using Keplerian orbital elements. | |
| AstrometricPosition | supernovas::Apparent::astrometric_position () const |
| Returns the projected 3D position, relative to the SSB or other Solar-System place, which gave rise to these apparent place on sky. | |
| Geometric | supernovas::Source::geometric_in (const Frame &frame, enum novas_reference_system system=NOVAS_TOD) const |
| Returns the geometric position of a source (if possible), or else an invalid position. | |
| Geometric | supernovas::Frame::geometric_moon_elp2000 (double limit_term=0.0) const |
| Returns the Moon's geometric position using the ELP/MPP02 model by Chapront & Francou (2003), down to the specified limiting term amplitude. | |
Geometric locations are 3D positions and velocities relative to an observer location.
They are corrected for light travel time to the observer, so they reflect the position of sources either for when light originated from the source (for Solar-system bodies), or for when light reaches the Solar-system barycenter (for sidereal sources).
Returns approximate eometric posiitions and velocities for a major planet, Sun, Moon, Earth-Moon Barycenter (EMB) – typically to arcmin level accuracy – using Keplerian orbital elements.
The orbitals can provide planet positions to arcmin-level precision for the rocky inner planets, and to a fraction of a degree precision for the gas and ice giants and Pluto. The accuracies for Uranus, Neptune, and Pluto are significantly improved (to the arcmin level) if used in the time range of 1800 AD to 2050 AD. For a more detailed summary of the typical accuracies, see either of the top two references below.
For accurate positions, you should use planetary ephemerides (such as the JPL ephemerides via the CALCEPH or CSPICE plugins) and novas_sky_pos() instead.
While this function is generally similar to creating an orbital object with an orbit initialized with novas_make_planet_orbit() or novas_make_moon_orbit(), and then calling novas_geom_posvel(), with an important difference:
REFERENCES:
| Observing frames | the observing frame for which to calculate geometric positions. |
References supernovas::Frame::_novas_frame(), supernovas::Unit::AU, supernovas::Unit::day, supernovas::Validating::is_valid(), supernovas::Frame::jd(), novas_approx_heliocentric(), novas_id(), NOVAS_TDB, novas_frame::sun_pos, and novas_frame::sun_vel.
| AstrometricPosition supernovas::Apparent::astrometric_position | ( | ) | const |
Returns the projected 3D position, relative to the SSB or other Solar-System place, which gave rise to these apparent place on sky.
The position is antedated to the time the observed light originated from the observed body,
References astrometric_position(), supernovas::Unit::au, novas_app_to_geom(), NOVAS_TOD, and supernovas::Position::undefined().
Referenced by astrometric_position().
| Geometric supernovas::Source::geometric_in | ( | const Frame & | frame, |
| enum novas_reference_system | system = NOVAS_TOD ) const |
Returns the geometric position of a source (if possible), or else an invalid position.
After the return, you should probably check for validity:
There are multiple reasons why we might not be able to calculate valid geometric positions, such as:
A geometric position is the 3D location, relative to the observer location, where the light originated from the source before being detected by the observer at the time of observation. As such, geometric positions are necessarily antedated for light travel time (for Solar-system sources) or corrected for the differential light-travel between the Solar-system barycenter and the observer location (for sidereal sources).
In other words, geometric positions are not the same as ephemeris positions for the equivalent time for Solar-system bodies. Rather, geometric positions match the ephemeris positions for an earlier time, when the observed light originated from the source.
| Observing frames | observer frame, which defines the observer location and the time of observation, as well as the accuracy requirement. |
| system | coordinate reference system in which to return positions and velocities. |
References supernovas::Frame::_novas_frame(), _object, supernovas::Unit::au, supernovas::Unit::day, novas_geom_posvel(), NOVAS_TOD, and supernovas::Geometric::undefined().
| Geometric supernovas::Frame::geometric_moon_elp2000 | ( | double | limit_term = 0.0 | ) | const |
Returns the Moon's geometric position using the ELP/MPP02 model by Chapront & Francou (2003), down to the specified limiting term amplitude.
NOTES:
REFERENCES:
| limit_term | (optional) [arcsec|km] Sum only the harmonic terms with amplitudes larger than this limit. |
References _novas_frame(), supernovas::Unit::AU, supernovas::Unit::day, supernovas::Validating::is_valid(), NOVAS_ICRS, novas_moon_elp_posvel_fp(), and supernovas::Geometric::undefined().