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

This class is able to read a Platform position data record. More...

#include <AlosPalsarPlatformPositionData.h>

Inheritance diagram for ossimplugins::AlosPalsarPlatformPositionData:
ossimplugins::AlosPalsarRecord

Public Member Functions

 AlosPalsarPlatformPositionData ()
 Constructor. More...
 
virtual ~AlosPalsarPlatformPositionData ()
 Destructor. More...
 
 AlosPalsarPlatformPositionData (const AlosPalsarPlatformPositionData &rhs)
 Copy constructor. More...
 
AlosPalsarPlatformPositionDataoperator= (const AlosPalsarPlatformPositionData &rhs)
 Copy operator. More...
 
AlosPalsarRecordInstanciate ()
 This function is able to create a new instance of the class. More...
 
AlosPalsarRecordClone ()
 This function is able to create a new instance of the class initialised with the data of the calling instance. More...
 
void Read (std::istream &is)
 Read the class data from a stream. More...
 
void Write (std::ostream &os)
 Write the class to a stream. More...
 
std::string get_orbit_ele_desg () const
 Orbital elements designator. More...
 
const double * get_orbit_ele () const
 Orbital elements. More...
 
int get_ndata () const
 Number of data points. More...
 
int get_year () const
 Year of data point. More...
 
int get_month () const
 Month of data point. More...
 
int get_day () const
 Day of data point. More...
 
int get_gmt_day () const
 Day of year. More...
 
double get_gmt_sec () const
 Seconds of day. More...
 
double get_data_int () const
 Data sampling interval. More...
 
std::string get_ref_coord () const
 Reference coordinate system. More...
 
double get_hr_angle () const
 Greenwich mean hour angle. More...
 
double get_alt_poserr () const
 Along track position error. More...
 
double get_crt_poserr () const
 Cross track position error. More...
 
double get_rad_poserr () const
 Radial position error. More...
 
double get_alt_velerr () const
 Along track velocity error. More...
 
double get_crt_velerr () const
 Cross track velocity error. More...
 
double get_rad_velerr () const
 Radial velocity error. More...
 
const AlosPalsarPositionVectorRecordget_pos_vect () const
 Data point position/velocity. More...
 
- Public Member Functions inherited from ossimplugins::AlosPalsarRecord
 AlosPalsarRecord (std::string mnemonic)
 Constructor. More...
 
virtual ~AlosPalsarRecord ()
 Destructor. More...
 
 AlosPalsarRecord (const AlosPalsarRecord &rhs)
 Copy constructor. More...
 
std::string get_mnemonic ()
 

Protected Attributes

std::string _orbit_ele_desg
 Orbital elements designator. More...
 
double _orbit_ele [6]
 Orbital elements. More...
 
int _ndata
 Number of data points. More...
 
int _year
 Year of data point. More...
 
int _month
 Month of data point. More...
 
int _day
 Day of data point. More...
 
int _gmt_day
 Day of year. More...
 
double _gmt_sec
 Seconds of day. More...
 
double _data_int
 Data sampling interval. More...
 
std::string _ref_coord
 Reference coordinate system. More...
 
double _hr_angle
 Greenwich mean hour angle. More...
 
double _alt_poserr
 Along track position error. More...
 
double _crt_poserr
 Cross track position error. More...
 
double _rad_poserr
 Radial position error. More...
 
double _alt_velerr
 Along track velocity error. More...
 
double _crt_velerr
 Cross track velocity error. More...
 
double _rad_velerr
 Radial velocity error. More...
 
AlosPalsarPositionVectorRecord _pos_vect [64]
 Data point position/velocity. More...
 
- Protected Attributes inherited from ossimplugins::AlosPalsarRecord
std::string _mnemonic
 

Friends

std::ostream & operator<< (std::ostream &os, const AlosPalsarPlatformPositionData &data)
 This function write the AlosPalsar PlatformPositionData in a stream. More...
 
