![]() |
SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
|
Horizontal (azimuth, elevation = Az/El) sky coordinates at a geodetic observing location, such as an observatory site, an aircraft, or a balloon. More...
#include <supernovas.h>
Public Member Functions | |
| Horizontal (const Angle &azimuth, const Angle &elevation) | |
| Instantiates new horizontal (Az/El) coordinates with the specified components. | |
| Horizontal (const std::string &az, const std::string &el) | |
| Instantiates horizontal coordinates with the specified string representations of the azimuth and elevation coordinates, optionally specifying a system and a distance if needed. | |
| Horizontal (double azimuth, double elevation) | |
| Instantiates new horizontal (Az/El) coordinates with the specified components. | |
| const Angle & | azimuth () const |
| Returns the azimuth angle. | |
| Angle | distance_to (const Horizontal &other) const |
| Returns the angular distance of these horizontal coordiantes to/from the specified other horizontal coordinates. | |
| const Angle & | elevation () const |
| Returns the elevation angle. | |
| bool | equals (const Horizontal &other, const Angle &precision) const |
| Checks if these horizontal coordinates are the same as another, within the specified precision. | |
| bool | equals (const Horizontal &other, double precision_rad=1.0 *Unit::uas) const |
| Checks if these horizontal coordinates are the same as another, within the specified precision. | |
| bool | operator!= (const Horizontal &other) const |
| Checks if these horizontal coordinates differ from another, by more than 1 uas. | |
| bool | operator== (const Horizontal &other) const |
| Checks if these horizontal coordinates are the same as another, within 1 μas. | |
| Apparent | to_apparent (const Frame &frame, const ScalarVelocity &rv=ScalarVelocity::stationary(), const Coordinate &distance=Coordinate::at_Gpc()) const |
| Converts these horizontal coordinates to an apparent place on the sky for an observer on or near Earth's surface. | |
| Apparent | to_apparent (const Frame &frame, double rv=0.0, double distance=Unit::Gpc) const |
| Converts these horizontal coordinates to an apparent place on the sky. | |
| Horizontal | to_refracted (RefractionModel ref, const Weather &weather=Weather::standard(), const Time &time=Time::undefined()) |
| Applies atmospheric refraction correction for these coordinates, returning the result. | |
| std::string | to_string (enum novas_separator_type separator=NOVAS_SEP_UNITS_AND_SPACES, int decimals=3) const override |
| Returns a string representation of these horizontal coordinates, optionally defining the separator type to use for the DMS angle representations, and the number of decimal places to print also. | |
| Horizontal | to_unrefracted (RefractionModel ref, const Weather &weather=Weather::standard(), const Time &time=Time::undefined()) |
| Undoes atmospheric refraction correction for these coordinates, returning the result. | |
| Angle | zenith_angle () const |
| Returns the zenith distance angle. | |
| Public Member Functions inherited from supernovas::Spherical | |
| Spherical (const Angle &longitude, const Angle &latitude) | |
| Instantiates new spherical coordinates with the specified components. | |
| Spherical (const std::string &longitude, const std::string &latitude) | |
| Instantiates spherical coordinates with the specified string representations of the longitude and latitude coordinates, optionally specifying a system and a distance if needed. | |
| Spherical (double longitude_rad, double latitude_rad) | |
| Instantiates new spherical coordinates with the specified components. | |
| virtual | ~Spherical () |
| const Angle & | latitude () const |
| Returns the latitude coordinate as an angle. | |
| const Angle & | longitude () const |
| Returns the longitude coordinate as an angle. | |
| Position | xyz (const Coordinate &distance) const |
| Returns the cartesian position vector corresponding to these spherical coordinates. | |
| 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(). | |
Static Public Member Functions | |
| static const Horizontal & | undefined () |
| Returns a reference to a statically defined standard invalid horizontal coordinates. | |
Additional Inherited Members | |
| Protected Member Functions inherited from supernovas::Spherical | |
| Spherical () | |
| Instantiates invalid spherical coordinates. | |
| Angle | distance_to (const Spherical &other) const |
| Returns the angular distance of these spherical coordiantes to/from the specified other spherical coordinates. | |
| bool | equals (const Spherical &other, double precision) const |
| Protected Member Functions inherited from supernovas::Validating | |
| Validating () | |
| dummy constructor; | |
| Protected Attributes inherited from supernovas::Validating | |
| bool | _valid = false |
| the state variable. | |
Horizontal (azimuth, elevation = Az/El) sky coordinates at a geodetic observing location, such as an observatory site, an aircraft, or a balloon.
These represent positions relative to the local horizon and meridian, and can be used for both unrefracted (astrometric) or refracted (observed) values or for converting between those two.
| supernovas::Horizontal::Horizontal | ( | double | azimuth, |
| double | elevation ) |
Instantiates new horizontal (Az/El) coordinates with the specified components.
References supernovas::Spherical::Spherical(), azimuth(), elevation(), and supernovas::Validating::is_valid().
Instantiates new horizontal (Az/El) coordinates with the specified components.
References supernovas::Spherical::Spherical(), azimuth(), and elevation().
| supernovas::Horizontal::Horizontal | ( | const std::string & | azimuth, |
| const std::string & | elevation ) |
Instantiates horizontal coordinates with the specified string representations of the azimuth and elevation coordinates, optionally specifying a system and a distance if needed.
After instantiation, you should check that the resulting coordinates are valid, e.g. as:
| azimuth | string representation of the azimuth coordinate in DMS or a decimnal degrees. |
| elevation | string representation of the elevation coordinate as DMS or decimal degrees. |
References azimuth(), and elevation().
| const Angle & supernovas::Horizontal::azimuth | ( | ) | const |
Returns the azimuth angle.
Same as Spherical::longitude().
References supernovas::Spherical::longitude().
Referenced by Horizontal(), Horizontal(), and Horizontal().
| Angle supernovas::Horizontal::distance_to | ( | const Horizontal & | other | ) | const |
Returns the angular distance of these horizontal coordiantes to/from the specified other horizontal coordinates.
| other | the reference horizontal coordinates |
References supernovas::Spherical::distance_to(), and supernovas::Validating::is_valid().
| const Angle & supernovas::Horizontal::elevation | ( | ) | const |
Returns the elevation angle.
Same as Spherical::latitude().
References supernovas::Spherical::latitude().
Referenced by Horizontal(), Horizontal(), Horizontal(), to_refracted(), and to_unrefracted().
| bool supernovas::Horizontal::equals | ( | const Horizontal & | other, |
| const Angle & | precision ) const |
Checks if these horizontal coordinates are the same as another, within the specified precision.
| other | the reference horizontal coordinates |
| precision | (optional) precision for equality test (default: 1 μas). |
References equals(), and supernovas::Angle::rad().
| bool supernovas::Horizontal::equals | ( | const Horizontal & | other, |
| double | precision_rad = 1.0 * Unit::uas ) const |
Checks if these horizontal coordinates are the same as another, within the specified precision.
| other | the reference horizontal coordinates |
| precision_rad | [rad] (optional) precision for equality test (default: 1 μas). |
References supernovas::Spherical::equals().
Referenced by equals(), operator!=(), and operator==().
| bool supernovas::Horizontal::operator!= | ( | const Horizontal & | other | ) | const |
Checks if these horizontal coordinates differ from another, by more than 1 uas.
| other | the reference horizontal coordinates |
References equals().
| bool supernovas::Horizontal::operator== | ( | const Horizontal & | other | ) | const |
Checks if these horizontal coordinates are the same as another, within 1 μas.
| other | the reference horizontal coordinates |
References equals().
|
overridevirtual |
Returns a string representation of these horizontal coordinates, optionally defining the separator type to use for the DMS angle representations, and the number of decimal places to print also.
| separator | the DMS separator type (default: units and spaces). |
| decimals | the number of decimal places to print for the seconds (default: 3). |
Reimplemented from supernovas::Spherical.
References supernovas::Spherical::to_string().
|
static |
Returns a reference to a statically defined standard invalid horizontal coordinates.
These invalid coordinates may be used inside any object that is invalid itself.
Referenced by supernovas::HorizontalTrack::projected_at(), and supernovas::Apparent::to_horizontal().
| Angle supernovas::Horizontal::zenith_angle | ( | ) | const |
Returns the zenith distance angle.
It is 90° - elevation.
References supernovas::Constant::half_pi, supernovas::Validating::is_valid(), and supernovas::Spherical::latitude().