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