OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
DataQuality.cpp
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 #include "DataQuality.h"
13 
14 namespace ossimplugins
15 {
17 {
18 }
19 
21 {
22 }
23 
25 {
26 
27  os<<"rec_seq:"<<data._rec_seq<<std::endl;
28 
29  os<<"sar_chn:"<<data._sar_chn.c_str()<<std::endl;
30 
31  os<<"cali_date:"<<data._cali_date.c_str()<<std::endl;
32 
33  os<<"nchn:"<<data._nchn<<std::endl;
34 
35  os<<"islr:"<<data._islr<<std::endl;
36 
37  os<<"pslr:"<<data._pslr<<std::endl;
38 
39  os<<"azi_ambig:"<<data._azi_ambig<<std::endl;
40 
41  os<<"rng_ambig:"<<data._rng_ambig<<std::endl;
42 
43  os<<"snr:"<<data._snr<<std::endl;
44 
45  os<<"ber:"<<data._ber<<std::endl;
46 
47  os<<"rng_res:"<<data._rng_res<<std::endl;
48 
49  os<<"azi_res:"<<data._azi_res<<std::endl;
50 
51  os<<"rad_res:"<<data._rad_res<<std::endl;
52 
53  os<<"dyn_rng:"<<data._dyn_rng<<std::endl;
54 
55  os<<"rad_unc_db:"<<data._rad_unc_db<<std::endl;
56 
57  os<<"rad_unc_deg:"<<data._rad_unc_deg<<std::endl;
58 
59  for (int i=0;i<16;i++)
60  {
61  os<<"rad_unc:"<<data._rad_unc[i]<<std::endl;
62  }
63 
64  os<<"alt_locerr:"<<data._alt_locerr<<std::endl;
65 
66  os<<"crt_locerr:"<<data._crt_locerr<<std::endl;
67 
68  os<<"alt_scale:"<<data._alt_scale<<std::endl;
69 
70  os<<"crt_scale:"<<data._crt_scale<<std::endl;
71 
72  os<<"dis_skew:"<<data._dis_skew<<std::endl;
73 
74  os<<"ori_err:"<<data._ori_err<<std::endl;
75 
76  for (int i=0;i<16;i++)
77  {
78  os<<"misreg:"<<data._misreg[i]<<std::endl;
79  }
80 
81  os<<"nesz:"<<data._nesz<<std::endl;
82 
83  os<<"enl:"<<data._enl<<std::endl;
84 
85  os<<"tb_update:"<<data._tb_update.c_str()<<std::endl;
86 
87 
88  return os;
89 }
90 
92 {
93  char buf[2149];
94  buf[2148] = '\0';
95 
96 
97  is.read(buf,4);
98  buf[4] = '\0';
99  data._rec_seq = atoi(buf);
100 
101  is.read(buf,4);
102  buf[4] = '\0';
103  data._sar_chn = buf;
104 
105  is.read(buf,6);
106  buf[6] = '\0';
107  data._cali_date = buf;
108 
109  is.read(buf,4);
110  buf[4] = '\0';
111  data._nchn = atoi(buf);
112 
113  is.read(buf,16);
114  buf[16] = '\0';
115  data._islr = atof(buf);
116 
117  is.read(buf,16);
118  buf[16] = '\0';
119  data._pslr = atof(buf);
120 
121  is.read(buf,16);
122  buf[16] = '\0';
123  data._azi_ambig = atof(buf);
124 
125  is.read(buf,16);
126  buf[16] = '\0';
127  data._rng_ambig = atof(buf);
128 
129  is.read(buf,16);
130  buf[16] = '\0';
131  data._snr = atof(buf);
132 
133  is.read(buf,16);
134  buf[16] = '\0';
135  data._ber = atof(buf);
136 
137  is.read(buf,16);
138  buf[16] = '\0';
139  data._rng_res = atof(buf);
140 
141  is.read(buf,16);
142  buf[16] = '\0';
143  data._azi_res = atof(buf);
144 
145  is.read(buf,16);
146  buf[16] = '\0';
147  data._rad_res = atof(buf);
148 
149  is.read(buf,16);
150  buf[16] = '\0';
151  data._dyn_rng = atof(buf);
152 
153  is.read(buf,16);
154  buf[16] = '\0';
155  data._rad_unc_db = atof(buf);
156 
157  is.read(buf,16);
158  buf[16] = '\0';
159  data._rad_unc_deg = atof(buf);
160 
161  for (int i=0;i<16;i++)
162  {
163  is>>data._rad_unc[i];
164  }
165 
166  is.read(buf,16);
167  buf[16] = '\0';
168  data._alt_locerr = atof(buf);
169 
170  is.read(buf,16);
171  buf[16] = '\0';
172  data._crt_locerr = atof(buf);
173 
174  is.read(buf,16);
175  buf[16] = '\0';
176  data._alt_scale = atof(buf);
177 
178  is.read(buf,16);
179  buf[16] = '\0';
180  data._crt_scale = atof(buf);
181 
182  is.read(buf,16);
183  buf[16] = '\0';
184  data._dis_skew = atof(buf);
185 
186  is.read(buf,16);
187  buf[16] = '\0';
188  data._ori_err = atof(buf);
189 
190  for (int i=0;i<16;i++)
191  {
192  is>>data._misreg[i];
193  }
194 
195  is.read(buf,16);
196  buf[16] = '\0';
197  data._nesz = atof(buf);
198 
199  is.read(buf,16);
200  buf[16] = '\0';
201  data._enl = atof(buf);
202 
203  is.read(buf,8);
204  buf[8] = '\0';
205  data._tb_update = buf;
206 
207  is.read(buf,238);
208 
209 
210  return is;
211 }
212 
214  RadarSatRecord(rhs),
215  _rec_seq(rhs._rec_seq),
216  _sar_chn(rhs._sar_chn),
217  _cali_date(rhs._cali_date),
218  _nchn(rhs._nchn),
219  _islr(rhs._islr),
220  _pslr(rhs._pslr),
221  _azi_ambig(rhs._azi_ambig),
222  _rng_ambig(rhs._rng_ambig),
223  _snr(rhs._snr),
224  _ber(rhs._ber),
225  _rng_res(rhs._rng_res),
226  _azi_res(rhs._azi_res),
227  _rad_res(rhs._rad_res),
228  _dyn_rng(rhs._dyn_rng),
229  _rad_unc_db(rhs._rad_unc_db),
230  _rad_unc_deg(rhs._rad_unc_deg),
231  _alt_locerr(rhs._alt_locerr),
232  _crt_locerr(rhs._crt_locerr),
233  _alt_scale(rhs._alt_scale),
234  _crt_scale(rhs._crt_scale),
235  _dis_skew(rhs._dis_skew),
236  _ori_err(rhs._ori_err),
237  _nesz(rhs._nesz),
238  _enl(rhs._enl),
239  _tb_update(rhs._tb_update)
240 {
241  for (int i=0;i<16;i++)
242  {
243  _rad_unc[i] = rhs._rad_unc[i];
244  }
245  for (int i=0;i<16;i++)
246  {
247  _misreg[i] = rhs._misreg[i];
248  }
249 }
250 
252 {
253  _rec_seq = rhs._rec_seq;
254  _sar_chn = rhs._sar_chn;
255  _cali_date = rhs._cali_date;
256  _nchn = rhs._nchn;
257  _islr = rhs._islr;
258  _pslr = rhs._pslr;
259  _azi_ambig = rhs._azi_ambig;
260  _rng_ambig = rhs._rng_ambig;
261  _snr = rhs._snr;
262  _ber = rhs._ber;
263  _rng_res = rhs._rng_res;
264  _azi_res = rhs._azi_res;
265  _rad_res = rhs._rad_res;
266  _dyn_rng = rhs._dyn_rng;
267  _rad_unc_db = rhs._rad_unc_db;
269 
270  for (int i=0;i<16;i++)
271  {
272  _rad_unc[i] = rhs._rad_unc[i];
273  }
274 
275  _alt_locerr = rhs._alt_locerr;
276  _crt_locerr = rhs._crt_locerr;
277  _alt_scale = rhs._alt_scale;
278  _crt_scale = rhs._crt_scale;
279  _dis_skew = rhs._dis_skew;
280  _ori_err = rhs._ori_err;
281 
282  for (int i=0;i<16;i++)
283  {
284  _misreg[i] = rhs._misreg[i];
285  }
286 
287  _nesz = rhs._nesz;
288  _enl = rhs._enl;
289  _tb_update = rhs._tb_update;
290 
291  return *this;
292 }
293 }
double _crt_locerr
Nominal cross track location error
Definition: DataQuality.h:361
double _islr
Nominal integrated side lobe ratio
Definition: DataQuality.h:305
std::string _sar_chn
SAR channel indicator.
Definition: DataQuality.h:293
DataQuality & operator=(const DataQuality &rhs)
Copy operator.
double _ori_err
Nominal Scene orientation error
Definition: DataQuality.h:377
This class is able to read a data quality record.
Definition: DataQuality.h:29
double _alt_locerr
Nominal along track location error
Definition: DataQuality.h:357
double _rng_ambig
Nominal range ambiguity
Definition: DataQuality.h:317
double _crt_scale
Nominal cross track distortion scale
Definition: DataQuality.h:369
double _dyn_rng
Instantaneous dynamic range
Definition: DataQuality.h:341
double _azi_res
Nominal azimuth resolution,meter
Definition: DataQuality.h:333
double _rad_unc_db
Nominal radiometric uncertainty,dB
Definition: DataQuality.h:345
double _rng_res
Nominal slant range resolution
Definition: DataQuality.h:329
double _pslr
Nominal peak side lobe ratio
Definition: DataQuality.h:309
This class is the base class of all the record classes.
std::string _cali_date
Calibration update date
Definition: DataQuality.h:297
double _nesz
Nominal noise equivalent sigma zero
Definition: DataQuality.h:385
virtual ~DataQuality()
Destructor.
Definition: DataQuality.cpp:20
std::ostream & operator<<(std::ostream &os, const AlosPalsarData &data)
double _azi_ambig
Nominal azimuth ambiguity
Definition: DataQuality.h:313
double _ber
Nominal bit error rate
Definition: DataQuality.h:325
double _alt_scale
Nominal along track distortion scale
Definition: DataQuality.h:365
std::string _tb_update
Default parameters table update date
Definition: DataQuality.h:393
std::istream & operator>>(std::istream &is, AlosPalsarData &data)
double _rad_res
Nominal radiometric resolution,dB
Definition: DataQuality.h:337
double _rad_unc_deg
Nominal Radiometric uncertainty,deg
Definition: DataQuality.h:349
DataQuality()
Constructor.
Definition: DataQuality.cpp:16
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
double _enl
Nominal equivalent number of looks
Definition: DataQuality.h:389
double _snr
Nominal signal to noise ratio
Definition: DataQuality.h:321
double _dis_skew
Nominal distortion skew
Definition: DataQuality.h:373
int _rec_seq
Record sequence number.
Definition: DataQuality.h:281
RadiometryUncertaintyRecord _rad_unc[16]
Radiometric data quality.
Definition: DataQuality.h:353
int _nchn
Number of channels
Definition: DataQuality.h:301
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
MisregistrationRecord _misreg[16]
Misregistration error.
Definition: DataQuality.h:381