23 static ossimTrace traceDebug(
"ossimApplanixEOFile:debug");
47 std::ostream_iterator<ossimString>(out,
" "));
56 out << src.
theHeader << std::endl << std::endl;
62 std::ostream_iterator<ossimString>(out,
", "));
88 out <<
"theUtmZone = " << src.
theUtmZone << std::endl;
118 createIstream(file, std::ios_base::in);
133 createIstream( file, std::ios_base::in);
169 if(line.contains(
"KAPPA CARDINAL"))
176 else if(line.contains(
"LEVER ARM"))
179 line = line.substitute(
"LEVER ARM VALUES:",
181 line = line.substitute(
",",
192 else if(line.contains(
"BORESIGHT VALUES"))
195 line = line.substitute(
"BORESIGHT VALUES:",
197 line = line.substitute(
",",
210 else if(line.contains(
"SHIFT VALUES:"))
213 line = line.substitute(
"SHIFT VALUES:",
"");
214 line = line.substitute(
",",
227 else if(line.contains(
"GRID:"))
230 line = line.substitute(
";",
248 else if(line.contains(
"FRAME DATUM"))
251 line = line.substitute(
";",
262 else if(line.contains(
"POSPROC SBET"))
267 else if(line.contains(
"CENTRAL MERIDIAN"))
275 else if(line.contains(
"LATITUDE OF THE GRID ORIGIN"))
278 line = line.substitute(
";",
287 else if(line.contains(
"FALSE EASTING"))
290 line = line.substitute(
";",
305 std::vector<ossimString> fieldArray;
325 field = field.
trim();
341 bool hasLatLon = (latIdx >=0)&&(lonIdx >= 0);
371 inStr >> (*record)[idx];
375 double lat = (*record)[latIdx].
toDouble();
376 double lon = (*record)[lonIdx].toDouble();
396 <<
"max lon: " <<
theMaxLon << std::endl;
408 createIstream( file, std::ios_base::in);
422 in >> applanix_skipws;
436 if(!line.contains(
"************"))
446 line = line .substitute(
"\r",
450 (!line.contains(
"***********")))
455 line = line .substitute(
"\r",
477 if(idIdx < 0)
return;
479 for(idx = 0; idx <
size; ++idx)
527 std::map<ossimString, ossimRefPtr<ossimApplanixEORecord>,
ossimString theBoreSightTz
ossimString substitute(const ossimString &searchKey, const ossimString &replacementValue, bool replaceAll=false) const
Substitutes searchKey string with replacementValue and returns a string.
double getBoreSightTx() const
bool isHeightAboveMSL() const
static ossimString upcase(const ossimString &aString)
ossimString theCentralMeridian
ossimString getMappingFrameProjection() const
ossimString getMappingFrameDatum() const
double getMappingFrameCentralMeridian() const
Represents serializable keyword/value map.
ossimString theFalseNorthing
const char * find(const char *key) const
double getShiftValuesX() const
ossim_int32 getUtmZone() const
double getShiftValuesY() const
double nan()
Method to return ieee floating point double precision NAN.
bool contains(char aChar) const
double getMappingFrameOriginLatitude() const
ossimString theShiftValuesY
double getBoreSightTy() const
bool parseHeader(const ossimFilename &file, ossimString &header) const
Parses the header of the exterior orientation file.
double getKardinalKappa() const
static StreamFactoryRegistry * instance()
std::istream & getline(std::istream &is, ossimString &str, char delim)
double getMappingFrameGridScaleFactor() const
ossim_uint32 getNumberOfRecords() const
ossimString theMappingFrameDatum
ossimString theFalseEasting
double getLeverArmLy() const
ossim_int32 toInt32() const
std::vector< ossimString > theField
ossimString theBoreSightTy
ossim_int32 getFieldIdxLike(const ossimString &searchKey) const
Is a case insensitive parse of the column names for the orientation record.
ossimString theLeverArmLx
ossimString theUtmHemisphere
ossimString replaceAllThatMatch(const char *regularExpressionPattern, const char *value="") const
std::ostream & operator<<(std::ostream &out, const ossimApplanixEORecord &src)
double getBoreSightTz() const
unsigned int ossim_uint32
For use with std::map as a compare operator: std::map<ossimString, ossimString, ossimStringLtstr> ...
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
ossimString theBoreSightTx
ossimString theShiftValuesZ
double getLeverArmLx() const
ossimString getUtmHemisphere() const
std::map< ossimString, ossimRefPtr< ossimApplanixEORecord >, ossimStringLtstr > theRecordIdMap
const ossimRefPtr< ossimApplanixEORecord > getRecord(ossim_uint32 idx) const
double getMappingFrameFalseNorthing() const
const ossimRefPtr< ossimApplanixEORecord > getRecordGivenId(const ossimString &id) const
Given an ID it will search and find an EO record that matches the ID.
ossimString getSbetField() const
ossimString convertToOssimDatumCode(const ossimString &datum) const
std::basic_istream< char > istream
Base class for char input streams.
double getMappingFrameFalseEasting() const
ossim_int32 getFieldIdx(const ossimString &searchKey) const
Is a case insensitive parse of the column names for the orientation record.
ossimString theLeverArmLz
ossimString theOriginLatitude
ossimString theMappingFrameProjection
double getShiftValuesZ() const
ossimString theGridScaleFactor
virtual bool parseStream(ossim::istream &is, bool ignoreBinaryChars)
deprecated method
void indexRecordIds()
Will index all records based on the "ID #" field for fast searching.
double getLeverArmLz() const
std::vector< ossimString > theRecordFormat
ossimString theLeverArmLy
bool parseStream(ossim::istream &in)
Will parse the stream and set internal queriable parameters.
std::basic_istringstream< char > istringstream
Class for char input memory streams.
bool parseFile(const ossimFilename &file)
Will parse the entire Exterior orientation file and then index any record ID's found.
ossimString after(const ossimString &str, std::string::size_type pos=0) const
METHOD: after(str, pos) Returns string immediately after the token str.
ossimString & upcase()
Upcases this string.
bool isEOFile(const ossimFilename &file) const
Utility method that just checks for an APPlanix exterior orientation header.
ossimString theShiftValuesX
std::vector< ossimRefPtr< ossimApplanixEORecord > > theApplanixRecordList
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
std::basic_ostream< char > ostream
Base class for char output streams.
const std::string & string() const
ossimString theKappaCardinal