34#include "libkea/kea_export.h"
35#include <highfive/highfive.hpp>
236 std::ostringstream convert;
238 return convert.str();
243 std::ostringstream convert;
245 return convert.str();
250 std::ostringstream convert;
252 return convert.str();
257 std::ostringstream convert;
259 return convert.str();
264 std::ostringstream convert;
266 return convert.str();
271 std::string strDT =
"Unknown";
275 strDT =
"Integer 8 bit";
279 strDT =
"Integer 16 bit";
283 strDT =
"Integer 32 bit";
287 strDT =
"Integer 64 bit";
291 strDT =
"Unsigned Integer 8 bit";
295 strDT =
"Unsigned Integer 16 bit";
299 strDT =
"Unsigned Integer 32 bit";
303 strDT =
"Unsigned Integer 64 bit";
307 strDT =
"Float 32 bit";
311 strDT =
"Float 64 bit";
331 H5Eset_auto2(H5E_DEFAULT, NULL, NULL);
354 m_mutex = std::make_shared<kea_mutex>();
356 KEABase(
const std::shared_ptr<kea_mutex>& other)
Definition KEACommon.h:348
std::shared_ptr< kea_mutex > m_mutex
Definition KEACommon.h:363
KEABase()
Definition KEACommon.h:350
KEABase(const std::shared_ptr< kea_mutex > &other)
Definition KEACommon.h:356
Definition KEACommon.h:326
KEAStackPrintState()
Definition KEACommon.h:328
void * m_clientData
Definition KEACommon.h:339
H5E_auto2_t m_func
Definition KEACommon.h:338
~KEAStackPrintState()
Definition KEACommon.h:333
Definition KEAAttributeTable.h:45
static const std::string KEA_ATT_COLNUM_FIELD("COLNUM")
static const std::string KEA_OVERVIEWSNAME_OVERVIEW("/OVERVIEWS/OVERVIEW")
static const std::string KEA_BANDNAME_METADATA_HISTOMIN("/METADATA/STATISTICS_HISTOMIN")
static const std::string KEA_ATT_BOOL_DATA("/ATT/DATA/BOOL")
std::string getDataTypeAsStr(KEADataType dataType)
Definition KEACommon.h:269
static const hsize_t KEA_META_BLOCKSIZE(2048)
static const std::string KEA_BANDNAME_METADATA_STDDEV("/METADATA/STATISTICS_STDDEV")
static const std::string KEA_SOFTWARE("LibKEA")
static const std::string KEA_ATT_TIMEZONEHOURBY4_FIELD("TIMEZONEHOURBY4")
static const hsize_t KEA_RDCC_NBYTES(1048576)
static const std::string KEA_ATT_GROUPNAME_DATA("/ATT/DATA")
static const std::string KEA_ATT_DAY_FIELD("DAY")
KEALayerType
Definition KEACommon.h:173
@ kea_thematic
Definition KEACommon.h:175
@ kea_continuous
Definition KEACommon.h:174
static const std::string KEA_BANDNAME_DT("/DATATYPE")
std::string long2Str(int64_t num)
Definition KEACommon.h:248
static const hsize_t KEA_IMAGE_CHUNK_SIZE(512)
static const std::string KEA_ATT_STRING_FIELDS_HEADER("/ATT/HEADER/STRING_FIELDS")
static const std::string KEA_ATT_USAGE_FIELD("USAGE")
static const std::string KEA_ATT_MINUTE_FIELD("MINUTE")
static const int KEA_MDC_NELMTS(0)
static const std::string KEA_ATT_STRING_FIELD("STRING")
static const std::string KEA_BANDNAME_METADATA_WAVELENGTH("/METADATA/WAVELENGTH")
static const int FILL_MASK_DATA(255)
static const std::string KEA_ATT_YEAR_FIELD("YEAR")
static const std::string KEA_BANDNAME_DATA("/DATA")
static const std::string KEA_VERSION("1.1")
static const std::string KEA_GCPS_DFPIXEL("DF_PIXEL")
static const std::string KEA_ATTRIBUTENAME_BLOCK_SIZE("BLOCK_SIZE")
static const std::string KEA_ATT_INDEX_FIELD("INDEX")
static const std::string KEA_BANDNAME_METADATA_FWHM("/METADATA/FWHM")
static const std::string KEA_ATT_GROUPNAME_HEADER("/ATT/HEADER")
std::string int2Str(int32_t num)
Definition KEACommon.h:234
static const hsize_t KEA_SIEVE_BUF(65536)
static const std::string KEA_BANDNAME_METADATA_HISTOBINVALUES("/METADATA/STATISTICS_HISTOBINVALUES")
static const double KEA_RDCC_W0(0.75)
static const std::string KEA_GCPS_DFZ("DF_Z")
static const std::string KEA_GCPS_DFX("DF_X")
static const std::string KEA_BANDNAME_MASK("/MASK")
static const hsize_t KEA_RDCC_NELMTS(512)
static const std::string KEA_GCPS_PROJ("/GCPS/PROJ")
static const std::string KEA_ATT_SIZE_HEADER("/ATT/HEADER/SIZE")
static const int8_t KEA_ATT_NULLTIMEZONE(-127)
static const std::string KEA_DATASETNAME_HEADER_RES("/HEADER/RES")
static const std::string KEA_BANDNAME_OVERVIEWS("/OVERVIEWS")
static const std::string KEA_BANDNAME_METADATA("/METADATA")
static const std::string KEA_DATASETNAME_HEADER("/HEADER")
static const std::string KEA_DATASETNAME_HEADER_NUMBANDS("/HEADER/NUMBANDS")
static const std::string KEA_GCPS_PSZID("PSZ_ID")
static const std::string KEA_GCPS_NUM("/GCPS/NUM_GCPS")
static const std::string KEA_DATASETNAME_HEADER_SIZE("/HEADER/SIZE")
static const std::string KEA_ATT_FLOAT_DATA("/ATT/DATA/FLOAT")
static const std::string KEA_GCPS_DFLINE("DF_LINE")
static const std::string KEA_NODATA_DEFINED("NO_DATA_DEFINED")
static const std::string KEA_ATTRIBUTENAME_CLASS("CLASS")
KEABandClrInterp
Definition KEACommon.h:179
@ kea_generic
Definition KEACommon.h:180
@ kea_yellowband
Definition KEACommon.h:192
@ kea_greyindex
Definition KEACommon.h:181
@ kea_paletteindex
Definition KEACommon.h:182
@ kea_hueband
Definition KEACommon.h:187
@ kea_redband
Definition KEACommon.h:183
@ kea_blackband
Definition KEACommon.h:193
@ kea_saturationband
Definition KEACommon.h:188
@ kea_cyanband
Definition KEACommon.h:190
@ kea_lightnessband
Definition KEACommon.h:189
@ kea_blueband
Definition KEACommon.h:185
@ kea_alphaband
Definition KEACommon.h:186
@ kea_greenband
Definition KEACommon.h:184
@ kea_magentaband
Definition KEACommon.h:191
@ kea_ycbcr_cbband
Definition KEACommon.h:195
@ kea_ycbcr_crband
Definition KEACommon.h:196
@ kea_ycbcr_yband
Definition KEACommon.h:194
static const std::string KEA_GCPS_PSZINFO("PSZ_INFO")
static const std::string KEA_DATASETNAME_HEADER_ROT("/HEADER/ROT")
static const unsigned int KEA_DEFLATE(1)
static const std::string KEA_ATT_BOOL_FIELDS_HEADER("/ATT/HEADER/BOOL_FIELDS")
std::lock_guard< kea_mutex > kea_lock
Definition KEACommon.h:343
static const std::string KEA_FILE_TYPE("KEA")
static const std::string KEA_ATT_GROUPNAME_NEIGHBOURS("/ATT/NEIGHBOURS")
std::string sizet2Str(size_t num)
Definition KEACommon.h:262
static const std::string KEA_ATT_MONTH_FIELD("MONTH")
static const std::string KEA_BANDNAME_METADATA_MEAN("/METADATA/STATISTICS_MEAN")
static const std::string KEA_DATASETNAME_METADATA("/METADATA")
static const std::string KEA_BANDNAME_METADATA_HISTOBINFUNCTION("/METADATA/STATISTICS_HISTOBINFUNCTION")
static const std::string KEA_BANDNAME_METADATA_HISTONUMBINS("/METADATA/STATISTICS_HISTONUMBINS")
static const std::string KEA_BANDNAME_TYPE("/LAYER_TYPE")
static const std::string KEA_GCPS_DFY("DF_Y")
static const std::string KEA_BANDNAME_METADATA_MIN("/METADATA/STATISTICS_MINIMUM")
static const std::string KEA_DATASETNAME_BAND("/BAND")
static const std::string KEA_ATT_NEIGHBOURS_DATA("/ATT/NEIGHBOURS/NEIGHBOURS")
static const std::string KEA_BANDNAME_ATT("/ATT")
static const std::string KEA_DATASETNAME_HEADER_GENERATOR("/HEADER/GENERATOR")
static const std::string KEA_ATT_INT_FIELDS_HEADER("/ATT/HEADER/INT_FIELDS")
static const std::string KEA_ATT_HOUR_FIELD("HOUR")
static const std::string KEA_ATT_STRING_DATA("/ATT/DATA/STRING")
static const std::string KEA_ATTRIBUTENAME_IMAGE_VERSION("IMAGE_VERSION")
static const std::string KEA_DATASETNAME_HEADER_TL("/HEADER/TL")
std::string ulong2Str(uint64_t num)
Definition KEACommon.h:255
std::string uint2Str(uint32_t num)
Definition KEACommon.h:241
static const std::string KEA_BANDNAME_METADATA_HISTOMAX("/METADATA/STATISTICS_HISTOMAX")
static const std::string KEA_ATT_FLOAT_FIELDS_HEADER("/ATT/HEADER/FLOAT_FIELDS")
static const std::string KEA_DATASETNAME_HEADER_VERSION("/HEADER/VERSION")
static const std::string KEA_BANDNAME_METADATA_MODE("/METADATA/STATISTICS_MODE")
std::recursive_mutex kea_mutex
Definition KEACommon.h:342
static const std::string KEA_DATASETNAME_HEADER_BLOCKSIZE("/HEADER/BLOCKSIZE")
static const std::string KEA_BANDNAME_USAGE("/LAYER_USAGE")
static const std::string KEA_ATT_NAME_FIELD("NAME")
static const std::string KEA_GCPS("/GCPS")
static const std::string KEA_DATASETNAME_HEADER_WKT("/HEADER/WKT")
KEADataType
Definition KEACommon.h:158
@ kea_64float
Definition KEACommon.h:169
@ kea_16uint
Definition KEACommon.h:165
@ kea_64uint
Definition KEACommon.h:167
@ kea_32int
Definition KEACommon.h:162
@ kea_8int
Definition KEACommon.h:160
@ kea_16int
Definition KEACommon.h:161
@ kea_32float
Definition KEACommon.h:168
@ kea_8uint
Definition KEACommon.h:164
@ kea_64int
Definition KEACommon.h:163
@ kea_undefined
Definition KEACommon.h:159
@ kea_32uint
Definition KEACommon.h:166
static const std::string KEA_GCPS_DATA("/GCPS/GCPS")
static const std::string KEA_ATT_CHUNKSIZE_HEADER("/ATT/HEADER/CHUNKSIZE")
static const std::string KEA_BANDNAME_METADATA_MAX("/METADATA/STATISTICS_MAXIMUM")
static const int FILL_IMAGE_DATA(0)
static const std::string KEA_ATT_SECOND_FIELD("SECOND")
static const std::string KEA_ATT_INT_DATA("/ATT/DATA/INT")
static const std::string KEA_BANDNAME_NO_DATA_VAL("/NO_DATA_VAL")
static const hsize_t KEA_ATT_CHUNK_SIZE(10000)
static const std::string KEA_BANDNAME_DESCRIP("/DESCRIPTION")
static const std::string KEA_DATASETNAME_HEADER_FILETYPE("/HEADER/FILETYPE")
Definition KEACommon.h:224
double dfGCPPixel
Definition KEACommon.h:227
double dfGCPZ
Definition KEACommon.h:231
char * pszInfo
Definition KEACommon.h:226
double dfGCPX
Definition KEACommon.h:229
double dfGCPLine
Definition KEACommon.h:228
double dfGCPY
Definition KEACommon.h:230
char * pszId
Definition KEACommon.h:225
Definition KEACommon.h:213
std::string pszInfo
Definition KEACommon.h:215
double dfGCPX
Definition KEACommon.h:218
double dfGCPPixel
Definition KEACommon.h:216
std::string pszId
Definition KEACommon.h:214
double dfGCPY
Definition KEACommon.h:219
double dfGCPZ
Definition KEACommon.h:220
double dfGCPLine
Definition KEACommon.h:217
Definition KEACommon.h:200
double tlX
Definition KEACommon.h:202
std::string wktString
Definition KEACommon.h:201
double xRot
Definition KEACommon.h:206
uint64_t ySize
Definition KEACommon.h:209
double xRes
Definition KEACommon.h:204
double yRot
Definition KEACommon.h:207
double tlY
Definition KEACommon.h:203
double yRes
Definition KEACommon.h:205
uint64_t xSize
Definition KEACommon.h:208