Data structure to store Ellipsoid information.
More...
#include <Ellipsoid.h>
|
| CUDA_HOSTDEV | Ellipsoid (double maj, double ecc) |
| | Constructor using semi-major axis and eccentricity^2. More...
|
| |
|
| Ellipsoid (const Ellipsoid &ellps) |
| | Copy constructor.
|
| |
|
Ellipsoid & | operator= (const Ellipsoid &) |
| | Overloaded assignment operator.
|
| |
|
CUDA_HOSTDEV double | a () const |
| | Return semi-major axis.
|
| |
| CUDA_HOSTDEV double | b () const |
| | Return semi-minor axis. More...
|
| |
|
CUDA_HOSTDEV double | e2 () const |
| | Return eccentricity^2.
|
| |
| void | a (double val) |
| | Set semi-major axis. More...
|
| |
| void | e2 (double val) |
| | Set eccentricity^2. More...
|
| |
| CUDA_HOSTDEV double | rEast (double lat) const |
| | Return local radius in EW direction. More...
|
| |
| CUDA_HOSTDEV double | rNorth (double lat) const |
| | Return local radius in NS direction. More...
|
| |
| CUDA_HOSTDEV double | rDir (double hdg, double lat) const |
| | Return directional local radius. More...
|
| |
| CUDA_HOSTDEV void | lonLatToXyz (const cartesian_t &llh, cartesian_t &xyz) const |
| | Transform WGS84 Lon/Lat/Hgt to ECEF xyz. More...
|
| |
|
CUDA_HOSTDEV Vec3 | lonLatToXyz (const Vec3 &llh) const |
| |
| CUDA_HOSTDEV void | xyzToLonLat (const cartesian_t &xyz, cartesian_t &llh) const |
| | Transform ECEF xyz to Lon/Lat/Hgt. More...
|
| |
|
CUDA_HOSTDEV Vec3 | xyzToLonLat (const Vec3 &xyz) const |
| |
| CUDA_HOSTDEV void | nVector (double lon, double lat, cartesian_t &vec) const |
| | Return normal to the ellipsoid at given lon, lat. More...
|
| |
|
CUDA_HOSTDEV Vec3 | nVector (double lon, double lat) const |
| |
| CUDA_HOSTDEV void | xyzOnEllipse (double lon, double lat, cartesian_t &xyz) const |
| | Return ECEF coordinates of point on ellipse. More...
|
| |
| void | getImagingAnglesAtPlatform (const cartesian_t &pos, const cartesian_t &vel, const cartesian_t &los, double &azi, double &look) const |
| | Estimate azimuth angle and look angle for a given LOS vector. More...
|
| |
Data structure to store Ellipsoid information.
Only the semi-major axis and the eccentricity^2 parameters are stored. All other quantities are derived on the fly
| CUDA_HOSTDEV isce3::core::Ellipsoid::Ellipsoid |
( |
double |
maj, |
|
|
double |
ecc |
|
) |
| |
|
inline |
Constructor using semi-major axis and eccentricity^2.
- Parameters
-
| [in] | maj | Semi-major of axis in meters |
| [in] | ecc | Square of ellipsoid eccentricity (unitless) |
| void isce3::core::Ellipsoid::a |
( |
double |
val | ) |
|
|
inline |
Set semi-major axis.
- Parameters
-
| [in] | val | Semi-major axis of ellipsoid in meters |
| CUDA_HOSTDEV double isce3::core::Ellipsoid::b |
( |
| ) |
const |
|
inline |
Return semi-minor axis.
Computed from a and e2.
| void isce3::core::Ellipsoid::e2 |
( |
double |
val | ) |
|
|
inline |
Set eccentricity^2.
- Parameters
-
| [in] | ecc | Eccentricity-squared of ellipsoid |
| void isce3::core::Ellipsoid::getImagingAnglesAtPlatform |
( |
const cartesian_t & |
pos, |
|
|
const cartesian_t & |
vel, |
|
|
const cartesian_t & |
los, |
|
|
double & |
azi, |
|
|
double & |
look |
|
) |
| const |
Estimate azimuth angle and look angle for a given LOS vector.
- Parameters
-
| [in] | pos | ECEF coordinates of imaging platform in meters |
| [in] | vel | ECEF velocity of imaging platform in meters / sec |
| [in] | los | Line-of-sight (LOS) vector in ECEF coordinates (meters), pointing from platform to target |
| [out] | azi | Azimuth angle in radians |
| [out] | look | Look angle in radians |
Azimuth angle is defined as angle of the LOS vector from the North Direction in the anti-clockwise direction. Look angle is defined as angle of the LOS vector and the downward normal at the imaging platform .
Transform WGS84 Lon/Lat/Hgt to ECEF xyz.
- Parameters
-
| [in] | llh | Latitude (ras), Longitude (rad), Height (m). |
| [out] | xyz | ECEF Cartesian coordinates in meters. |
| CUDA_HOSTDEV void isce3::core::Ellipsoid::nVector |
( |
double |
lon, |
|
|
double |
lat, |
|
|
cartesian_t & |
vec |
|
) |
| const |
|
inline |
Return normal to the ellipsoid at given lon, lat.
- Parameters
-
| [in] | lon | Longitude in radians |
| [in] | lat | Latitude in radians |
| [out] | vec | Unit vector of normal pointing outwards in ECEF cartesian coordinates |
See N-vector
| CUDA_HOSTDEV double isce3::core::Ellipsoid::rDir |
( |
double |
hdg, |
|
|
double |
lat |
|
) |
| const |
|
inline |
Return directional local radius.
- Parameters
-
| [in] | hdg | Heading in radians |
| [in] | lat | Latitude in radians |
Heading is measured in clockwise direction from the North direction. See Directional Radius
| CUDA_HOSTDEV double isce3::core::Ellipsoid::rEast |
( |
double |
lat | ) |
const |
|
inline |
| CUDA_HOSTDEV double isce3::core::Ellipsoid::rNorth |
( |
double |
lat | ) |
const |
|
inline |
Return local radius in NS direction.
- Parameters
-
| [in] | lat | Latitude in radians |
See Meridional radius
| CUDA_HOSTDEV void isce3::core::Ellipsoid::xyzOnEllipse |
( |
double |
lon, |
|
|
double |
lat, |
|
|
cartesian_t & |
vec |
|
) |
| const |
|
inline |
Return ECEF coordinates of point on ellipse.
- Parameters
-
| [in] | lon | Longitude in radians |
| [in] | lat | Latitude in radians |
| [out] | xyz | ECEF coordinates of point on ellipse |
See parametric representation of ellipsoid
Transform ECEF xyz to Lon/Lat/Hgt.
- Parameters
-
| [in] | xyz | ECEF Cartesian coordinates in meters. |
| [out] | llh | Latitude (rad), Longitude(rad), Height (m). |
Using the approach laid out in Vermeille, 2002 [15]
The documentation for this class was generated from the following files:
- isce/cxx/isce3/core/Ellipsoid.h
- isce/cxx/isce3/core/Ellipsoid.cpp