std::istream & operator>> (std::istream &is, AlosPalsarPlatformPositionData &data)
 This function read a AlosPalsar PlatformPositionData from a stream. More...
 

Detailed Description

This class is able to read a Platform position data record.

Definition at line 30 of file AlosPalsarPlatformPositionData.h.

Constructor & Destructor Documentation

◆ AlosPalsarPlatformPositionData() [1/2]

ossimplugins::AlosPalsarPlatformPositionData::AlosPalsarPlatformPositionData ( )

Constructor.

Definition at line 19 of file AlosPalsarPlatformPositionData.cpp.

Referenced by Clone(), and Instanciate().

19  : AlosPalsarRecord("pos_data_rec")
20 {
21 }
AlosPalsarRecord(std::string mnemonic)
Constructor.

◆ ~AlosPalsarPlatformPositionData()

ossimplugins::AlosPalsarPlatformPositionData::~AlosPalsarPlatformPositionData ( )
virtual

Destructor.

Definition at line 23 of file AlosPalsarPlatformPositionData.cpp.

24 {
25 }

◆ AlosPalsarPlatformPositionData() [2/2]

ossimplugins::AlosPalsarPlatformPositionData::AlosPalsarPlatformPositionData ( const AlosPalsarPlatformPositionData rhs)

Copy constructor.

Definition at line 162 of file AlosPalsarPlatformPositionData.cpp.

References _alt_poserr, _alt_velerr, _crt_poserr, _crt_velerr, _data_int, _day, _gmt_day, _gmt_sec, _hr_angle, _month, _ndata, _orbit_ele, _orbit_ele_desg, _pos_vect, _rad_poserr, _rad_velerr, _ref_coord, and _year.

162  :
163  AlosPalsarRecord(rhs)
164 {
165  _orbit_ele_desg = rhs._orbit_ele_desg;
166 
167  for (int i = 0; i < 6; i++)
168  {
169  _orbit_ele[i] = rhs._orbit_ele[i];
170  }
171 
172  _ndata = rhs._ndata;
173 
174  _year = rhs._year;
175 
176  _month = rhs._month;
177 
178  _day = rhs._day;
179 
180  _gmt_day = rhs._gmt_day;
181 
182  _gmt_sec = rhs._gmt_sec;
183 
184  _data_int = rhs._data_int;
185 
186  _ref_coord = rhs._ref_coord;
187 
188  _hr_angle = rhs._hr_angle;
189 
190  _alt_poserr = rhs._alt_poserr;
191 
192  _crt_poserr = rhs._crt_poserr;
193 
194  _rad_poserr = rhs._rad_poserr;
195 
196  _alt_velerr = rhs._alt_velerr;
197 
198  _crt_velerr = rhs._crt_velerr;
199 
200  _rad_velerr = rhs._rad_velerr;
201 
202  for (int i = 0; i < 64; i++)
203  {
204  _pos_vect[i] = rhs._pos_vect[i];
205  }
206 
207 }
AlosPalsarPositionVectorRecord _pos_vect[64]
Data point position/velocity.
std::string _orbit_ele_desg
Orbital elements designator.
AlosPalsarRecord(std::string mnemonic)
Constructor.
std::string _ref_coord
Reference coordinate system.

Member Function Documentation

◆ Clone()

AlosPalsarRecord* ossimplugins::AlosPalsarPlatformPositionData::Clone ( )
inlinevirtual

This function is able to create a new instance of the class initialised with the data of the calling instance.

Implements ossimplugins::AlosPalsarRecord.

Definition at line 73 of file AlosPalsarPlatformPositionData.h.

References AlosPalsarPlatformPositionData().

74  {
75  return new AlosPalsarPlatformPositionData(*this);
76  };

◆ get_alt_poserr()

double ossimplugins::AlosPalsarPlatformPositionData::get_alt_poserr ( ) const
inline

Along track position error.

Definition at line 174 of file AlosPalsarPlatformPositionData.h.

