29#include "gdal_utils.h"
40void GDALArray::m_duplicate(
const GDALArray &a)
42 filename = a.filename;
43 eBufType = a.eBufType;
44 iBandNum = a.iBandNum;
48GDALArray::ptr_duplicate()
50 return new GDALArray(*
this);
53GDALArray::GDALArray(
const string &n, BaseType *v) : Array(n, v), filename(
""), eBufType(GDT_Unknown), iBandNum(0)
55 BESDEBUG(
"gdal",
" Called GDALArray::GDALArray() 1" << endl);
58GDALArray::GDALArray(
const string &name, BaseType *proto,
const string &filenameIn, GDALDataType eBufTypeIn,
int iBandNumIn) :
59 Array(name, proto), filename(filenameIn), eBufType(eBufTypeIn), iBandNum(iBandNumIn)
61 BESDEBUG(
"gdal",
" Called GDALArray::GDALArray() 2" << endl);
64GDALArray::GDALArray(
const GDALArray &src) : Array(src)
69GDALArray::~GDALArray()
76 BESDEBUG(
"gdal",
"Entering GDALArray::read()" << endl);
78 if (read_p())
return true;
80 GDALDatasetH hDS = GDALOpen(filename.c_str(), GA_ReadOnly);
82 throw Error(
string(CPLGetLastErrorMsg()));
85 if (name() ==
"northing" || name() ==
"easting")
86 read_map_array(
this, GDALGetRasterBand(hDS, get_gdal_band_num()), hDS);
88 read_data_array(
this, GDALGetRasterBand(hDS, get_gdal_band_num()));