对于做海洋数据处理的同学,会经常遇到nc格式的文件,nc文件的格式全称是NetCDF,具体的详细解释请查询官网【upload/201811141134034507.gif" alt="复制代码" style="max-width: 700px; height: auto; border: none !important;" />
新增AI编程课程,引领技术教育新趋势
对于做海洋数据处理的同学,会经常遇到nc格式的文件,nc文件的格式全称是NetCDF,具体的详细解释请查询官网【upload/201811141134034507.gif" alt="复制代码" style="max-width: 700px; height: auto; border: none !important;" />
1 #ifndef NCFILEREAD_H 2 #define NCFILEREAD_H 3 4 5 class ncFileRead 6 { 7 public: 8 void ncFileRead::fileRead(const char *ncFileName); 9 }; 10 11 #endif // NCFILEREAD_H
读取-源文件
1 #include "ncfileread.h" 2 3 #include <gdal_priv.h> 4 #include <vector> 5 #include <QVector> 6 #include <string> 7 #include <QString> 8 #include <QStringList> 9 #include <QDebug> 10 11 using namespace std; 12 13 void ncFileRead::fileRead(const char *ncFileName) 14 { 15 vector <string> vFileSets; 16 vector <string> pStrDesc; 17 vector<vector<float>> allSSTPixelNum; 18 19 GDALAllRegister(); 20 CPLSetConfigOption("GDAL_FILENAME_IS_UTF8","NO");//中文路径 21 GDALDataset* fileDataset = (GDALDataset*) GDALOpen(ncFileName,GA_ReadOnly);//打开HDF数据集 22 if (fileDataset == NULL) 23 { 24 return; 25 } 26 27 char** sublist = GDALGetMetadata((GDALDatasetH) fileDataset,"SUBDATASETS");//获得数据的字符串,可以打印出来看看自己需要的数据在那 28 29 int iCount = CSLCount(sublist); 30 if(iCount <= 0){ 31 qDebug() << "该文件没有子数据" << endl; 32