References _alt_poserr.

175  {
176  return _alt_poserr;
177  };

◆ get_alt_velerr()

double ossimplugins::AlosPalsarPlatformPositionData::get_alt_velerr ( ) const
inline

Along track velocity error.

Definition at line 195 of file AlosPalsarPlatformPositionData.h.

References _alt_velerr.

196  {
197  return _alt_velerr;
198  };

◆ get_crt_poserr()

double ossimplugins::AlosPalsarPlatformPositionData::get_crt_poserr ( ) const
inline

Cross track position error.

Definition at line 181 of file AlosPalsarPlatformPositionData.h.

References _crt_poserr.

182  {
183  return _crt_poserr;
184  };

◆ get_crt_velerr()

double ossimplugins::AlosPalsarPlatformPositionData::get_crt_velerr ( ) const
inline

Cross track velocity error.

Definition at line 202 of file AlosPalsarPlatformPositionData.h.

References _crt_velerr.

203  {
204  return _crt_velerr;
205  };

◆ get_data_int()

double ossimplugins::AlosPalsarPlatformPositionData::get_data_int ( ) const
inline

Data sampling interval.

Definition at line 153 of file AlosPalsarPlatformPositionData.h.

References _data_int.

Referenced by ossimplugins::AlosPalsarLeader::saveState().

154  {
155  return _data_int;
156  };

◆ get_day()

int ossimplugins::AlosPalsarPlatformPositionData::get_day ( ) const
inline

Day of data point.

Definition at line 132 of file AlosPalsarPlatformPositionData.h.

References _day.

Referenced by ossimplugins::AlosPalsarLeader::saveState().

133  {
134  return _day;
135  };

◆ get_gmt_day()

int ossimplugins::AlosPalsarPlatformPositionData::get_gmt_day ( ) const
inline

Day of year.

Definition at line 139 of file AlosPalsarPlatformPositionData.h.

References _gmt_day.

Referenced by ossimplugins::AlosPalsarLeader::saveState().

140  {
141  return _gmt_day;
142  };

◆ get_gmt_sec()

double ossimplugins::AlosPalsarPlatformPositionData::get_gmt_sec ( ) const
inline

Seconds of day.

Definition at line 146 of file AlosPalsarPlatformPositionData.h.

References _gmt_sec.

Referenced by ossimplugins::AlosPalsarLeader::saveState().

147  {
148  return _gmt_sec;
149  };

◆ get_hr_angle()

double ossimplugins::AlosPalsarPlatformPositionData::get_hr_angle ( ) const
inline

Greenwich mean hour angle.

Definition at line 167 of file AlosPalsarPlatformPositionData.h.

References _hr_angle.

Referenced by ossimplugins::AlosPalsarLeader::saveState().

168  {
169  return _hr_angle;
170  };

◆ get_month()

int ossimplugins::AlosPalsarPlatformPositionData::get_month ( ) const
inline

Month of data point.

Definition at line 125 of file AlosPalsarPlatformPositionData.h.

References _month.

Referenced by ossimplugins::AlosPalsarLeader::saveState().

126  {
127  return _month;
128  };

◆ get_ndata()

int ossimplugins::AlosPalsarPlatformPositionData::get_ndata ( ) const
inline

Number of data points.

Definition at line 111 of file AlosPalsarPlatformPositionData.h.

References _ndata.

Referenced by ossimplugins::AlosPalsarLeader::saveState().

112  {
113  return _ndata;
114  };

◆ get_orbit_ele()

const double* ossimplugins::AlosPalsarPlatformPositionData::get_orbit_ele ( ) const
inline

Orbital elements.

Definition at line 104 of file AlosPalsarPlatformPositionData.h.

References _orbit_ele.

105  {
106  return _orbit_ele;
107  };

◆ get_orbit_ele_desg()

std::string ossimplugins::AlosPalsarPlatformPositionData::get_orbit_ele_desg ( ) const
inline

