OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimRadarSat2Model.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // "Copyright Centre National d'Etudes Spatiales"
4 //
5 // License: LGPL
6 //
7 // See LICENSE.txt file in the top level directory for more details.
8 //
9 //----------------------------------------------------------------------------
10 // $Id$
11 
12 #ifndef ossimRadarSat2Model_H
13 #define ossimRadarSat2Model_H 1
14 
18 #include <ossim/base/ossimIpt.h>
20 #include <ossim/base/ossimGpt.h>
21 #include <ossim/base/ossimDpt.h>
22 #include <iostream>
23 #include <list>
24 
25 #include <otb/CivilDateTime.h>
27 
28 class ossimFilename;
29 class ossimString;
30 class ossimXmlDocument;
31 
32 namespace ossimplugins
33 {
34 
35  class ossimRadarSat2ProductDoc;
36 
37 class PlatformPosition;
38 class SensorParams;
39 class RefPoint;
40 
46 {
47 public:
50 
53 
55  virtual ~ossimRadarSat2Model();
56 
61  virtual ossimString getClassName() const;
62 
66  virtual ossimObject* dup() const;
67 
73  virtual double getSlantRangeFromGeoreferenced(double col) const;
74 
83  bool open(const ossimFilename& file);
84 
91  virtual bool saveState(ossimKeywordlist& kwl,
92  const char* prefix=0) const;
93 
99  virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0);
100 
105  virtual std::ostream& print(std::ostream& out) const;
106 
107 private:
108 
109  virtual bool InitPlatformPosition(const ossimKeywordlist &kwl,
110  const char *prefix);
111 
112  virtual bool InitSensorParams(const ossimKeywordlist &kwl,
113  const char *prefix);
114 
115  virtual bool InitRefPoint(const ossimKeywordlist &kwl,
116  const char *prefix);
117 
118  virtual bool InitRefNoiseLevel(const ossimXmlDocument* xmlDocument);
119  virtual bool InitLut( const ossimXmlDocument* xmlDocument,
120  RadarSat2NoiseLevel& noise);
121 
127  virtual bool InitSRGR(const ossimKeywordlist &kwl, const char *prefix);
128 
133  int FindSRGRSetNumber(JSDDateTime date) const;
134 
138  bool initSRGR(const ossimXmlDocument* xdoc,
139  const ossimRadarSat2ProductDoc& rsDoc);
140 
141  bool initPlatformPosition(const ossimXmlDocument* xdoc,
142  const ossimRadarSat2ProductDoc& rsDoc);
143 
144  bool initSensorParams(const ossimXmlDocument* xdoc,
145  const ossimRadarSat2ProductDoc& rsDoc);
146 
153  bool initRefPoint(const ossimXmlDocument* xdoc,
154  const ossimRadarSat2ProductDoc& rsDoc);
155 
163  bool setModelRefPoint(const std::list<ossimGpt>& groundGcpCoordinates,
164  const std::list<ossimDpt>& imageGcpCoordinates);
165 
170  int _n_srgr;
171 
176  std::vector<double> _srgr_update;
180  std::vector<double> _SrGr_R0 ;
181 
185  std::vector< std::vector<double> > _SrGr_coeffs ;
186 
190  std::vector< RadarSat2NoiseLevel > _noiseLevel ;
191 
192 
193 TYPE_DATA
194 
195 };
196 }
197 
198 #endif
Represents serializable keyword/value map.
std::vector< RadarSat2NoiseLevel > _noiseLevel
noise level values
Class to encapsulate parsing RadarSat2 product.xml file.
std::ostream & print(H5::H5File *file, std::ostream &out)
Print method.
Definition: ossimH5Util.cpp:41
This class allows for direct localisation and indirect localisation using the geometric model of SAR ...
int _n_srgr
Slant Range FOR EACH Ground Range (SRGR) number of coefficients sets.
#define TYPE_DATA
Definition: ossimRtti.h:339
std::vector< double > _SrGr_R0
Slant Range FOR EACH Ground Range Projection reference point.
#define OSSIM_PLUGINS_DLL
This class represents an Noise.
This class allows for direct localisation and indirect localisation using the RadarSat2 sensor model...
const char * getClassName(int idx)
std::vector< double > _srgr_update
Slant Range FOR EACH Ground Range coefficient sets update times.
std::vector< std::vector< double > > _SrGr_coeffs
Slant Range FOR EACH Ground Range Projection coefficients.
This class represents a date.
Definition: JSDDateTime.h:30
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23