15 #include "mdal_data_model.hpp"
17 #include "mdal_utils.hpp"
18 #include "mdal_driver.hpp"
30 if ( mHDataset ) GDALClose( mHDataset );
33 void init(
const std::string &dsName );
35 std::string mDatasetName;
37 GDALDatasetH mHDataset;
42 unsigned int mNPoints;
43 unsigned int mNVolumes;
47 void parseParameters();
55 const std::string &description,
56 const std::string &filter,
57 const std::string &gdalDriverName );
60 bool canReadMesh(
const std::string &uri )
override;
61 std::unique_ptr< Mesh > load(
const std::string &fileName,
const std::string &meshName =
"" )
override;
64 typedef std::map<std::string, std::string> metadata_hash;
67 virtual bool parseBandInfo(
const GdalDataset *cfGDALDataset,
68 const metadata_hash &metadata, std::string &band_name,
MDAL::RelativeTimestamp *time,
bool *is_vector,
bool *is_x ) = 0;
69 virtual double parseMetadataTime(
const std::string &time_s );
70 virtual std::string GDALFileName(
const std::string &fileName );
71 virtual std::vector<std::string> parseDatasetNames(
const std::string &fileName );
72 virtual void parseGlobals(
const metadata_hash &metadata ) {MDAL_UNUSED( metadata );}
73 virtual void parseBandIsVector( std::string &band_name,
bool *is_vector,
bool *is_x );
76 typedef std::map<MDAL::RelativeTimestamp, std::vector<GDALRasterBandH> > timestep_map;
77 typedef std::map<std::string, timestep_map > data_hash;
78 typedef std::vector<std::shared_ptr<GdalDataset>> gdal_datasets_vector;
80 void registerDriver();
82 void initFaces( Vertices &nodes, Faces &Faces,
bool is_longitude_shifted );
83 bool initVertices( Vertices &vertices );
89 metadata_hash parseMetadata( GDALMajorObjectH gdalBand,
const char *pszDomain =
nullptr );
90 void addDataToOutput( GDALRasterBandH raster_band, std::shared_ptr<MemoryDataset2D> tos,
bool is_vector,
bool is_x );
92 void addDatasetGroups();
94 void parseRasterBands(
const GdalDataset *cfGDALDataset );
95 void fixRasterBands();
99 std::string mFileName;
100 const std::string mGdalDriverName;
101 double *mPafScanline;
102 std::unique_ptr< MemoryMesh > mMesh;
103 gdal_datasets_vector gdal_datasets;
Definition: mdal_datetime.hpp:48
Definition: mdal_gdal.hpp:52
Definition: mdal_driver.hpp:28
Definition: mdal_gdal.hpp:24
Definition: mdal_datetime.hpp:18