Orbital elements designator.

Definition at line 97 of file AlosPalsarPlatformPositionData.h.

References _orbit_ele_desg.

98  {
99  return _orbit_ele_desg;
100  };
std::string _orbit_ele_desg
Orbital elements designator.

◆ get_pos_vect()

const AlosPalsarPositionVectorRecord* ossimplugins::AlosPalsarPlatformPositionData::get_pos_vect ( ) const
inline

Data point position/velocity.

Definition at line 216 of file AlosPalsarPlatformPositionData.h.

References _pos_vect.

Referenced by ossimplugins::AlosPalsarLeader::saveState().

217  {
218  return _pos_vect;
219  };
AlosPalsarPositionVectorRecord _pos_vect[64]
Data point position/velocity.

◆ get_rad_poserr()

double ossimplugins::AlosPalsarPlatformPositionData::get_rad_poserr ( ) const
inline

Radial position error.

Definition at line 188 of file AlosPalsarPlatformPositionData.h.

References _rad_poserr.

189  {
190  return _rad_poserr;
191  };

◆ get_rad_velerr()

double ossimplugins::AlosPalsarPlatformPositionData::get_rad_velerr ( ) const
inline

Radial velocity error.

Definition at line 209 of file AlosPalsarPlatformPositionData.h.

References _rad_velerr.

210  {
211  return _rad_velerr;
212  };

◆ get_ref_coord()

std::string ossimplugins::AlosPalsarPlatformPositionData::get_ref_coord ( ) const
inline

Reference coordinate system.

Definition at line 160 of file AlosPalsarPlatformPositionData.h.

References _ref_coord.

161  {
162  return _ref_coord;
163  };
std::string _ref_coord
Reference coordinate system.

◆ get_year()

int ossimplugins::AlosPalsarPlatformPositionData::get_year ( ) const
inline

Year of data point.

Definition at line 118 of file AlosPalsarPlatformPositionData.h.

References _year.

Referenced by ossimplugins::AlosPalsarLeader::saveState().

119  {
120  return _year;
121  };

◆ Instanciate()

AlosPalsarRecord* ossimplugins::AlosPalsarPlatformPositionData::Instanciate ( )
inlinevirtual

This function is able to create a new instance of the class.

Implements ossimplugins::AlosPalsarRecord.

Definition at line 65 of file AlosPalsarPlatformPositionData.h.

References AlosPalsarPlatformPositionData().

◆ operator=()

AlosPalsarPlatformPositionData & ossimplugins::AlosPalsarPlatformPositionData::operator= ( const AlosPalsarPlatformPositionData rhs)

Copy operator.

Definition at line 209 of file AlosPalsarPlatformPositionData.cpp.

References _alt_poserr, _alt_velerr, _crt_poserr, _crt_velerr, _data_int, _day, _gmt_day, _gmt_sec, _hr_angle, _month, _ndata, _orbit_ele, _orbit_ele_desg, _pos_vect, _rad_poserr, _rad_velerr, _ref_coord, and _year.

210 {
211  _orbit_ele_desg = rhs._orbit_ele_desg;
212 
213  for (int i = 0; i < 6; i++)
214  {
215  _orbit_ele[i] = rhs._orbit_ele[i];
216  }
217 
218  _ndata = rhs._ndata;
219 
220  _year = rhs._year;
221 
222  _month = rhs._month;
223 
224  _day = rhs._day;
225 
226  _gmt_day = rhs._gmt_day;
227 
228  _gmt_sec = rhs._gmt_sec;
229 
230  _data_int = rhs._data_int;
231 
232  _ref_coord = rhs._ref_coord;
233 
234  _hr_angle = rhs._hr_angle;
235 
236  _alt_poserr = rhs._alt_poserr;
237 
238  _crt_poserr = rhs._crt_poserr;
239 
240  _rad_poserr = rhs._rad_poserr;
241 
242  _alt_velerr = rhs._alt_velerr;
243 
244  _crt_velerr = rhs._crt_velerr;
245 
246  _rad_velerr = rhs._rad_velerr;
247 
248  for (int i = 0; i < 64; i++)
249  {
250  _pos_vect[i] = rhs._pos_vect[i];
251  }
252 
253  return *this;
254 }
AlosPalsarPositionVectorRecord _pos_vect[64]
Data point position/velocity.
std::string _orbit_ele_desg
Orbital elements designator.
std::string _ref_coord
Reference coordinate system.

