OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ossimplugins::ossimRadarSat2RPCModel Class Reference

This class allows for direct localisation and indirect localisation using the RadarSat2 sensor model. More...

#include <ossimRadarSat2RPCModel.h>

Inheritance diagram for ossimplugins::ossimRadarSat2RPCModel:
ossimRpcModel ossimSensorModel ossimProjection ossimOptimizableProjection ossimAdjustableParameterInterface ossimObject ossimErrorStatusInterface ossimReferenced

Public Member Functions

 ossimRadarSat2RPCModel ()
 default constructor More...
 
 ossimRadarSat2RPCModel (const ossimRadarSat2RPCModel &rhs)
 copy constructor More...
 
 ossimRadarSat2RPCModel (const ossimFilename &RS2File)
 
virtual ~ossimRadarSat2RPCModel ()
 Destructor. More...
 
virtual ossimString getClassName () const
 Method to return the class name. More...
 
virtual ossimObjectdup () const
 Returns pointer to a new instance, copy of this. More...
 
bool open (const ossimFilename &file)
 
Method to parse an nitf file and initialize model. More...
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 Method to save object state to a keyword list. More...
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 Method to the load (recreate) the state of the object from a keyword list. More...
 
virtual std::ostream & print (std::ostream &out) const
 
virtual void worldToLineSample (const ossimGpt &world_point, ossimDpt &image_point) const
 worldToLineSample() Calls ossimRpcModel::worldToLineSample(), then applies (if needed) decimation. More...
 
