isce3 0.25.0
|
Collection of simple commonly used geometry functions. More...
#include "forward.h"
#include <isce3/core/forward.h>
#include <isce3/product/forward.h>
#include <optional>
#include <tuple>
#include <Eigen/Dense>
#include <isce3/core/Constants.h>
#include <isce3/core/Ellipsoid.h>
#include <isce3/geometry/DEMInterpolator.h>
Go to the source code of this file.
Namespaces | |
namespace | isce3 |
base interpolator is an abstract base class | |
namespace | isce3::geometry |
The isce3::geometry namespace. | |
Functions | |
int | isce3::geometry::rdr2geo (double aztime, double slantRange, double doppler, const isce3::core::Orbit &orbit, const isce3::core::Ellipsoid &ellipsoid, const DEMInterpolator &demInterp, isce3::core::Vec3 &targetLLH, double wvl, isce3::core::LookSide side, double threshold, int maxIter, int extraIter) |
Radar geometry coordinates to map coordinates transformer. | |
int | isce3::geometry::rdr2geo (const isce3::core::Pixel &pixel, const isce3::core::Basis &TCNbasis, const isce3::core::Vec3 &pos, const isce3::core::Vec3 &vel, const isce3::core::Ellipsoid &ellipsoid, const DEMInterpolator &demInterp, isce3::core::Vec3 &targetLLH, isce3::core::LookSide side, double threshold, int maxIter, int extraIter) |
Radar geometry coordinates to map coordinates transformer. | |
int | isce3::geometry::rdr2geo (const isce3::core::Vec3 &radarXYZ, const isce3::core::Vec3 &axis, double angle, double range, const DEMInterpolator &dem, isce3::core::Vec3 &targetXYZ, isce3::core::LookSide side, double threshold, int maxIter, int extraIter) |
"Cone" interface to rdr2geo. | |
int | isce3::geometry::geo2rdr (const isce3::core::Vec3 &inputLLH, const isce3::core::Ellipsoid &ellipsoid, const isce3::core::Orbit &orbit, const isce3::core::Poly2d &doppler, double &aztime, double &slantRange, double wavelength, double startingRange, double rangePixelSpacing, size_t rwidth, isce3::core::LookSide side, double threshold, int maxIter, double deltaRange) |
Map coordinates to radar geometry coordinates transformer. | |
int | isce3::geometry::geo2rdr (const isce3::core::Vec3 &inputLLH, const isce3::core::Ellipsoid &ellipsoid, const isce3::core::Orbit &orbit, const isce3::core::LUT2d< double > &doppler, double &aztime, double &slantRange, double wavelength, isce3::core::LookSide side, double threshold, int maxIter, double deltaRange) |
Map coordinates to radar geometry coordinates transformer. | |
void | isce3::geometry::computeDEMBounds (const isce3::core::Orbit &orbit, const isce3::core::Ellipsoid &ellipsoid, const isce3::core::LUT2d< double > &doppler, const isce3::product::RadarGridParameters &radarGrid, size_t xoff, size_t yoff, size_t xsize, size_t ysize, double margin, double &min_lon, double &min_lat, double &max_lon, double &max_lat) |
Utility function to compute geographic bounds for a radar grid. | |
template<class T> | |
double | isce3::geometry::_compute_doppler_aztime_diff (isce3::core::Vec3 dr, isce3::core::Vec3 satvel, T &doppler, double wavelength, double aztime, double slantRange, double deltaRange) |
isce3::core::Vec3 | isce3::geometry::nedVector (double lon, double lat, const isce3::core::Vec3 &vel) |
Get unit NED(north,east,down) velocity or unit vector from ECEF velocity or unit vector at a certain geodetic location of spacecraft. | |
isce3::core::Vec3 | isce3::geometry::nwuVector (double lon, double lat, const isce3::core::Vec3 &vel) |
Get NWU(north,west,up) velocity or unit vector from ECEF velocity or unit vector at a certain geodetic location of spacecraft. | |
isce3::core::Vec3 | isce3::geometry::enuVector (double lon, double lat, const isce3::core::Vec3 &vel) |
Get unit ENU(east,north,up) velocity or unit vector from ECEF velocity or unit vector at a certain geodetic location of spacecraft. | |
double | isce3::geometry::heading (double lon, double lat, const isce3::core::Vec3 &vel) |
Get spacecraft heading/track angle from velocity vector at a certain geodetic location of Spacecraft. | |
double | isce3::geometry::slantRangeFromLookVec (const isce3::core::Vec3 &pos, const isce3::core::Vec3 &lkvec, const isce3::core::Ellipsoid &ellips={}) |
Get slant range (m) from platform/antenna position in ECEF (x,y,z) to Reference Ellipsoid given unit look vector (poitning) in ECEF. | |
std::pair< int, double > | isce3::geometry::srPosFromLookVecDem (double &sr, isce3::core::Vec3 &tg_pos, isce3::core::Vec3 &llh, const isce3::core::Vec3 &sc_pos, const isce3::core::Vec3 &lkvec, const DEMInterpolator &dem_interp={}, double hgt_err=0.5, int num_iter=10, const isce3::core::Ellipsoid &ellips={}, std::optional< double > initial_height={}) |
Get an approximatre ECEF, LLH position and respective Slant range at a certain height above the reference ellipsoid of planet for a look vector looking from a certain spacecraft position in ECEF towards the planet. | |
std::tuple< double, double > | isce3::geometry::lookIncAngFromSlantRange (double slant_range, const isce3::core::Orbit &orbit, std::optional< double > az_time={}, const DEMInterpolator &dem_interp={}, const isce3::core::Ellipsoid &ellips={}) |
Estimate look angle (off-nadir angle) and ellipsoidal incidence angle at a desired slant range from orbit (spacecraft/antenna statevector) and at a certain relative azimuth time. | |
std::tuple< Eigen::ArrayXd, Eigen::ArrayXd > | isce3::geometry::lookIncAngFromSlantRange (const Eigen::Ref< const Eigen::ArrayXd > &slant_range, const isce3::core::Orbit &orbit, std::optional< double > az_time={}, const DEMInterpolator &dem_interp={}, const isce3::core::Ellipsoid &ellips={}) |
Overloaded vectorized version of estimating look angle (off-nadir angle) and ellipsoidal incidence angle at a desired slant range from orbit (spacecraft/antenna statevector) and at a certain relative azimuth time. | |
double | isce3::geometry::compute_mean_dem (const DEMInterpolator &dem) |
Collection of simple commonly used geometry functions.
There are no classes defined in this file. Its a collection of functions Some are meant to be light weight versions of isce3::geometry::Topo and isce3::geometry::Geo2rdr. Others are useful for pointing analysis and navigation.