◆ Read()

void ossimplugins::AlosPalsarPlatformPositionData::Read ( std::istream &  is)
inlinevirtual

Read the class data from a stream.

Implements ossimplugins::AlosPalsarRecord.

Definition at line 81 of file AlosPalsarPlatformPositionData.h.

82  {
83  is >> *this;
84  };

◆ Write()

void ossimplugins::AlosPalsarPlatformPositionData::Write ( std::ostream &  os)
inlinevirtual

Write the class to a stream.

Implements ossimplugins::AlosPalsarRecord.

Definition at line 89 of file AlosPalsarPlatformPositionData.h.

90  {
91  os << *this;
92  };

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const AlosPalsarPlatformPositionData data 
)
friend

This function write the AlosPalsar PlatformPositionData in a stream.

Definition at line 27 of file AlosPalsarPlatformPositionData.cpp.

28 {
29  os << "orbit_ele_desg:" << data._orbit_ele_desg.c_str() << std::endl;
30 
31  for (int i = 0; i < 6; i++)
32  {
33  os << "orbit_ele[" << i << "]:" << data._orbit_ele[i] << std::endl;
34  }
35 
36  os << "ndata:" << data._ndata << std::endl;
37 
38  os << "year:" << data._year << std::endl;
39 
40  os << "month:" << data._month << std::endl;
41 
42  os << "day:" << data._day << std::endl;
43 
44  os << "gmt_day:" << data._gmt_day << std::endl;
45 
46  os << "gmt_sec:" << data._gmt_sec << std::endl;
47 
48  os << "data_int:" << data._data_int << std::endl;
49 
50  os << "ref_coord:" << data._ref_coord.c_str() << std::endl;
51 
52  os << "hr_angle:" << data._hr_angle << std::endl;
53 
54  os << "alt_poserr:" << data._alt_poserr << std::endl;
55 
56  os << "crt_poserr:" << data._crt_poserr << std::endl;
57 
58  os << "rad_poserr:" << data._rad_poserr << std::endl;
59 
60  os << "alt_velerr:" << data._alt_velerr << std::endl;
61 
62  os << "crt_velerr:" << data._crt_velerr << std::endl;
63 
64  os << "rad_velerr:" << data._rad_velerr << std::endl;
65 
66  for (int i = 0; i < 64; i++)
67  {
68  os << "pos_vect[" << i << "]:" << data._pos_vect[i] << std::endl;
69  }
70 
71  return os;
72 }

◆ operator>>

std::istream& operator>> ( std::istream &  is,
AlosPalsarPlatformPositionData data 
)
friend

This function read a AlosPalsar PlatformPositionData from a stream.

Definition at line 74 of file AlosPalsarPlatformPositionData.cpp.

