30 #ifndef GDAL_RAT_H_INCLUDED 31 #define GDAL_RAT_H_INCLUDED 37 #define RAT_MAX_ELEM_FOR_CLONE 1000000 71 virtual int GetColumnCount()
const = 0;
82 virtual const char *GetNameOfCol(
int )
const = 0;
127 virtual int GetRowCount()
const = 0;
146 virtual const char *GetValueAsString(
int iRow,
int iField )
const = 0;
162 virtual int GetValueAsInt(
int iRow,
int iField )
const = 0;
178 virtual double GetValueAsDouble(
int iRow,
int iField )
const = 0;
193 virtual void SetValue(
int iRow,
int iField,
const char *pszValue ) = 0;
208 virtual void SetValue(
int iRow,
int iField,
int nValue ) = 0;
223 virtual void SetValue(
int iRow,
int iField,
double dfValue) = 0;
234 virtual int ChangesAreWrittenToFile() = 0;
236 virtual CPLErr ValuesIO(
GDALRWFlag eRWFlag,
int iField,
int iStartRow,
int iLength,
double *pdfData);
237 virtual CPLErr ValuesIO(
GDALRWFlag eRWFlag,
int iField,
int iStartRow,
int iLength,
int *pnData);
238 virtual CPLErr ValuesIO(
GDALRWFlag eRWFlag,
int iField,
int iStartRow,
int iLength,
char **papszStrList);
240 virtual void SetRowCount(
int iCount );
241 virtual int GetRowOfValue(
double dfValue )
const;
242 virtual int GetRowOfValue(
int nValue )
const;
244 virtual CPLErr CreateColumn(
const char *pszFieldName,
247 virtual CPLErr SetLinearBinning(
double dfRow0Min,
double dfBinSize );
248 virtual int GetLinearBinning(
double *pdfRow0Min,
double *pdfBinSize )
const;
257 virtual void *SerializeJSON()
const;
258 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
260 virtual CPLErr InitializeFromColorTable(
const GDALColorTable * );
261 virtual GDALColorTable *TranslateToColorTable(
int nEntryCount = -1 );
263 virtual void DumpReadable( FILE * = NULL );
281 std::vector<GInt32> anValues;
282 std::vector<double> adfValues;
283 std::vector<CPLString> aosValues;
295 std::vector<GDALRasterAttributeField> aoFields;
301 void AnalyseColumns();
302 int bColumnsAnalysed;
317 virtual int GetColumnCount()
const;
319 virtual const char *GetNameOfCol(
int )
const;
325 virtual int GetRowCount()
const;
327 virtual const char *GetValueAsString(
int iRow,
int iField )
const;
328 virtual int GetValueAsInt(
int iRow,
int iField )
const;
329 virtual double GetValueAsDouble(
int iRow,
int iField )
const;
331 virtual void SetValue(
int iRow,
int iField,
const char *pszValue );
332 virtual void SetValue(
int iRow,
int iField,
double dfValue);
333 virtual void SetValue(
int iRow,
int iField,
int nValue );
335 virtual int ChangesAreWrittenToFile();
336 virtual void SetRowCount(
int iCount );
338 virtual int GetRowOfValue(
double dfValue )
const;
339 virtual int GetRowOfValue(
int nValue )
const;
341 virtual CPLErr CreateColumn(
const char *pszFieldName,
344 virtual CPLErr SetLinearBinning(
double dfRow0Min,
double dfBinSize );
345 virtual int GetLinearBinning(
double *pdfRow0Min,
double *pdfBinSize )
const;
The GDALRasterAttributeTable (or RAT) class is used to encapsulate a table used to provide attribute ...
Definition: gdal_rat.h:46
Raster Attribute Table container.
Definition: gdal_rat.h:292
Document node structure.
Definition: cpl_minixml.h:65
Definitions for CPL mini XML Parser/Serializer.
Definition: gdal_rat.h:272
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:903
GDALRWFlag
Definition: gdal.h:101
Convenient string class based on std::string.
Definition: cpl_string.h:236
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:910
Definition: gdal_priv.h:582