![]() |
SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
|
An observer location at a geodetic (longitude, latitude, altitude) location at the surface or above it (such as in an aircraft or on balloon). More...
#include <supernovas.h>
Public Member Functions | |
| GeodeticObserver (const Site &site, const EOP &eop) | |
| Instantiates a new observer at a fixed location on Earth. | |
| GeodeticObserver (const Site &site, const EOP &eop, const ScalarVelocity &horizontal, const Angle &direction, const ScalarVelocity &vertical=ScalarVelocity::stationary()) | |
| Instantiates a new observer that is moving relative to Earth's surface, such as an airborne observer. | |
| GeodeticObserver (const Site &site, const Velocity &itrs_vel, const EOP &eop) | |
| Instantiates a new observer that is moving relative to Earth's surface, such as an airborne observer. | |
| const Observer * | copy () const override |
| Returns a pointer to a newly allocated copy of this geodetic (Earth-based) observer instance. | |
| Velocity | enu_velocity () const |
| Returns the surface velocity, in the local East-North-Up (ENU) directions, of a moving observer, such as an airborne or balloon-borne observatory. | |
| EOP | eop_at (const Time &time) const |
| Returns the Earth Orientation Parameters (EOP), including diurnal corrections for libration and ocrean tides. | |
| bool | is_geodetic () const override |
| Checks if this observer can be cast to a GeodeticObserver. | |
| Velocity | itrs_velocity () const |
| Returns the surface velocity, in the ITRS, of a moving observer, such as an airborne or balloon-borne observatory. | |
| const EOP & | mean_eop () const |
| Returns the mean Earth Orientation Parameters (EOP) appropriate around the time of observation. | |
| Site | site () const |
| Returns the fixed or momentary observing site for this observer. | |
| GeocentricObserver | to_geocentric_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const |
| Returns an equivalent geocentric observer location and motion at the specified time and accuracy. | |
| std::string | to_string () const override |
| Returns a string representation of this Earth-based observer location. | |
| Public Member Functions inherited from supernovas::Observer | |
| virtual | ~Observer () |
| const observer * | _novas_observer () const |
| Returns the underlying NOVAS C observer data structure. | |
| Frame | frame_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const |
| Returns an observing frame for this observer at the specified time and optionally with a specified accuracy. | |
| virtual bool | is_geocentric () const |
| Checks if this observer can be cast to a GeocentricObserver. | |
| Frame | reduced_accuracy_frame_at (const Time &time) const |
| Returns a reduced accuracy observing frame for this observer at the specified time. | |
| Interferometric | to_interferometric (const Apparent &phase_center, enum novas_reference_system system=NOVAS_ICRS) const |
| Returns projected u,v,w coordinates for an interferometer station. | |
| enum novas_observer_place | type () const |
| Returns the observer type. | |
| Public Member Functions inherited from supernovas::Validating | |
| bool | is_valid () const |
| Returns the previously set 'valid' stae of the implementing instance. | |
| operator bool () const | |
| Objects that implement Validating can be used in conditionals directly, without explicitly calling is_valid(). | |
Protected Member Functions | |
| Position | gcrs_position_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const override |
| Returns the geocentric geometric position vector for this observer, in the GCRS, at the specified time and accuracy. | |
| Velocity | gcrs_velocity_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const override |
| Returns the geocentric geometric velocity vector for this observer, in the GCRS, at the specified time and accuracy. | |
| Protected Member Functions inherited from supernovas::Observer | |
| Observer (enum novas_observer_place type, const Site &site=Site::undefined(), const Position &pos=Position::origin(), const Velocity &vel=Velocity::stationary()) | |
| Protected Member Functions inherited from supernovas::Validating | |
| Validating () | |
| dummy constructor; | |
Additional Inherited Members | |
| Static Public Member Functions inherited from supernovas::Observer | |
| static GeocentricObserver | at_geocenter () |
| Returns a fictitious observer placed at the location of the geocenter. | |
| static SolarSystemObserver | at_ssb () |
| Returns a fictitious observer placed at the location of the Solar-System Barycenter (SSB). | |
| static GeocentricObserver | in_earth_orbit (const Position &pos, const Velocity &vel) |
| Returns a new observer orbiting the Earth. | |
| static SolarSystemObserver | in_solar_system (const Position &pos, const Velocity &vel) |
| Returns a new observer in some Solar-system location. | |
| static GeodeticObserver | moving_on_earth (const Site &site, const EOP &eop, const ScalarVelocity &horizontal, const Angle &direction, const ScalarVelocity &vertical=ScalarVelocity::stationary()) |
| Instantiates a new observer that is moving relative to Earth's surface, such as an airborne observer. | |
| static GeodeticObserver | moving_on_earth (const Site &site, const Velocity &itrs_vel, const EOP &eop) |
| Returns a new observer that is moving, at some velocitym relative to Earth's surface, such as an airborne aircraft or balloon based observatory. | |
| static GeodeticObserver | on_earth (const Site &site, const EOP &eop) |
| Returns a new observer located at a fixed observing site. | |
| static const Observer & | undefined () |
| Returns a reference to a statically defined standard invalid observer. | |
| Protected Attributes inherited from supernovas::Observer | |
| observer | _observer = {} |
| stored observer data | |
| Protected Attributes inherited from supernovas::Validating | |
| bool | _valid = false |
| the state variable. | |
An observer location at a geodetic (longitude, latitude, altitude) location at the surface or above it (such as in an aircraft or on balloon).
The observer may be fixed at that location, or else moving with some velocity over the ground.
Instantiates a new observer at a fixed location on Earth.
| site | the observing site |
| eop | Mean (preferably interpolated) Earth Orientation Parameters (EOP) appropriate around the time of observation, such as obtained from the IERS bulletins or data service. |
References supernovas::Validating::_valid, supernovas::Validating::is_valid(), NOVAS_OBSERVER_ON_EARTH, and site().
Referenced by GeodeticObserver(), and copy().
| supernovas::GeodeticObserver::GeodeticObserver | ( | const Site & | site, |
| const Velocity & | vel, | ||
| const EOP & | eop ) |
Instantiates a new observer that is moving relative to Earth's surface, such as an airborne observer.
| site | the momentary geodetic location of the observer |
| vel | the momentaty velocity of the observer relative to Earth's surface (in ITRS), |
| eop | Mean (preferably interpolated) Earth Orientation Parameters (EOP) appropriate around the time of observation, such as obtained from the IERS bulletins or data service. |
References supernovas::Vector::_array(), supernovas::Observer::_observer, supernovas::Validating::_valid, supernovas::Validating::is_valid(), supernovas::Unit::km, make_airborne_observer(), NOVAS_AIRBORNE_OBSERVER, supernovas::Unit::s, supernovas::Vector::scaled(), and site().
| supernovas::GeodeticObserver::GeodeticObserver | ( | const Site & | site, |
| const EOP & | eop, | ||
| const ScalarVelocity & | horizontal, | ||
| const Angle & | direction, | ||
| const ScalarVelocity & | vertical = ScalarVelocity::stationary() ) |
Instantiates a new observer that is moving relative to Earth's surface, such as an airborne observer.
| site | the momentary geodetic location of the observer. |
| eop | Mean (preferably interpolated) Earth Orientation Parameters (EOP) appropriate around the time of observation, such as obtained from the IERS bulletins or data service. |
| horizontal | momentary horizontal speed of moving observer. |
| direction | azimuthal direction of motion (from North, measured to the East). |
| vertical | (optional) momentary vertical speed of observer (default: 0). |
References GeodeticObserver(), supernovas::Observer::_observer, supernovas::Validating::_valid, supernovas::Validating::is_valid(), supernovas::ScalarVelocity::km_per_s(), novas_enu_to_itrs(), supernovas::Angle::rad(), and site().
|
overridevirtual |
Returns a pointer to a newly allocated copy of this geodetic (Earth-based) observer instance.
Reimplemented from supernovas::Observer.
References GeodeticObserver().
| Velocity supernovas::GeodeticObserver::enu_velocity | ( | ) | const |
Returns the surface velocity, in the local East-North-Up (ENU) directions, of a moving observer, such as an airborne or balloon-borne observatory.
References supernovas::Observer::_observer, supernovas::Validating::is_valid(), supernovas::Unit::km_per_s, and novas_itrs_to_enu().
Referenced by to_string().
Returns the Earth Orientation Parameters (EOP), including diurnal corrections for libration and ocrean tides.
| Time of observation and astronomical timescales | Astrometric time for which to apply diurnal corrections |
References supernovas::Time::_novas_timespec(), supernovas::Unit::arcsec, supernovas::Time::dUT1(), supernovas::Time::leap_seconds(), mean_eop(), novas_diurnal_eop_at_time(), supernovas::Angle::rad(), supernovas::Interval::seconds(), supernovas::EOP::xp(), and supernovas::EOP::yp().
Referenced by gcrs_position_at(), and gcrs_velocity_at().
|
overrideprotectedvirtual |
Returns the geocentric geometric position vector for this observer, in the GCRS, at the specified time and accuracy.
| Time of observation and astronomical timescales | Astrometric time of observation |
| accuracy | (optional) NOVAS_FULL_ACCURACY (default) or NOVAS_REDUCED_ACCURACY. |
Reimplemented from supernovas::Observer.
References supernovas::Time::_novas_timespec(), supernovas::Observer::_observer, supernovas::Angle::arcsec(), supernovas::Unit::AU, eop_at(), supernovas::Validating::is_valid(), novas_site_gcrs_posvel(), supernovas::Position::undefined(), supernovas::EOP::xp(), and supernovas::EOP::yp().
Referenced by to_geocentric_at().
|
overrideprotectedvirtual |
Returns the geocentric geometric velocity vector for this observer, in the GCRS, at the specified time and accuracy.
| Time of observation and astronomical timescales | Astrometric time of observation |
| accuracy | (optional) NOVAS_FULL_ACCURACY (default) or NOVAS_REDUCED_ACCURACY. |
Reimplemented from supernovas::Observer.
References supernovas::Time::_novas_timespec(), supernovas::Observer::_observer, supernovas::Angle::arcsec(), supernovas::Unit::AU_per_day, eop_at(), supernovas::Validating::is_valid(), novas_site_gcrs_posvel(), supernovas::Velocity::undefined(), supernovas::EOP::xp(), and supernovas::EOP::yp().
Referenced by to_geocentric_at().
|
overridevirtual |
Checks if this observer can be cast to a GeodeticObserver.
Reimplemented from supernovas::Observer.
| Velocity supernovas::GeodeticObserver::itrs_velocity | ( | ) | const |
Returns the surface velocity, in the ITRS, of a moving observer, such as an airborne or balloon-borne observatory.
References supernovas::Observer::_observer, supernovas::Validating::is_valid(), and supernovas::Unit::km_per_s.
| const EOP & supernovas::GeodeticObserver::mean_eop | ( | ) | const |
| Site supernovas::GeodeticObserver::site | ( | ) | const |
Returns the fixed or momentary observing site for this observer.
References supernovas::Observer::_observer, supernovas::Unit::deg, novas_on_surface::height, novas_on_surface::latitude, novas_on_surface::longitude, and site().
Referenced by GeodeticObserver(), GeodeticObserver(), GeodeticObserver(), site(), and to_string().
| GeocentricObserver supernovas::GeodeticObserver::to_geocentric_at | ( | const Time & | time, |
| enum novas_accuracy | accuracy = NOVAS_FULL_ACCURACY ) const |
Returns an equivalent geocentric observer location and motion at the specified time and accuracy.
| Time of observation and astronomical timescales | Astrometric time at which to convert this geodetic observing location to a geocentric observer place and movement. |
| accuracy | (ooptional) NOVAS_FULL_ACCURACY (default) or NOVAS_REDUCED_ACCURACY. |
References gcrs_position_at(), gcrs_velocity_at(), and supernovas::Validating::is_valid().
|
overridevirtual |
Returns a string representation of this Earth-based observer location.
Reimplemented from supernovas::Observer.
References enu_velocity(), supernovas::Vector::is_zero(), site(), supernovas::Site::to_string(), and supernovas::Velocity::to_string().