28 os <<
"seq_num:" << data.
_seq_num << std::endl;
30 os <<
"sar_chn:" << data.
_sar_chn << std::endl;
32 os <<
"scene_id:" << data.
_scene_id.c_str() << std::endl;
34 os <<
"scene_des:" << data.
_scene_des.c_str() << std::endl;
36 os <<
"inp_sctim:" << data.
_inp_sctim.c_str() << std::endl;
38 os <<
"asc_des:" << data.
_asc_des.c_str() << std::endl;
40 os <<
"pro_lat:" << data.
_pro_lat << std::endl;
42 os <<
"pro_long:" << data.
_pro_long << std::endl;
44 os <<
"pro_head:" << data.
_pro_head << std::endl;
46 os <<
"ellip_des:" << data.
_ellip_des.c_str() << std::endl;
48 os <<
"ellip_maj:" << data.
_ellip_maj << std::endl;
50 os <<
"ellip_min:" << data.
_ellip_min << std::endl;
51 os <<
"earth_mass:" << data.
_earth_mass << std::endl;
52 os <<
"grav_const:" << data.
_grav_const << std::endl;
53 os <<
"ellip_j[0]:" << data.
_ellip_j[0] << std::endl;
54 os <<
"ellip_j[1]:" << data.
_ellip_j[1] << std::endl;
55 os <<
"ellip_j[2]:" << data.
_ellip_j[2] << std::endl;
56 os <<
"terrain_h:" << data.
_terrain_h << std::endl;
57 os <<
"sc_lin:" << data.
_sc_lin << std::endl;
58 os <<
"sc_pix:" << data.
_sc_pix << std::endl;
59 os <<
"scene_len:" << data.
_scene_len << std::endl;
60 os <<
"scene_wid:" << data.
_scene_wid << std::endl;
61 os <<
"nchn:" << data.
_nchn << std::endl;
62 os <<
"mission_id:" << data.
_mission_id.c_str() << std::endl;
63 os <<
"sensor_id:" << data.
_sensor_id.c_str() << std::endl;
64 os <<
"orbit_num:" << data.
_orbit_num.c_str() << std::endl;
66 os <<
"plat_lat:" << data.
_plat_lat << std::endl;
68 os <<
"plat_long:" << data.
_plat_long << std::endl;
70 os <<
"plat_head:" << data.
_plat_head << std::endl;
72 os <<
"clock_ang:" << data.
_clock_ang << std::endl;
79 os <<
"motion_comp:" << data.
_motion_comp.c_str() << std::endl;
81 os <<
"pulse_code:" << data.
_pulse_code.c_str() << std::endl;
83 for (
int i = 0; i < 5; i++)
85 os <<
"ampl_coef[" << i <<
"]:" << data.
_ampl_coef[i] << std::endl;
88 for (
int i = 0; i < 5; i++)
90 os <<
"phas_coef[" << i <<
"]:" << data.
_phas_coef[i] << std::endl;
95 os <<
"fr:" << data.
_fr << std::endl;
97 os <<
"rng_gate:" << data.
_rng_gate << std::endl;
99 os <<
"rng_length:" << data.
_rng_length << std::endl;
101 os <<
"baseband_f:" << data.
_baseband_f.c_str() << std::endl;
103 os <<
"rngcmp_f:" << data.
_rngcmp_f.c_str() << std::endl;
105 os <<
"gn_polar:" << data.
_gn_polar << std::endl;
107 os <<
"gn_cross:" << data.
_gn_cross << std::endl;
109 os <<
"chn_bits:" << data.
_chn_bits << std::endl;
111 os <<
"quant_desc:" << data.
_quant_desc.c_str() << std::endl;
113 os <<
"i_bias:" << data.
_i_bias << std::endl;
115 os <<
"q_bias:" << data.
_q_bias << std::endl;
117 os <<
"iq_ratio:" << data.
_iq_ratio << std::endl;
119 os <<
"mech_sight:" << data.
_mech_sight << std::endl;
121 os <<
"fa:" << data.
_fa << std::endl;
123 os <<
"sat_bintim:" << data.
_sat_bintim.c_str() << std::endl;
125 os <<
"sat_clktim:" << data.
_sat_clktim.c_str() << std::endl;
127 os <<
"sat_clkinc:" << data.
_sat_clkinc.c_str() << std::endl;
129 os <<
"fac_id:" << data.
_fac_id.c_str() << std::endl;
131 os <<
"sys_id:" << data.
_sys_id.c_str() << std::endl;
133 os <<
"ver_id:" << data.
_ver_id.c_str() << std::endl;
135 os <<
"prod_type:" << data.
_prod_type.c_str() << std::endl;
137 os <<
"algor_id:" << data.
_algor_id.c_str() << std::endl;
139 os <<
"n_azilok:" << data.
_n_azilok << std::endl;
141 os <<
"n_rnglok:" << data.
_n_rnglok << std::endl;
143 os <<
"bnd_azilok:" << data.
_bnd_azilok << std::endl;
145 os <<
"bnd_rnglok:" << data.
_bnd_rnglok << std::endl;
147 os <<
"bnd_azi:" << data.
_bnd_azi << std::endl;
149 os <<
"bnd_rng:" << data.
_bnd_rng << std::endl;
151 os <<
"azi_weight:" << data.
_azi_weight.c_str() << std::endl;
153 os <<
"rng_weight:" << data.
_rng_weight.c_str() << std::endl;
155 os <<
"data_inpsrc:" << data.
_data_inpsrc.c_str() << std::endl;
157 os <<
"rng_res:" << data.
_rng_res << std::endl;
159 os <<
"azi_res:" << data.
_azi_res << std::endl;
161 os <<
"alt_dopcen[0]:" << data.
_alt_dopcen[0] << std::endl;
162 os <<
"alt_dopcen[1]:" << data.
_alt_dopcen[1] << std::endl;
163 os <<
"alt_dopcen[2]:" << data.
_alt_dopcen[2] << std::endl;
165 os <<
"crt_dopcen[0]:" << data.
_crt_dopcen[0] << std::endl;
166 os <<
"crt_dopcen[1]:" << data.
_crt_dopcen[1] << std::endl;
167 os <<
"crt_dopcen[2]:" << data.
_crt_dopcen[2] << std::endl;
169 os <<
"time_dir_pix:" << data.
_time_dir_pix.c_str() << std::endl;
171 os <<
"time_dir_lin:" << data.
_time_dir_lin.c_str() << std::endl;
173 os <<
"alt_rate[0]:" << data.
_alt_rate[0] << std::endl;
174 os <<
"alt_rate[1]:" << data.
_alt_rate[1] << std::endl;
175 os <<
"alt_rate[2]:" << data.
_alt_rate[2] << std::endl;
177 os <<
"crt_rate[0]:" << data.
_crt_rate[0] << std::endl;
178 os <<
"crt_rate[1]:" << data.
_crt_rate[1] << std::endl;
179 os <<
"crt_rate[2]:" << data.
_crt_rate[2] << std::endl;
181 os <<
"clutter_lock:" << data.
_line_cont.c_str() << std::endl;
183 os <<
"clutter_lock:" << data.
_clutter_lock.c_str() << std::endl;
185 os <<
"auto_focus:" << data.
_auto_focus.c_str() << std::endl;
191 os <<
"rngcmp_desg:" << data.
_rngcmp_desg.c_str() << std::endl;
194 os <<
"dopcen_range[0]:" << data.
_dopcen_range[0] << std::endl;
195 os <<
"dopcen_range[1]:" << data.
_dopcen_range[1] << std::endl;
215 buf2330[2330] =
'\0';
286 data.
_nchn = atoi(buf4);
326 for (
int i = 0; i < 5; i++)
332 for (
int i = 0; i < 5; i++)
344 data.
_fr = atof(buf16);
392 data.
_fa = atof(buf16);
529 is.read(buf2330, 2330);
537 _seq_num(rhs._seq_num),
538 _sar_chn(rhs._sar_chn),
539 _scene_id(rhs._scene_id),
540 _scene_des(rhs._scene_des),
541 _inp_sctim(rhs._inp_sctim),
542 _asc_des(rhs._asc_des),
543 _pro_lat(rhs._pro_lat),
544 _pro_long(rhs._pro_long),
545 _pro_head(rhs._pro_head),
546 _ellip_des(rhs._ellip_des),
547 _ellip_maj(rhs._ellip_maj),
548 _ellip_min(rhs._ellip_min),
549 _earth_mass(rhs._earth_mass),
550 _grav_const(rhs._grav_const),
551 _terrain_h(rhs._terrain_h),
552 _sc_lin(rhs._sc_lin),
553 _sc_pix(rhs._sc_pix),
554 _scene_len(rhs._scene_len),
555 _scene_wid(rhs._scene_wid),
557 _mission_id(rhs._mission_id),
558 _sensor_id(rhs._sensor_id),
559 _orbit_num(rhs._orbit_num),
560 _plat_lat(rhs._plat_lat),
561 _plat_long(rhs._plat_long),
562 _plat_head(rhs._plat_head),
563 _clock_ang(rhs._clock_ang),
564 _incident_ang(rhs._incident_ang),
565 _wave_length(rhs._wave_length),
566 _motion_comp(rhs._motion_comp),
567 _pulse_code(rhs._pulse_code),
568 _chirp_ext_ind(rhs._chirp_ext_ind),
570 _rng_gate(rhs._rng_gate),
571 _rng_length(rhs._rng_length),
572 _baseband_f(rhs._baseband_f),
573 _rngcmp_f(rhs._rngcmp_f),
574 _gn_polar(rhs._gn_polar),
575 _gn_cross(rhs._gn_cross),
576 _chn_bits(rhs._chn_bits),
577 _quant_desc(rhs._quant_desc),
578 _i_bias(rhs._i_bias),
579 _q_bias(rhs._q_bias),
580 _iq_ratio(rhs._iq_ratio),
581 _mech_sight(rhs._mech_sight),
583 _sat_bintim(rhs._sat_bintim),
584 _sat_clktim(rhs._sat_clktim),
585 _sat_clkinc(rhs._sat_clkinc),
586 _fac_id(rhs._fac_id),
587 _sys_id(rhs._sys_id),
588 _ver_id(rhs._ver_id),
589 _prod_type(rhs._prod_type),
590 _algor_id(rhs._algor_id),
591 _n_azilok(rhs._n_azilok),
592 _n_rnglok(rhs._n_rnglok),
593 _bnd_azilok(rhs._bnd_azilok),
594 _bnd_rnglok(rhs._bnd_rnglok),
595 _bnd_azi(rhs._bnd_azi),
596 _bnd_rng(rhs._bnd_rng),
597 _azi_weight(rhs._azi_weight),
598 _rng_weight(rhs._rng_weight),
599 _data_inpsrc(rhs._data_inpsrc),
600 _rng_res(rhs._rng_res),
601 _azi_res(rhs._azi_res),
602 _time_dir_pix(rhs._time_dir_pix),
603 _time_dir_lin(rhs._time_dir_lin),
604 _line_cont(rhs._line_cont),
605 _clutter_lock(rhs._clutter_lock),
606 _auto_focus(rhs._auto_focus),
607 _line_spacing(rhs._line_spacing),
608 _pix_spacing(rhs._pix_spacing),
609 _rngcmp_desg(rhs._rngcmp_desg)
double _n_rnglok
Number of range looks.
double _bnd_rng
Total range look bandwidth.
double _gn_cross
Cross polarized gain.
AlosPalsarDataSetSummary & operator=(const AlosPalsarDataSetSummary &rhs)
Copy operator.
double _plat_lat
Platform geodetic latitude.
int _sc_lin
Scene centre line number.
std::string _ver_id
Processing version identifier.
std::string _prod_type
Product type specifier.
std::string _data_inpsrc
Data input source.
double _incident_ang
Incidence angle.
std::string _orbit_num
Orbit number.
int _seq_num
from 1767 to 4096 to be added
std::string _azi_weight
Azimuth weighting designator.
double _fa
Nominal PRF, Hz.
double _fr
Range sampling rate.
std::string _rngcmp_desg
Range compression designator.
double _bnd_rnglok
Bandwidth per look in range,Hz.
double _scene_len
Scene length, km.
double _grav_const
Gravitational constant.
std::string _asc_des
Ascending/descending.
double _wave_length
Radar wave length.
std::string _inp_sctim
Input scene centre time.
double _azi_res
Azimuth resolution, meter.
std::string _fac_id
Processing facility identifier.
double _ellip_min
Ellipsoid semi_minor axis, km.
double _pro_long
Processed scene centre longitude.
double _alt_rate[3]
Along track Doppler rate term.
std::string _line_cont
Line content indicator.
double _pro_head
Processed scene centre headng.
std::string _sat_clkinc
Satellite clock increment.
double _scene_wid
Scene width, km.
std::string _mission_id
Mission identifier.
This class is the base class of all the record classes.
std::string _time_dir_lin
Line time direction indicator.
double _ellip_j[3]
Ellipsoid J2-4 parameters.
std::string _auto_focus
Auto-focus applied flag.
double _gn_polar
Like polarized gain.
double _pro_lat
Processed scene centre latitude.
double _n_azilok
Number of azimuth looks.
double _phas_coef[5]
Range phase coefficients.
double _q_bias
Q channel DC bias.
std::string _algor_id
Processing algorithm identifier.
virtual ~AlosPalsarDataSetSummary()
Destructor.
std::ostream & operator<<(std::ostream &os, const AlosPalsarData &data)
double _i_bias
I channel DC bias.
std::string _sys_id
Processing system identifier.
This class is able to read the SAR leader data set summary record of the leader file.
int _sc_pix
Scene centre pixel number.
std::string _sat_clktim
Satellite clock time.
std::string _scene_des
Scene designator.
std::string _time_dir_pix
Pixel time direction indicator.
double _ampl_coef[5]
Range chirp coefficients.
double _mech_sight
Mechanical boresight.
std::string _clutter_lock
Clutter lock applied flag.
double _ellip_maj
Ellipsoid semi-major axis, km.
double _plat_head
Platform heading.
std::istream & operator>>(std::istream &is, AlosPalsarData &data)
double _terrain_h
Average terrain height, km.
double _clock_ang
Sensor clock angle.
std::string _scene_id
Scene identifier.
double _bnd_azi
Total azimuth look bandwidth.
int _chn_bits
Number of bits per channel.
std::string _ellip_des
Ellipsoid designator.
std::basic_istream< char > istream
Base class for char input streams.
std::string _quant_desc
Quantization descriptor.
double _rng_length
Range pulse length.
double _crt_rate[3]
Cross track Doppler rate term.
std::string _pulse_code
Range pulse code specifier.
std::string _rng_weight
Range weighting designator.
double _rng_gate
Range gate start time.
std::string _sat_bintim
Satellite binary time.
double _alt_dopcen[3]
Along track Doppler frequency terms.
int _sar_chn
SAR channel indicator.
double _rng_res
Range resolution, meter.
AlosPalsarDataSetSummary()
Constructor.
double _nchn
Number of SAR channels.
std::string _motion_comp
Motion compensation indicator.
double _pix_spacing
Pixel spacing, meters.
double _line_spacing
Line spacing, meters.
std::string _rngcmp_f
Range compressed flag.
double _dopcen_range[2]
Cross track Doppler frequency terms (in range unit: km)
double _iq_ratio
I/Q channel ratio.
double _plat_long
Platform geodetic longitude.
double _crt_dopcen[3]
Cross track Doppler frequency terms.
std::string _sensor_id
Sensor identifier.
double _earth_mass
Earth's mass.
double _bnd_azilok
Bandwidth per look in azimuth,Hz.
int _chirp_ext_ind
Chirp extraction index.
std::string _baseband_f
Baseband conversion flag.
std::basic_ostream< char > ostream
Base class for char output streams.