1#include <isce3/except/Error.h>
7inline RadarGeometry::RadarGeometry(
const RadarGridParameters& radar_grid,
9 const LUT2d<double>& doppler)
11 _radar_grid(radar_grid),
15 if (_radar_grid.refEpoch() != _orbit.referenceEpoch()) {
16 auto old_refepoch = _radar_grid.refEpoch();
17 auto new_refepoch = _orbit.referenceEpoch();
19 auto old_sensing_start = _radar_grid.sensingStart();
20 auto dt = (old_refepoch - new_refepoch).getTotalSeconds();
21 auto new_sensing_start = old_sensing_start + dt;
23 _radar_grid.refEpoch(new_refepoch);
24 _radar_grid.sensingStart(new_sensing_start);
31 constexpr static auto maxint =
32 static_cast<size_t>(std::numeric_limits<int>::max());
34 using isce3::except::OverflowError;
35 throw OverflowError(ISCE_SRCINFO(),
"grid length exceeds max int");
41 return {t0, dt, lines};
47 constexpr static auto maxint =
48 static_cast<size_t>(std::numeric_limits<int>::max());
50 using isce3::except::OverflowError;
51 throw OverflowError(ISCE_SRCINFO(),
"grid width exceeds max int");
56 auto samples =
static_cast<int>(
gridWidth());
57 return {r0, dr, samples};
const RadarGridParameters & radarGrid() const
Get radar grid.
Definition RadarGeometry.h:31
Linspace< double > sensingTime() const
Get radar grid azimuth time samples relative to reference epoch (s)
Definition RadarGeometry.icc:28
size_t gridLength() const
Get radar grid length (number of azimuth lines)
Definition RadarGeometry.h:43
size_t gridWidth() const
Get radar grid width (number of range samples)
Definition RadarGeometry.h:46
Linspace< double > slantRange() const
Get radar grid slant range samples (m)
Definition RadarGeometry.icc:44
A uniformly-spaced sequence of values over some interval.
Definition Linspace.h:9
double sensingStart() const
Get sensing start time in seconds since reference epoch.
Definition RadarGridParameters.h:78
double startingRange() const
Get starting slant range in meters.
Definition RadarGridParameters.h:99
double rangePixelSpacing() const
Get slant range pixel spacing in meters.
Definition RadarGridParameters.h:105
double azimuthTimeInterval() const
Get azimuth time interval in seconds.
Definition RadarGridParameters.h:96
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5