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

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

#include <PlatformPositionData.h>

Inheritance diagram for ossimplugins::PlatformPositionData:
ossimplugins::RadarSatRecord

Public Member Functions

 PlatformPositionData ()
 Constructor. More...
 
 ~PlatformPositionData ()
 Destructor. More...
 
 PlatformPositionData (const PlatformPositionData &rhs)
 Copy constructor. More...
 
PlatformPositionDataoperator= (const PlatformPositionData &rhs)
 Copy operator. More...
 
RadarSatRecordInstanciate ()
 This function is able to create a new instance of the class. More...
 
RadarSatRecordClone ()
 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)
 Reads the class data from a stream. More...
 
void Write (std::ostream &os)
 Writes the class to a stream. More...
 
std::string get_orbit_ele_desg ()
 Orbital elements designator. More...
 
double * get_orbit_ele ()
 
Orbital elements More...
 
int get_ndata ()
 
Number of data points More...
 
int get_year ()
 
Year of data point More...
 
int get_month ()
 
Month of data point More...
 
int get_day ()
 
Day of data point More...
 
int get_gmt_day ()
 
Day of year More...
 
double get_gmt_sec ()
 
Seconds of day More...
 
double get_data_int ()
 
Data sampling interval More...
 
std::string get_ref_coord ()
 
Reference coordinate system More...
 
double get_hr_angle ()
 
Greenwich mean hour angle More...
 
double get_alt_poserr ()
 
Along track position error More...
 
double get_crt_poserr ()
 
Cross track position error More...
 
double get_rad_poserr ()
 
Radial position error More...
 
double get_alt_velerr ()
 
Along track velocity error More...
 
double get_crt_velerr ()
 
Cross track velocity error More...
 
double get_rad_velerr ()
 
Radial velocity error More...
 
PositionVectorRecordget_pos_vect ()
 
Data point position/velocity More...
 
- Public Member Functions inherited from ossimplugins::RadarSatRecord
 RadarSatRecord (std::string mnemonic)
 Constructor. More...
 
virtual ~RadarSatRecord ()
 Destructor. More...
 
 RadarSatRecord (const RadarSatRecord &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...
 
PositionVectorRecord _pos_vect [64]
 
Data point position/velocity More...
 
- Protected Attributes inherited from ossimplugins::RadarSatRecord
std::string _mnemonic
 

Friends

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

Detailed Description

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

Definition at line 27 of file PlatformPositionData.h.

Constructor & Destructor Documentation

◆ PlatformPositionData() [1/2]

ossimplugins::PlatformPositionData::PlatformPositionData ( )

Constructor.

Definition at line 16 of file PlatformPositionData.cpp.

Referenced by Clone(), and Instanciate().

16  : RadarSatRecord("pos_data_rec")
17 {
18 }
RadarSatRecord(std::string mnemonic)
Constructor.

◆ ~PlatformPositionData()

ossimplugins::PlatformPositionData::~PlatformPositionData ( )

Destructor.

Definition at line 20 of file PlatformPositionData.cpp.

21 {
22 }

◆ PlatformPositionData() [2/2]

ossimplugins::PlatformPositionData::PlatformPositionData ( const PlatformPositionData rhs)

Copy constructor.

Definition at line 158 of file PlatformPositionData.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.

158  :
159  RadarSatRecord(rhs)
160 {
161  _orbit_ele_desg = rhs._orbit_ele_desg;
162 
163  for(int i=0;i<6;i++)
164  {
165  _orbit_ele[i] = rhs._orbit_ele[i];
166  }
167 
168  _ndata = rhs._ndata;
169 
170  _year = rhs._year;
171 
172  _month = rhs._month;
173 
174  _day = rhs._day;
175 
176  _gmt_day = rhs._gmt_day;
177 
178  _gmt_sec = rhs._gmt_sec;
179 
180  _data_int = rhs._data_int;
181 
182  _ref_coord = rhs._ref_coord;
183 
184  _hr_angle = rhs._hr_angle;
185 
186  _alt_poserr = rhs._alt_poserr;
187 
188  _crt_poserr = rhs._crt_poserr;
189 
190  _rad_poserr = rhs._rad_poserr;
191 
192  _alt_velerr = rhs._alt_velerr;
193 
194  _crt_velerr = rhs._crt_velerr;
195 
196  _rad_velerr = rhs._rad_velerr;
197 
198  for (int i=0;i<64;i++)
199  {
200  _pos_vect[i] = rhs._pos_vect[i];
201  }
202 
203 }
double _crt_velerr
Cross track velocity error
double _crt_poserr
Cross track position error
double _alt_poserr
Along track position error
std::string _orbit_ele_desg
Orbital elements designator.
double _hr_angle
Greenwich mean hour angle
RadarSatRecord(std::string mnemonic)
Constructor.
double _orbit_ele[6]
Orbital elements
double _alt_velerr
Along track velocity error
std::string _ref_coord
Reference coordinate system
double _data_int
Data sampling interval
PositionVectorRecord _pos_vect[64]
Data point position/velocity
double _rad_velerr
Radial velocity error
double _rad_poserr
Radial position error

Member Function Documentation

◆ Clone()

RadarSatRecord* ossimplugins::PlatformPositionData::Clone ( )
inlinevirtual

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

Implements ossimplugins::RadarSatRecord.

Definition at line 70 of file PlatformPositionData.h.

References PlatformPositionData().

71  {
72  return new PlatformPositionData(*this);
73  };

◆ get_alt_poserr()

double ossimplugins::PlatformPositionData::get_alt_poserr ( )
inline


Along track position error

Definition at line 171 of file PlatformPositionData.h.

References _alt_poserr.

172  {
173  return _alt_poserr;
174  };
double _alt_poserr
Along track position error

◆ get_alt_velerr()

double ossimplugins::PlatformPositionData::get_alt_velerr ( )
inline


Along track velocity error

Definition at line 192 of file PlatformPositionData.h.

References _alt_velerr.

193  {
194  return _alt_velerr;
195  };
double _alt_velerr
Along track velocity error

◆ get_crt_poserr()

double ossimplugins::PlatformPositionData::get_crt_poserr ( )
inline


Cross track position error

Definition at line 178 of file PlatformPositionData.h.

References _crt_poserr.

179  {
180  return _crt_poserr;
181  };
double _crt_poserr
Cross track position error

◆ get_crt_velerr()

double ossimplugins::PlatformPositionData::get_crt_velerr ( )
inline


Cross track velocity error

Definition at line 199 of file PlatformPositionData.h.

References _crt_velerr.

200  {
201  return _crt_velerr;
202  };
double _crt_velerr
Cross track velocity error

◆ get_data_int()

double ossimplugins::PlatformPositionData::get_data_int ( )
inline


Data sampling interval

Definition at line 150 of file PlatformPositionData.h.

References _data_int.

Referenced by ossimplugins::ossimRadarSatModel::internalSaveState().

151  {
152  return _data_int;
153  };
double _data_int
Data sampling interval

◆ get_day()

int ossimplugins::PlatformPositionData::get_day ( )
inline


Day of data point

Definition at line 129 of file PlatformPositionData.h.

References _day.

Referenced by ossimplugins::ossimRadarSatModel::internalSaveState().

130  {
131  return _day;
132  };

◆ get_gmt_day()

int ossimplugins::PlatformPositionData::get_gmt_day ( )
inline


Day of year

Definition at line 136 of file PlatformPositionData.h.

References _gmt_day.

137  {
138  return _gmt_day;
139  };

◆ get_gmt_sec()

double ossimplugins::PlatformPositionData::get_gmt_sec ( )
inline


Seconds of day

Definition at line 143 of file PlatformPositionData.h.

References _gmt_sec.

Referenced by ossimplugins::ossimRadarSatModel::internalSaveState().

144  {
145  return _gmt_sec;
146  };

◆ get_hr_angle()

double ossimplugins::PlatformPositionData::get_hr_angle ( )
inline


Greenwich mean hour angle

Definition at line 164 of file PlatformPositionData.h.

References _hr_angle.

Referenced by ossimplugins::ossimRadarSatModel::internalSaveState().

165  {
166  return _hr_angle;
167  };
double _hr_angle
Greenwich mean hour angle

◆ get_month()

int ossimplugins::PlatformPositionData::get_month ( )
inline


Month of data point

Definition at line 122 of file PlatformPositionData.h.

References _month.

Referenced by ossimplugins::ossimRadarSatModel::internalSaveState().

123  {
124  return _month;
125  };

◆ get_ndata()

int ossimplugins::PlatformPositionData::get_ndata ( )
inline


Number of data points

Definition at line 108 of file PlatformPositionData.h.

References _ndata.

Referenced by ossimplugins::ossimRadarSatModel::internalSaveState().

109  {
110  return _ndata;
111  };

◆ get_orbit_ele()

double* ossimplugins::PlatformPositionData::get_orbit_ele ( )
inline


Orbital elements

Definition at line 101 of file PlatformPositionData.h.

References _orbit_ele.

102  {
103  return _orbit_ele;
104  };
double _orbit_ele[6]
Orbital elements

◆ get_orbit_ele_desg()

std::string ossimplugins::PlatformPositionData::get_orbit_ele_desg ( )
inline

Orbital elements designator.

Definition at line 94 of file PlatformPositionData.h.

References _orbit_ele_desg.

95  {
96  return _orbit_ele_desg;
97  };
std::string _orbit_ele_desg
Orbital elements designator.

◆ get_pos_vect()

PositionVectorRecord* ossimplugins::PlatformPositionData::get_pos_vect ( )
inline


Data point position/velocity

Definition at line 213 of file PlatformPositionData.h.

References _pos_vect.

Referenced by ossimplugins::ossimRadarSatModel::internalSaveState().

214  {
215  return _pos_vect;
216  };
PositionVectorRecord _pos_vect[64]
Data point position/velocity

◆ get_rad_poserr()

double ossimplugins::PlatformPositionData::get_rad_poserr ( )
inline


Radial position error

Definition at line 185 of file PlatformPositionData.h.

References _rad_poserr.

186  {
187  return _rad_poserr;
188  };
double _rad_poserr
Radial position error

◆ get_rad_velerr()

double ossimplugins::PlatformPositionData::get_rad_velerr ( )
inline


Radial velocity error

Definition at line 206 of file PlatformPositionData.h.

References _rad_velerr.

207  {
208  return _rad_velerr;
209  };
double _rad_velerr
Radial velocity error

◆ get_ref_coord()

std::string ossimplugins::PlatformPositionData::get_ref_coord ( )
inline


Reference coordinate system

Definition at line 157 of file PlatformPositionData.h.

References _ref_coord.

158  {
159  return _ref_coord;
160  };
std::string _ref_coord
Reference coordinate system

◆ get_year()

int ossimplugins::PlatformPositionData::get_year ( )
inline


Year of data point

Definition at line 115 of file PlatformPositionData.h.

References _year.

Referenced by ossimplugins::ossimRadarSatModel::internalSaveState().

116  {
117  return _year;
118  };

◆ Instanciate()

RadarSatRecord* ossimplugins::PlatformPositionData::Instanciate ( )
inlinevirtual

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

Implements ossimplugins::RadarSatRecord.

Definition at line 62 of file PlatformPositionData.h.

References PlatformPositionData().

63  {
64  return new PlatformPositionData();
65  };

◆ operator=()

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

Copy operator.

Definition at line 205 of file PlatformPositionData.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.

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

◆ Read()

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

Reads the class data from a stream.

Implements ossimplugins::RadarSatRecord.

Definition at line 78 of file PlatformPositionData.h.

79  {
80  is>>*this;
81  };

◆ Write()

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

Writes the class to a stream.

Implements ossimplugins::RadarSatRecord.

Definition at line 86 of file PlatformPositionData.h.

87  {
88  os<<*this;
89  };

Friends And Related Function Documentation

◆ operator<<

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

This function writes the PlatformPositionData in a stream.

Definition at line 24 of file PlatformPositionData.cpp.

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

◆ operator>>

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

This function reads a PlatformPositionData from a stream.

Definition at line 71 of file PlatformPositionData.cpp.

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

Member Data Documentation

◆ _alt_poserr

double ossimplugins::PlatformPositionData::_alt_poserr
protected


Along track position error

Definition at line 266 of file PlatformPositionData.h.

Referenced by get_alt_poserr(), ossimplugins::operator<<(), operator=(), ossimplugins::operator>>(), and PlatformPositionData().

◆ _alt_velerr

double ossimplugins::PlatformPositionData::_alt_velerr
protected


Along track velocity error

Definition at line 278 of file PlatformPositionData.h.

Referenced by get_alt_velerr(), ossimplugins::operator<<(), operator=(), ossimplugins::operator>>(), and PlatformPositionData().

◆ _crt_poserr

double ossimplugins::PlatformPositionData::_crt_poserr
protected


Cross track position error

Definition at line 270 of file PlatformPositionData.h.

Referenced by get_crt_poserr(), ossimplugins::operator<<(), operator=(), ossimplugins::operator>>(), and PlatformPositionData().

◆ _crt_velerr

double ossimplugins::PlatformPositionData::_crt_velerr
protected


Cross track velocity error

Definition at line 282 of file PlatformPositionData.h.

Referenced by get_crt_velerr(), ossimplugins::operator<<(), operator=(), ossimplugins::operator>>(), and PlatformPositionData().

◆ _data_int

double ossimplugins::PlatformPositionData::_data_int
protected

◆ _day

int ossimplugins::PlatformPositionData::_day
protected

◆ _gmt_day

int ossimplugins::PlatformPositionData::_gmt_day
protected

◆ _gmt_sec

double ossimplugins::PlatformPositionData::_gmt_sec
protected

◆ _hr_angle

double ossimplugins::PlatformPositionData::_hr_angle
protected


Greenwich mean hour angle

Definition at line 262 of file PlatformPositionData.h.

Referenced by get_hr_angle(), ossimplugins::operator<<(), operator=(), ossimplugins::operator>>(), and PlatformPositionData().

◆ _month

int ossimplugins::PlatformPositionData::_month
protected

◆ _ndata

int ossimplugins::PlatformPositionData::_ndata
protected


Number of data points

Definition at line 230 of file PlatformPositionData.h.

Referenced by get_ndata(), ossimplugins::operator<<(), operator=(), ossimplugins::operator>>(), and PlatformPositionData().

◆ _orbit_ele

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

◆ _orbit_ele_desg

std::string ossimplugins::PlatformPositionData::_orbit_ele_desg
protected

Orbital elements designator.

Definition at line 216 of file PlatformPositionData.h.

Referenced by get_orbit_ele_desg(), ossimplugins::operator<<(), operator=(), ossimplugins::operator>>(), and PlatformPositionData().

◆ _pos_vect

PositionVectorRecord ossimplugins::PlatformPositionData::_pos_vect[64]
protected

◆ _rad_poserr

double ossimplugins::PlatformPositionData::_rad_poserr
protected

◆ _rad_velerr

double ossimplugins::PlatformPositionData::_rad_velerr
protected

◆ _ref_coord

std::string ossimplugins::PlatformPositionData::_ref_coord
protected


Reference coordinate system

Definition at line 258 of file PlatformPositionData.h.

Referenced by get_ref_coord(), ossimplugins::operator<<(), operator=(), ossimplugins::operator>>(), and PlatformPositionData().

◆ _year

int ossimplugins::PlatformPositionData::_year
protected

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