31#ifndef KEAAttributeTableFile_H
32#define KEAAttributeTableFile_H
38#include <highfive/highfive.hpp>
56 void getBoolFields(
size_t startfid,
size_t len,
size_t colIdx,
bool *pbBuffer)
const;
57 void getIntFields(
size_t startfid,
size_t len,
size_t colIdx, int64_t *pnBuffer)
const;
58 void getFloatFields(
size_t startfid,
size_t len,
size_t colIdx,
double *pfBuffer)
const;
59 void getStringFields(
size_t startfid,
size_t len,
size_t colIdx, std::vector<std::string> *psBuffer)
const;
60 void getNeighbours(
size_t startfid,
size_t len, std::vector<std::vector<size_t>* > *neighbours)
const;
67 void setBoolFields(
size_t startfid,
size_t len,
size_t colIdx,
bool *pbBuffer);
68 void setIntFields(
size_t startfid,
size_t len,
size_t colIdx, int64_t *pnBuffer);
69 void setFloatFields(
size_t startfid,
size_t len,
size_t colIdx,
double *pfBuffer);
70 void setStringFields(
size_t startfid,
size_t len,
size_t colIdx, std::vector<std::string> *papszStrList);
71 void setNeighbours(
size_t startfid,
size_t len, std::vector<std::vector<size_t>* > *neighbours);
83 static KEAAttributeTable*
createKeaAtt(HighFive::File *keaImg,
const std::shared_ptr<kealib::kea_mutex>& mutex,
unsigned int band,
unsigned int chunkSize=KEA_ATT_CHUNK_SIZE,
unsigned int deflate=KEA_DEFLATE);
84 void exportToKeaFile(HighFive::File *keaImg,
unsigned int band,
unsigned int chunkSize=KEA_ATT_CHUNK_SIZE,
unsigned int deflate=KEA_DEFLATE);
92 void updateSizeHeader(hsize_t nbools, hsize_t nints, hsize_t nfloats, hsize_t nstrings);
94 unsigned int nfields, HighFive::DataType data_type, hid_t fill_type,
const void *fill_value);
Definition KEAAttributeTableFile.h:47
void setIntField(size_t fid, size_t colIdx, int64_t value)
double getFloatField(size_t fid, size_t colIdx) const
HighFive::File * keaImg
Definition KEAAttributeTableFile.h:89
void addAttBoolField(KEAATTField field, bool val)
void setStringFields(size_t startfid, size_t len, size_t colIdx, std::vector< std::string > *papszStrList)
void getFloatFields(size_t startfid, size_t len, size_t colIdx, double *pfBuffer) const
void getBoolFields(size_t startfid, size_t len, size_t colIdx, bool *pbBuffer) const
void setBoolField(size_t fid, size_t colIdx, bool value)
int64_t getIntField(size_t fid, size_t colIdx) const
void getIntFields(size_t startfid, size_t len, size_t colIdx, int64_t *pnBuffer) const
void setFloatFields(size_t startfid, size_t len, size_t colIdx, double *pfBuffer)
void setBoolFields(size_t startfid, size_t len, size_t colIdx, bool *pbBuffer)
void getStringFields(size_t startfid, size_t len, size_t colIdx, std::vector< std::string > *psBuffer) const
unsigned int deflate
Definition KEAAttributeTableFile.h:88
static KEAAttributeTable * createKeaAtt(HighFive::File *keaImg, const std::shared_ptr< kealib::kea_mutex > &mutex, unsigned int band, unsigned int chunkSize=KEA_ATT_CHUNK_SIZE, unsigned int deflate=KEA_DEFLATE)
void setStringField(size_t fid, size_t colIdx, const std::string &value)
void addRows(size_t numRows)
std::string getStringField(size_t fid, size_t colIdx) const
void setNeighbours(size_t startfid, size_t len, std::vector< std::vector< size_t > * > *neighbours)
void addAttField(KEAATTField field, const std::string &headerPath, const std::string &dataPath, unsigned int nfields, HighFive::DataType data_type, hid_t fill_type, const void *fill_value)
void addAttIntField(KEAATTField field, int64_t val)
KEAATTFeature * getFeature(size_t fid) const
void addAttStringField(KEAATTField field, const std::string &val)
void getNeighbours(size_t startfid, size_t len, std::vector< std::vector< size_t > * > *neighbours) const
void updateSizeHeader(hsize_t nbools, hsize_t nints, hsize_t nfloats, hsize_t nstrings)
KEAATTFeature * m_pFeature
Definition KEAAttributeTableFile.h:90
void exportToKeaFile(HighFive::File *keaImg, unsigned int band, unsigned int chunkSize=KEA_ATT_CHUNK_SIZE, unsigned int deflate=KEA_DEFLATE)
bool getBoolField(size_t fid, size_t colIdx) const
void setIntFields(size_t startfid, size_t len, size_t colIdx, int64_t *pnBuffer)
void addAttFloatField(KEAATTField field, float val)
KEAAttributeTableFile(HighFive::File *keaImgIn, KEAAttributeTable *pBaseAtt, const std::shared_ptr< kealib::kea_mutex > &mutex, unsigned int deflateIn=KEA_DEFLATE)
void setFloatField(size_t fid, size_t colIdx, double value)
Definition KEAAttributeTable.h:114
Definition KEAAttributeTable.h:45
Definition KEAAttributeTable.h:57
Definition KEAAttributeTable.h:79