32#include "gdal_utils.h"
43void GDALGrid::m_duplicate(
const GDALGrid &g)
45 filename = g.filename;
51GDALGrid::ptr_duplicate()
53 return new GDALGrid(*
this);
58GDALGrid::GDALGrid(
const string &filenameIn,
const string &name) :
59 Grid(name), filename(filenameIn)
63GDALGrid::GDALGrid(
const GDALGrid &rhs) : Grid(rhs)
70 if (
this == &rhs)
return *
this;
83 BESDEBUG(
"gdal",
"Entering GDALGrid::read()" << endl);
88 GDALDatasetH hDS = GDALOpen(filename.c_str(), GA_ReadOnly);
90 throw Error(
string(CPLGetLastErrorMsg()));
96 GDALArray *array =
static_cast<GDALArray*
>(array_var());
98 read_data_array(array, GDALGetRasterBand(hDS, array->get_gdal_band_num()));
99 array->set_read_p(
true);
101 Map_iter miter = map_begin();
102 array =
static_cast<GDALArray*
>((*miter));
103 read_map_array(array, GDALGetRasterBand(hDS, array->get_gdal_band_num()), hDS);
104 array->set_read_p(
true);
107 array =
static_cast<GDALArray*
>(*miter);
108 read_map_array(array, GDALGetRasterBand(hDS, array->get_gdal_band_num()), hDS);
109 array->set_read_p(
true);