26 static ossimTrace traceDebug(
"ossimAlosPalsarLeader:debug");
49 std::map<int, AlosPalsarRecord*>::const_iterator it = data.
_records.begin();
52 (*it).second->Write(os);
80 data.
_records[header.get_rec_seq()] = record;
84 if (header.get_length() > 12)
86 char* buff =
new char[header.get_length()-12];
87 is.read(buff, header.get_length() - 12);
99 std::map<int, AlosPalsarRecord*>::const_iterator it = rhs.
_records.begin();
102 _records[(*it).first] = (*it).second->Clone();
110 std::map<int, AlosPalsarRecord*>::const_iterator it = rhs.
_records.begin();
113 _records[(*it).first] = (*it).second->Clone();
122 std::map<int, AlosPalsarRecord*>::const_iterator it =
_records.begin();
132 const char* prefix)
const 135 static const char MODULE[] =
"AlosPalsarLeader::saveState";
151 if (leaderfiledesc != NULL)
164 if ((datasetSummary != NULL) && (result ==
true))
166 kwl.
add(prefix,
"inp_sctim", (datasetSummary->
get_inp_sctim()).c_str(),
true);
169 kwl.
add(prefix,
"sc_lin", datasetSummary->
get_sc_lin(),
true);
170 kwl.
add(prefix,
"sc_pix", datasetSummary->
get_sc_pix(),
true);
172 kwl.
add(prefix,
"fr", datasetSummary->
get_fr(),
true);
173 kwl.
add(prefix,
"fa", datasetSummary->
get_fa(),
true);
217 if ((platformposition != NULL) && (result ==
true))
219 kwl.
add(prefix,
"neph", platformposition->
get_ndata(),
true);
220 kwl.
add(prefix,
"eph_year", platformposition->
get_year(),
true);
221 kwl.
add(prefix,
"eph_month", platformposition->
get_month(),
true);
222 kwl.
add(prefix,
"eph_day", platformposition->
get_day(),
true);
223 kwl.
add(prefix,
"eph_gmt_day", platformposition->
get_gmt_day(),
true);
224 kwl.
add(prefix,
"eph_sec", platformposition->
get_gmt_sec(),
true);
225 kwl.
add(prefix,
"eph_hr_angle", platformposition->
get_hr_angle(),
true);
228 for (
int i = 0; i < platformposition->
get_ndata(); i++)
230 sprintf(name,
"eph%i_posX", i);
231 kwl.
add(prefix, name, (platformposition->
get_pos_vect()[i]).get_pos()[0],
true);
232 sprintf(name,
"eph%i_posY", i);
233 kwl.
add(prefix, name, (platformposition->
get_pos_vect()[i]).get_pos()[1],
true);
234 sprintf(name,
"eph%i_posZ", i);
235 kwl.
add(prefix, name, (platformposition->
get_pos_vect()[i]).get_pos()[2],
true);
237 sprintf(name,
"eph%i_velX", i);
238 kwl.
add(prefix, name, (platformposition->
get_pos_vect()[i]).get_vel()[0],
true);
239 sprintf(name,
"eph%i_velY", i);
240 kwl.
add(prefix, name, (platformposition->
get_pos_vect()[i]).get_vel()[1],
true);
241 sprintf(name,
"eph%i_velZ", i);
242 kwl.
add(prefix, name, (platformposition->
get_pos_vect()[i]).get_vel()[2],
true);
251 if ((radiometricdata != NULL) && (result ==
true))
281 << MODULE <<
" exit status = " << (result ?
"true" :
"false\n")
double get_ellip_maj() const
Ellipsoid semi-major axis, km.
double get_n_rnglok() const
Number of range looks.
double get_pix_spacing() const
Pixel spacing, meters.
AlosPalsarRecord * Instanciate(int id)
Instanciate a new Record.
static const int AlosPalsarRadiometricDataID
static const int AlosPalsarDataSetSummaryID
double get_n_azilok() const
Number of azimuth looks.
std::string get_time_dir_lin() const
Line time direction indicator.
double get_fr() const
Range sampling rate.
double get_ellip_min() const
Ellipsoid semi_minor axis, km.
This class is able to read the Leader file of the AlosPalsar file structure.
Represents serializable keyword/value map.
const double * get_alt_dopcen() const
Along track Doppler frequency terms.
std::string get_file_name() const
File name.
int get_sc_lin() const
Scene centre line number.
This class is a facory able to construct Record base classes.
double get_fa() const
Nominal PRF, Hz.
const AlosPalsarDataSetSummary * get_AlosPalsarDataSetSummary() const
std::string get_inp_sctim() const
Input scene centre time.
This class is the base class of all the record classes.
virtual ~AlosPalsarLeader()
Destructor.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save object state to a keyword list.
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
const double * get_dopcen_range() const
Along track Doppler frequency terms (in range unit: km)
static const int AlosPalsarFileDescriptorID
std::ostream & operator<<(std::ostream &os, const AlosPalsarData &data)
This class is able to read the SAR leader data set summary record of the leader file.
static const int AlosPalsarPlatformPositionDataID
const AlosPalsarRadiometricData * get_AlosPalsarRadiometricData() const
const AlosPalsarPlatformPositionData * get_AlosPalsarPlatformPositionData() const
static const int AlosPalsarFacilityDataID
std::string get_time_dir_pix() const
Pixel time direction indicator.
const AlosPalsarFacilityData * get_AlosPalsarFacilityData() const
std::istream & operator>>(std::istream &is, AlosPalsarData &data)
This class is able to read the SAR leader data set summary record of the leader file.
double get_wave_length() const
Radar wave length.
double get_calibration_factor() const
Calibration factor.
std::basic_istream< char > istream
Base class for char input streams.
void ClearRecords()
Remove all the previous records from the AlosPalsarLeader.
This class is able to read a radiometric data record.
AlosPalsarLeader & operator=(const AlosPalsarLeader &rhs)
Copy operator.
virtual void Read(std::istream &is)=0
Read the class data from a stream.
double get_line_spacing() const
Line spacing, meters.
const AlosPalsarFileDescriptor * get_AlosPalsarFileDescriptor() const
This class is able to read the SAR leader file descriptor record of the leader file.
const double * get_crt_dopcen() const
Cross track Doppler frequency terms.
int get_sc_pix() const
Scene centre pixel number.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
AlosPalsarLeader()
Constructor.
std::basic_ostream< char > ostream
Base class for char output streams.