Skip to content
Snippets Groups Projects
Commit d3e891bb authored by Cyrille Valladeau's avatar Cyrille Valladeau
Browse files

ENH : remove ossimFileParser :-(

parent 2d69f65c
No related branches found
No related tags found
No related merge requests found
//*******************************************************************
//
// License: LGPL
//
// See LICENSE.txt file in the top level directory for more details.
//
// Class declaration for ossimFileParser.
//
// This class provides tools for parsinf a file.
//
//********************************************************************
// $Id: ossimFileParser.h 14412 2009-04-27 16:58:46Z dburken $
#ifndef ossimFileParser_HEADER
#define ossimFileParser_HEADER
#include <iosfwd>
#include <ossim/base/ossimObject.h>
#include <ossim/base/ossimString.h>
class ossimFilename;
class OSSIMDLLEXPORT ossimFileParser : public ossimObject
{
public:
/** @brief default constructor */
ossimFileParser();
/** virtual destructor */
virtual ~ossimFileParser();
bool getEndOfLine( char * fileBuf, ossimString lineBeginning, char * format, ossimString & name );
bool getEndOfLine( char * fileBuf, ossimString lineBeginning, char * format, ossim_float64 & value);
TYPE_DATA
};
#endif /* #ifndef ossimFileParser_HEADER */
...@@ -97,6 +97,10 @@ public: ...@@ -97,6 +97,10 @@ public:
return theSatID; return theSatID;
} }
bool getEndOfLine( char * fileBuf, ossimString lineBeginning, char * format, ossimString & name );
/***************************************** /*****************************************
*parseATTData EPH GEO IMD RPB TIL *parseATTData EPH GEO IMD RPB TIL
* *
......
//*******************************************************************
//
// License: LGPL
//
// See LICENSE.txt file in the top level directory for more details.
//
// Class declaration for ossimFileParser.
//
// This class parses a Space Imaging Quickbird meta data file.
//
//********************************************************************
// $Id: ossimFileParser.h 14412 2009-04-27 16:58:46Z dburken $
#include <ossim/base/ossimFileParser.h>
#include <ossim/base/ossimTrace.h>
#include <iostream>
RTTI_DEF1(ossimFileParser, "ossimFileParser", ossimObject);
static ossimTrace traceExec ("ossimFileParser:exec");
static ossimTrace traceDebug ("ossimFileParser:debug");
ossimFileParser::ossimFileParser()
{
}
ossimFileParser::~ossimFileParser()
{
}
bool ossimFileParser::getEndOfLine( char * fileBuf, ossimString lineBeginning, char * format, ossimString & name)
{
char * res = strstr(fileBuf, lineBeginning.c_str());
if (!res)
{
return false;
}
fileBuf = res;
char dummy[80], nameChar[80];
sscanf(res, format, dummy, nameChar);
name = ossimString(nameChar);
return true;
}
bool getEndOfLine( char * fileBuf, ossimString lineBeginning, char * format, ossim_float64 & value)
{
char * res = strstr(fileBuf, lineBeginning.c_str());
if (!res)
{
return false;
}
fileBuf = res;
char dummy[80], nameChar[80];
sscanf(res, format, dummy, nameChar);
value = ossimString(nameChar).toFloat64();
return true;
}
...@@ -515,7 +515,6 @@ bool ossimIkonosRpcModel::parseHdrData(const ossimFilename& data_file) ...@@ -515,7 +515,6 @@ bool ossimIkonosRpcModel::parseHdrData(const ossimFilename& data_file)
//***************************************************************************** //*****************************************************************************
void ossimIkonosRpcModel::parseRpcData(const ossimFilename& data_file) void ossimIkonosRpcModel::parseRpcData(const ossimFilename& data_file)
{ {
std::cout<<" ############### parseRpcData: "<<std::endl;
if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimIkonosRpcModel::parseRpcData(data_file): entering..." << std::endl; if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimIkonosRpcModel::parseRpcData(data_file): entering..." << std::endl;
if( !data_file.exists() ) if( !data_file.exists() )
...@@ -524,8 +523,6 @@ std::cout<<" ############### parseRpcData: "<<std::endl; ...@@ -524,8 +523,6 @@ std::cout<<" ############### parseRpcData: "<<std::endl;
return; return;
} }
std::cout<<" ############### parseRpcData: "<<std::endl;
//*** //***
// The Ikonos RPC data file is conveniently formatted as KWL file: // The Ikonos RPC data file is conveniently formatted as KWL file:
//*** //***
...@@ -554,7 +551,7 @@ std::cout<<" ############### parseRpcData: "<<std::endl; ...@@ -554,7 +551,7 @@ std::cout<<" ############### parseRpcData: "<<std::endl;
<< keyword << std::endl; << keyword << std::endl;
return; return;
} }
std::cout<<" ############### : "<<buf<<std::endl;
theLineOffset = atof(buf); theLineOffset = atof(buf);
keyword = SAMP_OFF_KW; keyword = SAMP_OFF_KW;
...@@ -924,13 +921,12 @@ bool ossimIkonosRpcModel::parseTiffFile(const ossimFilename& filename) ...@@ -924,13 +921,12 @@ bool ossimIkonosRpcModel::parseTiffFile(const ossimFilename& filename)
ossimFilename hdrfile = filename; ossimFilename hdrfile = filename;
hdrfile.setExtension(ossimString("hdr")); hdrfile.setExtension(ossimString("hdr"));
parseRpcData (rpcfile);
if(!parseHdrData(hdrfile)) if(!parseHdrData(hdrfile))
{ {
return false; return false;
} }
parseRpcData (rpcfile);
if (getErrorStatus()) //check for errors in parsing rpc data if (getErrorStatus()) //check for errors in parsing rpc data
{ {
return false; return false;
......
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
#include <ossim/base/ossimNotify.h> #include <ossim/base/ossimNotify.h>
#include <ossim/base/ossimKeywordNames.h> #include <ossim/base/ossimKeywordNames.h>
#include <ossim/base/ossimTrace.h> #include <ossim/base/ossimTrace.h>
#include <ossim/base/ossimFileParser.h>
RTTI_DEF1(ossimQuickbirdMetaData, "ossimQuickbirdMetaData", ossimObject); RTTI_DEF1(ossimQuickbirdMetaData, "ossimQuickbirdMetaData", ossimObject);
...@@ -242,13 +241,12 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file) ...@@ -242,13 +241,12 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file)
fread(filebuf, 1, fileSize, fptr); fread(filebuf, 1, fileSize, fptr);
strptr = filebuf; strptr = filebuf;
fclose(fptr); fclose(fptr);
ossimFileParser parser;
ossimString temp; ossimString temp;
//--- //---
// Generation time: // Generation time:
//--- //---
if(parser.getEndOfLine( strptr, ossimString("\ngenerationTime ="), "%17c %s", temp)) if(getEndOfLine( strptr, ossimString("\ngenerationTime ="), "%17c %s", temp))
theGenerationDate = ossimString(temp).before(";"); theGenerationDate = ossimString(temp).before(";");
else else
{ {
...@@ -267,7 +265,7 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file) ...@@ -267,7 +265,7 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file)
//--- //---
// BandId: // BandId:
//--- //---
if(parser.getEndOfLine( strptr, ossimString("\nbandId ="), "%9c %s", temp)) if(getEndOfLine( strptr, ossimString("\nbandId ="), "%9c %s", temp))
theBandId = ossimString(temp).after("\"").before("\";"); theBandId = ossimString(temp).after("\"").before("\";");
else else
{ {
...@@ -287,7 +285,7 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file) ...@@ -287,7 +285,7 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file)
//--- //---
// SatID: // SatID:
//--- //---
if(parser.getEndOfLine( strptr, ossimString("\n\tsatId ="), "%9c %s", temp)) if(getEndOfLine( strptr, ossimString("\n\tsatId ="), "%9c %s", temp))
theSatID = ossimString(temp).after("\"").before("\";"); theSatID = ossimString(temp).after("\"").before("\";");
else else
{ {
...@@ -307,7 +305,7 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file) ...@@ -307,7 +305,7 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file)
//--- //---
// TLCTime: // TLCTime:
//--- //---
if(parser.getEndOfLine( strptr, ossimString("\n\tTLCTime ="), "%11c %s", temp)) if(getEndOfLine( strptr, ossimString("\n\tTLCTime ="), "%11c %s", temp))
theTLCDate = ossimString(temp).before("\";"); theTLCDate = ossimString(temp).before("\";");
else else
{ {
...@@ -327,11 +325,11 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file) ...@@ -327,11 +325,11 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file)
//*** //***
// Sun Azimuth: // Sun Azimuth:
//*** //***
if(parser.getEndOfLine( strptr, ossimString("\n\tsunAz ="), "%9c %s", temp)) if(getEndOfLine( strptr, ossimString("\n\tsunAz ="), "%9c %s", temp))
theSunAzimuth = ossimString(temp).before(";").toFloat64(); theSunAzimuth = ossimString(temp).before(";").toFloat64();
else else
{ {
if(parser.getEndOfLine( strptr, ossimString("\n\tmeanSunAz ="), "%13c %s", temp)) if(getEndOfLine( strptr, ossimString("\n\tmeanSunAz ="), "%13c %s", temp))
theSunAzimuth = ossimString(temp).before(";").toFloat64(); theSunAzimuth = ossimString(temp).before(";").toFloat64();
else else
{ {
...@@ -351,11 +349,11 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file) ...@@ -351,11 +349,11 @@ bool ossimQuickbirdMetaData::parseMetaData(const ossimFilename& data_file)
//*** //***
// Sun Elevation: // Sun Elevation:
//*** //***
if(parser.getEndOfLine( filebuf, ossimString("\n\tsunEl ="), "%9c %s", temp)) if(getEndOfLine( filebuf, ossimString("\n\tsunEl ="), "%9c %s", temp))
theSunElevation = ossimString(temp).before(";").toFloat64(); theSunElevation = ossimString(temp).before(";").toFloat64();
else else
{ {
if(parser.getEndOfLine( filebuf, ossimString("\n\tmeanSunEl ="), "%13c %s", temp)) if(getEndOfLine( filebuf, ossimString("\n\tmeanSunEl ="), "%13c %s", temp))
theSunElevation = ossimString(temp).before(";").toFloat64(); theSunElevation = ossimString(temp).before(";").toFloat64();
else else
{ {
...@@ -417,3 +415,26 @@ bool ossimQuickbirdMetaData::parseATTData(const ossimFilename& data_file) ...@@ -417,3 +415,26 @@ bool ossimQuickbirdMetaData::parseATTData(const ossimFilename& data_file)
{ {
return true; return true;
} }
//*****************************************************************************
// PROTECTED METHOD: ossimQuickbirdMetaData::getEndOfLine
//
// // Parse a char * to find another char *. Change the pointer only if the second char * is found.
//
//*****************************************************************************
bool ossimQuickbirdMetaData::getEndOfLine( char * fileBuf, ossimString lineBeginning, char * format, ossimString & name)
{
char * res = strstr(fileBuf, lineBeginning.c_str());
if (!res)
{
return false;
}
// if the lineBeginning is found, update the start pointer adress
fileBuf = res;
char dummy[80], nameChar[80];
sscanf(res, format, dummy, nameChar);
name = ossimString(nameChar);
return true;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment