25 #include <ogrsf_frmts.h> 27 static const ossimTrace traceDebug(
"ossimGdalFactory:debug");
43 CPLSetErrorHandler((CPLErrorHandler)CPLQuietErrorHandler);
57 bool openOverview)
const 67 <<
"ossimGdalFactory::open(filename) DEBUG: entered..." << std::endl;
76 <<
"ossimGdalFactory::open(filename) DEBUG:" 77 <<
"\ntrying ossimHdfReader" 82 if(result->
open(fileName))
90 <<
"ossimGdalFactory::open(filename) DEBUG:" 91 <<
"\ntrying ossimGdalTileSource" 97 if(result->
open(fileName))
105 <<
"ossimGdalFactory::open(filename) DEBUG:" 106 <<
"\ntrying ossimOgrVectorTileSource\n";
111 if(result->
open(fileName))
130 <<
"ossimGdalFactory::open(filename) DEBUG:" 131 <<
"\ntrying ossimOgrGdalTileSource\n";
135 if(result->
open(fileName))
144 <<
"ossimGdalFactory::open(filename) DEBUG: leaving..." 152 const char* prefix)
const 210 if ( result->
open( file ) == false )
237 const char* prefix)
const 250 result = this->
open(kwl, prefix);
278 int driverCount = GDALGetDriverCount();
281 for(idx = 0; idx < driverCount; ++idx)
283 GDALDriverH driver = GDALGetDriver(idx);
287 const char* metaData = GDALGetMetadataItem(driver, GDAL_DMD_EXTENSION, 0);
288 int nMetaData = metaData ? strlen(metaData) : 0;
289 if(metaData && nMetaData>0 )
291 std::vector<ossimString> splitArray;
296 for(idxExtension = 0; idxExtension < splitArray.size(); ++idxExtension)
298 extensionList.
push_back(splitArray[idxExtension].downcase());
304 if(GDALGetDriverByName(
"AAIGrid"))
324 if(std::find(extList.
getList().begin(),
334 int driverCount = GDALGetDriverCount();
337 for(idx = 0; idx < driverCount; ++idx)
339 GDALDriverH driver = GDALGetDriver(idx);
343 const char* metaData = GDALGetMetadataItem(driver, GDAL_DMD_MIMETYPE, 0);
344 int nMetaData = metaData ? strlen(metaData) : 0;
345 if(metaData && nMetaData>0 )
virtual bool open()=0
Pure virtual open.
void setOpenOverviewFlag(bool flag)
Sets theOpenOverviewFlag.
ossimString before(const ossimString &str, std::string::size_type pos=0) const
METHOD: before(str, pos) Returns string beginning at pos and ending one before the token str If strin...
RTTI_DEF1(ossimGdalFactory, "ossimGdalFactory", ossimImageHandlerFactoryBase)
static ossimString upcase(const ossimString &aString)
Represents serializable keyword/value map.
virtual ossimObject * createObject(const ossimString &typeName) const
const char * find(const char *key) const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
virtual ossimImageHandler * open(const ossimFilename &fileName, bool openOverview=true) const
open that takes a filename.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
static ossimGdalFactory * instance()
void split(std::vector< ossimString > &result, const ossimString &separatorList, bool skipBlankFields=false) const
Splits this string into a vector of strings (fields) using the delimiter list specified.
virtual void getSupportedExtensions(ossimImageHandlerFactoryBase::UniqueStringList &extensionList) const
virtual void getTypeNameList(std::vector< ossimString > &typeList) const
static const char * TYPE_KW
#define STATIC_TYPE_NAME(T)
void push_back(char c)
Equivalent to insert(end(), c).
std::string::size_type size() const
unsigned int ossim_uint32
static ossimString downcase(const ossimString &aString)
const std::vector< T > & getList() const
void push_back(const T &value)
static ossimGdalFactory * theInstance
virtual void getImageHandlersByMimeType(ossimImageHandlerFactoryBase::ImageHandlerList &result, const ossimString &mimeType) const
virtual ~ossimGdalFactory()
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual void getImageHandlersBySuffix(ossimImageHandlerFactoryBase::ImageHandlerList &result, const ossimString &ext) const
std::vector< ossimRefPtr< ossimImageHandler > > ImageHandlerList
virtual ossimRefPtr< ossimImageHandler > openOverview(const ossimFilename &file) const
Open overview that takes a file name.
static const char * FILENAME_KW
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)