15 #include <gdal_priv.h> 16 #include <cpl_string.h> 25 static ossimTrace traceDebug(
"ossimHdfInfo:debug");
44 static const char MODULE[] =
"ossimHdfInfo::open";
48 << MODULE <<
" entered...\n" 49 <<
"file: " << file <<
"\n";
57 if ( ext ==
"hdf" || ext ==
"h4" || ext ==
"hdf4" ||
58 ext ==
"he4" || ext ==
"hdf5" || ext ==
"he5" || ext ==
"h5" ||
79 GDALDatasetH dataset = GDALOpen(
theFile.
c_str(), GA_ReadOnly);
82 char** papszMetadata = GDALGetMetadata(dataset, NULL);
83 if( CSLCount(papszMetadata) > 0 )
85 for(
ossim_uint32 metaIndex = 0; papszMetadata[metaIndex] != 0; ++metaIndex)
90 std::vector<ossimString> metaInfos = metaInfo.
split(
"=");
91 if (metaInfos.size() > 1)
95 keyStr = keyStr +
": ";
113 << MODULE <<
" exit status = " << (result?
"true\n":
"false\n");
121 static const char MODULE[] =
"ossimHdfInfo::print";
140 if (!fileName.
empty())
142 GDALDatasetH dataset = GDALOpen(fileName.
c_str(), GA_ReadOnly);
149 ossimString prefixStr = prefix + imagePrefix + bandPrefix;
152 std::vector<ossimString> subFileList = fileName.
split(
":");
153 if (subFileList.size() > 2)
157 subDatasetName = subFileList[1] +
":" + subFileList[subFileList.size() - 2] +
":" + subFileList[subFileList.size() - 1];
161 subDatasetName = subFileList[subFileList.size() - 1];
164 out << prefixStr << nameStr << subDatasetName <<
"\n";
166 char** papszMetadata = GDALGetMetadata(dataset, NULL);
167 if( CSLCount(papszMetadata) > 0 )
169 for(
ossim_uint32 metaIndex = 0; papszMetadata[metaIndex] != 0; ++metaIndex)
174 std::vector<ossimString> metaInfos = metaInfo.
split(
"=");
175 if (metaInfos.size() > 1)
179 keyStr = keyStr +
": ";
181 std::map<ossimString, ossimString, ossimStringLtstr>::const_iterator itSub =
m_globalMeta.find(keyStr);
184 out << prefixStr << keyStr << valueStr <<
"\n";
ossimString substitute(const ossimString &searchKey, const ossimString &replacementValue, bool replaceAll=false) const
Substitutes searchKey string with replacementValue and returns a string.
ossimHdfInfo()
default constructor
virtual bool open(const ossimFilename &file)
open method.
virtual ossim_uint32 getNumberOfEntries() const
bool contains(char aChar) const
static ossimString toString(bool aValue)
Numeric to string methods.
virtual bool open()
Open method.
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 setFilename(const ossimFilename &filename)
Sets the filename.
unsigned int ossim_uint32
virtual std::ostream & print(std::ostream &out) const
Print method.
std::vector< ossimString > m_globalMetaVector
static ossimString downcase(const ossimString &aString)
virtual ~ossimHdfInfo()
virtual destructor
ossimString getDriverName()
ossimRefPtr< ossimHdfReader > m_hdfReader
ossimString getEntryString(ossim_uint32 entryId) const
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string's contents...
std::map< ossimString, ossimString, ossimStringLtstr > m_globalMeta
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
std::basic_ostream< char > ostream
Base class for char output streams.