PCL
pcl::ObserverPosition Struct Reference

Geodetic coordinates of a terrestrial observer. More...

#include <Position.h>

Public Member Functions

 ObserverPosition ()=default
 
 ObserverPosition (const ObserverPosition &)=default
 
 ObserverPosition (double longitude, double latitude, double height=0, double equatorialRadius=ea_eq_radius_IAU2009, double flattening=ea_flattening_IERS2010, const Vector &regionalCenter=Vector(0, 0, 0), bool useCIO=false)
 
 ObserverPosition (ObserverPosition &&)=default
 
ObserverPositionoperator= (const ObserverPosition &)=default
 
ObserverPositionoperator= (ObserverPosition &&)=default
 

Public Attributes

double a = ea_eq_radius_IAU2009
 Equatorial radius of the reference spheroid in meters.
 
bool cioBased = false
 Whether to compute CIO-based or equinox-based topocentric coordinates.
 
double f = ea_flattening_IERS2010
 Flattening of the reference spheroid.
 
double h = 0
 Geodetic height in meters.
 
double lambda = 0
 Geodetic longitude in degrees.
 
double phi = 0
 Geodetic latitude in degrees.
 
Vector r0 = Vector( 0, 0, 0 )
 Geocentric rectangular coordinates of the center of the regional spheroid, in meters.
 

Static Public Attributes

constexpr static double ea_eq_radius_IAU2009 = 6378136.6
 
constexpr static double ea_flattening_IERS2010 = 1/298.25642
 

Detailed Description

This structure provides the data necessary to calculate topocentric places of solar system bodies and stars.

Definition at line 194 of file Position.h.

Constructor & Destructor Documentation

◆ ObserverPosition() [1/4]

pcl::ObserverPosition::ObserverPosition ( )
default

Default constructor.

Constructs an ObserverPosition object for a fictitious observer at the geocenter. See data members for specific default values.

◆ ObserverPosition() [2/4]

pcl::ObserverPosition::ObserverPosition ( const ObserverPosition )
default

Copy constructor.

◆ ObserverPosition() [3/4]

pcl::ObserverPosition::ObserverPosition ( ObserverPosition &&  )
default

Move constructor.

◆ ObserverPosition() [4/4]

pcl::ObserverPosition::ObserverPosition ( double  longitude,
double  latitude,
double  height = 0,
double  equatorialRadius = ea_eq_radius_IAU2009,
double  flattening = ea_flattening_IERS2010,
const Vector regionalCenter = Vector( 0, 0, 0 ),
bool  useCIO = false 
)
inline

Memberwise constructor.

Parameters
longitudeGeodetic longitude in degrees.
latitudeGeodetic latitude in degrees.
heightGeodetic height in meters. Zero by default.
equatorialRadiusEquatorial radius of the reference spheroid in meters. The default value is the IAU 2009/2012 equatorial radius of Earth: 6,378,136.6 meters.
flatteningFlattening of the reference spheroid. The default value is the IERS 2010 flattening of Earth: 1/298.25642.
regionalCenterGeocentric rectangular coordinates of the center of the regional spheroid, in meters. A zero 3-D vector (that is, the geocenter) by default.
useCIOWhether to compute CIO-based or equinox-based topocentric coordinates. False (equinox-based) by default.

Typically, the values used should be WGS84 coordinates (for example, as distributed by GPS) or ITRF coordinates (both systems close together at the level of a few centimeters).

Geographic longitudes grow eastward, so longitudes are positive to the east and negative to the west of the central meridian. For ease of calculation, this constructor converts longitudes to the [0°,360°) range.

If out-of-range coordinates are specified, their values will be constrained to their proper ranges: longitude to [0°,360°), and latitude to [-90°,+90°].

Definition at line 280 of file Position.h.

Member Function Documentation

◆ operator=() [1/2]

ObserverPosition& pcl::ObserverPosition::operator= ( const ObserverPosition )
default

Copy assignment operator.

◆ operator=() [2/2]

ObserverPosition& pcl::ObserverPosition::operator= ( ObserverPosition &&  )
default

Move assignment operator.

Member Data Documentation

◆ ea_eq_radius_IAU2009

constexpr static double pcl::ObserverPosition::ea_eq_radius_IAU2009 = 6378136.6
staticconstexpr

Equatorial radius of Earth in meters, IAU 2009/2012.

Definition at line 207 of file Position.h.

◆ ea_flattening_IERS2010

constexpr static double pcl::ObserverPosition::ea_flattening_IERS2010 = 1/298.25642
staticconstexpr

Flattening of Earth, IERS 2010.

Definition at line 212 of file Position.h.


The documentation for this struct was generated from the following file: