42 static const char LOAD_FROM_PRODUCT_FILE_KW[] =
"load_from_product_file_flag";
43 static const char PRODUCT_XML_FILE_KW[] =
"product_xml_filename";
46 static ossimTrace traceDebug(
"ossimRadarSat2RPCModel:debug");
63 theProductXmlFile(rhs.theProductXmlFile)
84 <<
"DEBUG ossimRadarSat2RPCModel::ossimRadarSat2RPCModel(RS2File): Unable to parse file " << RS2File
108 static const char MODULE[] =
"ossimRadarSat2RPCModel::open";
132 <<
"product xml file: " << xmlFile <<
"\n";
152 <<
"isRadarSat2...\n";
157 <<
"beam_mode_mnemonic: " << s <<
"\n";
162 <<
"acquisition_type: " << s <<
"\n";
240 <<
"All parameters RPC : " 316 << MODULE <<
" exit status = " << (result?
"true":
"false\n")
380 <<
"ossimNitfRpcModel::ossimNitfRpcModel DEBUG:" 381 <<
"\nGround Reference Point not valid." 382 <<
" Aborting with error..." 407 const double& heightEllipsoid,
423 std::ios_base::fmtflags f = out.flags();
438 const char* central_freq_str = kwl.
find(prefix,
"central_freq");
439 double central_freq = 0.0;
440 if (central_freq_str)
444 const char* fr_str = kwl.
find(prefix,
"fr");
450 const char* fa_str = kwl.
find(prefix,
"fa");
458 const char* n_azilok_str = kwl.
find(prefix,
"n_azilok");
459 double n_azilok = 0.0;
464 const char* n_rnglok_str = kwl.
find(prefix,
"n_rnglok");
465 double n_rnglok = 0.0;
472 const char* ellip_maj_str = kwl.
find(prefix,
"ellip_maj");
473 double ellip_maj = 0.0;
478 const char* ellip_min_str = kwl.
find(prefix,
"ellip_min");
479 double ellip_min = 0.0;
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) ;
501 const char* lookDirection_str = kwl.
find(prefix,
"lookDirection");
502 std::string lookDirection(lookDirection_str) ;
507 const double CLUM = 2.99792458e+8 ;
508 double wave_length = CLUM / central_freq ;
525 static const char MODULE[] =
"ossimRadarSat2RPCModel::initSensorParams";
549 << MODULE <<
" exit status = " << (result?
"true":
"false\n")
557 const char* prefix)
const 559 static const char MODULE[] =
"ossimRadarSat2RPCModel::saveState";
582 << MODULE <<
" exit status = " << (result?
"true":
"false\n")
593 static const char MODULE[] =
"ossimRadarSat2RPCModel::loadState";
600 const char* lookup = 0;
615 lookup = kwl.
find(prefix, PRODUCT_XML_FILE_KW);
621 lookup = kwl.
find(prefix, LOAD_FROM_PRODUCT_FILE_KW);
638 const char* value = kwl.
find(prefix,
"decimation");
659 << MODULE <<
" exit status = " << (result?
"true":
"false\n")
PolynomialType thePolyType
virtual void worldToLineSample(const ossimGpt &world_point, ossimDpt &image_point) const
worldToLineSample() Overrides base class implementation.
double theSampNumCoef[20]
void set_sightDirection(SightDirection sight)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save object state to a keyword list.
virtual std::ostream & print(std::ostream &out) const
static const ossimFilename NIL
This was taken from Wx widgets for performing touch and access date stamps.
RTTI_DEF1(ossimAlosPalsarModel, "ossimAlosPalsarModel", ossimGeometricSarSensorModel)
Represents serializable keyword/value map.
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::...
const char * find(const char *key) const
ossimFilename expand() const
Method to do file name expansion.
const ossimDpt & ul() const
ossimRadarSat2RPCModel()
default constructor
void set_lin_direction(int dir)
virtual void updateModel()
Class to encapsulate parsing RadarSat2 product.xml file.
ossim_float64 hgt
Height in meters above the ellipsiod.
vector< double > pixelNumeratorCoefficients
bool getSatellite(const ossimXmlDocument *xdoc, ossimString &s) const
This class handles the sensor parameters.
virtual void lineSampleToWorld(const ossimDpt &image_point, ossimGpt &world_point) const
ossimFilename theProductXmlFile
static const char * TYPE_KW
void set_semiMinorAxis(double value)
double theSampDenCoef[20]
double theLineNumCoef[20]
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
virtual std::ostream & print(std::ostream &out) const
print() Extends base-class implementation.
ossimDpt theSubImageOffset
bool getAcquisitionType(const ossimXmlDocument *xdoc, ossimString &s) const
/product/sourceAttributes/radarParameters/acquisitionType
bool isRadarSat2(const ossimXmlDocument *xdoc) const
Checks for node /product/sourceAttributes/satellite containing RADARSAT-2.
bool openFile(const ossimFilename &filename)
bool initSensorParams(const ossimXmlDocument *xdoc, SensorParams *sp) const
Method to initialize SensorParams object from RadarSat "product.xml" file.
ossim_float64 theNominalPosError
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
saveState Fulfills ossimObject base-class pure virtuals.
bool toBool() const
String to numeric methods.
bool initGsd(const ossimXmlDocument *xdoc, ossimDpt &gsd) const
Method to initialize gsd from RadarSat "product.xml" file.
unsigned int ossim_uint32
ossimPolygon theBoundGndPolygon
bool initSensorParams(const ossimXmlDocument *xdoc, const ossimRadarSat2ProductDoc &rsDoc)
ossim_float64 toFloat64() const
virtual void lineSampleHeightToWorld(const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const
void set_semiMajorAxis(double value)
virtual ossimString getClassName() const
Method to return the class name.
static ossimString downcase(const ossimString &aString)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of the object from a keyword list.
bool open(const ossimFilename &file)
Method to parse an nitf file and initialize model.
void set_nRangeLook(double look)
vector< double > lineNumeratorCoefficients
virtual ~ossimRadarSat2RPCModel()
Destructor.
vector< double > pixelDenominatorCoefficients
ossimDrect theImageClipRect
bool getBeamModeMnemonic(const ossimXmlDocument *xdoc, ossimString &s) const
/product/sourceAttributes/beamModeMnemonic
This class allows for direct localisation and indirect localisation using the RadarSat2 sensor model...
vector< double > lineDenominatorCoefficients
bool initImageSize(const ossimXmlDocument *xdoc, ossimIpt &imageSize) const
Method to initialize image size from RadarSat "product.xml" file.
void setGroundRect(const ossimGpt &ul, const ossimGpt &ur, const ossimGpt &lr, const ossimGpt &ll)
virtual void setErrorStatus() const
const ossimDpt & ur() const
ossimFilename dirCat(const ossimFilename &file) const
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string's contents...
bool InitSensorParams(const ossimKeywordlist &kwl, const char *prefix)
void set_nAzimuthLook(double look)
RPCModel getRpcData(const ossimXmlDocument *xdoc) const
const ossimDpt & ll() const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
loadState Fulfills ossimObject base-class pure virtuals.
double theLineDenCoef[20]
ossim_float64 theDecimation
Stored from header field "IMAG".
void set_col_direction(int dir)
const ossimDpt & lr() const
ossimFilename path() const
virtual ossimObject * dup() const
Returns pointer to a new instance, copy of this.
bool getImageId(const ossimXmlDocument *xdoc, ossimString &s) const
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
virtual void worldToLineSample(const ossimGpt &world_point, ossimDpt &image_point) const
worldToLineSample() Calls ossimRpcModel::worldToLineSample(), then applies (if needed) decimation...
std::basic_ostream< char > ostream
Base class for char output streams.