gdal本身不自带HDF处理的功能,要自己手动配置gdal处理HDF。
本文主要是做HDF属性的读取,以及HDF二级文件的读取。
属性为satellite到LongitudeStep的全部,涉及HDF各种数据属性,SSWS和SSWD为两个转悠数据集。
目的是读取属性值,和打开SSWS与SSWD的数据集。
1.读取HDF二级文件,并将所有像素值存储到数组中。
vector<vector<float>> allSSWSPixelNum;
GDALAllRegister();
GDALDataset *pDataSet = (GDALDataset *)GDALOpen(pszSrcFile.toStdString().c_str(), GA_ReadOnly);
if (pDataSet == NULL)
{
printf("不能打开该文件,请检查文件是否存在!");
}
char ** papszSUBDATASETS = GDALGetMetadata(pDataSet, "SUBDATASETS");
vector<string> vSubDataSets;
vector<string> vSubDataDesc;
if (papszSUBDATASETS == NULL)
{
string papszMetadata = GDALGetDriverShortName((GDALDriverH)pDataSet);
vSubDataSets.push_back(papszMet