virtual void lineSampleHeightToWorld (const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const
 lineSampleHeightToWorld() Backs out decimation of image_point (if needed) then calls: ossimRpcModel::lineSampleHeightToWorld This is a temp work around for decimation RPC NITFs. More...
 
- Public Member Functions inherited from ossimRpcModel
 ossimRpcModel ()
 default constructor More...
 
 ossimRpcModel (const ossimRpcModel &copy_this)
 copy construtor More...
 
void setAttributes (ossim_float64 theSampleOffset, ossim_float64 theLineOffset, ossim_float64 theSampleScale, ossim_float64 theLineScale, ossim_float64 theLatOffset, ossim_float64 theLonOffset, ossim_float64 theHeightOffset, ossim_float64 theLatScale, ossim_float64 theLonScale, ossim_float64 theHeightScale, const std::vector< double > &xNumeratorCoeffs, const std::vector< double > &xDenominatorCoeffs, const std::vector< double > &yNumeratorCoeffs, const std::vector< double > &yDenominatorCoeffs, PolynomialType polyType=B, bool computeGsdFlag=true)
 
void setMetersPerPixel (const ossimDpt &metersPerPixel)
 
void setPositionError (const ossim_float64 &biasError, const ossim_float64 &randomError, bool initNominalPostionErrorFlag)
 Sets data member theBiasError, theRandError. More...
 
virtual void lineSampleToWorld (const ossimDpt &image_point, ossimGpt &world_point) const
 
virtual void imagingRay (const ossimDpt &image_point, ossimEcefRay &image_ray) const
 imagingRay() Overrides base class pure virtual. More...
 
virtual void updateModel ()
 
virtual void initAdjustableParameters ()
 
virtual bool useForward () const
 
virtual bool setupOptimizer (const ossimString &init_file)
 uses file path to init model More...
 
virtual ossimDpt getForwardDeriv (int parmIdx, const ossimGpt &gpos, double h)
 Compute partials of samp/line WRT ground point. More...
 
double getBiasError () const
 Returns Error - Bias. More...
 
double getRandError () const
 Returns Error - Random. More...
 
void getRpcParameters (ossimRpcModel::rpcModelStruct &model) const
 Returns RPC parameter set in structure. More...
 
void setImageOffset (const ossimDpt &offset_to_chip_ul)
 Allows setting an offset to a subimage while using the coefficients of a full-image model. More...
 
bool toJSON (std::ostream &json) const
 Serializes RPC to JSON format. More...
 
bool toRPB (std::ostream &out) const
 Serialize to WorldView-style .RPB file to the stream provided. More...
 
- Public Member Functions inherited from ossimSensorModel
 ossimSensorModel ()
 
 ossimSensorModel (const ossimSensorModel &copy_this)
 
 ossimSensorModel (const ossimKeywordlist &geom_kwl)
 
const ossimSensorModeloperator= (const ossimSensorModel &rhs)
 assignment operator More...
 
virtual ossimObjectgetBaseObject ()
 
virtual const ossimObjectgetBaseObject () const
 
virtual ossimGpt origin () const
 
virtual ossimDpt getMetersPerPixel () const
 
virtual const double & getNominalPosError () const
 Returns the estimated Absolute horizontal position error (CE90) of the sensor model. More...
 
virtual const double & getRelativePosError () const
 Returns the estimated RELATIVE horizontal position error (CE90) of the sensor model. More...
 
virtual void setNominalPosError (const double &ce90)
 Assigns the absolute image position error uncertainty (abs CE90) More...
 
virtual void setRelativePosError (const double &ce90)
 Assigns the relative image position error uncertainty (rel CE90) More...
 
void setRefImgPt (const ossimDpt &pt)
 Sets the center line sampe of the image. More...
 
void setRefGndPt (const ossimGpt &pt)
 Sets the center latitude, longitude, height of the image. More...
 
void setImageRect (const ossimDrect &imageRect)
 
void setGroundRect (const ossimGpt &ul, const ossimGpt &ur, const ossimGpt &lr, const ossimGpt &ll)
 
ossimDpt imageSize () const
 
void setImageSize (const ossimDpt &size)
 
virtual void adjustableParametersChanged ()
 
virtual bool insideImage (const ossimDpt &p) const
 
virtual bool operator== (const ossimProjection &proj) const
 
const ossimStringgetImageID () const
 Access methods: More...
 
const ossimDrectgetImageClipRect () const
 
virtual ossim_uint32 degreesOfFreedom () const
 
virtual bool needsInitialState () const
 needsInitialState() More...
 
virtual double optimizeFit (const ossimTieGptSet &tieSet, double *targetVariance=0)
 
virtual ossimGpt getInverseDeriv (int parmIdx, const ossimDpt &ipos, double hdelta=1e-11)
 
virtual ossimSensorModel::CovMatStatus getObsCovMat (const ossimDpt &ipos, NEWMAT::SymmetricMatrix &Cov, const ossim_float64 defPointingSigma=0.5) const
 Gives 2X2 covariance matrix of observations. More...
 
virtual bool isAffectedByElevation () const
 Implementation of pure virtual ossimProjection::isAffectedByElevation method. More...
 
void computeGsd ()
 This method computes the ground sample distance(gsd) and sets class attributes theGSD and theMeanGSD by doing a lineSampleHeightToWorld on four points and calculating the distance from them. More...
 
virtual bool getImageGeometry (const ossimString &, const ossimString &, ossimKeywordlist &) const
 Extracts geometry info from a non-ossim key,value pair to an ossim keyword list. More...
 
- Public Member Functions inherited from ossimProjection
 ossimProjection ()
 
virtual ~ossimProjection ()
 
virtual ossimDpt forward (const ossimGpt &wp) const
 
virtual ossimGpt inverse (const ossimDpt &pp) const
 
virtual void getRoundTripError (const ossimDpt &imagePoint, ossimDpt &errorResult) const
 
virtual void getRoundTripError (const ossimGpt &groundPoint, ossimDpt &errorResult) const
 
virtual void getGroundClipPoints (ossimGeoPolygon &gpts) const
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual bool operator!= (const ossimProjection &projection) const
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getDescription () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual void accept (ossimVisitor &visitor)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 
- Public Member Functions inherited from ossimErrorStatusInterface
 ossimErrorStatusInterface ()
 
virtual ~ossimErrorStatusInterface ()
 
virtual ossimErrorCode getErrorStatus () const
 
virtual ossimString getErrorStatusString () const
 
virtual void setErrorStatus (ossimErrorCode error_status) const
 
virtual void setErrorStatus () const
 
virtual void clearErrorStatus () const
 
bool hasError () const
 
- Public Member Functions inherited from ossimOptimizableProjection
 ossimOptimizableProjection ()
 
 ossimOptimizableProjection (const ossimOptimizableProjection &source)
 
virtual ~ossimOptimizableProjection ()
 
virtual ossimOptimizableProjectionoperator= (const ossimOptimizableProjection &source)
 
- Public Member Functions inherited from ossimAdjustableParameterInterface
 ossimAdjustableParameterInterface ()
 
 ossimAdjustableParameterInterface (const ossimAdjustableParameterInterface &rhs)
 
virtual ~ossimAdjustableParameterInterface ()
 
void newAdjustment (ossim_uint32 numberOfParameters=0)
 
void setAdjustmentDescription (const ossimString &description)
 
ossimString getAdjustmentDescription () const
 
ossimString getAdjustmentDescription (ossim_uint32 adjustmentIdx) const
 Returns adjustmentDescription of specific adjustmentInfo. More...
 
void setCurrentAdjustment (ossim_uint32 adjustmentIndex, bool notify=false)
 
bool setCurrentAdjustment (const ossimString &description, bool notify=false)
 Sets the current adjustment to the adjustment with a matching description. More...
 
void eraseAdjustment (bool notify)
 
void eraseAdjustment (ossim_uint32 idx, bool notify)
 
void resetAdjustableParameters (bool notify=false)
 
void copyAdjustment (ossim_uint32 idx, bool notify)
 
void copyAdjustment (bool notify=false)
 
void keepAdjustment (ossim_uint32 idx, bool createCopy)
 
virtual void keepAdjustment (bool createCopy=true)
 
const ossimAdjustableParameterInterfaceoperator= (const ossimAdjustableParameterInterface &rhs)
 
void removeAllAdjustments ()
 
ossim_uint32 getNumberOfAdjustableParameters () const
 
double getAdjustableParameter (ossim_uint32 idx) const
 
virtual void setAdjustableParameter (ossim_uint32 idx, double value, bool notify=false)
 
virtual void setAdjustableParameter (ossim_uint32 idx, double value, double sigma, bool notify=false)
 
double getParameterSigma (ossim_uint32 idx) const
 
void setParameterSigma (ossim_uint32 idx, double value, bool notify=false)
 
ossimUnitType getParameterUnit (ossim_uint32 idx) const
 
void setParameterUnit (ossim_uint32 idx, ossimUnitType unit)
 
void setParameterUnit (ossim_uint32 idx, const ossimString &unit)
 
void setParameterCenter (ossim_uint32 idx, double center, bool notify=false)
 
double getParameterCenter (ossim_uint32 idx) const
 
double computeParameterOffset (ossim_uint32 idx) const
 
void setParameterOffset (ossim_uint32 idx, ossim_float64 value, bool notify=false)
 
ossimString getParameterDescription (ossim_uint32 idx) const
 
void setParameterDescription (ossim_uint32 idx, const ossimString &descrption)
 
ossim_int32 findParameterIdxGivenDescription (ossim_uint32 adjustmentIdx, const ossimString &name) const
 
ossim_int32 findParameterIdxContainingDescription (ossim_uint32 adjustmentIdx, const ossimString &name) const
 
bool isParameterLocked (ossim_uint32 idx) const
 
void setParameterLockFlag (ossim_uint32 idxParam, bool flag)
 
bool getParameterLockFlag (ossim_uint32 idx) const
 
void lockAllParametersCurrentAdjustment ()
 
void unlockAllParametersCurrentAdjustment ()
 
void lockAllParameters (ossim_uint32 idxAdjustment)
 
void unlockAllParameters (ossim_uint32 idxAdjustment)
 
void resizeAdjustableParameterArray (ossim_uint32 numberOfParameters)
 
void setAdjustment (const ossimAdjustmentInfo &adj, bool notify=false)
 
void setAdjustment (ossim_uint32 idx, const ossimAdjustmentInfo &adj, bool notify=false)
 
void addAdjustment (const ossimAdjustmentInfo &adj, bool notify)
 
void getAdjustment (ossimAdjustmentInfo &adj) const
 
void getAdjustment (ossim_uint32 idx, ossimAdjustmentInfo &adj) const
 
ossim_uint32 getNumberOfAdjustments () const
 
ossim_uint32 getCurrentAdjustmentIdx () const
 
void setDirtyFlag (bool flag=true)
 
void setAllDirtyFlag (bool flag=true)
 
bool hasDirtyAdjustments () const
 
virtual void saveCurrentAdjustmentOnly (ossimKeywordlist &kwl, const ossimString &prefix=ossimString(""))
 Saves the current active adjustment to the KWL file. More...
 
bool saveAdjustments (ossimKeywordlist &kwl, const ossimString &prefix=ossimString("")) const
 Save all adjustments to the KWL file. More...
 
bool loadAdjustments (const ossimKeywordlist &kwl, const ossimString &prefix=ossimString(""))
 
std::ostream & print (std::ostream &out) const
 Dumps the currently active adjustment to ostream. More...
 

Private Member Functions

bool InitSensorParams (const ossimKeywordlist &kwl, const char *prefix)
 
bool initSensorParams (const ossimXmlDocument *xdoc, const ossimRadarSat2ProductDoc &rsDoc)
 

Private Attributes

ossim_float64 theDecimation
 Stored from header field "IMAG". More...
 
SensorParams_sensor
 
ossimFilename theProductXmlFile
 

Additional Inherited Members

- Public Types inherited from ossimRpcModel
enum  PolynomialType { A ='A', B ='B' }
 
- Public Types inherited from ossimSensorModel
enum  CovMatStatus { COV_INVALID = 0, COV_PARTIAL = 1, COV_FULL = 2 }
 
enum  DeriveMode {
  OBS_INIT =-99, EVALUATE =-98, P_WRT_X = -1, P_WRT_Y = -2,
  P_WRT_Z = -3
}
 
- Static Public Member Functions inherited from ossimRpcModel
static void writeGeomTemplate (ostream &os)
 STATIC METHOD: writeGeomTemplate(ostream) Writes a template of geom keywords processed by loadState and saveState to output stream. More...
 
- Static Public Member Functions inherited from ossimSensorModel
static void writeGeomTemplate (ostream &os)
 
- Protected Types inherited from ossimRpcModel
enum  AdjustParamIndex {
  INTRACK_OFFSET = 0, CRTRACK_OFFSET, INTRACK_SCALE, CRTRACK_SCALE,
  MAP_ROTATION, NUM_ADJUSTABLE_PARAMS
}
 
- Protected Member Functions inherited from ossimRpcModel
virtual ~ossimRpcModel ()
 virtual destructor More...
 
double polynomial (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const
 
double dPoly_dLat (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const
 
double dPoly_dLon (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const
 
double dPoly_dHgt (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const
 
- Protected Member Functions inherited from ossimSensorModel
virtual ~ossimSensorModel ()
 
virtual ossimDpt extrapolate (const ossimGpt &gp) const
 
virtual ossimGpt extrapolate (const ossimDpt &ip, const double &height=ossim::nan()) const
 
void buildNormalEquation (const ossimTieGptSet &tieSet, NEWMAT::SymmetricMatrix &A, NEWMAT::ColumnVector &residue, NEWMAT::ColumnVector &projResidue, double pstep_scale)
 
NEWMAT::ColumnVector getResidue (const ossimTieGptSet &tieSet)
 
NEWMAT::ColumnVector solveLeastSquares (NEWMAT::SymmetricMatrix &A, NEWMAT::ColumnVector &r) const
 
NEWMAT::Matrix invert (const NEWMAT::Matrix &m) const
 stable invert stolen from ossimRpcSolver More...
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 
- Protected Member Functions inherited from ossimAdjustableParameterInterface
bool paramChanged (ossim_uint32 param_idx) const
 Returns true if specified parameter has been modified since last setAllChangeFlag(false) call. More...
 
void setAllChangeFlags (bool areChanged)
 Sets all the change flags to the boolean indicated to indicate parameters are changed (TRUE) or not (FALSE). More...
 
void initChangeFlags ()
 Initializes the change flags to TRUE. More...
 
- Protected Attributes inherited from ossimRpcModel
PolynomialType thePolyType
 
double theLineScale
 
double theSampScale
 
double theLatScale
 
double theLonScale
 
double theHgtScale
 
double theLineOffset
 
double theSampOffset
 
double theLatOffset
 
double theLonOffset
 
double theHgtOffset
 
double theIntrackOffset
 
double theCrtrackOffset
 
double theIntrackScale
 
double theCrtrackScale
 
double theCosMapRot
 
double theSinMapRot
 
double theBiasError
 error More...
 
double theRandError
 
double theLineNumCoef [20]
 
double theLineDenCoef [20]
 
double theSampNumCoef [20]
 
double theSampDenCoef [20]
 
- Protected Attributes inherited from ossimSensorModel
ossimIpt theImageSize
 
ossimDpt theSubImageOffset
 
ossimString theImageID
 
ossimString theSensorID
 
ossimDpt theGSD
 
ossim_float64 theMeanGSD
 
ossimGpt theRefGndPt
 
ossimDpt theRefImgPt
 
ossimPolygon theBoundGndPolygon
 
ossimDrect theImageClipRect
 
ossim_float64 theRelPosError
 
ossim_float64 theNominalPosError
 
ossimDpt theParWRTx
 Partials for current point. More...
 
ossimDpt theParWRTy
 
ossimDpt theParWRTz
 
ossimDpt theObs
 Observations & residuals for current point. More...
 
ossimDpt theResid
 
ossimRefPtr< ossimProjectiontheSeedFunction
 Used as an initial guess for iterative solutions and a guess for points outside the support bounds. More...
 
bool theExtrapolateImageFlag
 
bool theExtrapolateGroundFlag
 
- Protected Attributes inherited from ossimErrorStatusInterface
ossimErrorCode theErrorStatus
 

Detailed Description

This class allows for direct localisation and indirect localisation using the RadarSat2 sensor model.

Definition at line 45 of file ossimRadarSat2RPCModel.h.

Constructor & Destructor Documentation

◆ ossimRadarSat2RPCModel() [1/3]

ossimplugins::ossimRadarSat2RPCModel::ossimRadarSat2RPCModel ( )

default constructor

Definition at line 51 of file ossimRadarSat2RPCModel.cpp.

Referenced by dup().

52  :
53  ossimRpcModel(),
54  theDecimation(1.0),
56 {
57 }
static const ossimFilename NIL
This was taken from Wx widgets for performing touch and access date stamps.
Definition: ossimFilename.h:40
ossimRpcModel()
default constructor
ossim_float64 theDecimation
Stored from header field "IMAG".

◆ ossimRadarSat2RPCModel() [2/3]

ossimplugins::ossimRadarSat2RPCModel::ossimRadarSat2RPCModel ( const ossimRadarSat2RPCModel rhs)

copy constructor

Definition at line 59 of file ossimRadarSat2RPCModel.cpp.

60  :
61  ossimRpcModel(rhs),
62  theDecimation(1.0),
63  theProductXmlFile(rhs.theProductXmlFile)
64 {
65 
66 }
ossimRpcModel()
default constructor
ossim_float64 theDecimation
Stored from header field "IMAG".

◆ ossimRadarSat2RPCModel() [3/3]

ossimplugins::ossimRadarSat2RPCModel::ossimRadarSat2RPCModel ( const ossimFilename RS2File)

Definition at line 76 of file ossimRadarSat2RPCModel.cpp.

References open(), ossimNotify(), and ossimNotifyLevel_DEBUG.

78 {
79 
80  // Open the XML file, and read the RPC values in.
81  if (!open(RS2File))
82  {
84  << "DEBUG ossimRadarSat2RPCModel::ossimRadarSat2RPCModel(RS2File): Unable to parse file " << RS2File
85  << std::endl;
86  }
87 
88 }
ossimRpcModel()
default constructor
bool open(const ossimFilename &file)
Method to parse an nitf file and initialize model.
ossim_float64 theDecimation
Stored from header field "IMAG".
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ ~ossimRadarSat2RPCModel()

ossimplugins::ossimRadarSat2RPCModel::~ossimRadarSat2RPCModel ( )
virtual

Destructor.

Definition at line 90 of file ossimRadarSat2RPCModel.cpp.

91 {
92 }

Member Function Documentation

◆ dup()

ossimObject * ossimplugins::ossimRadarSat2RPCModel::dup ( ) const
virtual

Returns pointer to a new instance, copy of this.

Reimplemented from ossimRpcModel.

Definition at line 101 of file ossimRadarSat2RPCModel.cpp.

References ossimRadarSat2RPCModel().

102 {
103  return new ossimRadarSat2RPCModel(*this);
104 }

◆ getClassName()

ossimString ossimplugins::ossimRadarSat2RPCModel::getClassName ( ) const
virtual

Method to return the class name.

Returns
The name of this class.

Reimplemented from ossimObject.

Definition at line 94 of file ossimRadarSat2RPCModel.cpp.

Referenced by loadState().

95 {
96  return ossimString("ossimRadarSat2RPCModel");
97 }

◆ InitSensorParams()

bool ossimplugins::ossimRadarSat2RPCModel::InitSensorParams ( const ossimKeywordlist kwl,
const char *  prefix 
)
private

Definition at line 433 of file ossimRadarSat2RPCModel.cpp.

References _sensor, ossimKeywordlist::find(), ossimplugins::SensorParams::Left, ossimplugins::SensorParams::Right, ossimplugins::SensorParams::set_col_direction(), ossimplugins::SensorParams::set_lin_direction(), ossimplugins::SensorParams::set_nAzimuthLook(), ossimplugins::SensorParams::set_nRangeLook(), ossimplugins::SensorParams::set_prf(), ossimplugins::SensorParams::set_rwl(), ossimplugins::SensorParams::set_semiMajorAxis(), ossimplugins::SensorParams::set_semiMinorAxis(), ossimplugins::SensorParams::set_sf(), ossimplugins::SensorParams::set_sightDirection(), and ossimString::toDouble().

435 {
436 
437  // sensor frequencies
438  const char* central_freq_str = kwl.find(prefix,"central_freq");
439  double central_freq = 0.0;
440  if (central_freq_str)
441  {
442  central_freq = ossimString::toDouble(central_freq_str);
443  }
444  const char* fr_str = kwl.find(prefix,"fr");
445  double fr = 0.0;
446  if (fr_str)
447  {
448  fr = ossimString::toDouble(fr_str);
449  }
450  const char* fa_str = kwl.find(prefix,"fa");
451  double fa = 0.0;
452  if (fa_str)
453  {
454  fa = ossimString::toDouble(fa_str);
455  }
456 
457  //number of different looks
458  const char* n_azilok_str = kwl.find(prefix,"n_azilok");
459  double n_azilok = 0.0;
460  if (n_azilok_str)
461  {
462  n_azilok = ossimString::toDouble(n_azilok_str);
463  }
464  const char* n_rnglok_str = kwl.find(prefix,"n_rnglok");
465  double n_rnglok = 0.0;
466  if (n_rnglok_str)
467  {
468  n_rnglok = ossimString::toDouble(n_rnglok_str);
469  }
470 
471  //ellipsoid parameters
472  const char* ellip_maj_str = kwl.find(prefix,"ellip_maj");
473  double ellip_maj = 0.0;
474  if (ellip_maj_str)
475  {
476  ellip_maj = ossimString::toDouble(ellip_maj_str) * 1000.0;// km -> m
477  }
478  const char* ellip_min_str = kwl.find(prefix,"ellip_min");
479  double ellip_min = 0.0;
480  if (ellip_min_str)
481  {
482  ellip_min = ossimString::toDouble(ellip_min_str) * 1000.0;// km -> m
483  }
484 
485  if(_sensor != 0)
486  {
487  delete _sensor;
488  }
489 
490  _sensor = new SensorParams();
491 
492  const char* lineTimeOrdering_str = kwl.find(prefix,"lineTimeOrdering");
493  std::string lineTimeOrdering(lineTimeOrdering_str) ;
494  const char* pixelTimeOrdering_str = kwl.find(prefix,"pixelTimeOrdering");
495  std::string pixelTimeOrdering(pixelTimeOrdering_str) ;
496  if (pixelTimeOrdering == "Increasing") _sensor->set_col_direction(1);
497  else _sensor->set_col_direction(- 1);
498  if (lineTimeOrdering == "Increasing") _sensor->set_lin_direction(1);
499  else _sensor->set_lin_direction(- 1);
500 
501  const char* lookDirection_str = kwl.find(prefix,"lookDirection");
502  std::string lookDirection(lookDirection_str) ;
503  if ((lookDirection == "Right")||(lookDirection == "RIGHT")) _sensor->set_sightDirection(SensorParams::Right) ;
505 
506  _sensor->set_sf(fr);
507  const double CLUM = 2.99792458e+8 ;
508  double wave_length = CLUM / central_freq ;
509  _sensor->set_rwl(wave_length);
510  _sensor->set_nAzimuthLook(n_azilok);
511  _sensor->set_nRangeLook(n_rnglok);
512 
513  // fa is the processing PRF
514  _sensor->set_prf(fa * n_azilok);
515 
516  _sensor->set_semiMajorAxis(ellip_maj) ;
517  _sensor->set_semiMinorAxis(ellip_min) ;
518 
519  return true;
520 }
void set_sightDirection(SightDirection sight)
Definition: SensorParams.h:93
void set_rwl(double rwl)
Definition: SensorParams.h:83
const char * find(const char *key) const
void set_lin_direction(int dir)
Definition: SensorParams.h:128
void set_semiMinorAxis(double value)
Definition: SensorParams.h:158
double toDouble() const
void set_semiMajorAxis(double value)
Definition: SensorParams.h:153
void set_nRangeLook(double look)
Definition: SensorParams.h:138
void set_nAzimuthLook(double look)
Definition: SensorParams.h:133
void set_prf(double prf)
Definition: SensorParams.h:73
void set_col_direction(int dir)
Definition: SensorParams.h:123
void set_sf(double sf)
Definition: SensorParams.h:78

◆ initSensorParams()

bool ossimplugins::ossimRadarSat2RPCModel::initSensorParams ( const ossimXmlDocument xdoc,
const ossimRadarSat2ProductDoc rsDoc 
)
private

Definition at line 522 of file ossimRadarSat2RPCModel.cpp.

References _sensor, ossimplugins::ossimRadarSat2ProductDoc::initSensorParams(), ossimNotify(), and ossimNotifyLevel_DEBUG.

524 {
525  static const char MODULE[] = "ossimRadarSat2RPCModel::initSensorParams";
526 
527  if (traceDebug())
528  {
529  ossimNotify(ossimNotifyLevel_DEBUG)<< MODULE << " entered...\n";
530  }
531 
532  if (_sensor )
533  {
534  delete _sensor;
535  }
536  _sensor = new SensorParams();
537 
538  bool result = rsDoc.initSensorParams(xdoc, _sensor);
539 
540  if (!result)
541  {
542  delete _sensor;
543  _sensor = 0;
544  }
545 
546  if (traceDebug())
547  {
549  << MODULE << " exit status = " << (result?"true":"false\n")
550  << std::endl;
551  }
552 
553  return result;
554 }
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ lineSampleHeightToWorld()

void ossimplugins::ossimRadarSat2RPCModel::lineSampleHeightToWorld ( const ossimDpt image_point,
const double &  heightEllipsoid,
ossimGpt worldPoint 
) const
virtual

lineSampleHeightToWorld() Backs out decimation of image_point (if needed) then calls: ossimRpcModel::lineSampleHeightToWorld This is a temp work around for decimation RPC NITFs.

Reimplemented from ossimRpcModel.

Definition at line 405 of file ossimRadarSat2RPCModel.cpp.

References ossimRpcModel::lineSampleHeightToWorld(), theDecimation, ossimDpt::x, and ossimDpt::y.

409 {
410 
411  // Convert image point to full res (not decimated) point.
412  ossimDpt pt;
413  pt.x = image_point.x / theDecimation;
414  pt.y = image_point.y / theDecimation;
415 
416  // Call base...
417  ossimRpcModel::lineSampleHeightToWorld(pt, heightEllipsoid, worldPoint);
418 }
double y
Definition: ossimDpt.h:165
virtual void lineSampleHeightToWorld(const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const
double x
Definition: ossimDpt.h:164
ossim_float64 theDecimation
Stored from header field "IMAG".

◆ loadState()

bool ossimplugins::ossimRadarSat2RPCModel::loadState ( const ossimKeywordlist kwl,
const char *  prefix = 0 
)
virtual

Method to the load (recreate) the state of the object from a keyword list.

Return true if ok or false on error.

Returns
true if load OK, false on error

Reimplemented from ossimRpcModel.

Definition at line 590 of file ossimRadarSat2RPCModel.cpp.

References ossimPolygon::clear(), ossimKeywordlist::find(), getClassName(), ossimRpcModel::loadState(), open(), ossimNotify(), ossimNotifyLevel_DEBUG, ossimSensorModel::theBoundGndPolygon, theDecimation, theProductXmlFile, ossimString::toBool(), ossimString::toFloat64(), and ossimKeywordNames::TYPE_KW.

592 {
593  static const char MODULE[] = "ossimRadarSat2RPCModel::loadState";
594 
595  if (traceDebug())
596  {
597  ossimNotify(ossimNotifyLevel_DEBUG) << MODULE << " entered...\n";
598  }
599 
600  const char* lookup = 0;
601  ossimString s;
602 
603  // Check the type first.
604  lookup = kwl.find(prefix, ossimKeywordNames::TYPE_KW);
605  if (lookup)
606  {
607  s = lookup;
608  if (s != getClassName())
609  {
610  return false;
611  }
612  }
613 
614  // Get the product.xml file name.
615  lookup = kwl.find(prefix, PRODUCT_XML_FILE_KW);
616  if (lookup)
617  {
618  theProductXmlFile = lookup;
619 
620  // See if caller wants to load from xml vice keyword list.
621  lookup = kwl.find(prefix, LOAD_FROM_PRODUCT_FILE_KW);
622  if (lookup)
623  {
624  s = lookup;
625  if ( s.toBool() )
626  {
627  // Loading from product.xml file.
628  return open(theProductXmlFile);
629  }
630  }
631  }
632 
633 
634  // Call base.
635  bool result = ossimRpcModel::loadState(kwl, prefix);
636 
637  // Lookup decimation.
638  const char* value = kwl.find(prefix, "decimation");
639  if (value)
640  {
642  if (theDecimation <= 0.0)
643  {
644  // Do not allow negative or "0.0"(divide by zero).
645  theDecimation = 1.0;
646  }
647  }
648 
649 
650  //---
651  // Temp: This must be cleared or you end up with a bounding rect of all
652  // zero's.
653  //---
655 
656  if (traceDebug())
657  {
659  << MODULE << " exit status = " << (result?"true":"false\n")
660  << std::endl;
661  }
662 
663  return result;
664 }
const char * find(const char *key) const
static const char * TYPE_KW
bool toBool() const
String to numeric methods.
ossimPolygon theBoundGndPolygon
ossim_float64 toFloat64() const
virtual ossimString getClassName() const
Method to return the class name.
bool open(const ossimFilename &file)
Method to parse an nitf file and initialize model.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
loadState Fulfills ossimObject base-class pure virtuals.
ossim_float64 theDecimation
Stored from header field "IMAG".
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ open()

bool ossimplugins::ossimRadarSat2RPCModel::open ( const ossimFilename file)


Method to parse an nitf file and initialize model.

Parameters
entryIndexThe entry to get model for. Note the nitf's can have multiple entries; each with a different projection.
Returns
true on success, false on error.

Definition at line 106 of file ossimRadarSat2RPCModel.cpp.

References ossimRpcModel::B, RPCModel::biasError, ossimFilename::dirCat(), ossimString::downcase(), ossimFilename::exists(), ossimFilename::expand(), ossimFilename::ext(), ossimplugins::ossimRadarSat2ProductDoc::getAcquisitionType(), ossimplugins::ossimRadarSat2ProductDoc::getBeamModeMnemonic(), ossimplugins::ossimRadarSat2ProductDoc::getImageId(), ossimplugins::ossimRadarSat2ProductDoc::getRpcData(), ossimplugins::ossimRadarSat2ProductDoc::getSatellite(), RPCModel::heightOffset, RPCModel::heightScale, ossimGpt::hgt, ossimplugins::ossimRadarSat2ProductDoc::initGsd(), ossimplugins::ossimRadarSat2ProductDoc::initImageSize(), ossimFilename::isFile(), ossimGpt::isLatNan(), ossimGpt::isLonNan(), ossimplugins::ossimRadarSat2ProductDoc::isRadarSat2(), ossimGpt::lat, RPCModel::latitudeOffset, RPCModel::latitudeScale, ossimIpt::line, ossimDpt::line, RPCModel::lineDenominatorCoefficients, RPCModel::lineNumeratorCoefficients, RPCModel::lineOffset, ossimRpcModel::lineSampleHeightToWorld(), ossimRpcModel::lineSampleToWorld(), RPCModel::lineScale, ossimDrect::ll(), ossimGpt::lon, RPCModel::longitudeOffset, RPCModel::longitudeScale, ossimDrect::lr(), ossimFilename::NIL, ossimXmlDocument::openFile(), ossimNotify(), ossimNotifyLevel_DEBUG, ossimFilename::path(), RPCModel::pixelDenominatorCoefficients, RPCModel::pixelNumeratorCoefficients, RPCModel::pixelOffset, RPCModel::pixelScale, RPCModel::randomError, ossimIpt::samp, ossimDpt::samp, ossimErrorStatusInterface::setErrorStatus(), ossimSensorModel::setGroundRect(), ossimRpcModel::theBiasError, ossimSensorModel::theBoundGndPolygon, theDecimation, ossimSensorModel::theGSD, ossimRpcModel::theHgtOffset, ossimRpcModel::theHgtScale, ossimSensorModel::theImageClipRect, ossimSensorModel::theImageID, ossimSensorModel::theImageSize, ossimRpcModel::theLatOffset, ossimRpcModel::theLatScale, ossimRpcModel::theLineDenCoef, ossimRpcModel::theLineNumCoef, ossimRpcModel::theLineOffset, ossimRpcModel::theLineScale, ossimRpcModel::theLonOffset, ossimRpcModel::theLonScale, ossimSensorModel::theMeanGSD, ossimSensorModel::theNominalPosError, ossimRpcModel::thePolyType, theProductXmlFile, ossimRpcModel::theRandError, ossimSensorModel::theRefGndPt, ossimSensorModel::theRefImgPt, ossimRpcModel::theSampDenCoef, ossimRpcModel::theSampNumCoef, ossimRpcModel::theSampOffset, ossimRpcModel::theSampScale, ossimSensorModel::theSensorID, ossimSensorModel::theSubImageOffset, ossimDrect::ul(), ossimRpcModel::updateModel(), ossimDrect::ur(), ossimIpt::x, ossimDpt::x, ossimIpt::y, and ossimDpt::y.

Referenced by loadState(), and ossimRadarSat2RPCModel().

107 {
108  static const char MODULE[] = "ossimRadarSat2RPCModel::open";
109 
110  if (traceDebug())
111  {
112  ossimNotify(ossimNotifyLevel_DEBUG)<< MODULE << " entered...\n";
113  }
114 
115  bool result = false;
116 
117  // Get the xml file.
118  ossimFilename xmlFile;
119 
120  if (file.ext().downcase() == "xml")
121  {
122  xmlFile = file;
123  }
124  else if (file.isFile())
125  {
126  xmlFile = file.expand().path().dirCat("product.xml");
127  }
128 
129  if (traceDebug())
130  {
132  << "product xml file: " << xmlFile << "\n";
133  }
134 
135  if ( xmlFile.exists() )
136  {
137  //---
138  // Instantiate the XML parser:
139  //---
140  ossimXmlDocument* xdoc = new ossimXmlDocument();
141  if ( xdoc->openFile(xmlFile) )
142  {
143  ossimRadarSat2ProductDoc rsDoc;
144 
145  result = rsDoc.isRadarSat2(xdoc);
146 
147  if (result)
148  {
149  if (traceDebug())
150  {
152  << "isRadarSat2...\n";
153  ossimString s;
154  if ( rsDoc.getBeamModeMnemonic(xdoc, s) )
155  {
157  << "beam_mode_mnemonic: " << s << "\n";
158  }
159  if ( rsDoc.getAcquisitionType(xdoc, s) )
160  {
162  << "acquisition_type: " << s << "\n";
163  }
164  }
165 
166  // Set the base class number of lines and samples
167  result = rsDoc.initImageSize(xdoc, theImageSize);
168 
169 
170  //---
171  // Fetch Image Size:
172  //---
173 
176 
177 
178  //***
179  // Assign the bounding image space rectangle:
180  //***
181 
182  if (result)
183  {
184  // Set the base class clip rect.
186  0, 0,
188  }
189 
190  // Set the sub image offset. tmp hard coded (drb).
191  theSubImageOffset.x = 0.0;
192  theSubImageOffset.y = 0.0;
193 
194  // Set the image id.
195  if (result)
196  {
197  result = rsDoc.getImageId(xdoc, theImageID);
198  }
199 
200  // Set the sensor ID.
201  if (result)
202  {
203  result = rsDoc.getSatellite(xdoc, theSensorID);
204  }
205 
206  // Set the base class gsd:
207  result = rsDoc.initGsd(xdoc, theGSD);
208  if (result)
209  {
210  theMeanGSD = (theGSD.x + theGSD.y)/2.0;
211  }
212 
213 
214  }
215 
216  thePolyType = B;
217 
218 
219  RPCModel model;
220  model = rsDoc.getRpcData(xdoc);
221 
222 
223  theBiasError = model.biasError;
224  theRandError = model.randomError;
225  theLineOffset = model.lineOffset;
226  theSampOffset = model.pixelOffset;
229  theHgtOffset = model.heightOffset;
230  theLineScale = model.lineScale;
231  theSampScale = model.pixelScale;
232  theLatScale = model.latitudeScale;
233  theLonScale = model.longitudeScale;
234  theHgtScale = model.heightScale;
235 
236 
237  if (traceDebug())
238  {
240  << "All parameters RPC : "
241  << theBiasError << ", "
242  << theRandError << ", "
243  << theLineOffset << ", "
244  << theSampOffset << ", "
245  << theLatOffset << ", "
246  << theLonOffset << ", "
247  << theHgtOffset << ", "
248  << theLineScale << ", "
249  << theSampScale << ", "
250  << theLatScale << ", "
251  << theLonScale << ", "
252  << theHgtScale << ", " << std::endl;
253  }
254 
255  // Parse coefficients:
256  ossim_uint32 i;
257 
258  for (i=0; i<20; ++i)
259  {
260 
265  }
266 
267  // Assign other data members to default values:
269  theRandError*theRandError); // meters
270 
271 
272 
273 
274  } // matches: if ( xdoc->openFile(xmlFile) )
275 
276  delete xdoc;
277  xdoc = 0;
278 
279  } // matches: if ( xmlFile.exists() )
280 
281  if (result)
282  {
283  theProductXmlFile = xmlFile;
284  }
285  else
286  {
288  }
289 
290  if (result)
291  {
292  theProductXmlFile = xmlFile;
293  }
294  else
295  {
297  }
298 
299  if (result)
300  {
301  // Assign the ossimSensorModel::theBoundGndPolygon
302  ossimGpt ul;
303  ossimGpt ur;
304  ossimGpt lr;
305  ossimGpt ll;
310  setGroundRect(ul, ur, lr, ll); // ossimSensorModel method.
311  }
312 
313  if (traceDebug())
314  {
316  << MODULE << " exit status = " << (result?"true":"false\n")
317  << std::endl;
318  }
319 
320 
321 
322  //---
323  // Get the decimation if any from the header "IMAG" field.
324  //
325  // Look for string like:
326  // "/2" = 1/2
327  // "/4 = 1/4
328  // ...
329  // "/16 = 1/16
330  // If it is full resolution it should be "1.0"
331  //---
332 
333  theDecimation = 1.0;
334 
335 
336 
337  //***
338  // Assign other data members:
339  //***
340  thePolyType = B; // This may not be true for early RPC imagery
346 
347 
348  //---
349  // Assign the bounding ground polygon:
350  //
351  // NOTE: We will use the base ossimRpcModel for transformation since all
352  // of our calls are in full image space (not decimated).
353  //---
354 
355  ossimGpt v0, v1, v2, v3;
356  ossimDpt ip0 (0.0, 0.0);
358  ossimDpt ip1 (theImageSize.samp-1.0, 0.0);
360  ossimDpt ip2 (theImageSize.samp-1.0, theImageSize.line-1.0);
362  ossimDpt ip3 (0.0, theImageSize.line-1.0);
364 
366  = ossimPolygon (ossimDpt(v0), ossimDpt(v1), ossimDpt(v2), ossimDpt(v3));
367 
368  updateModel();
369 
370  // Set the ground reference point.
372  theHgtOffset,
373  theRefGndPt);
374 
376  {
377  if (traceDebug())
378  {
380  << "ossimNitfRpcModel::ossimNitfRpcModel DEBUG:"
381  << "\nGround Reference Point not valid."
382  << " Aborting with error..."
383  << std::endl;
384  }
385  setErrorStatus();
386  return false;
387  }
388 
389 
390  return true;
391 }
double theSampOffset
ossimString theSensorID
PolynomialType thePolyType
double theSampNumCoef[20]
static const ossimFilename NIL
This was taken from Wx widgets for performing touch and access date stamps.
Definition: ossimFilename.h:40
bool isLonNan() const
Definition: ossimGpt.h:140
ossimString theImageID
double samp
Definition: ossimDpt.h:164
ossimFilename expand() const
Method to do file name expansion.
const ossimDpt & ul() const
Definition: ossimDrect.h:339
double y
Definition: ossimDpt.h:165
virtual void updateModel()
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
vector< double > pixelNumeratorCoefficients
virtual void lineSampleToWorld(const ossimDpt &image_point, ossimGpt &world_point) const
double theLonScale
bool isLatNan() const
Definition: ossimGpt.h:139
double theLineScale
double theSampDenCoef[20]
double theLineNumCoef[20]
double theLatOffset
ossimDpt theSubImageOffset
double theHgtOffset
double theLonOffset
double line
Definition: ossimDpt.h:165
double theRandError
bool openFile(const ossimFilename &filename)
bool exists() const
ossim_float64 lon
Definition: ossimGpt.h:266
ossim_float64 theNominalPosError
double theLatScale
unsigned int ossim_uint32
ossimPolygon theBoundGndPolygon
virtual void lineSampleHeightToWorld(const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const
bool isFile() const
static ossimString downcase(const ossimString &aString)
Definition: ossimString.cpp:48
vector< double > lineNumeratorCoefficients
vector< double > pixelDenominatorCoefficients
ossimDrect theImageClipRect
ossim_int32 samp
Definition: ossimIpt.h:141
vector< double > lineDenominatorCoefficients
ossim_int32 y
Definition: ossimIpt.h:142
void setGroundRect(const ossimGpt &ul, const ossimGpt &ur, const ossimGpt &lr, const ossimGpt &ll)
const ossimDpt & ur() const
Definition: ossimDrect.h:340
double x
Definition: ossimDpt.h:164
ossimFilename dirCat(const ossimFilename &file) const
double theSampScale
ossim_int32 line
Definition: ossimIpt.h:142
ossimString ext() const
ossim_int32 x
Definition: ossimIpt.h:141
const ossimDpt & ll() const
Definition: ossimDrect.h:342
ossim_float64 lat
Definition: ossimGpt.h:265
double theLineDenCoef[20]
ossim_float64 theDecimation
Stored from header field "IMAG".
double theLineOffset
const ossimDpt & lr() const
Definition: ossimDrect.h:341
double theHgtScale
double theBiasError
error
ossimFilename path() const
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
ossim_float64 theMeanGSD

◆ print()

std::ostream & ossimplugins::ossimRadarSat2RPCModel::print ( std::ostream &  out) const
virtual

METHOD: print() Fulfills base-class pure virtual. Dumps contents of object to ostream.

Reimplemented from ossimRpcModel.

Definition at line 420 of file ossimRadarSat2RPCModel.cpp.

References ossimRpcModel::print().

421 {
422  // Capture the original flags.
423  std::ios_base::fmtflags f = out.flags();
424 
426 
427  // Reset flags.
428  out.setf(f);
429 
430  return out;
431 }
virtual std::ostream & print(std::ostream &out) const
print() Extends base-class implementation.

◆ saveState()

bool ossimplugins::ossimRadarSat2RPCModel::saveState ( ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

Method to save object state to a keyword list.

Parameters
kwlKeyword list to save to.
prefixadded to keys when saved.
Returns
true on success, false on error.

Reimplemented from ossimRpcModel.

Definition at line 556 of file ossimRadarSat2RPCModel.cpp.

References ossimKeywordlist::add(), ossimString::c_str(), ossimNotify(), ossimNotifyLevel_DEBUG, ossimRpcModel::saveState(), theDecimation, and theProductXmlFile.

558 {
559  static const char MODULE[] = "ossimRadarSat2RPCModel::saveState";
560 
561  if (traceDebug())
562  {
563  ossimNotify(ossimNotifyLevel_DEBUG)<< MODULE << " entered...\n";
564  }
565 
566  bool result = true;
567 
568  kwl.add(prefix, "decimation", theDecimation);
569 
570  // Save our state:
571  kwl.add(prefix, PRODUCT_XML_FILE_KW, theProductXmlFile.c_str());
572 
573  if (result)
574  {
575  // Call base save state:
576  result = ossimRpcModel::saveState(kwl, prefix);
577  }
578 
579  if (traceDebug())
580  {
582  << MODULE << " exit status = " << (result?"true":"false\n")
583  << std::endl;
584  }
585 
586  return result;
587 }
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
saveState Fulfills ossimObject base-class pure virtuals.
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
ossim_float64 theDecimation
Stored from header field "IMAG".
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ worldToLineSample()

void ossimplugins::ossimRadarSat2RPCModel::worldToLineSample ( const ossimGpt world_point,
ossimDpt image_point 
) const
virtual

worldToLineSample() Calls ossimRpcModel::worldToLineSample(), then applies (if needed) decimation.

This is a temp work around for decimation RPC NITFs.

Reimplemented from ossimRpcModel.

Definition at line 394 of file ossimRadarSat2RPCModel.cpp.

References theDecimation, ossimRpcModel::worldToLineSample(), ossimDpt::x, and ossimDpt::y.

396 {
397  // Get the full res (not decimated) point.
398  ossimRpcModel::worldToLineSample(world_point, image_point);
399 
400  // Apply decimation.
401  image_point.x = image_point.x * theDecimation;
402  image_point.y = image_point.y * theDecimation;
403 }
virtual void worldToLineSample(const ossimGpt &world_point, ossimDpt &image_point) const
worldToLineSample() Overrides base class implementation.
double y
Definition: ossimDpt.h:165
double x
Definition: ossimDpt.h:164
ossim_float64 theDecimation
Stored from header field "IMAG".

Member Data Documentation

◆ _sensor

SensorParams* ossimplugins::ossimRadarSat2RPCModel::_sensor
private

Definition at line 141 of file ossimRadarSat2RPCModel.h.

Referenced by InitSensorParams(), and initSensorParams().

◆ theDecimation

ossim_float64 ossimplugins::ossimRadarSat2RPCModel::theDecimation
private

Stored from header field "IMAG".

This is a temp work around to handle decimated rpc nitf's.

Definition at line 139 of file ossimRadarSat2RPCModel.h.

Referenced by lineSampleHeightToWorld(), loadState(), open(), saveState(), and worldToLineSample().

◆ theProductXmlFile

ossimFilename ossimplugins::ossimRadarSat2RPCModel::theProductXmlFile
private

Definition at line 145 of file ossimRadarSat2RPCModel.h.

Referenced by loadState(), open(), and saveState().


The documentation for this class was generated from the following files: