kealib
Loading...
Searching...
No Matches
KEACommon.h
Go to the documentation of this file.
1/*
2 * KEACommon.cpp
3 * LibKEA
4 *
5 * Created by Pete Bunting on 02/07/2012.
6 * Copyright 2012 LibKEA. All rights reserved.
7 *
8 * This file is part of LibKEA.
9 *
10 * Permission is hereby granted, free of charge, to any person
11 * obtaining a copy of this software and associated documentation
12 * files (the "Software"), to deal in the Software without restriction,
13 * including without limitation the rights to use, copy, modify,
14 * merge, publish, distribute, sublicense, and/or sell copies of the
15 * Software, and to permit persons to whom the Software is furnished
16 * to do so, subject to the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be
19 * included in all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
23 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
25 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
26 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 *
29 */
30
31#ifndef KEACommon_H
32#define KEACommon_H
33
34#include "libkea/kea_export.h"
35#include <highfive/highfive.hpp>
36
37#include <iostream>
38#include <sstream>
39#include <string>
40#include <vector>
41#include <memory>
42#include <mutex>
43
44#include <stdint.h>
45
46namespace kealib{
47
48 static const std::string KEA_FILE_TYPE( "KEA" );
49 static const std::string KEA_SOFTWARE( "LibKEA" );
50 static const std::string KEA_VERSION( "1.1" );
51
52 static const std::string KEA_DATASETNAME_HEADER( "/HEADER" );
53 static const std::string KEA_DATASETNAME_HEADER_NUMBANDS( "/HEADER/NUMBANDS" );
54 static const std::string KEA_DATASETNAME_HEADER_BLOCKSIZE( "/HEADER/BLOCKSIZE" );
55 static const std::string KEA_DATASETNAME_HEADER_RES( "/HEADER/RES" );
56 static const std::string KEA_DATASETNAME_HEADER_TL( "/HEADER/TL" );
57 static const std::string KEA_DATASETNAME_HEADER_ROT( "/HEADER/ROT" );
58 static const std::string KEA_DATASETNAME_HEADER_SIZE( "/HEADER/SIZE" );
59 static const std::string KEA_DATASETNAME_HEADER_WKT( "/HEADER/WKT" );
60
61 static const std::string KEA_DATASETNAME_HEADER_FILETYPE( "/HEADER/FILETYPE" );
62 static const std::string KEA_DATASETNAME_HEADER_GENERATOR( "/HEADER/GENERATOR" );
63 static const std::string KEA_DATASETNAME_HEADER_VERSION( "/HEADER/VERSION" );
64
65 static const std::string KEA_DATASETNAME_METADATA( "/METADATA" );
66 static const std::string KEA_DATASETNAME_BAND( "/BAND" );
67
68 static const std::string KEA_BANDNAME_DATA( "/DATA" );
69 static const std::string KEA_BANDNAME_MASK( "/MASK" );
70 static const std::string KEA_BANDNAME_DESCRIP( "/DESCRIPTION" );
71 static const std::string KEA_BANDNAME_DT( "/DATATYPE" );
72 static const std::string KEA_BANDNAME_TYPE( "/LAYER_TYPE" );
73 static const std::string KEA_BANDNAME_USAGE( "/LAYER_USAGE" );
74 static const std::string KEA_BANDNAME_NO_DATA_VAL( "/NO_DATA_VAL" );
75 static const std::string KEA_BANDNAME_METADATA( "/METADATA" );
76 static const std::string KEA_BANDNAME_METADATA_MIN( "/METADATA/STATISTICS_MINIMUM" );
77 static const std::string KEA_BANDNAME_METADATA_MAX( "/METADATA/STATISTICS_MAXIMUM" );
78 static const std::string KEA_BANDNAME_METADATA_MEAN( "/METADATA/STATISTICS_MEAN" );
79 static const std::string KEA_BANDNAME_METADATA_STDDEV( "/METADATA/STATISTICS_STDDEV" );
80 static const std::string KEA_BANDNAME_METADATA_MODE( "/METADATA/STATISTICS_MODE" );
81 static const std::string KEA_BANDNAME_METADATA_HISTOMIN( "/METADATA/STATISTICS_HISTOMIN" );
82 static const std::string KEA_BANDNAME_METADATA_HISTOMAX( "/METADATA/STATISTICS_HISTOMAX" );
83 static const std::string KEA_BANDNAME_METADATA_HISTONUMBINS( "/METADATA/STATISTICS_HISTONUMBINS" );
84 static const std::string KEA_BANDNAME_METADATA_HISTOBINVALUES( "/METADATA/STATISTICS_HISTOBINVALUES" );
85 static const std::string KEA_BANDNAME_METADATA_HISTOBINFUNCTION( "/METADATA/STATISTICS_HISTOBINFUNCTION" );
86 static const std::string KEA_BANDNAME_METADATA_WAVELENGTH( "/METADATA/WAVELENGTH" );
87 static const std::string KEA_BANDNAME_METADATA_FWHM( "/METADATA/FWHM" );
88
89 static const std::string KEA_BANDNAME_ATT( "/ATT" );
90 static const std::string KEA_ATT_GROUPNAME_HEADER( "/ATT/HEADER" );
91 static const std::string KEA_ATT_GROUPNAME_DATA( "/ATT/DATA" );
92 static const std::string KEA_ATT_GROUPNAME_NEIGHBOURS( "/ATT/NEIGHBOURS" );
93 static const std::string KEA_ATT_BOOL_DATA( "/ATT/DATA/BOOL" );
94 static const std::string KEA_ATT_INT_DATA( "/ATT/DATA/INT" );
95 static const std::string KEA_ATT_FLOAT_DATA( "/ATT/DATA/FLOAT" );
96 static const std::string KEA_ATT_STRING_DATA( "/ATT/DATA/STRING" );
97 static const std::string KEA_ATT_NEIGHBOURS_DATA( "/ATT/NEIGHBOURS/NEIGHBOURS" );
98 static const std::string KEA_ATT_BOOL_FIELDS_HEADER( "/ATT/HEADER/BOOL_FIELDS" );
99 static const std::string KEA_ATT_INT_FIELDS_HEADER( "/ATT/HEADER/INT_FIELDS" );
100 static const std::string KEA_ATT_FLOAT_FIELDS_HEADER( "/ATT/HEADER/FLOAT_FIELDS" );
101 static const std::string KEA_ATT_STRING_FIELDS_HEADER( "/ATT/HEADER/STRING_FIELDS" );
102 static const std::string KEA_ATT_SIZE_HEADER( "/ATT/HEADER/SIZE" );
103 static const std::string KEA_ATT_CHUNKSIZE_HEADER( "/ATT/HEADER/CHUNKSIZE" );
104
105 static const std::string KEA_ATT_NAME_FIELD( "NAME" );
106 static const std::string KEA_ATT_INDEX_FIELD( "INDEX" );
107 static const std::string KEA_ATT_USAGE_FIELD( "USAGE" );
108 static const std::string KEA_ATT_COLNUM_FIELD( "COLNUM" );
109
110 static const std::string KEA_ATT_STRING_FIELD( "STRING" );
111
112 static const std::string KEA_ATT_YEAR_FIELD( "YEAR" );
113 static const std::string KEA_ATT_MONTH_FIELD( "MONTH" );
114 static const std::string KEA_ATT_DAY_FIELD( "DAY" );
115 static const std::string KEA_ATT_HOUR_FIELD( "HOUR" );
116 static const std::string KEA_ATT_MINUTE_FIELD( "MINUTE" );
117 static const std::string KEA_ATT_SECOND_FIELD( "SECOND" );
118 static const std::string KEA_ATT_TIMEZONEHOURBY4_FIELD( "TIMEZONEHOURBY4" );
119
120 static const int8_t KEA_ATT_NULLTIMEZONE( -127 );
121
122 static const std::string KEA_BANDNAME_OVERVIEWS( "/OVERVIEWS" );
123 static const std::string KEA_OVERVIEWSNAME_OVERVIEW( "/OVERVIEWS/OVERVIEW" );
124
125 static const std::string KEA_GCPS( "/GCPS" );
126 static const std::string KEA_GCPS_DATA( "/GCPS/GCPS" );
127 static const std::string KEA_GCPS_NUM( "/GCPS/NUM_GCPS" );
128 static const std::string KEA_GCPS_PROJ( "/GCPS/PROJ" );
129
130 static const std::string KEA_GCPS_PSZID( "PSZ_ID" );
131 static const std::string KEA_GCPS_PSZINFO( "PSZ_INFO" );
132 static const std::string KEA_GCPS_DFPIXEL( "DF_PIXEL" );
133 static const std::string KEA_GCPS_DFLINE( "DF_LINE" );
134 static const std::string KEA_GCPS_DFX( "DF_X" );
135 static const std::string KEA_GCPS_DFY( "DF_Y" );
136 static const std::string KEA_GCPS_DFZ( "DF_Z" );
137
138 static const std::string KEA_ATTRIBUTENAME_CLASS( "CLASS" );
139 static const std::string KEA_ATTRIBUTENAME_IMAGE_VERSION( "IMAGE_VERSION" );
140 static const std::string KEA_ATTRIBUTENAME_BLOCK_SIZE( "BLOCK_SIZE" );
141
142 static const std::string KEA_NODATA_DEFINED( "NO_DATA_DEFINED" );
143
144 static const int KEA_MDC_NELMTS( 0 ); // 0
145 static const hsize_t KEA_RDCC_NELMTS( 512 ); // 512
146 static const hsize_t KEA_RDCC_NBYTES( 1048576 ); // 1048576
147 static const double KEA_RDCC_W0( 0.75 ); // 0.75
148 static const hsize_t KEA_SIEVE_BUF( 65536 ); // 65536
149 static const hsize_t KEA_META_BLOCKSIZE( 2048 ); // 2048
150 static const unsigned int KEA_DEFLATE( 1 ); // 1
151 static const hsize_t KEA_IMAGE_CHUNK_SIZE( 512 ); // 512
152 static const hsize_t KEA_ATT_CHUNK_SIZE( 10000 ); // 10000
153
154 static const int FILL_IMAGE_DATA(0);
155 static const int FILL_MASK_DATA(255);
156
171
177
198
200 {
201 std::string wktString;
202 double tlX;
203 double tlY;
204 double xRes;
205 double yRes;
206 double xRot;
207 double yRot;
208 uint64_t xSize;
209 uint64_t ySize;
210 };
211
213 {
214 std::string pszId;
215 std::string pszInfo;
217 double dfGCPLine;
218 double dfGCPX;
219 double dfGCPY;
220 double dfGCPZ;
221 };
222
224 {
225 char *pszId;
226 char *pszInfo;
228 double dfGCPLine;
229 double dfGCPX;
230 double dfGCPY;
231 double dfGCPZ;
232 };
233
234 inline std::string int2Str(int32_t num)
235 {
236 std::ostringstream convert;
237 convert << num;
238 return convert.str();
239 }
240
241 inline std::string uint2Str(uint32_t num)
242 {
243 std::ostringstream convert;
244 convert << num;
245 return convert.str();
246 }
247
248 inline std::string long2Str(int64_t num)
249 {
250 std::ostringstream convert;
251 convert << num;
252 return convert.str();
253 }
254
255 inline std::string ulong2Str(uint64_t num)
256 {
257 std::ostringstream convert;
258 convert << num;
259 return convert.str();
260 }
261
262 inline std::string sizet2Str(size_t num)
263 {
264 std::ostringstream convert;
265 convert << num;
266 return convert.str();
267 }
268
269 inline std::string getDataTypeAsStr(KEADataType dataType)
270 {
271 std::string strDT = "Unknown";
272
273 if(dataType == kea_8int)
274 {
275 strDT = "Integer 8 bit";
276 }
277 else if(dataType == kea_16int)
278 {
279 strDT = "Integer 16 bit";
280 }
281 else if(dataType == kea_32int)
282 {
283 strDT = "Integer 32 bit";
284 }
285 else if(dataType == kea_64int)
286 {
287 strDT = "Integer 64 bit";
288 }
289 else if(dataType == kea_8uint)
290 {
291 strDT = "Unsigned Integer 8 bit";
292 }
293 else if(dataType == kea_16uint)
294 {
295 strDT = "Unsigned Integer 16 bit";
296 }
297 else if(dataType == kea_32uint)
298 {
299 strDT = "Unsigned Integer 32 bit";
300 }
301 else if(dataType == kea_64uint)
302 {
303 strDT = "Unsigned Integer 64 bit";
304 }
305 else if(dataType == kea_32float)
306 {
307 strDT = "Float 32 bit";
308 }
309 else if(dataType == kea_64float)
310 {
311 strDT = "Float 64 bit";
312 }
313 else
314 {
315 strDT = "Unknown";
316 }
317
318 return strDT;
319 }
320
321 // inline class to save/restore HDF5 exception stack trace
322 // printing (we usually want this off, but want to revert back to what caller had)
323 // Also, this state is per thread so if calling a method on a new thread this will
324 // need to be set.
326 {
327 public:
329 {
330 H5Eget_auto2(H5E_DEFAULT, &m_func, &m_clientData);
331 H5Eset_auto2(H5E_DEFAULT, NULL, NULL);
332 }
334 {
335 H5Eset_auto2(H5E_DEFAULT, m_func, m_clientData);
336 }
337 private:
338 H5E_auto2_t m_func;
340 };
341
342 typedef std::recursive_mutex kea_mutex;
343 typedef std::lock_guard<kea_mutex> kea_lock;
344
345 // base class for KEA classes. Either create a
346 // mutex themselves, or share one from the KEAImageIO class
347 class KEA_EXPORT KEABase
348 {
349 public:
351 {
352 // default constructor
353 // create a new mutex
354 m_mutex = std::make_shared<kea_mutex>();
355 }
356 KEABase(const std::shared_ptr<kea_mutex>& other)
357 {
358 // use this other when you want to use another mutex
359 // to lock access
360 m_mutex = other;
361 }
362 protected:
363 std::shared_ptr<kea_mutex> m_mutex;
364 };
365
366}
367
368
369#endif
370
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