OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimTerraSarProductDoc.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // License: LGPL
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Author: David Burken
8 //
9 // Description: Utility class to encapsulate parsing TerraSAR-X product.xml
10 // file.
11 //
12 //----------------------------------------------------------------------------
13 // $Id$
14 #ifndef ossimTerraSarProductDoc_HEADER
15 #define ossimTerraSarProductDoc_HEADER 1
16 
17 #include <list>
18 #include <string>
19 #include <vector>
21 #include <ossim/base/ossimRefPtr.h>
22 
23 // Forward class declarations outside of namespace ossimplugins.
24 class ossimDpt;
25 class ossimGpt;
26 class ossimIpt;
27 class ossimXmlDocument;
28 class ossimXmlNode;
29 class ossimString;
30 
31 namespace ossimplugins
32 {
33  // Forward class declarations inside of namespace ossimplugins.
34  class CivilDateTime;
35  class PlatformPosition;
36  class RefPoint;
37  class SensorParams;
38  class Noise;
39  class SceneCoord;
40 
43  {
44  public:
47 
50 
57  bool isTerraSarX(const ossimXmlDocument* xdoc) const;
58 
66  bool initPlatformPosition(const ossimXmlDocument* xdoc,
67  PlatformPosition* pos) const;
68 
76  bool initSensorParams(const ossimXmlDocument* xdoc,
77  SensorParams* sp) const;
78 
86  bool initImageSize(const ossimXmlDocument* xdoc,
87  ossimIpt& imageSize) const;
88 
96  bool initGsd(const ossimXmlDocument* xdoc,
97  ossimDpt& gsd) const;
98 
106  bool initTiePoints(const ossimXmlDocument* xdoc,
107  std::list<ossimGpt>& gcp,
108  std::list<ossimDpt>& icp) const;
109 
110  bool isProductGeoreferenced(const ossimXmlDocument* xdoc) const;
111 
112  bool getMission(const ossimXmlDocument* xdoc,
113  ossimString& s) const;
114 
115  bool geNumberOfLayers(const ossimXmlDocument* xdoc,
116  ossimString& s) const;
117 
118  bool getImageFile(const ossimXmlDocument* xdoc,
119  ossimString& s) const;
120 
121  bool getSceneId(const ossimXmlDocument* xdoc,
122  ossimString& s) const;
123 
124  bool getProjection(const ossimXmlDocument* xdoc,
125  ossimString& s) const;
126 
127  bool getReferencePoint(const ossimXmlDocument* xdoc,
128  ossimString& s) const;
129 
130  bool getImageDataStrartWith(const ossimXmlDocument* xdoc,
131  ossimString& s) const;
132 
133  bool getOrbitDirection(const ossimXmlDocument* xdoc,
134  ossimString& s) const;
135 
136  bool getLookDirection(const ossimXmlDocument* xdoc,
137  ossimString& s) const;
138 
139  bool getGenerationTime(const ossimXmlDocument* xdoc,
140  ossimString& s) const;
141 
143  bool getRangeGateFirstPixel(const ossimXmlDocument* xdoc,
144  ossimString& s) const;
145 
147  bool getRangeGateLastPixel(const ossimXmlDocument* xdoc,
148  ossimString& s) const;
149 
151  ossimString& s) const;
152 
153  bool getSceneCenterRangeTime(const ossimXmlDocument* xdoc,
154  ossimString& s) const;
155 
157  bool getSceneCenterRefColumn(const ossimXmlDocument* xdoc,
158  ossimString& s) const;
159 
161  bool getSceneCenterRefRow(const ossimXmlDocument* xdoc,
162  ossimString& s) const;
163 
165  bool getSceneCenterLat(const ossimXmlDocument* xdoc,
166  ossimString& s) const;
167 
169  bool getSceneCenterLon(const ossimXmlDocument* xdoc,
170  ossimString& s) const;
171 
172  bool getSceneAverageHeight(const ossimXmlDocument* xdoc,
173  ossimString& s) const;
174 
175  bool getRadarCenterFrequency(const ossimXmlDocument* xdoc,
176  ossimString& s) const;
177 
178  bool getAzimuthStartTime(const ossimXmlDocument* xdoc,
179  ossimString& s) const;
180 
181  bool getAzimuthStopTime(const ossimXmlDocument* xdoc,
182  ossimString& s) const;
183 
184  bool getRangeFirstPixelTime(const ossimXmlDocument* xdoc,
185  ossimString& s) const;
186 
187  bool getRangeLastPixelTime(const ossimXmlDocument* xdoc,
188  ossimString& s) const;
189 
190  bool getCommonPrf(const ossimXmlDocument* xdoc, ossimString& s) const;
191 
193  bool getCommonRsf(const ossimXmlDocument* xdoc, ossimString& s) const;
194 
195  bool getNumberOfRangeLooks(const ossimXmlDocument* xdoc,
196  ossimString& s) const;
197 
198  bool getNumberOfAzimuthLooks(const ossimXmlDocument* xdoc,
199  ossimString& s) const;
200 
201  bool getNumberOfColumns(const ossimXmlDocument* xdoc,
202  ossimString& s) const;
203 
204  bool getNumberOfRows(const ossimXmlDocument* xdoc,
205  ossimString& s) const;
206 
207  bool getColumnSpacing(const ossimXmlDocument* xdoc,
208  ossimString& s) const;
209 
210  bool getRowSpacing(const ossimXmlDocument* xdoc,
211  ossimString& s) const;
212 
214  ossimString& s) const;
215 
217  ossimString& s) const;
218 
220  ossimString& s) const;
221 
222  bool getProductType(const ossimXmlDocument* xdoc,
223  ossimString& s) const;
224 
225  bool getProductVariant(const ossimXmlDocument* xdoc,
226  ossimString& s) const;
227 
229  ossimString& s) const;
230  bool getImagingMode(const ossimXmlDocument* xdoc,
231  ossimString& s) const;
232  bool getAcquisitionSensor(const ossimXmlDocument* xdoc,
233  ossimString& s) const;
234  bool getPolarisationMode(const ossimXmlDocument* xdoc,
235  ossimString& s) const;
236  bool getPolLayerList(const ossimXmlDocument* xdoc,
237  std::vector<ossimString>& s) const;
238  bool getCalFactor(const ossimXmlDocument* xdoc,
239  std::vector<ossimString>& s) const;
240  bool getRadarFrequency(const ossimXmlDocument* xdoc,
241  ossimString& s) const;
242 /* bool getCenterIncidenceAngle(const ossimXmlDocument* xdoc,
243  ossimString& s) const;
244  bool getCornerIncidenceAngles(const ossimXmlDocument* xdoc,
245  std::vector<ossimString>& s) const;
246 */
254  bool initSceneCoord(const ossimXmlDocument* xdoc,
255  SceneCoord* pos) const;
256 
264  bool initNoise(const ossimXmlDocument* xdoc,
265  Noise* pos) const;
266 
267 /*
268  bool getImageNoiseTimeUTC(const ossimXmlDocument* xdoc, ossimString& s) const;
269  bool getImageNoiseValidityRangeMin(const ossimXmlDocument* xdoc, ossimString& s) const;
270  bool getImageNoiseValidityRangeMax(const ossimXmlDocument* xdoc, ossimString& s) const;
271  bool getImageNoiseReferencePoint(const ossimXmlDocument* xdoc, ossimString& s) const;
272  bool getImageNoisePolynomialCoefficient( const ossimXmlDocument* xdoc, std::vector<double>& polynomialCoefficient) const;
273 
274 */
275 
276  };
277 
278 } // End: namespace ossimplugins
279 
280 #endif /* matches: #ifndef ossimTerraSarProductDoc_HEADER */
bool initSensorParams(const ossimXmlDocument *xdoc, SensorParams *sp) const
Method to initialize SensorParams object from TerraSAR product xml file.
bool getSceneCenterLon(const ossimXmlDocument *xdoc, ossimString &s) const
longitude
Class to encapsulate parsing TerraSAR product xml file.
bool initNoise(const ossimXmlDocument *xdoc, Noise *pos) const
Method to initialize Noise object from TerraSAR product xml file.
bool getSceneId(const ossimXmlDocument *xdoc, ossimString &s) const
bool getReferencePoint(const ossimXmlDocument *xdoc, ossimString &s) const
bool getProjection(const ossimXmlDocument *xdoc, ossimString &s) const
bool isTerraSarX(const ossimXmlDocument *xdoc) const
Checks for node /level1Product/generalHeader/mission containing "TSX-1".
This class represents Scence coordinate.
Definition: SceneCoord.h:29
bool getAzimuthStartTime(const ossimXmlDocument *xdoc, ossimString &s) const
This class handles the platform position.
bool getNumberOfRangeLooks(const ossimXmlDocument *xdoc, ossimString &s) const
bool isProductGeoreferenced(const ossimXmlDocument *xdoc) const
bool getPolLayerList(const ossimXmlDocument *xdoc, std::vector< ossimString > &s) const
bool getSceneAverageHeight(const ossimXmlDocument *xdoc, ossimString &s) const
bool getNumberOfAzimuthLooks(const ossimXmlDocument *xdoc, ossimString &s) const
bool getSceneCenterRefColumn(const ossimXmlDocument *xdoc, ossimString &s) const
one based
bool getProjectedSpacingAzimuth(const ossimXmlDocument *xdoc, ossimString &s) const
bool getRangeGateFirstPixel(const ossimXmlDocument *xdoc, ossimString &s) const
one based???
bool getImagingMode(const ossimXmlDocument *xdoc, ossimString &s) const
bool getSceneCenterRangeTime(const ossimXmlDocument *xdoc, ossimString &s) const
bool getCalFactor(const ossimXmlDocument *xdoc, std::vector< ossimString > &s) const
bool getRangeFirstPixelTime(const ossimXmlDocument *xdoc, ossimString &s) const
bool getRangeGateLastPixel(const ossimXmlDocument *xdoc, ossimString &s) const
one based???
bool getRadarCenterFrequency(const ossimXmlDocument *xdoc, ossimString &s) const
This class handles the sensor parameters.
Definition: SensorParams.h:29
bool getPolarisationMode(const ossimXmlDocument *xdoc, ossimString &s) const
bool getProjectedSpacingSlantRange(const ossimXmlDocument *xdoc, ossimString &s) const
bool getRadiometricCorrection(const ossimXmlDocument *xdoc, ossimString &s) const
bool getLookDirection(const ossimXmlDocument *xdoc, ossimString &s) const
bool getMission(const ossimXmlDocument *xdoc, ossimString &s) const
bool getImageDataStrartWith(const ossimXmlDocument *xdoc, ossimString &s) const
bool initPlatformPosition(const ossimXmlDocument *xdoc, PlatformPosition *pos) const
Method to initialize PlatformPosition object from TerraSAR product xml file.
bool geNumberOfLayers(const ossimXmlDocument *xdoc, ossimString &s) const
bool getProductVariant(const ossimXmlDocument *xdoc, ossimString &s) const
bool getGeodeticTerrainHeight(const ossimXmlDocument *xdoc, ossimString &s) const
bool initTiePoints(const ossimXmlDocument *xdoc, std::list< ossimGpt > &gcp, std::list< ossimDpt > &icp) const
Method to initialize image tie points from TerraSAR product xml file.
bool initSceneCoord(const ossimXmlDocument *xdoc, SceneCoord *pos) const
Method to initialize IncidenceAngles object from TerraSAR product xml file.
This class represents an Noise.
Definition: Noise.h:28
bool getCommonRsf(const ossimXmlDocument *xdoc, ossimString &s) const
range sampling rate
bool getCommonPrf(const ossimXmlDocument *xdoc, ossimString &s) const
bool getColumnSpacing(const ossimXmlDocument *xdoc, ossimString &s) const
bool initImageSize(const ossimXmlDocument *xdoc, ossimIpt &imageSize) const
Method to initialize image size from TerraSAR product xml file.
bool getNumberOfColumns(const ossimXmlDocument *xdoc, ossimString &s) const
bool getImageFile(const ossimXmlDocument *xdoc, ossimString &s) const
bool getSceneCenterLat(const ossimXmlDocument *xdoc, ossimString &s) const
latitude
bool getNumberOfRows(const ossimXmlDocument *xdoc, ossimString &s) const
bool getGenerationTime(const ossimXmlDocument *xdoc, ossimString &s) const
bool getRowSpacing(const ossimXmlDocument *xdoc, ossimString &s) const
bool getSceneCenterRefRow(const ossimXmlDocument *xdoc, ossimString &s) const
one based
bool getAzimuthStopTime(const ossimXmlDocument *xdoc, ossimString &s) const
bool getAcquisitionSensor(const ossimXmlDocument *xdoc, ossimString &s) const
bool getOrbitDirection(const ossimXmlDocument *xdoc, ossimString &s) const
bool initGsd(const ossimXmlDocument *xdoc, ossimDpt &gsd) const
Method to initialize gsd from TerraSAR product xml file.
bool getProductType(const ossimXmlDocument *xdoc, ossimString &s) const
bool getRadarFrequency(const ossimXmlDocument *xdoc, ossimString &s) const
bool getRangeLastPixelTime(const ossimXmlDocument *xdoc, ossimString &s) const
bool getSceneCenterAzimuthTime(const ossimXmlDocument *xdoc, ossimString &s) const