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,
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;
240 virtual CPLErr ValuesIO(
GDALRWFlag eRWFlag,
int iField,
241 int iStartRow,
int iLength,
243 virtual CPLErr ValuesIO(
GDALRWFlag eRWFlag,
int iField,
244 int iStartRow,
int iLength,
int *pnData);
245 virtual CPLErr ValuesIO(
GDALRWFlag eRWFlag,
int iField,
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;
269 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
271 virtual CPLErr InitializeFromColorTable(
const GDALColorTable * );
272 virtual GDALColorTable *TranslateToColorTable(
int nEntryCount = -1 );
274 virtual void DumpReadable( FILE * = NULL );
292 std::vector<GInt32> anValues;
293 std::vector<double> adfValues;
294 std::vector<CPLString> aosValues;
306 std::vector<GDALRasterAttributeField> aoFields;
312 void AnalyseColumns();
313 int bColumnsAnalysed;
342 virtual void SetValue(
int iRow,
int iField,
343 const char *pszValue );
344 virtual void SetValue(
int iRow,
int iField,
double dfValue);
345 virtual void SetValue(
int iRow,
int iField,
int nValue );
359 double *pdfBinSize )
const;
The GDALRasterAttributeTable (or RAT) class is used to encapsulate a table used to provide attribute ...
Definition: gdal_rat.h:46
virtual int GetValueAsInt(int iRow, int iField) const =0
Fetch field value as a integer.
Raster Attribute Table container.
Definition: gdal_rat.h:303
Document node structure.
Definition: cpl_minixml.h:65
Definitions for CPL mini XML Parser/Serializer.
Definition: gdal_rat.h:283
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:957
virtual void SetValue(int iRow, int iField, const char *pszValue)=0
Set field value from string.
virtual int GetRowOfValue(double dfValue) const
Get row for pixel value.
Definition: gdal_rat.cpp:331
virtual void SetRowCount(int iCount)
Set row count.
Definition: gdal_rat.cpp:292
GDALRWFlag
Definition: gdal.h:104
virtual const char * GetNameOfCol(int) const =0
Fetch name of indicated column.
Convenient string class based on std::string.
Definition: cpl_string.h:283
virtual GDALDefaultRasterAttributeTable * Clone() const =0
Copy Raster Attribute Table.
virtual int GetRowCount() const =0
Fetch row count.
virtual int GetLinearBinning(double *pdfRow0Min, double *pdfBinSize) const
Get linear binning information.
Definition: gdal_rat.cpp:482
virtual int ChangesAreWrittenToFile()=0
Determine whether changes made to this RAT are reflected directly in the dataset. ...
virtual CPLErr SetLinearBinning(double dfRow0Min, double dfBinSize)
Set linear binning information.
Definition: gdal_rat.cpp:438
virtual GDALRATFieldUsage GetUsageOfCol(int) const =0
Fetch column usage value.
virtual double GetValueAsDouble(int iRow, int iField) const =0
Fetch field value as a double.
virtual CPLErr CreateColumn(const char *pszFieldName, GDALRATFieldType eFieldType, GDALRATFieldUsage eFieldUsage)
Create new column.
Definition: gdal_rat.cpp:390
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:964
virtual int GetColumnCount() const =0
Fetch table column count.
virtual const char * GetValueAsString(int iRow, int iField) const =0
Fetch field value as a string.
Definition: gdal_priv.h:659
virtual GDALRATFieldType GetTypeOfCol(int) const =0
Fetch column type.
virtual int GetColOfUsage(GDALRATFieldUsage) const =0
Fetch column index for given usage.