75 {
76  char buf[1207];
77  buf[1206] = '\0';
78 
79  is.read(buf, 32);
80  buf[32] = '\0';
81  data._orbit_ele_desg = buf;
82 
83  for (int i = 0; i < 6; i++)
84  {
85  is.read(buf, 16);
86  buf[16] = '\0';
87  data._orbit_ele[i] = atof(buf);
88  }
89 
90  is.read(buf, 4);
91  buf[4] = '\0';
92  data._ndata = atoi(buf);
93 
94  is.read(buf, 4);
95  buf[4] = '\0';
96  data._year = atoi(buf);
97 
98  is.read(buf, 4);
99  buf[4] = '\0';
100  data._month = atoi(buf);
101 
102  is.read(buf, 4);
103  buf[4] = '\0';
104  data._day = atoi(buf);
105 
106  is.read(buf, 4);
107  buf[4] = '\0';
108  data._gmt_day = atoi(buf);
109 
110  is.read(buf, 22);
111  buf[22] = '\0';
112  data._gmt_sec = atof(buf);
113 
114  is.read(buf, 22);
115  buf[22] = '\0';
116  data._data_int = atof(buf);
117 
118  is.read(buf, 64);
119  buf[64] = '\0';
120  data._ref_coord = buf;
121 
122  is.read(buf, 22);
123  buf[22] = '\0';
124  data._hr_angle = atof(buf);
125 
126  is.read(buf, 16);
127  buf[16] = '\0';
128  data._alt_poserr = atof(buf);
129 
130  is.read(buf, 16);
131  buf[16] = '\0';
132  data._crt_poserr = atof(buf);
133 
134  is.read(buf, 16);
135  buf[16] = '\0';
136  data._rad_poserr = atof(buf);
137 
138  is.read(buf, 16);
139  buf[16] = '\0';
140  data._alt_velerr = atof(buf);
141 
142  is.read(buf, 16);
143  buf[16] = '\0';
144  data._crt_velerr = atof(buf);
145 
146  is.read(buf, 16);
147  buf[16] = '\0';
148  data._rad_velerr = atof(buf);
149 
150  for (int i = 0; i < data._ndata; i++)
151  {
152  is >> data._pos_vect[i];
153  }
154 
155  is.seekg(598, std::ios::cur); //skip the rest of the platform position data record
156  is.seekg(8192, std::ios::cur); //skip to the radiometric data record
157  //is.seekg(12495744, std::ios::cur); //skip to the 11th facility-related data record
158 
159  return is;
160 }

Member Data Documentation

◆ _alt_poserr

double ossimplugins::AlosPalsarPlatformPositionData::_alt_poserr
protected

◆ _alt_velerr

double ossimplugins::AlosPalsarPlatformPositionData::_alt_velerr
protected

◆ _crt_poserr

double ossimplugins::AlosPalsarPlatformPositionData::_crt_poserr
protected

◆ _crt_velerr

double ossimplugins::AlosPalsarPlatformPositionData::_crt_velerr
protected

◆ _data_int

double ossimplugins::AlosPalsarPlatformPositionData::_data_int
protected

◆ _day

int ossimplugins::AlosPalsarPlatformPositionData::_day
protected

◆ _gmt_day

int ossimplugins::AlosPalsarPlatformPositionData::_gmt_day
protected

◆ _gmt_sec

double ossimplugins::AlosPalsarPlatformPositionData::_gmt_sec
protected

◆ _hr_angle

double ossimplugins::AlosPalsarPlatformPositionData::_hr_angle
protected

◆ _month

int ossimplugins::AlosPalsarPlatformPositionData::_month
protected

◆ _ndata

int ossimplugins::AlosPalsarPlatformPositionData::_ndata
protected

◆ _orbit_ele

double ossimplugins::AlosPalsarPlatformPositionData::_orbit_ele[6]
protected

◆ _orbit_ele_desg

std::string ossimplugins::AlosPalsarPlatformPositionData::_orbit_ele_desg
protected

◆ _pos_vect

AlosPalsarPositionVectorRecord ossimplugins::AlosPalsarPlatformPositionData::_pos_vect[64]
protected

◆ _rad_poserr

double ossimplugins::AlosPalsarPlatformPositionData::_rad_poserr
protected

◆ _rad_velerr

double ossimplugins::AlosPalsarPlatformPositionData::_rad_velerr
protected

◆ _ref_coord

std::string ossimplugins::AlosPalsarPlatformPositionData::_ref_coord
protected

◆ _year

int ossimplugins::AlosPalsarPlatformPositionData::_year
protected

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