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 iCol )
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,
194 const char *pszValue ) = 0;
209 virtual void SetValue(
int iRow,
int iField,
int nValue ) = 0;
224 virtual void SetValue(
int iRow,
int iField,
double dfValue) = 0;
238 virtual int ChangesAreWrittenToFile() = 0;
241 int iStartRow,
int iLength,
244 int iStartRow,
int iLength,
int *pnData);
246 int iStartRow,
int iLength,
247 char **papszStrList);
249 virtual void SetRowCount(
int iCount );
250 virtual int GetRowOfValue(
double dfValue )
const;
251 virtual int GetRowOfValue(
int nValue )
const;
253 virtual CPLErr CreateColumn(
const char *pszFieldName,
256 virtual CPLErr SetLinearBinning(
double dfRow0Min,
258 virtual int GetLinearBinning(
double *pdfRow0Min,
259 double *pdfBinSize )
const;
268 virtual void *SerializeJSON()
const;
272 virtual GDALColorTable *TranslateToColorTable(
int nEntryCount = -1 );
274 virtual void DumpReadable( FILE * = NULL );
283 class GDALRasterAttributeField
292 std::vector<GInt32> anValues;
293 std::vector<double> adfValues;
294 std::vector<CPLString> aosValues;
307 std::vector<GDALRasterAttributeField> aoFields;
313 void AnalyseColumns();
314 int bColumnsAnalysed;
331 virtual const char *GetNameOfCol(
int )
const CPL_OVERRIDE;
339 virtual const char *GetValueAsString(
int iRow,
int iField )
const CPL_OVERRIDE;
340 virtual int GetValueAsInt(
int iRow,
int iField )
const CPL_OVERRIDE;
341 virtual double GetValueAsDouble(
int iRow,
int iField )
const CPL_OVERRIDE;
343 virtual void SetValue(
int iRow,
int iField,
345 virtual void SetValue(
int iRow,
int iField,
double dfValue)
CPL_OVERRIDE;
346 virtual void SetValue(
int iRow,
int iField,
int nValue )
CPL_OVERRIDE;
351 virtual int GetRowOfValue(
double dfValue )
const CPL_OVERRIDE;
352 virtual int GetRowOfValue(
int nValue )
const CPL_OVERRIDE;
354 virtual CPLErr CreateColumn(
const char *pszFieldName,
357 virtual CPLErr SetLinearBinning(
double dfRow0Min,
359 virtual int GetLinearBinning(
double *pdfRow0Min,
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:304
Document node structure.
Definition: cpl_minixml.h:66
Definitions for CPL mini XML Parser/Serializer.
#define CPL_OVERRIDE
To be used in public headers only.
Definition: cpl_port.h:1049
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:1031
GDALRWFlag
Definition: gdal.h:105
Convenient string class based on std::string.
Definition: cpl_string.h:338
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:1038
A color table / palette.
Definition: gdal_priv.h:752
CPLErr
Error category.
Definition: cpl_error.h:52