31 static const int PROJ_PARAM_OFFSET [15] = { 594,
53 the1stLineInVolume(1),
55 theOrientationAngle(0.0),
58 theSemiMajorAxis(0.0),
59 theSemiMinorAxis(0.0),
75 theCenterEasting(0.0),
76 theCenterNorthing(0.0),
80 theErrorStatus(OSSIM_OK)
82 const char tmpBuff[] =
"";
133 theErrorStatus(OSSIM_OK)
136 createIstream(
ossimString(headerFile), std::ios_base::in);
143 <<
"Cannot open header = " << headerFile <<
"\n" 144 <<
"Returning from constructor." << std::endl;
172 path = atoi(tmpBuff);
196 is.seekg(4, std::ios_base::beg);
223 is.seekg(7, std::ios_base::beg);
245 <<
"Parameter out of range: " << paramNumber
246 <<
"\nValid range: 0 - 14" << std::endl;
258 return atof(tmp.
chars());
269 os << std::setiosflags(std::ios_base::left | std::ios_base::fixed)
270 << std::setw(30) <<
"\nimage_id:" 272 << std::setw(30) <<
"\npath_row_number:" 274 << std::setw(30) <<
"\nacquisition_date:" 276 << std::setw(30) <<
"\nsatellite_name:" 278 << std::setw(30) <<
"\nsensor_name:" 280 << std::setw(30) <<
"\nproduct_type:" 282 << std::setw(30) <<
"\nproduct_size:" 284 << std::setw(30) <<
"\nprocessing_type:" 286 << std::setw(30) <<
"\nresamp_algorithm:" 292 os <<
"\nband" << i+1 << std::setw(25) <<
"_radiance:" 296 os << std::setw(30) <<
"\ntape_volume_number:" 298 << std::setw(30) <<
"\nfirst_line_in_volume:" 300 << std::setw(30) <<
"\nlines_per_volume:" 302 << std::setw(30) <<
"\norientation_angle:" 304 << std::setw(30) <<
"\nprojection_type:" 306 << std::setw(30) <<
"\nusgs_projection_number:" 308 << std::setw(30) <<
"\nmap_zone:" 312 os << std::setiosflags(std::ios_base::right);
315 os <<
"\nprojection_parameter_" << i+1 << std::setw(10) <<
":" 318 os << std::resetiosflags(std::ios_base::right);
321 os << std::setw(30) <<
"\nellipsoid:" 323 << std::setw(30) <<
"\nsemi_major_axis:" 325 << std::setw(30) <<
"\nsemi_minor_axis:" 327 << std::setw(30) <<
"\ngsd:" 328 << std::setprecision(2) << std::setw(5) <<
theGsd 329 << std::setw(30) <<
"\nnumber_samples:" 331 << std::setw(30) <<
"\nnumber_lines:" 333 << std::setprecision(3)
334 << std::setw(30) <<
"\nul_longitude:" 336 << std::setw(30) <<
"\nul_latitude:" 338 << std::setw(30) <<
"\nul_easting:" 340 << std::setw(30) <<
"\nul_northing:" 342 << std::setw(30) <<
"\nur_longitude:" 344 << std::setw(30) <<
"\nur_latitude:" 346 << std::setw(30) <<
"\nur_easting:" 348 << std::setw(30) <<
"\nur_northing:" 350 << std::setw(30) <<
"\nlr_longitude:" 352 << std::setw(30) <<
"\nlr_latitude:" 354 << std::setw(30) <<
"\nlr_easting:" 356 << std::setw(30) <<
"\nlr_northing:" 358 << std::setw(30) <<
"\nll_longitude:" 360 << std::setw(30) <<
"\nll_latitude:" 362 << std::setw(30) <<
"\nll_easting:" 364 << std::setw(30) <<
"\nll_northing:" 366 << std::setw(30) <<
"\nbands_present_string:" 368 << std::setw(30) <<
"\ntape_blocking_factor:" 370 << std::setw(30) <<
"\nrecord_size:" 372 << std::setw(30) <<
"\nillum_elevation:" 374 << std::setw(30) <<
"\nillum_azimuth:" 376 << std::setw(30) <<
"\ncenter_longitude:" 378 << std::setw(30) <<
"\ncenter_latitude:" 380 << std::setw(30) <<
"\ncenter_easting:" 382 << std::setw(30) <<
"\ncenter_northing:" 384 << std::setw(30) <<
"\ncenter_sample:" 386 << std::setw(30) <<
"\ncenter_line:" 388 << std::setw(30) <<
"\nhorizontal_offset:" 390 << std::setw(30) <<
"\nformat_version:" 411 =
" ACQUISITION DATE =";
426 =
" TYPE OF GEODETIC PROCESSING =";
432 =
" RAD GAINS/BIASES = ";
435 =
" TAPE SPANNING FLAG=";
450 =
" USGS PROJECTION # =";
453 =
" USGS MAP ZONE =";
456 =
" USGS PROJECTION PARAMETERS =";
459 =
" EARTH ELLIPSOID =";
462 =
" SEMI-MAJOR AXIS =";
465 =
" SEMI-MINOR AXIS =";
471 =
" PIXELS PER LINE=";
474 =
" LINES PER IMAGE=";
489 =
" BANDS PRESENT =";
492 =
" BLOCKING FACTOR =";
495 =
" RECORD LENGTH =";
498 =
" SUN ELEVATION =";
512 const char SPACE[] =
" ";
517 os.seekp(0, std::ios_base::beg);
518 os << std::setiosflags(std::ios_base::fixed)
519 << std::setiosflags(std::ios_base::left)
533 << SATELLITE_NUMBER_DESC
537 << INSTRUMENT_TYPE_DESC
552 << PROCESSING_TYPE_DESC
556 << RESAMPLING_ALGO_DESC
570 << VOLUME_NUMBER_DESC
574 << std::resetiosflags(std::ios_base::left)
575 << std::setiosflags(std::ios_base::right)
581 << LINES_PER_VOLUME_DESC
585 << ORIENTATION_ANGLE_DESC
589 << MAP_PROJ_NAME_DESC
593 << USGS_PROJ_NUMBER_DESC
597 << USGS_MAP_ZONE_DESC
601 << PROJECTION_PARAMETER_DESC;
610 os << std::setiosflags(std::ios_base::left)
615 << std::resetiosflags(std::ios_base::left)
616 << std::setprecision(3)
618 << std::setiosflags(std::ios_base::right)
628 << std::setprecision(2)
634 << PIXELS_PER_LINE_DESC
638 << LINES_PER_IMAGE_DESC
642 << std::setprecision(3)
696 << std::resetiosflags(std::ios_base::right);
698 os << BANDS_PRESENT_DESC
702 << BLOCKING_FACTOR_DESC
706 << RECORD_LENGTH_DESC
710 << SUN_ELEVATION_DESC
725 << std::setiosflags(std::ios_base::right)
759 <<
"Null stream passed in. Returning from method." 873 is.seekg(PROJ_PARAM_OFFSET[i], std::ios_base::beg);
1117 <<
"Stream corrupted. Returning from method."
char theInstrumentType[INSTRUMENT_TYPE_SIZE+1]
char theFormatVersion[FORMAT_VERSION_SIZE+1]
char thePathRowNumber[PATH_ROW_NUMBER_SIZE+1]
void loadFromStream(std::istream &is)
ErrorStatus theErrorStatus
void write(std::ostream &os) const
char theProductType[PRODUCT_TYPE_SIZE+1]
char theUrLat[LAT_SIZE+1]
char theAcquisitionDate[DATE_SIZE+1]
char theUrLon[LON_SIZE+1]
char theProductSize[PRODUCT_SIZE_SIZE+1]
const int RADIANCE_OFFSET[7]
char theUlLat[LAT_SIZE+1]
int checkStream(std::istream &is)
static StreamFactoryRegistry * instance()
char theProductOrderNumber[PRODUCT_ORDER_NUMBER_SIZE+1]
char theUlLon[LON_SIZE+1]
char theBandRadiance[NUMBER_OF_BANDS][RADIANCE_SIZE+1]
char theUsgsProjParam[NUMBER_OF_PROJECTION_PARAMETERS][USGS_PROJ_PARAMS_SIZE+1]
void print(std::ostream &os) const
char theCenterLat[LAT_SIZE+1]
char theProcessingType[PROCESSING_TYPE_SIZE+1]
char theSatNumber[SAT_NUMBER_SIZE+1]
double projParam(int paramNumber) const
char theResampAlgorithm[RESAMPLING_ALGO_SIZE+1]
char theLlLat[LAT_SIZE+1]
const char * chars() const
For backward compatibility.
char theBandsPresentString[BANDS_PRESENT_SIZE+1]
char theLrLon[LON_SIZE+1]
char theMapSheetName[MAP_SHEET_SIZE+1]
char theLrLat[LAT_SIZE+1]
char theMapProjName[MAP_PROJ_NAME_SIZE+1]
std::basic_istream< char > istream
Base class for char input streams.
std::ostream & operator<<(std::ostream &os, const ossimFfRevb &head)
char theVolumeNumber[VOLUME_NUMBER_SIZE+1]
char theLlLon[LON_SIZE+1]
ossimString & gsub(const ossimString &searchKey, const ossimString &replacementValue, bool replaceAll=false)
Substitutes searchKey string with replacementValue and returns a reference to *this.
std::basic_istringstream< char > istringstream
Class for char input memory streams.
char theEllipsoid[ELLIPSOID_SIZE+1]
double theOrientationAngle
char theCenterLon[LON_SIZE+1]
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
std::basic_ostream< char > ostream
Base class for char output streams.