GDAL

gdal.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Project: GDAL Core
4 * Purpose: GDAL Core C/Public declarations.
5 * Author: Frank Warmerdam, warmerdam@pobox.com
6 *
7 ******************************************************************************
8 * Copyright (c) 1998, 2002 Frank Warmerdam
9 * Copyright (c) 2007-2014, Even Rouault <even dot rouault at spatialys.com>
10 *
11 * SPDX-License-Identifier: MIT
12 ****************************************************************************/
13
14#ifndef GDAL_H_INCLUDED
15#define GDAL_H_INCLUDED
16
23#ifndef DOXYGEN_SKIP
24#if defined(GDAL_COMPILATION)
25#define DO_NOT_DEFINE_GDAL_DATE_NAME
26#endif
27#include "gdal_fwd.h"
28#include "gdal_version.h"
29#include "cpl_port.h"
30#include "cpl_error.h"
31#include "cpl_progress.h"
32#include "cpl_virtualmem.h"
33#include "cpl_minixml.h"
34#include "ogr_api.h"
35#endif
36
37#include <stdbool.h>
38#include <stdint.h>
39
40/* -------------------------------------------------------------------- */
41/* Significant constants. */
42/* -------------------------------------------------------------------- */
43
44 CPL_C_START
45
47 typedef enum
48{
GDT_Unknown = 0, GDT_UInt8 = 1, GDT_Int8 = 14, GDT_UInt16 = 2, GDT_Int16 = 3, GDT_UInt32 = 4, GDT_Int32 = 5, GDT_UInt64 = 12, GDT_Int64 = 13, GDT_Float16 = 15, GDT_Float32 = 6, GDT_Float64 = 7, GDT_CInt16 = 8, GDT_CInt32 = 9, GDT_CFloat16 = 16, GDT_CFloat32 = 10, GDT_CFloat64 = 11,
66 GDT_TypeCount = 17 /* maximum type # + 1 */
67} GDALDataType;
68
70#define GDT_Byte GDT_UInt8
71
72 int CPL_DLL CPL_STDCALL GDALGetDataTypeSize(GDALDataType)
74 CPL_WARN_DEPRECATED("Use GDALGetDataTypeSizeBits() or "
75 "GDALGetDataTypeSizeBytes() * 8 instead")
77 ;
78 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits(GDALDataType eDataType);
79 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes(GDALDataType);
80 int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex(GDALDataType);
81 int CPL_DLL CPL_STDCALL GDALDataTypeIsInteger(GDALDataType);
82 int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating(GDALDataType);
83 int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned(GDALDataType);
84 const char CPL_DLL *CPL_STDCALL GDALGetDataTypeName(GDALDataType);
85 GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName(const char *);
86 GDALDataType CPL_DLL CPL_STDCALL GDALDataTypeUnion(GDALDataType, GDALDataType);
87 GDALDataType CPL_DLL CPL_STDCALL GDALDataTypeUnionWithValue(GDALDataType eDT,
88 double dValue,
89 int bComplex);
90 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType(int nBits, int bSigned,
91 int bFloating, int bComplex);
92 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue(double dValue,
93 int bComplex);
94 double CPL_DLL GDALAdjustValueToDataType(GDALDataType eDT, double dfValue,
95 int *pbClamped, int *pbRounded);
96 bool CPL_DLL GDALIsValueExactAs(double dfValue, GDALDataType eDT);
97 bool CPL_DLL GDALIsValueInRangeOf(double dfValue, GDALDataType eDT);
98 GDALDataType CPL_DLL CPL_STDCALL GDALGetNonComplexDataType(GDALDataType);
99 int CPL_DLL CPL_STDCALL GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom,
100 GDALDataType eTypeTo);
101
105 typedef enum
106{
107 GARIO_PENDING = 0,
108 GARIO_UPDATE = 1,
109 GARIO_ERROR = 2,
110 GARIO_COMPLETE = 3,
111 GARIO_TypeCount = 4
112} GDALAsyncStatusType;
113
114 const char CPL_DLL *CPL_STDCALL GDALGetAsyncStatusTypeName(GDALAsyncStatusType);
115 GDALAsyncStatusType CPL_DLL CPL_STDCALL
116 GDALGetAsyncStatusTypeByName(const char *);
117
119 typedef enum
120{
GA_ReadOnly = 0, GA_Update = 1
123} GDALAccess;
124
126 typedef enum
127{
GF_Read = 0, GF_Write = 1
130} GDALRWFlag;
131
132/* NOTE: values are selected to be consistent with GDALResampleAlg of
133 * alg/gdalwarper.h */
136 typedef enum
137{
GRIORA_NearestNeighbour = 0, GRIORA_Bilinear = 1, GRIORA_Cubic = 2, GRIORA_CubicSpline = 3, GRIORA_Lanczos = 4, GRIORA_Average = 5,
146 GRIORA_Mode = 6,
GRIORA_Gauss = 7,
148 /* NOTE: values 8 to 13 are reserved for max,min,med,Q1,Q3,sum */
150 GRIORA_RESERVED_START = 8,
151 GRIORA_RESERVED_END = 13,
157 GRIORA_RMS = 14,
159 GRIORA_LAST = GRIORA_RMS
161} GDALRIOResampleAlg;
162
163/* NOTE to developers: if required, only add members at the end of the
164 * structure, and when doing so increase RASTERIO_EXTRA_ARG_CURRENT_VERSION
165 */
169 typedef struct
170{
172 int nVersion;
173
175 GDALRIOResampleAlg eResampleAlg;
176
178 GDALProgressFunc pfnProgress;
180 void *pProgressData;
181
187 int bFloatingPointWindowValidity;
190 double dfXOff;
193 double dfYOff;
196 double dfXSize;
199 double dfYSize;
205 int bUseOnlyThisScale;
206} GDALRasterIOExtraArg;
207
208#ifndef DOXYGEN_SKIP
209#define RASTERIO_EXTRA_ARG_CURRENT_VERSION 2
210#endif
211
214#define INIT_RASTERIO_EXTRA_ARG(s) \
215 do \
216 { \
217 (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
218 (s).eResampleAlg = GRIORA_NearestNeighbour; \
219 (s).pfnProgress = CPL_NULLPTR; \
220 (s).pProgressData = CPL_NULLPTR; \
221 (s).bFloatingPointWindowValidity = FALSE; \
222 (s).bUseOnlyThisScale = FALSE; \
223 } while (0)
224
231#define GCI_IR_Start 20
232
239#define GCI_IR_End 29
240
248#define GCI_SAR_Start 30
249
257#define GCI_SAR_End 39
258
271 typedef enum
272{
GCI_Undefined = 0, GCI_GrayIndex = 1, GCI_PaletteIndex = 2,
277 GCI_RedBand = 3,
279 GCI_GreenBand = 4,
281 GCI_BlueBand = 5,
GCI_AlphaBand = 6, GCI_HueBand = 7, GCI_SaturationBand = 8, GCI_LightnessBand = 9, GCI_CyanBand = 10, GCI_MagentaBand = 11,
289 GCI_YellowBand = 12,
GCI_BlackBand = 13, GCI_YCbCr_YBand = 14, GCI_YCbCr_CbBand = 15, GCI_YCbCr_CrBand = 16,
294
295 /* GDAL 3.10 addition: begin */
GCI_PanBand = 17, GCI_CoastalBand = 18, GCI_RedEdgeBand = 19,
299
GCI_NIRBand =
301 GCI_IR_Start + 0,
GCI_SWIRBand =
303 GCI_IR_Start + 1,
GCI_MWIRBand =
305 GCI_IR_Start + 2,
GCI_LWIRBand =
307 GCI_IR_Start + 3,
GCI_TIRBand =
309 GCI_IR_Start + 4,
GCI_OtherIRBand =
311 GCI_IR_Start + 5,
313 GCI_IR_Reserved_1 = GCI_IR_Start + 6,
315 GCI_IR_Reserved_2 = GCI_IR_Start + 7,
317 GCI_IR_Reserved_3 = GCI_IR_Start + 8,
319 GCI_IR_Reserved_4 = GCI_IR_Start + 9,
320
322 GCI_SAR_Ka_Band = GCI_SAR_Start + 0,
324 GCI_SAR_K_Band = GCI_SAR_Start + 1,
326 GCI_SAR_Ku_Band = GCI_SAR_Start + 2,
328 GCI_SAR_X_Band = GCI_SAR_Start + 3,
330 GCI_SAR_C_Band = GCI_SAR_Start + 4,
332 GCI_SAR_S_Band = GCI_SAR_Start + 5,
334 GCI_SAR_L_Band = GCI_SAR_Start + 6,
336 GCI_SAR_P_Band = GCI_SAR_Start + 7,
338 GCI_SAR_Reserved_1 = GCI_SAR_Start + 8,
340 GCI_SAR_Reserved_2 = GCI_SAR_Start + 9,
341
342 /* GDAL 3.10 addition: end */
343
GCI_Max =
345 GCI_SAR_Reserved_2
346} GDALColorInterp;
347
348 const char CPL_DLL *GDALGetColorInterpretationName(GDALColorInterp);
349 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName(const char *pszName);
350
352 typedef enum
353{
GPI_Gray = 0, GPI_RGB = 1, GPI_CMYK = 2, GPI_HLS = 3
358} GDALPaletteInterp;
359
360 const char CPL_DLL *GDALGetPaletteInterpretationName(GDALPaletteInterp);
361
362/* "well known" metadata items. */
363
366#define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
369#define GDALMD_AOP_AREA "Area"
372#define GDALMD_AOP_POINT "Point"
373
374/* -------------------------------------------------------------------- */
375/* GDAL Specific error codes. */
376/* */
377/* error codes 100 to 299 reserved for GDAL. */
378/* -------------------------------------------------------------------- */
379#ifndef DOXYGEN_SKIP
380#define CPLE_WrongFormat CPL_STATIC_CAST(CPLErrorNum, 200)
381#endif
382
383/* -------------------------------------------------------------------- */
384/* Types, enumerations. */
385/* -------------------------------------------------------------------- */
386
388 typedef GIntBig GSpacing;
389
393 typedef enum
394{
396 GEDTC_NUMERIC,
398 GEDTC_STRING,
400 GEDTC_COMPOUND
401} GDALExtendedDataTypeClass;
402
406 typedef enum
407{
409 GEDTST_NONE,
411 GEDTST_JSON
412} GDALExtendedDataTypeSubType;
413
414/* ==================================================================== */
415/* Registration/driver related. */
416/* ==================================================================== */
417
419#define GDAL_DMD_LONGNAME "DMD_LONGNAME"
420
422#define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
423
425#define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
426
428#define GDAL_DMD_EXTENSION "DMD_EXTENSION"
429
433#define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
434
437#define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
438
440#define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
441
445#define GDAL_DMD_OVERVIEW_CREATIONOPTIONLIST "DMD_OVERVIEW_CREATIONOPTIONLIST"
446
450#define GDAL_DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST \
451 "DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST"
452
456#define GDAL_DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST \
457 "DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST"
458
462#define GDAL_DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST \
463 "DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST"
464
468#define GDAL_DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST \
469 "DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST"
470
474#define GDAL_DMD_MULTIDIM_ARRAY_OPENOPTIONLIST \
475 "DMD_MULTIDIM_ARRAY_OPENOPTIONLIST"
476
480#define GDAL_DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST \
481 "DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST"
482
485#define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
486
489#define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
490
494#define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
495
499#define GDAL_DMD_CREATIONFIELDDATASUBTYPES "DMD_CREATIONFIELDDATASUBTYPES"
500
512#define GDAL_DMD_MAX_STRING_LENGTH "DMD_MAX_STRING_LENGTH"
513
531#define GDAL_DMD_CREATION_FIELD_DEFN_FLAGS "DMD_CREATION_FIELD_DEFN_FLAGS"
532
541#define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
542
548#define GDAL_DCAP_CREATE_SUBDATASETS "DCAP_CREATE_SUBDATASETS"
549
558#define GDAL_DMD_NUMERIC_FIELD_WIDTH_INCLUDES_DECIMAL_SEPARATOR \
559 "DMD_NUMERIC_FIELD_WIDTH_INCLUDES_DECIMAL_SEPARATOR"
560
569#define GDAL_DMD_NUMERIC_FIELD_WIDTH_INCLUDES_SIGN \
570 "DMD_NUMERIC_FIELD_WIDTH_INCLUDES_SIGN"
571
573#define GDAL_DCAP_OPEN "DCAP_OPEN"
574
583#define GDAL_DCAP_CREATE "DCAP_CREATE"
584
589#define GDAL_DCAP_CREATE_MULTIDIMENSIONAL "DCAP_CREATE_MULTIDIMENSIONAL"
590
599#define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
600
606#define GDAL_DCAP_CREATE_ONLY_VISIBLE_AT_CLOSE_TIME \
607 "DCAP_CREATE_ONLY_VISIBLE_AT_CLOSE_TIME"
608
613#define GDAL_DCAP_VECTOR_TRANSLATE_FROM "DCAP_VECTOR_TRANSLATE_FROM"
614
620#define GDAL_DCAP_CREATECOPY_MULTIDIMENSIONAL "DCAP_CREATECOPY_MULTIDIMENSIONAL"
621
625#define GDAL_DCAP_MULTIDIM_RASTER "DCAP_MULTIDIM_RASTER"
626
628#define GDAL_DCAP_SUBCREATECOPY "DCAP_SUBCREATECOPY"
629
638#define GDAL_DCAP_APPEND "DCAP_APPEND"
639
646#define GDAL_DCAP_UPDATE "DCAP_UPDATE"
647
650#define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
651
654#define GDAL_DCAP_RASTER "DCAP_RASTER"
655
658#define GDAL_DCAP_VECTOR "DCAP_VECTOR"
659
662#define GDAL_DCAP_GNM "DCAP_GNM"
663
667#define GDAL_DCAP_CREATE_LAYER "DCAP_CREATE_LAYER"
668
672#define GDAL_DCAP_DELETE_LAYER "DCAP_DELETE_LAYER"
673
677#define GDAL_DCAP_CREATE_FIELD "DCAP_CREATE_FIELD"
678
682#define GDAL_DCAP_DELETE_FIELD "DCAP_DELETE_FIELD"
683
687#define GDAL_DCAP_REORDER_FIELDS "DCAP_REORDER_FIELDS"
688
708#define GDAL_DMD_ALTER_FIELD_DEFN_FLAGS "GDAL_DMD_ALTER_FIELD_DEFN_FLAGS"
709
715#define GDAL_DMD_ILLEGAL_FIELD_NAMES "GDAL_DMD_ILLEGAL_FIELD_NAMES"
716
719#define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
720
724#define GDAL_DCAP_UNIQUE_FIELDS "DCAP_UNIQUE_FIELDS"
725
728#define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
729
733#define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
734
739#define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
740
744#define GDAL_DCAP_CURVE_GEOMETRIES "DCAP_CURVE_GEOMETRIES"
745
750#define GDAL_DCAP_MEASURED_GEOMETRIES "DCAP_MEASURED_GEOMETRIES"
751
756#define GDAL_DCAP_Z_GEOMETRIES "DCAP_Z_GEOMETRIES"
757
770#define GDAL_DMD_GEOMETRY_FLAGS "GDAL_DMD_GEOMETRY_FLAGS"
771
779#define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
780
784#define GDAL_DCAP_FEATURE_STYLES_READ "DCAP_FEATURE_STYLES_READ"
785
789#define GDAL_DCAP_FEATURE_STYLES_WRITE "DCAP_FEATURE_STYLES_WRITE"
790
795#define GDAL_DCAP_COORDINATE_EPOCH "DCAP_COORDINATE_EPOCH"
796
805#define GDAL_DCAP_MULTIPLE_VECTOR_LAYERS "DCAP_MULTIPLE_VECTOR_LAYERS"
806
811#define GDAL_DCAP_FIELD_DOMAINS "DCAP_FIELD_DOMAINS"
812
818#define GDAL_DCAP_RELATIONSHIPS "DCAP_RELATIONSHIPS"
819
824#define GDAL_DCAP_CREATE_RELATIONSHIP "DCAP_CREATE_RELATIONSHIP"
825
830#define GDAL_DCAP_DELETE_RELATIONSHIP "DCAP_DELETE_RELATIONSHIP"
831
836#define GDAL_DCAP_UPDATE_RELATIONSHIP "DCAP_UPDATE_RELATIONSHIP"
837
843#define GDAL_DCAP_FLUSHCACHE_CONSISTENT_STATE "DCAP_FLUSHCACHE_CONSISTENT_STATE"
844
853#define GDAL_DCAP_HONOR_GEOM_COORDINATE_PRECISION \
854 "DCAP_HONOR_GEOM_COORDINATE_PRECISION"
855
859#define GDAL_DCAP_UPSERT "DCAP_UPSERT"
860
887#define GDAL_DMD_RELATIONSHIP_FLAGS "GDAL_DMD_RELATIONSHIP_FLAGS"
888
896#define GDAL_DMD_RELATIONSHIP_RELATED_TABLE_TYPES \
897 "GDAL_DMD_RELATIONSHIP_RELATED_TABLE_TYPES"
898
903#define GDAL_DCAP_RENAME_LAYERS "DCAP_RENAME_LAYERS"
904
914#define GDAL_DMD_CREATION_FIELD_DOMAIN_TYPES "DMD_CREATION_FIELD_DOMAIN_TYPES"
915
931#define GDAL_DMD_ALTER_GEOM_FIELD_DEFN_FLAGS "DMD_ALTER_GEOM_FIELD_DEFN_FLAGS"
932
954#define GDAL_DMD_SUPPORTED_SQL_DIALECTS "DMD_SUPPORTED_SQL_DIALECTS"
955
957#define GDAL_DMD_PLUGIN_INSTALLATION_MESSAGE "DMD_PLUGIN_INSTALLATION_MESSAGE"
977#define GDAL_DMD_UPDATE_ITEMS "DMD_UPDATE_ITEMS"
978
983#define GDAL_DIM_TYPE_HORIZONTAL_X "HORIZONTAL_X"
984
989#define GDAL_DIM_TYPE_HORIZONTAL_Y "HORIZONTAL_Y"
990
994#define GDAL_DIM_TYPE_VERTICAL "VERTICAL"
995
999#define GDAL_DIM_TYPE_TEMPORAL "TEMPORAL"
1000
1004#define GDAL_DIM_TYPE_PARAMETRIC "PARAMETRIC"
1005
1011#define GDAL_DCAP_REOPEN_AFTER_WRITE_REQUIRED "DCAP_REOPEN_AFTER_WRITE_REQUIRED"
1012
1019#define GDAL_DCAP_CAN_READ_AFTER_DELETE "DCAP_CAN_READ_AFTER_DELETE"
1020
1021#define GDsCAddRelationship \
1022 "AddRelationship"
1024#define GDsCDeleteRelationship \
1025 "DeleteRelationship"
1027#define GDsCUpdateRelationship \
1028 "UpdateRelationship"
1035#define GDsCFastGetExtent "FastGetExtent"
1036
1041#define GDsCFastGetExtentWGS84LongLat "FastGetExtentWGS84LongLat"
1042
1043 void CPL_DLL CPL_STDCALL GDALAllRegister(void);
1044 void CPL_DLL GDALRegisterPlugins(void);
1045 CPLErr CPL_DLL GDALRegisterPlugin(const char *name);
1046
1047 GDALDatasetH CPL_DLL CPL_STDCALL
1048 GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType,
1049 CSLConstList) CPL_WARN_UNUSED_RESULT;
1050 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreateCopy(GDALDriverH, const char *,
1051 GDALDatasetH, int, CSLConstList,
1052 GDALProgressFunc,
1053 void *) CPL_WARN_UNUSED_RESULT;
1054
1055 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver(const char *pszFilename,
1056 CSLConstList papszFileList);
1057
1058 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
1059 const char *pszFilename, unsigned int nIdentifyFlags,
1060 const char *const *papszAllowedDrivers, const char *const *papszFileList);
1061
1062 GDALDatasetH CPL_DLL CPL_STDCALL
1063 GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT;
1064 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared(const char *, GDALAccess)
1065 CPL_WARN_UNUSED_RESULT;
1066
1067/* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
1068/* equals to GA_ReadOnly and GA_Update */
1069
1073#define GDAL_OF_READONLY 0x00
1074
1078#define GDAL_OF_UPDATE 0x01
1079
1083#define GDAL_OF_ALL 0x00
1084
1088#define GDAL_OF_RASTER 0x02
1089
1093#define GDAL_OF_VECTOR 0x04
1094
1098#define GDAL_OF_GNM 0x08
1099
1104#define GDAL_OF_MULTIDIM_RASTER 0x10
1105
1106#ifndef DOXYGEN_SKIP
1107#define GDAL_OF_KIND_MASK 0x1E
1108#endif
1109
1113#define GDAL_OF_SHARED 0x20
1114
1118#define GDAL_OF_VERBOSE_ERROR 0x40
1119
1125#define GDAL_OF_INTERNAL 0x80
1126
1135#define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
1136
1144#define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
1145
1153#define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
1154
1155#ifndef DOXYGEN_SKIP
1156/* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
1157 * and GDAL_OF_HASHSET_BLOCK_ACCESS */
1158#define GDAL_OF_RESERVED_1 0x300
1159
1161#define GDAL_OF_BLOCK_ACCESS_MASK 0x300
1162#endif
1163
1164#ifndef DOXYGEN_SKIP
1167#define GDAL_OF_FROM_GDALOPEN 0x400
1168#endif
1169
1176#define GDAL_OF_THREAD_SAFE 0x800
1177
1178 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx(
1179 const char *pszFilename, unsigned int nOpenFlags,
1180 const char *const *papszAllowedDrivers, const char *const *papszOpenOptions,
1181 const char *const *papszSiblingFiles) CPL_WARN_UNUSED_RESULT;
1182
1183 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets(FILE *);
1184
1185 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName(const char *);
1186 int CPL_DLL CPL_STDCALL GDALGetDriverCount(void);
1187 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver(int);
1188 GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver(void);
1189 void CPL_DLL CPL_STDCALL GDALDestroyDriver(GDALDriverH);
1190 int CPL_DLL CPL_STDCALL GDALRegisterDriver(GDALDriverH);
1191 void CPL_DLL CPL_STDCALL GDALDeregisterDriver(GDALDriverH);
1192 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager(void);
1193 void CPL_DLL GDALDestroy(void);
1194 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset(GDALDriverH, const char *);
1195 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset(GDALDriverH,
1196 const char *pszNewName,
1197 const char *pszOldName);
1198 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles(GDALDriverH,
1199 const char *pszNewName,
1200 const char *pszOldName);
1201 int CPL_DLL CPL_STDCALL
1202 GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions);
1203 char CPL_DLL **GDALGetOutputDriversForDatasetName(const char *pszDestFilename,
1204 int nFlagRasterVector,
1205 bool bSingleMatch,
1206 bool bEmitWarning);
1207
1208 bool CPL_DLL GDALDriverHasOpenOption(GDALDriverH,
1209 const char *pszOpenOptionName);
1210
1211/* The following are deprecated */
1212 const char CPL_DLL *CPL_STDCALL GDALGetDriverShortName(GDALDriverH);
1213 const char CPL_DLL *CPL_STDCALL GDALGetDriverLongName(GDALDriverH);
1214 const char CPL_DLL *CPL_STDCALL GDALGetDriverHelpTopic(GDALDriverH);
1215 const char CPL_DLL *CPL_STDCALL GDALGetDriverCreationOptionList(GDALDriverH);
1216
1217/* ==================================================================== */
1218/* GDAL_GCP */
1219/* ==================================================================== */
1220
1222 typedef struct
1223{
1225 char *pszId;
1226
1228 char *pszInfo;
1229
1231 double dfGCPPixel;
1233 double dfGCPLine;
1234
1236 double dfGCPX;
1237
1239 double dfGCPY;
1240
1242 double dfGCPZ;
1243} GDAL_GCP;
1244
1245 void CPL_DLL CPL_STDCALL GDALInitGCPs(int, GDAL_GCP *);
1246 void CPL_DLL CPL_STDCALL GDALDeinitGCPs(int, GDAL_GCP *);
1247 GDAL_GCP CPL_DLL *CPL_STDCALL GDALDuplicateGCPs(int, const GDAL_GCP *);
1248
1249 int CPL_DLL CPL_STDCALL GDALGCPsToGeoTransform(
1250 int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform,
1251 int bApproxOK) CPL_WARN_UNUSED_RESULT;
1252 int CPL_DLL CPL_STDCALL GDALInvGeoTransform(const double *padfGeoTransformIn,
1253 double *padfInvGeoTransformOut)
1254 CPL_WARN_UNUSED_RESULT;
1255 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform(const double *, double, double,
1256 double *, double *);
1257 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
1258 const double *padfGeoTransform2,
1259 double *padfGeoTransformOut);
1260 int CPL_DLL GDALGCPsToHomography(int nGCPCount, const GDAL_GCP *pasGCPs,
1261 double *padfHomography) CPL_WARN_UNUSED_RESULT;
1262 int CPL_DLL GDALInvHomography(const double *padfHomographyIn,
1263 double *padfInvHomographyOut)
1264 CPL_WARN_UNUSED_RESULT;
1265 int CPL_DLL GDALApplyHomography(const double *, double, double, double *,
1266 double *) CPL_WARN_UNUSED_RESULT;
1267 void CPL_DLL GDALComposeHomographies(const double *padfHomography1,
1268 const double *padfHomography2,
1269 double *padfHomographyOut);
1270
1271/* ==================================================================== */
1272/* major objects (dataset, and, driver, drivermanager). */
1273/* ==================================================================== */
1274
1275 char CPL_DLL **CPL_STDCALL GDALGetMetadataDomainList(GDALMajorObjectH hObject);
1276 char CPL_DLL **CPL_STDCALL GDALGetMetadata(GDALMajorObjectH, const char *);
1277 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata(GDALMajorObjectH, CSLConstList,
1278 const char *);
1279 const char CPL_DLL *CPL_STDCALL GDALGetMetadataItem(GDALMajorObjectH,
1280 const char *, const char *);
1281 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadataItem(GDALMajorObjectH, const char *,
1282 const char *, const char *);
1283 const char CPL_DLL *CPL_STDCALL GDALGetDescription(GDALMajorObjectH);
1284 void CPL_DLL CPL_STDCALL GDALSetDescription(GDALMajorObjectH, const char *);
1285
1286/* ==================================================================== */
1287/* GDALDataset class ... normally this represents one file. */
1288/* ==================================================================== */
1289
1291#define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
1292
1293 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver(GDALDatasetH);
1294 char CPL_DLL **CPL_STDCALL GDALGetFileList(GDALDatasetH);
1295 void CPL_DLL GDALDatasetMarkSuppressOnClose(GDALDatasetH);
1296 CPLErr CPL_DLL CPL_STDCALL GDALClose(GDALDatasetH);
1297 CPLErr CPL_DLL GDALDatasetRunCloseWithoutDestroying(GDALDatasetH hDS);
1298 int CPL_DLL CPL_STDCALL GDALGetRasterXSize(GDALDatasetH);
1299 int CPL_DLL CPL_STDCALL GDALGetRasterYSize(GDALDatasetH);
1300 int CPL_DLL CPL_STDCALL GDALGetRasterCount(GDALDatasetH);
1301 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand(GDALDatasetH, int);
1302
1303 bool CPL_DLL GDALDatasetIsThreadSafe(GDALDatasetH, int nScopeFlags,
1304 CSLConstList papszOptions);
1305 GDALDatasetH CPL_DLL GDALGetThreadSafeDataset(GDALDatasetH, int nScopeFlags,
1306 CSLConstList papszOptions);
1307
1308 CPLErr CPL_DLL CPL_STDCALL GDALAddBand(GDALDatasetH hDS, GDALDataType eType,
1309 CSLConstList papszOptions);
1310
1311 GDALAsyncReaderH CPL_DLL CPL_STDCALL GDALBeginAsyncReader(
1312 GDALDatasetH hDS, int nXOff, int nYOff, int nXSize, int nYSize, void *pBuf,
1313 int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount,
1314 int *panBandMap, int nPixelSpace, int nLineSpace, int nBandSpace,
1315 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1316
1317 void CPL_DLL CPL_STDCALL GDALEndAsyncReader(GDALDatasetH hDS,
1318 GDALAsyncReaderH hAsynchReaderH);
1319
1320 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
1321 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1322 int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1323 GDALDataType eBDataType, int nBandCount, const int *panBandCount,
1324 int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
1325
1326 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
1327 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1328 int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1329 GDALDataType eBDataType, int nBandCount, const int *panBandCount,
1330 GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
1331 GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT;
1332
1333 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead(
1334 GDALDatasetH hDS, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
1335 int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount,
1336 int *panBandCount, CSLConstList papszOptions);
1337
1338 char CPL_DLL **
1339 GDALDatasetGetCompressionFormats(GDALDatasetH hDS, int nXOff, int nYOff,
1340 int nXSize, int nYSize, int nBandCount,
1341 const int *panBandList) CPL_WARN_UNUSED_RESULT;
1342 CPLErr CPL_DLL GDALDatasetReadCompressedData(
1343 GDALDatasetH hDS, const char *pszFormat, int nXOff, int nYOff, int nXSize,
1344 int nYSize, int nBandCount, const int *panBandList, void **ppBuffer,
1345 size_t *pnBufferSize, char **ppszDetailedFormat);
1346
1347 const char CPL_DLL *CPL_STDCALL GDALGetProjectionRef(GDALDatasetH);
1348 OGRSpatialReferenceH CPL_DLL GDALGetSpatialRef(GDALDatasetH);
1349 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection(GDALDatasetH, const char *);
1350 CPLErr CPL_DLL GDALSetSpatialRef(GDALDatasetH, OGRSpatialReferenceH);
1351 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform(GDALDatasetH, double *);
1352 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform(GDALDatasetH, const double *);
1353
1354 CPLErr CPL_DLL GDALGetExtent(GDALDatasetH, OGREnvelope *,
1355 OGRSpatialReferenceH hCRS);
1356 CPLErr CPL_DLL GDALGetExtentWGS84LongLat(GDALDatasetH, OGREnvelope *);
1357
1358 CPLErr CPL_DLL GDALDatasetGeolocationToPixelLine(
1359 GDALDatasetH, double dfGeolocX, double dfGeolocY, OGRSpatialReferenceH hSRS,
1360 double *pdfPixel, double *pdfLine, CSLConstList papszTransformerOptions);
1361
1362 int CPL_DLL CPL_STDCALL GDALGetGCPCount(GDALDatasetH);
1363 const char CPL_DLL *CPL_STDCALL GDALGetGCPProjection(GDALDatasetH);
1364 OGRSpatialReferenceH CPL_DLL GDALGetGCPSpatialRef(GDALDatasetH);
1365 const GDAL_GCP CPL_DLL *CPL_STDCALL GDALGetGCPs(GDALDatasetH);
1366 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *,
1367 const char *);
1368 CPLErr CPL_DLL GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *,
1369 OGRSpatialReferenceH);
1370
1371 void CPL_DLL *CPL_STDCALL GDALGetInternalHandle(GDALDatasetH, const char *);
1372 int CPL_DLL CPL_STDCALL GDALReferenceDataset(GDALDatasetH);
1373 int CPL_DLL CPL_STDCALL GDALDereferenceDataset(GDALDatasetH);
1374 int CPL_DLL CPL_STDCALL GDALReleaseDataset(GDALDatasetH);
1375
1376 CPLErr CPL_DLL CPL_STDCALL GDALBuildOverviews(GDALDatasetH, const char *, int,
1377 const int *, int, const int *,
1378 GDALProgressFunc,
1379 void *) CPL_WARN_UNUSED_RESULT;
1380 CPLErr CPL_DLL CPL_STDCALL GDALBuildOverviewsEx(
1381 GDALDatasetH, const char *, int, const int *, int, const int *,
1382 GDALProgressFunc, void *, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1383 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount);
1384 int CPL_DLL CPL_STDCALL GDALGetAccess(GDALDatasetH hDS);
1385 CPLErr CPL_DLL CPL_STDCALL GDALFlushCache(GDALDatasetH hDS);
1386 CPLErr CPL_DLL CPL_STDCALL GDALDropCache(GDALDatasetH hDS);
1387
1388 CPLErr CPL_DLL CPL_STDCALL GDALCreateDatasetMaskBand(GDALDatasetH hDS,
1389 int nFlags);
1390
1391 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
1392 GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
1393 GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT;
1394
1395 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
1396 GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
1397 const char *const *constpapszOptions, GDALProgressFunc pfnProgress,
1398 void *pProgressData) CPL_WARN_UNUSED_RESULT;
1399
1400 CPLErr CPL_DLL GDALRegenerateOverviews(GDALRasterBandH hSrcBand,
1401 int nOverviewCount,
1402 GDALRasterBandH *pahOverviewBands,
1403 const char *pszResampling,
1404 GDALProgressFunc pfnProgress,
1405 void *pProgressData);
1406
1407 CPLErr CPL_DLL GDALRegenerateOverviewsEx(GDALRasterBandH hSrcBand,
1408 int nOverviewCount,
1409 GDALRasterBandH *pahOverviewBands,
1410 const char *pszResampling,
1411 GDALProgressFunc pfnProgress,
1412 void *pProgressData,
1413 CSLConstList papszOptions);
1414
1415 int CPL_DLL GDALDatasetGetLayerCount(GDALDatasetH);
1416 OGRLayerH CPL_DLL GDALDatasetGetLayer(GDALDatasetH, int);
1417
1418/* Defined here to avoid circular dependency with ogr_api.h */
1419 GDALDatasetH CPL_DLL OGR_L_GetDataset(OGRLayerH hLayer);
1420
1421 OGRLayerH CPL_DLL GDALDatasetGetLayerByName(GDALDatasetH, const char *);
1422 int CPL_DLL GDALDatasetIsLayerPrivate(GDALDatasetH, int);
1423 OGRErr CPL_DLL GDALDatasetDeleteLayer(GDALDatasetH, int);
1424 OGRLayerH CPL_DLL GDALDatasetCreateLayer(GDALDatasetH, const char *,
1425 OGRSpatialReferenceH,
1426 OGRwkbGeometryType, CSLConstList);
1427 OGRLayerH CPL_DLL GDALDatasetCreateLayerFromGeomFieldDefn(GDALDatasetH,
1428 const char *,
1429 OGRGeomFieldDefnH,
1430 CSLConstList);
1431 OGRLayerH CPL_DLL GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *,
1432 CSLConstList);
1433 void CPL_DLL GDALDatasetResetReading(GDALDatasetH);
1434 OGRFeatureH CPL_DLL GDALDatasetGetNextFeature(GDALDatasetH hDS,
1435 OGRLayerH *phBelongingLayer,
1436 double *pdfProgressPct,
1437 GDALProgressFunc pfnProgress,
1438 void *pProgressData);
1439 int CPL_DLL GDALDatasetTestCapability(GDALDatasetH, const char *);
1440 OGRLayerH CPL_DLL GDALDatasetExecuteSQL(GDALDatasetH, const char *,
1441 OGRGeometryH, const char *);
1442 OGRErr CPL_DLL GDALDatasetAbortSQL(GDALDatasetH);
1443 void CPL_DLL GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH);
1444 OGRStyleTableH CPL_DLL GDALDatasetGetStyleTable(GDALDatasetH);
1445 void CPL_DLL GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH);
1446 void CPL_DLL GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH);
1447 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
1448 OGRErr CPL_DLL GDALDatasetCommitTransaction(GDALDatasetH hDS);
1449 OGRErr CPL_DLL GDALDatasetRollbackTransaction(GDALDatasetH hDS);
1450 void CPL_DLL GDALDatasetClearStatistics(GDALDatasetH hDS);
1451
1452 GDALMDArrayH CPL_DLL GDALDatasetAsMDArray(
1453 GDALDatasetH hDS, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1454
1455 char CPL_DLL **GDALDatasetGetFieldDomainNames(GDALDatasetH, CSLConstList)
1456 CPL_WARN_UNUSED_RESULT;
1457 OGRFieldDomainH CPL_DLL GDALDatasetGetFieldDomain(GDALDatasetH hDS,
1458 const char *pszName);
1459 bool CPL_DLL GDALDatasetAddFieldDomain(GDALDatasetH hDS,
1460 OGRFieldDomainH hFieldDomain,
1461 char **ppszFailureReason);
1462 bool CPL_DLL GDALDatasetDeleteFieldDomain(GDALDatasetH hDS, const char *pszName,
1463 char **ppszFailureReason);
1464 bool CPL_DLL GDALDatasetUpdateFieldDomain(GDALDatasetH hDS,
1465 OGRFieldDomainH hFieldDomain,
1466 char **ppszFailureReason);
1467
1468 char CPL_DLL **GDALDatasetGetRelationshipNames(GDALDatasetH, CSLConstList)
1469 CPL_WARN_UNUSED_RESULT;
1470 GDALRelationshipH CPL_DLL GDALDatasetGetRelationship(GDALDatasetH hDS,
1471 const char *pszName);
1472
1473 bool CPL_DLL GDALDatasetAddRelationship(GDALDatasetH hDS,
1474 GDALRelationshipH hRelationship,
1475 char **ppszFailureReason);
1476 bool CPL_DLL GDALDatasetDeleteRelationship(GDALDatasetH hDS,
1477 const char *pszName,
1478 char **ppszFailureReason);
1479 bool CPL_DLL GDALDatasetUpdateRelationship(GDALDatasetH hDS,
1480 GDALRelationshipH hRelationship,
1481 char **ppszFailureReason);
1482
1485 typedef void (*GDALQueryLoggerFunc)(const char *pszSQL, const char *pszError,
1486 int64_t lNumRecords,
1487 int64_t lExecutionTimeMilliseconds,
1488 void *pQueryLoggerArg);
1489
1506 bool CPL_DLL GDALDatasetSetQueryLoggerFunc(
1507 GDALDatasetH hDS, GDALQueryLoggerFunc pfnQueryLoggerFunc,
1508 void *poQueryLoggerArg);
1509
1510/* ==================================================================== */
1511/* Informational utilities about subdatasets in file names */
1512/* ==================================================================== */
1513
1525 GDALSubdatasetInfoH CPL_DLL GDALGetSubdatasetInfo(const char *pszFileName);
1526
1537 char CPL_DLL *GDALSubdatasetInfoGetPathComponent(GDALSubdatasetInfoH hInfo);
1538
1547 char CPL_DLL *
1548 GDALSubdatasetInfoGetSubdatasetComponent(GDALSubdatasetInfoH hInfo);
1549
1559 char CPL_DLL *GDALSubdatasetInfoModifyPathComponent(GDALSubdatasetInfoH hInfo,
1560 const char *pszNewPath);
1561
1567 void CPL_DLL GDALDestroySubdatasetInfo(GDALSubdatasetInfoH hInfo);
1568
1569/* ==================================================================== */
1570/* GDALRasterBand ... one band/channel in a dataset. */
1571/* ==================================================================== */
1572
1573/* Note: the only user of SRCVAL() is alg/gdal_simplesurf.cpp */
1574
1575/* clang-format off */
1580#define SRCVAL(papoSource, eSrcType, ii) \
1581 (eSrcType == GDT_UInt8 ? CPL_REINTERPRET_CAST(const GByte *, papoSource)[ii] : \
1582 eSrcType == GDT_Int8 ? CPL_REINTERPRET_CAST(const GInt8 *, papoSource)[ii] : \
1583 eSrcType == GDT_UInt16 ? CPL_REINTERPRET_CAST(const GUInt16 *, papoSource)[ii] : \
1584 eSrcType == GDT_Int16 ? CPL_REINTERPRET_CAST(const GInt16 *, papoSource)[ii] : \
1585 eSrcType == GDT_UInt32 ? CPL_REINTERPRET_CAST(const GUInt32 *, papoSource)[ii] : \
1586 eSrcType == GDT_Int32 ? CPL_REINTERPRET_CAST(const GInt32 *, papoSource)[ii] : \
1587 eSrcType == GDT_UInt64 ? CPL_STATIC_CAST(double, CPL_REINTERPRET_CAST(const GUInt64 *, papoSource)[ii]) : \
1588 eSrcType == GDT_Int64 ? CPL_STATIC_CAST(double, CPL_REINTERPRET_CAST(const GUInt64 *, papoSource)[ii]) : \
1589 eSrcType == GDT_Float32 ? CPL_STATIC_CAST(double, CPL_REINTERPRET_CAST(const float *, papoSource)[ii]) : \
1590 eSrcType == GDT_Float64 ? CPL_REINTERPRET_CAST(const double *, papoSource)[ii] : \
1591 eSrcType == GDT_CInt16 ? CPL_REINTERPRET_CAST(const GInt16 *, papoSource)[(ii)*2] : \
1592 eSrcType == GDT_CInt32 ? CPL_REINTERPRET_CAST(const GInt32 *, papoSource)[(ii)*2] : \
1593 eSrcType == GDT_CFloat32 ? CPL_STATIC_CAST(double, CPL_REINTERPRET_CAST(const float *, papoSource)[ii*2]) : \
1594 eSrcType == GDT_CFloat64 ? CPL_REINTERPRET_CAST(const double *, papoSource)[ii*2] : \
1595 0)
1596
1597/* clang-format on */
1598
1601 typedef CPLErr (*GDALDerivedPixelFunc)(void **papoSources, int nSources,
1602 void *pData, int nBufXSize,
1603 int nBufYSize, GDALDataType eSrcType,
1604 GDALDataType eBufType, int nPixelSpace,
1605 int nLineSpace);
1606
1609 typedef CPLErr (*GDALDerivedPixelFuncWithArgs)(
1610 void **papoSources, int nSources, void *pData, int nBufXSize, int nBufYSize,
1611 GDALDataType eSrcType, GDALDataType eBufType, int nPixelSpace,
1612 int nLineSpace, CSLConstList papszFunctionArgs);
1613
1614 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType(GDALRasterBandH);
1615 void CPL_DLL CPL_STDCALL GDALGetBlockSize(GDALRasterBandH, int *pnXSize,
1616 int *pnYSize);
1617
1618 CPLErr CPL_DLL CPL_STDCALL GDALGetActualBlockSize(GDALRasterBandH,
1619 int nXBlockOff,
1620 int nYBlockOff, int *pnXValid,
1621 int *pnYValid);
1622
1623 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead(GDALRasterBandH hRB,
1624 int nDSXOff, int nDSYOff,
1625 int nDSXSize, int nDSYSize,
1626 int nBXSize, int nBYSize,
1627 GDALDataType eBDataType,
1628 CSLConstList papszOptions);
1629
1630 CPLErr CPL_DLL CPL_STDCALL GDALRasterIO(GDALRasterBandH hRBand,
1631 GDALRWFlag eRWFlag, int nDSXOff,
1632 int nDSYOff, int nDSXSize, int nDSYSize,
1633 void *pBuffer, int nBXSize, int nBYSize,
1634 GDALDataType eBDataType,
1635 int nPixelSpace,
1636 int nLineSpace) CPL_WARN_UNUSED_RESULT;
1637 CPLErr CPL_DLL CPL_STDCALL GDALRasterIOEx(
1638 GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1639 int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1640 GDALDataType eBDataType, GSpacing nPixelSpace, GSpacing nLineSpace,
1641 GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT;
1642 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock(GDALRasterBandH, int, int,
1643 void *) CPL_WARN_UNUSED_RESULT;
1644 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock(GDALRasterBandH, int, int,
1645 void *) CPL_WARN_UNUSED_RESULT;
1646 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize(GDALRasterBandH);
1647 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize(GDALRasterBandH);
1648 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess(GDALRasterBandH);
1649 int CPL_DLL CPL_STDCALL GDALGetBandNumber(GDALRasterBandH);
1650 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset(GDALRasterBandH);
1651
1652 GDALColorInterp
1653 CPL_DLL CPL_STDCALL GDALGetRasterColorInterpretation(GDALRasterBandH);
1654 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorInterpretation(GDALRasterBandH,
1655 GDALColorInterp);
1656 GDALColorTableH CPL_DLL CPL_STDCALL GDALGetRasterColorTable(GDALRasterBandH);
1657 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable(GDALRasterBandH,
1658 GDALColorTableH);
1659 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews(GDALRasterBandH);
1660 int CPL_DLL CPL_STDCALL GDALGetOverviewCount(GDALRasterBandH);
1661 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview(GDALRasterBandH, int);
1662 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue(GDALRasterBandH, int *);
1663int64_t CPL_DLL CPL_STDCALL GDALGetRasterNoDataValueAsInt64(GDALRasterBandH,
1664 int *);
1665uint64_t CPL_DLL CPL_STDCALL GDALGetRasterNoDataValueAsUInt64(GDALRasterBandH,
1666 int *);
1667 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue(GDALRasterBandH, double);
1668 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValueAsInt64(GDALRasterBandH,
1669 int64_t);
1670 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValueAsUInt64(GDALRasterBandH,
1671 uint64_t);
1672 CPLErr CPL_DLL CPL_STDCALL GDALDeleteRasterNoDataValue(GDALRasterBandH);
1673 char CPL_DLL **CPL_STDCALL GDALGetRasterCategoryNames(GDALRasterBandH);
1674 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterCategoryNames(GDALRasterBandH,
1675 CSLConstList);
1676 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum(GDALRasterBandH,
1677 int *pbSuccess);
1678 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum(GDALRasterBandH,
1679 int *pbSuccess);
1680 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
1681 GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax,
1682 double *pdfMean, double *pdfStdDev);
1683 CPLErr CPL_DLL CPL_STDCALL
1684 GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin,
1685 double *pdfMax, double *pdfMean, double *pdfStdDev,
1686 GDALProgressFunc pfnProgress, void *pProgressData);
1687 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(GDALRasterBandH hBand,
1688 double dfMin, double dfMax,
1689 double dfMean,
1690 double dfStdDev);
1691
1692 GDALMDArrayH
1693 CPL_DLL GDALRasterBandAsMDArray(GDALRasterBandH) CPL_WARN_UNUSED_RESULT;
1694
1695 const char CPL_DLL *CPL_STDCALL GDALGetRasterUnitType(GDALRasterBandH);
1696 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType(GDALRasterBandH hBand,
1697 const char *pszNewValue);
1698 double CPL_DLL CPL_STDCALL GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess);
1699 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset(GDALRasterBandH hBand,
1700 double dfNewOffset);
1701 double CPL_DLL CPL_STDCALL GDALGetRasterScale(GDALRasterBandH, int *pbSuccess);
1702 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale(GDALRasterBandH hBand,
1703 double dfNewOffset);
1704 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterMinMax(GDALRasterBandH hBand,
1705 int bApproxOK,
1706 double adfMinMax[2]);
1707 CPLErr CPL_DLL GDALComputeRasterMinMaxLocation(GDALRasterBandH hBand,
1708 double *pdfMin, double *pdfMax,
1709 int *pnMinX, int *pnMinY,
1710 int *pnMaxX, int *pnMaxY);
1711 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache(GDALRasterBandH hBand);
1712 CPLErr CPL_DLL CPL_STDCALL GDALDropRasterCache(GDALRasterBandH hBand);
1713 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram(
1714 GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets,
1715 int *panHistogram, int bIncludeOutOfRange, int bApproxOK,
1716 GDALProgressFunc pfnProgress, void *pProgressData)
1718 CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead")
1720 ;
1721 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx(
1722 GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets,
1723 GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK,
1724 GDALProgressFunc pfnProgress, void *pProgressData);
1725 CPLErr CPL_DLL CPL_STDCALL
1726 GDALGetDefaultHistogram(GDALRasterBandH hBand, double *pdfMin, double *pdfMax,
1727 int *pnBuckets, int **ppanHistogram, int bForce,
1728 GDALProgressFunc pfnProgress, void *pProgressData)
1730 CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead")
1732 ;
1733 CPLErr CPL_DLL CPL_STDCALL
1734 GDALGetDefaultHistogramEx(GDALRasterBandH hBand, double *pdfMin, double *pdfMax,
1735 int *pnBuckets, GUIntBig **ppanHistogram, int bForce,
1736 GDALProgressFunc pfnProgress, void *pProgressData);
1737 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram(GDALRasterBandH hBand,
1738 double dfMin, double dfMax,
1739 int nBuckets,
1740 int *panHistogram)
1742 CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
1744 ;
1745 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx(GDALRasterBandH hBand,
1746 double dfMin, double dfMax,
1747 int nBuckets,
1748 GUIntBig *panHistogram);
1749 int CPL_DLL CPL_STDCALL GDALGetRandomRasterSample(GDALRasterBandH, int,
1750 float *);
1751 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterSampleOverview(GDALRasterBandH,
1752 int);
1753 GDALRasterBandH CPL_DLL CPL_STDCALL
1754 GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig);
1755 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster(GDALRasterBandH hBand,
1756 double dfRealValue,
1757 double dfImaginaryValue);
1758 CPLErr CPL_DLL CPL_STDCALL GDALComputeBandStats(
1759 GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev,
1760 GDALProgressFunc pfnProgress, void *pProgressData);
1761 CPLErr CPL_DLL GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand,
1762 int nOverviewCount,
1763 GDALRasterBandH *pahOverviews,
1764 GDALProgressFunc pfnProgress,
1765 void *pProgressData);
1766
1767 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1768 GDALGetDefaultRAT(GDALRasterBandH hBand);
1769 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT(GDALRasterBandH,
1770 GDALRasterAttributeTableH);
1771 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc(
1772 const char *pszName, GDALDerivedPixelFunc pfnPixelFunc);
1773 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFuncWithArgs(
1774 const char *pszName, GDALDerivedPixelFuncWithArgs pfnPixelFunc,
1775 const char *pszMetadata);
1776
1777 CPLErr CPL_DLL GDALRasterInterpolateAtPoint(GDALRasterBandH hBand,
1778 double dfPixel, double dfLine,
1779 GDALRIOResampleAlg eInterpolation,
1780 double *pdfRealValue,
1781 double *pdfImagValue);
1782
1783 CPLErr CPL_DLL GDALRasterInterpolateAtGeolocation(
1784 GDALRasterBandH hBand, double dfGeolocX, double dfGeolocY,
1785 OGRSpatialReferenceH hSRS, GDALRIOResampleAlg eInterpolation,
1786 double *pdfRealValue, double *pdfImagValue,
1787 CSLConstList papszTransformerOptions);
1788
1791 typedef void *VRTPDWorkingDataPtr;
1792
1831 typedef CPLErr (*GDALVRTProcessedDatasetFuncInit)(
1832 const char *pszFuncName, void *pUserData, CSLConstList papszFunctionArgs,
1833 int nInBands, GDALDataType eInDT, double *padfInNoData, int *pnOutBands,
1834 GDALDataType *peOutDT, double **ppadfOutNoData, const char *pszVRTPath,
1835 VRTPDWorkingDataPtr *ppWorkingData);
1836
1846 typedef void (*GDALVRTProcessedDatasetFuncFree)(
1847 const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData);
1848
1879 typedef CPLErr (*GDALVRTProcessedDatasetFuncProcess)(
1880 const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData,
1881 CSLConstList papszFunctionArgs, int nBufXSize, int nBufYSize,
1882 const void *pInBuffer, size_t nInBufferSize, GDALDataType eInDT,
1883 int nInBands, const double *padfInNoData, void *pOutBuffer,
1884 size_t nOutBufferSize, GDALDataType eOutDT, int nOutBands,
1885 const double *padfOutNoData, double dfSrcXOff, double dfSrcYOff,
1886 double dfSrcXSize, double dfSrcYSize, const double adfSrcGT[/*6*/],
1887 const char *pszVRTPath, CSLConstList papszExtra);
1888
1889 CPLErr CPL_DLL GDALVRTRegisterProcessedDatasetFunc(
1890 const char *pszFuncName, void *pUserData, const char *pszXMLMetadata,
1891 GDALDataType eRequestedInputDT, const GDALDataType *paeSupportedInputDT,
1892 size_t nSupportedInputDTSize, const int *panSupportedInputBandCount,
1893 size_t nSupportedInputBandCountSize,
1894 GDALVRTProcessedDatasetFuncInit pfnInit,
1895 GDALVRTProcessedDatasetFuncFree pfnFree,
1896 GDALVRTProcessedDatasetFuncProcess pfnProcess, CSLConstList papszOptions);
1897
1898 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand(GDALRasterBandH hBand);
1899 int CPL_DLL CPL_STDCALL GDALGetMaskFlags(GDALRasterBandH hBand);
1900 CPLErr CPL_DLL CPL_STDCALL GDALCreateMaskBand(GDALRasterBandH hBand,
1901 int nFlags);
1902 bool CPL_DLL GDALIsMaskBand(GDALRasterBandH hBand);
1903
1905#define GMF_ALL_VALID 0x01
1908#define GMF_PER_DATASET 0x02
1911#define GMF_ALPHA 0x04
1914#define GMF_NODATA 0x08
1915
1919#define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
1920
1925#define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
1926
1932#define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
1933
1934 int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus(GDALRasterBandH hBand,
1935 int nXOff, int nYOff,
1936 int nXSize, int nYSize,
1937 int nMaskFlagStop,
1938 double *pdfDataPct);
1939
1940 void CPL_DLL GDALComputedRasterBandRelease(GDALComputedRasterBandH hBand);
1941
1943 typedef enum
1944{
1946 GRAUO_LOGICAL_NOT,
1948 GRAUO_ABS,
1950 GRAUO_SQRT,
1952 GRAUO_LOG,
1954 GRAUO_LOG10,
1955} GDALRasterAlgebraUnaryOperation;
1956
1957 GDALComputedRasterBandH CPL_DLL GDALRasterBandUnaryOp(
1958 GDALRasterBandH hBand,
1959 GDALRasterAlgebraUnaryOperation eOp) CPL_WARN_UNUSED_RESULT;
1960
1962 typedef enum
1963{
1965 GRABO_ADD,
1967 GRABO_SUB,
1969 GRABO_MUL,
1971 GRABO_DIV,
1973 GRABO_POW,
1975 GRABO_GT,
1977 GRABO_GE,
1979 GRABO_LT,
1981 GRABO_LE,
1983 GRABO_EQ,
1985 GRABO_NE,
1987 GRABO_LOGICAL_AND,
1989 GRABO_LOGICAL_OR
1990} GDALRasterAlgebraBinaryOperation;
1991
1992 GDALComputedRasterBandH CPL_DLL GDALRasterBandBinaryOpBand(
1993 GDALRasterBandH hBand, GDALRasterAlgebraBinaryOperation eOp,
1994 GDALRasterBandH hOtherBand) CPL_WARN_UNUSED_RESULT;
1995 GDALComputedRasterBandH CPL_DLL GDALRasterBandBinaryOpDouble(
1996 GDALRasterBandH hBand, GDALRasterAlgebraBinaryOperation eOp,
1997 double constant) CPL_WARN_UNUSED_RESULT;
1998 GDALComputedRasterBandH CPL_DLL GDALRasterBandBinaryOpDoubleToBand(
1999 double constant, GDALRasterAlgebraBinaryOperation eOp,
2000 GDALRasterBandH hBand) CPL_WARN_UNUSED_RESULT;
2001
2002 GDALComputedRasterBandH CPL_DLL
2003 GDALRasterBandIfThenElse(GDALRasterBandH hCondBand, GDALRasterBandH hThenBand,
2004 GDALRasterBandH hElseBand) CPL_WARN_UNUSED_RESULT;
2005
2006 GDALComputedRasterBandH CPL_DLL GDALRasterBandAsDataType(
2007 GDALRasterBandH hBand, GDALDataType eDT) CPL_WARN_UNUSED_RESULT;
2008
2009 GDALComputedRasterBandH CPL_DLL GDALMaximumOfNBands(
2010 size_t nBandCount, GDALRasterBandH *pahBands) CPL_WARN_UNUSED_RESULT;
2011 GDALComputedRasterBandH CPL_DLL GDALRasterBandMaxConstant(
2012 GDALRasterBandH hBand, double dfConstant) CPL_WARN_UNUSED_RESULT;
2013 GDALComputedRasterBandH CPL_DLL GDALMinimumOfNBands(
2014 size_t nBandCount, GDALRasterBandH *pahBands) CPL_WARN_UNUSED_RESULT;
2015 GDALComputedRasterBandH CPL_DLL GDALRasterBandMinConstant(
2016 GDALRasterBandH hBand, double dfConstant) CPL_WARN_UNUSED_RESULT;
2017 GDALComputedRasterBandH CPL_DLL GDALMeanOfNBands(
2018 size_t nBandCount, GDALRasterBandH *pahBands) CPL_WARN_UNUSED_RESULT;
2019
2020/* ==================================================================== */
2021/* GDALAsyncReader */
2022/* ==================================================================== */
2023
2024 GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALARGetNextUpdatedRegion(
2025 GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff,
2026 int *pnXBufSize, int *pnYBufSize);
2027 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
2028 double dfTimeout);
2029 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
2030
2031/* -------------------------------------------------------------------- */
2032/* Helper functions. */
2033/* -------------------------------------------------------------------- */
2034 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor(int nArgc,
2035 char ***ppapszArgv,
2036 int nOptions);
2037 void CPL_DLL CPL_STDCALL GDALSwapWords(void *pData, int nWordSize,
2038 int nWordCount, int nWordSkip);
2039 void CPL_DLL CPL_STDCALL GDALSwapWordsEx(void *pData, int nWordSize,
2040 size_t nWordCount, int nWordSkip);
2041
2042 void CPL_DLL CPL_STDCALL GDALCopyWords(const void *CPL_RESTRICT pSrcData,
2043 GDALDataType eSrcType,
2044 int nSrcPixelOffset,
2045 void *CPL_RESTRICT pDstData,
2046 GDALDataType eDstType,
2047 int nDstPixelOffset, int nWordCount);
2048
2049 void CPL_DLL CPL_STDCALL GDALCopyWords64(
2050 const void *CPL_RESTRICT pSrcData, GDALDataType eSrcType,
2051 int nSrcPixelOffset, void *CPL_RESTRICT pDstData, GDALDataType eDstType,
2052 int nDstPixelOffset, GPtrDiff_t nWordCount);
2053
2054 void CPL_DLL GDALCopyBits(const GByte *pabySrcData, int nSrcOffset,
2055 int nSrcStep, GByte *pabyDstData, int nDstOffset,
2056 int nDstStep, int nBitCount, int nStepCount);
2057
2058 void CPL_DLL GDALDeinterleave(const void *pSourceBuffer, GDALDataType eSourceDT,
2059 int nComponents, void **ppDestBuffer,
2060 GDALDataType eDestDT, size_t nIters);
2061
2062 void CPL_DLL GDALTranspose2D(const void *pSrc, GDALDataType eSrcType,
2063 void *pDst, GDALDataType eDstType,
2064 size_t nSrcWidth, size_t nSrcHeight);
2065
2066 double CPL_DLL GDALGetNoDataReplacementValue(GDALDataType, double);
2067
2068 int CPL_DLL CPL_STDCALL GDALLoadWorldFile(const char *, double *);
2069 int CPL_DLL CPL_STDCALL GDALReadWorldFile(const char *, const char *, double *);
2070 int CPL_DLL CPL_STDCALL GDALWriteWorldFile(const char *, const char *,
2071 double *);
2072 int CPL_DLL CPL_STDCALL GDALLoadTabFile(const char *, double *, char **, int *,
2073 GDAL_GCP **);
2074 int CPL_DLL CPL_STDCALL GDALReadTabFile(const char *, double *, char **, int *,
2075 GDAL_GCP **);
2076 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile(const char *, double *, char **,
2077 int *, GDAL_GCP **);
2078 int CPL_DLL CPL_STDCALL GDALReadOziMapFile(const char *, double *, char **,
2079 int *, GDAL_GCP **);
2080
2081 const char CPL_DLL *CPL_STDCALL GDALDecToDMS(double, const char *, int);
2082 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec(double);
2083 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS(double);
2084
2085/* Note to developers : please keep this section in sync with ogr_core.h */
2086
2087#ifndef GDAL_VERSION_INFO_DEFINED
2088#ifndef DOXYGEN_SKIP
2089#define GDAL_VERSION_INFO_DEFINED
2090#endif
2091 const char CPL_DLL *CPL_STDCALL GDALVersionInfo(const char *);
2092#endif
2093
2094#ifndef GDAL_CHECK_VERSION
2095
2096 int CPL_DLL CPL_STDCALL GDALCheckVersion(int nVersionMajor, int nVersionMinor,
2097 const char *pszCallingComponentName);
2098
2102#define GDAL_CHECK_VERSION(pszCallingComponentName) \
2103 GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, \
2104 pszCallingComponentName)
2105
2106#endif
2107
2109#ifdef GDAL_COMPILATION
2110#define GDALExtractRPCInfoV1 GDALExtractRPCInfo
2111#else
2112#define GDALRPCInfo GDALRPCInfoV2
2113#define GDALExtractRPCInfo GDALExtractRPCInfoV2
2114#endif
2115
2116/* Deprecated: use GDALRPCInfoV2 */
2117 typedef struct
2118{
2119 double dfLINE_OFF;
2120 double dfSAMP_OFF;
2121 double dfLAT_OFF;
2122 double dfLONG_OFF;
2123 double dfHEIGHT_OFF;
2125 double dfLINE_SCALE;
2126 double dfSAMP_SCALE;
2127 double dfLAT_SCALE;
2128 double dfLONG_SCALE;
2129 double dfHEIGHT_SCALE;
2131 double adfLINE_NUM_COEFF[20];
2132 double adfLINE_DEN_COEFF[20];
2133 double adfSAMP_NUM_COEFF[20];
2134 double adfSAMP_DEN_COEFF[20];
2136 double dfMIN_LONG;
2137 double dfMIN_LAT;
2138 double dfMAX_LONG;
2139 double dfMAX_LAT;
2140} GDALRPCInfoV1;
2141
2146 typedef struct
2147{
2148 double dfLINE_OFF;
2149 double dfSAMP_OFF;
2150 double dfLAT_OFF;
2151 double dfLONG_OFF;
2152 double dfHEIGHT_OFF;
2154 double dfLINE_SCALE;
2155 double dfSAMP_SCALE;
2156 double dfLAT_SCALE;
2157 double dfLONG_SCALE;
2158 double dfHEIGHT_SCALE;
2160 double adfLINE_NUM_COEFF[20];
2161 double adfLINE_DEN_COEFF[20];
2162 double adfSAMP_NUM_COEFF[20];
2163 double adfSAMP_DEN_COEFF[20];
2165 double dfMIN_LONG;
2166 double dfMIN_LAT;
2167 double dfMAX_LONG;
2168 double dfMAX_LAT;
2170 /* Those fields should be at the end. And all above fields should be the
2171 * same as in GDALRPCInfoV1 */
2172 double dfERR_BIAS;
2173 double dfERR_RAND;
2174} GDALRPCInfoV2;
2175
2177 int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV1(CSLConstList, GDALRPCInfoV1 *);
2179 int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *);
2180
2181/* ==================================================================== */
2182/* Color tables. */
2183/* ==================================================================== */
2184
2186 typedef struct
2187{
2189 short c1;
2190
2192 short c2;
2193
2195 short c3;
2196
2198 short c4;
2199} GDALColorEntry;
2200
2201 GDALColorTableH CPL_DLL CPL_STDCALL GDALCreateColorTable(GDALPaletteInterp)
2202 CPL_WARN_UNUSED_RESULT;
2203 void CPL_DLL CPL_STDCALL GDALDestroyColorTable(GDALColorTableH);
2204 GDALColorTableH CPL_DLL CPL_STDCALL GDALCloneColorTable(GDALColorTableH);
2205 GDALPaletteInterp
2206 CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation(GDALColorTableH);
2207 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount(GDALColorTableH);
2208 const GDALColorEntry CPL_DLL *CPL_STDCALL GDALGetColorEntry(GDALColorTableH,
2209 int);
2210 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB(GDALColorTableH, int,
2211 GDALColorEntry *);
2212 void CPL_DLL CPL_STDCALL GDALSetColorEntry(GDALColorTableH, int,
2213 const GDALColorEntry *);
2214 void CPL_DLL CPL_STDCALL GDALCreateColorRamp(GDALColorTableH hTable,
2215 int nStartIndex,
2216 const GDALColorEntry *psStartColor,
2217 int nEndIndex,
2218 const GDALColorEntry *psEndColor);
2219
2220/* ==================================================================== */
2221/* Raster Attribute Table */
2222/* ==================================================================== */
2223
2225 typedef enum
2226{
GFT_Integer, GFT_Real, GFT_String, GFT_Boolean, GFT_DateTime, GFT_WKBGeometry
2233} GDALRATFieldType;
2234
2236#define GFT_MaxCount (GFT_WKBGeometry + 1)
2237
2239 typedef enum
2240{
GFU_Generic = 0, GFU_PixelCount = 1, GFU_Name = 2, GFU_Min = 3, GFU_Max = 4, GFU_MinMax = 5, GFU_Red = 6, GFU_Green = 7, GFU_Blue = 8, GFU_Alpha = 9, GFU_RedMin = 10, GFU_GreenMin = 11, GFU_BlueMin = 12, GFU_AlphaMin = 13, GFU_RedMax = 14, GFU_GreenMax = 15, GFU_BlueMax = 16, GFU_AlphaMax = 17, GFU_MaxCount
2260} GDALRATFieldUsage;
2261
2264 typedef enum
2265{
GRTT_THEMATIC, GRTT_ATHEMATIC
2268} GDALRATTableType;
2269
2270 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
2271 GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT;
2272
2273 void CPL_DLL CPL_STDCALL
2274 GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH);
2275
2276 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount(GDALRasterAttributeTableH);
2277
2278 const char CPL_DLL *CPL_STDCALL GDALRATGetNameOfCol(GDALRasterAttributeTableH,
2279 int);
2280 GDALRATFieldUsage CPL_DLL CPL_STDCALL
2281 GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int);
2282 GDALRATFieldType CPL_DLL CPL_STDCALL
2283 GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int);
2284
2285 const char CPL_DLL *GDALGetRATFieldTypeName(GDALRATFieldType);
2286 const char CPL_DLL *GDALGetRATFieldUsageName(GDALRATFieldUsage);
2287
2288 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage(GDALRasterAttributeTableH,
2289 GDALRATFieldUsage);
2290 int CPL_DLL CPL_STDCALL GDALRATGetRowCount(GDALRasterAttributeTableH);
2291
2292 const char CPL_DLL *CPL_STDCALL
2293 GDALRATGetValueAsString(GDALRasterAttributeTableH, int iRow, int iField);
2294 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(GDALRasterAttributeTableH,
2295 int iRow, int iField);
2296 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(GDALRasterAttributeTableH,
2297 int iRow, int iField);
2298 bool CPL_DLL GDALRATGetValueAsBoolean(GDALRasterAttributeTableH, int iRow,
2299 int iField);
2300
2301#ifdef __cplusplus
2302 extern "C++"
2303{
2304#endif
2305
2310 struct GDALRATDateTime
2311 {
int nYear; int nMonth; int nDay; int nHour; int nMinute; float fSecond; int nTimeZoneHour; int nTimeZoneMinute; bool bPositiveTimeZone; bool bIsValid;
2322
2323#ifdef __cplusplus
2324 GDALRATDateTime()
2325 : nYear(0), nMonth(0), nDay(0), nHour(0), nMinute(0), fSecond(0),
2326 nTimeZoneHour(0), nTimeZoneMinute(0), bPositiveTimeZone(false),
2327 bIsValid(false)
2328 {
2329 }
2330#endif
2331 };
2332
2333#ifdef __cplusplus
2334}
2335#endif
2336
2338 typedef struct GDALRATDateTime GDALRATDateTime;
2341 CPLErr CPL_DLL GDALRATGetValueAsDateTime(GDALRasterAttributeTableH, int iRow,
2342 int iField,
2343 GDALRATDateTime *psDateTime);
2344 const GByte CPL_DLL *GDALRATGetValueAsWKBGeometry(GDALRasterAttributeTableH,
2345 int iRow, int iField,
2346 size_t *pnWKBSize);
2347
2348 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString(GDALRasterAttributeTableH,
2349 int iRow, int iField,
2350 const char *);
2351 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt(GDALRasterAttributeTableH,
2352 int iRow, int iField, int);
2353 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble(GDALRasterAttributeTableH,
2354 int iRow, int iField, double);
2355 CPLErr CPL_DLL GDALRATSetValueAsBoolean(GDALRasterAttributeTableH, int iRow,
2356 int iField, bool);
2357 CPLErr CPL_DLL GDALRATSetValueAsDateTime(GDALRasterAttributeTableH, int iRow,
2358 int iField,
2359 const GDALRATDateTime *psDateTime);
2360 CPLErr CPL_DLL GDALRATSetValueAsWKBGeometry(GDALRasterAttributeTableH, int iRow,
2361 int iField, const void *pabyWKB,
2362 size_t nWKBSize);
2363
2364 int CPL_DLL CPL_STDCALL
2365 GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT);
2366
2367 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble(
2368 GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField,
2369 int iStartRow, int iLength, double *pdfData);
2370 CPLErr CPL_DLL CPL_STDCALL
2371 GDALRATValuesIOAsInteger(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
2372 int iField, int iStartRow, int iLength, int *pnData);
2373 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString(
2374 GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField,
2375 int iStartRow, int iLength, char **papszStrList);
2376 CPLErr CPL_DLL GDALRATValuesIOAsBoolean(GDALRasterAttributeTableH hRAT,
2377 GDALRWFlag eRWFlag, int iField,
2378 int iStartRow, int iLength,
2379 bool *pbData);
2380 CPLErr CPL_DLL GDALRATValuesIOAsDateTime(GDALRasterAttributeTableH hRAT,
2381 GDALRWFlag eRWFlag, int iField,
2382 int iStartRow, int iLength,
2383 GDALRATDateTime *pasDateTime);
2384 CPLErr CPL_DLL GDALRATValuesIOAsWKBGeometry(GDALRasterAttributeTableH hRAT,
2385 GDALRWFlag eRWFlag, int iField,
2386 int iStartRow, int iLength,
2387 GByte **ppabyWKB,
2388 size_t *pnWKBSize);
2389
2390 void CPL_DLL CPL_STDCALL GDALRATSetRowCount(GDALRasterAttributeTableH, int);
2391 CPLErr CPL_DLL CPL_STDCALL GDALRATCreateColumn(GDALRasterAttributeTableH,
2392 const char *, GDALRATFieldType,
2393 GDALRATFieldUsage);
2394 CPLErr CPL_DLL CPL_STDCALL GDALRATSetLinearBinning(GDALRasterAttributeTableH,
2395 double, double);
2396 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning(GDALRasterAttributeTableH,
2397 double *, double *);
2398 CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType(
2399 GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType);
2400 GDALRATTableType CPL_DLL CPL_STDCALL
2401 GDALRATGetTableType(GDALRasterAttributeTableH hRAT);
2402 CPLErr CPL_DLL CPL_STDCALL
2403 GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH);
2404 GDALColorTableH CPL_DLL CPL_STDCALL
2405 GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount);
2406 void CPL_DLL CPL_STDCALL GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *);
2407 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
2408 GDALRATClone(const GDALRasterAttributeTableH);
2409
2410 void CPL_DLL *CPL_STDCALL GDALRATSerializeJSON(GDALRasterAttributeTableH)
2411 CPL_WARN_UNUSED_RESULT;
2412
2413 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue(GDALRasterAttributeTableH, double);
2414 void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics(GDALRasterAttributeTableH);
2415
2416/* -------------------------------------------------------------------- */
2417/* Relationships */
2418/* -------------------------------------------------------------------- */
2419
2424 typedef enum
2425{
2427 GRC_ONE_TO_ONE,
2429 GRC_ONE_TO_MANY,
2431 GRC_MANY_TO_ONE,
2433 GRC_MANY_TO_MANY,
2434} GDALRelationshipCardinality;
2435
2440 typedef enum
2441{
2443 GRT_COMPOSITE,
2445 GRT_ASSOCIATION,
2447 GRT_AGGREGATION,
2448} GDALRelationshipType;
2449
2450 GDALRelationshipH CPL_DLL GDALRelationshipCreate(const char *, const char *,
2451 const char *,
2452 GDALRelationshipCardinality);
2453 void CPL_DLL CPL_STDCALL GDALDestroyRelationship(GDALRelationshipH);
2454 const char CPL_DLL *GDALRelationshipGetName(GDALRelationshipH);
2455 GDALRelationshipCardinality
2456 CPL_DLL GDALRelationshipGetCardinality(GDALRelationshipH);
2457 const char CPL_DLL *GDALRelationshipGetLeftTableName(GDALRelationshipH);
2458 const char CPL_DLL *GDALRelationshipGetRightTableName(GDALRelationshipH);
2459 const char CPL_DLL *GDALRelationshipGetMappingTableName(GDALRelationshipH);
2460 void CPL_DLL GDALRelationshipSetMappingTableName(GDALRelationshipH,
2461 const char *);
2462 char CPL_DLL **GDALRelationshipGetLeftTableFields(GDALRelationshipH);
2463 char CPL_DLL **GDALRelationshipGetRightTableFields(GDALRelationshipH);
2464 void CPL_DLL GDALRelationshipSetLeftTableFields(GDALRelationshipH,
2465 CSLConstList);
2466 void CPL_DLL GDALRelationshipSetRightTableFields(GDALRelationshipH,
2467 CSLConstList);
2468 char CPL_DLL **GDALRelationshipGetLeftMappingTableFields(GDALRelationshipH);
2469 char CPL_DLL **GDALRelationshipGetRightMappingTableFields(GDALRelationshipH);
2470 void CPL_DLL GDALRelationshipSetLeftMappingTableFields(GDALRelationshipH,
2471 CSLConstList);
2472 void CPL_DLL GDALRelationshipSetRightMappingTableFields(GDALRelationshipH,
2473 CSLConstList);
2474 GDALRelationshipType CPL_DLL GDALRelationshipGetType(GDALRelationshipH);
2475 void CPL_DLL GDALRelationshipSetType(GDALRelationshipH, GDALRelationshipType);
2476 const char CPL_DLL *GDALRelationshipGetForwardPathLabel(GDALRelationshipH);
2477 void CPL_DLL GDALRelationshipSetForwardPathLabel(GDALRelationshipH,
2478 const char *);
2479 const char CPL_DLL *GDALRelationshipGetBackwardPathLabel(GDALRelationshipH);
2480 void CPL_DLL GDALRelationshipSetBackwardPathLabel(GDALRelationshipH,
2481 const char *);
2482 const char CPL_DLL *GDALRelationshipGetRelatedTableType(GDALRelationshipH);
2483 void CPL_DLL GDALRelationshipSetRelatedTableType(GDALRelationshipH,
2484 const char *);
2485
2486/* ==================================================================== */
2487/* GDAL Cache Management */
2488/* ==================================================================== */
2489
2490 void CPL_DLL CPL_STDCALL GDALSetCacheMax(int nBytes);
2491 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
2492 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
2493 void CPL_DLL CPL_STDCALL GDALSetCacheMax64(GIntBig nBytes);
2494 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
2495 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
2496
2497 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
2498
2499/* ==================================================================== */
2500/* GDAL virtual memory */
2501/* ==================================================================== */
2502
2503 CPLVirtualMem CPL_DLL *GDALDatasetGetVirtualMem(
2504 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2505 int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType,
2506 int nBandCount, int *panBandMap, int nPixelSpace, GIntBig nLineSpace,
2507 GIntBig nBandSpace, size_t nCacheSize, size_t nPageSizeHint,
2508 int bSingleThreadUsage, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2509
2510 CPLVirtualMem CPL_DLL *GDALRasterBandGetVirtualMem(
2511 GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2512 int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType,
2513 int nPixelSpace, GIntBig nLineSpace, size_t nCacheSize,
2514 size_t nPageSizeHint, int bSingleThreadUsage,
2515 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2516
2517 CPLVirtualMem CPL_DLL *
2518 GDALGetVirtualMemAuto(GDALRasterBandH hBand, GDALRWFlag eRWFlag,
2519 int *pnPixelSpace, GIntBig *pnLineSpace,
2520 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2521
2523 typedef enum
2524{
2527 GTO_TIP,
2531 GTO_BIT,
2534 GTO_BSQ
2535} GDALTileOrganization;
2536
2537 CPLVirtualMem CPL_DLL *GDALDatasetGetTiledVirtualMem(
2538 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2539 int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType,
2540 int nBandCount, int *panBandMap, GDALTileOrganization eTileOrganization,
2541 size_t nCacheSize, int bSingleThreadUsage,
2542 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2543
2544 CPLVirtualMem CPL_DLL *GDALRasterBandGetTiledVirtualMem(
2545 GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2546 int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType,
2547 size_t nCacheSize, int bSingleThreadUsage,
2548 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2549
2550/* ==================================================================== */
2551/* VRTPansharpenedDataset class. */
2552/* ==================================================================== */
2553
2554 GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT(
2555 const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands,
2556 GDALRasterBandH *pahInputSpectralBands) CPL_WARN_UNUSED_RESULT;
2557
2558/* =================================================================== */
2559/* Misc API */
2560/* ==================================================================== */
2561
2562 CPLXMLNode CPL_DLL *
2563 GDALGetJPEG2000Structure(const char *pszFilename,
2564 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2565
2566/* ==================================================================== */
2567/* Multidimensional API_api */
2568/* ==================================================================== */
2569
2570 GDALDatasetH CPL_DLL
2571 GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName,
2572 CSLConstList papszRootGroupOptions,
2573 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2574
2575 GDALExtendedDataTypeH CPL_DLL GDALExtendedDataTypeCreate(GDALDataType eType)
2576 CPL_WARN_UNUSED_RESULT;
2577 GDALExtendedDataTypeH CPL_DLL GDALExtendedDataTypeCreateString(
2578 size_t nMaxStringLength) CPL_WARN_UNUSED_RESULT;
2579 GDALExtendedDataTypeH CPL_DLL GDALExtendedDataTypeCreateStringEx(
2580 size_t nMaxStringLength,
2581 GDALExtendedDataTypeSubType eSubType) CPL_WARN_UNUSED_RESULT;
2582 GDALExtendedDataTypeH CPL_DLL GDALExtendedDataTypeCreateCompound(
2583 const char *pszName, size_t nTotalSize, size_t nComponents,
2584 const GDALEDTComponentH *comps) CPL_WARN_UNUSED_RESULT;
2585 void CPL_DLL GDALExtendedDataTypeRelease(GDALExtendedDataTypeH hEDT);
2586 const char CPL_DLL *GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT);
2587 GDALExtendedDataTypeClass CPL_DLL
2588 GDALExtendedDataTypeGetClass(GDALExtendedDataTypeH hEDT);
2589 GDALDataType CPL_DLL
2590 GDALExtendedDataTypeGetNumericDataType(GDALExtendedDataTypeH hEDT);
2591 size_t CPL_DLL GDALExtendedDataTypeGetSize(GDALExtendedDataTypeH hEDT);
2592 size_t CPL_DLL
2593 GDALExtendedDataTypeGetMaxStringLength(GDALExtendedDataTypeH hEDT);
2594 GDALEDTComponentH CPL_DLL *
2595 GDALExtendedDataTypeGetComponents(GDALExtendedDataTypeH hEDT,
2596 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2597 void CPL_DLL GDALExtendedDataTypeFreeComponents(GDALEDTComponentH *components,
2598 size_t nCount);
2599 int CPL_DLL GDALExtendedDataTypeCanConvertTo(GDALExtendedDataTypeH hSourceEDT,
2600 GDALExtendedDataTypeH hTargetEDT);
2601 int CPL_DLL GDALExtendedDataTypeEquals(GDALExtendedDataTypeH hFirstEDT,
2602 GDALExtendedDataTypeH hSecondEDT);
2603 GDALExtendedDataTypeSubType CPL_DLL
2604 GDALExtendedDataTypeGetSubType(GDALExtendedDataTypeH hEDT);
2605 GDALRasterAttributeTableH CPL_DLL
2606 GDALExtendedDataTypeGetRAT(GDALExtendedDataTypeH hEDT) CPL_WARN_UNUSED_RESULT;
2607
2608 GDALEDTComponentH CPL_DLL
2609 GDALEDTComponentCreate(const char *pszName, size_t nOffset,
2610 GDALExtendedDataTypeH hType) CPL_WARN_UNUSED_RESULT;
2611 void CPL_DLL GDALEDTComponentRelease(GDALEDTComponentH hComp);
2612 const char CPL_DLL *GDALEDTComponentGetName(GDALEDTComponentH hComp);
2613 size_t CPL_DLL GDALEDTComponentGetOffset(GDALEDTComponentH hComp);
2614 GDALExtendedDataTypeH CPL_DLL GDALEDTComponentGetType(GDALEDTComponentH hComp)
2615 CPL_WARN_UNUSED_RESULT;
2616
2617 GDALGroupH CPL_DLL GDALDatasetGetRootGroup(GDALDatasetH hDS)
2618 CPL_WARN_UNUSED_RESULT;
2619 void CPL_DLL GDALGroupRelease(GDALGroupH hGroup);
2620 const char CPL_DLL *GDALGroupGetName(GDALGroupH hGroup);
2621 const char CPL_DLL *GDALGroupGetFullName(GDALGroupH hGroup);
2622 char CPL_DLL **
2623 GDALGroupGetMDArrayNames(GDALGroupH hGroup,
2624 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2625 char CPL_DLL **GDALGroupGetMDArrayFullNamesRecursive(
2626 GDALGroupH hGroup, CSLConstList papszGroupOptions,
2627 CSLConstList papszArrayOptions) CPL_WARN_UNUSED_RESULT;
2628 GDALMDArrayH CPL_DLL
2629 GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName,
2630 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2631 GDALMDArrayH CPL_DLL GDALGroupOpenMDArrayFromFullname(
2632 GDALGroupH hGroup, const char *pszMDArrayName,
2633 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2634 GDALMDArrayH CPL_DLL GDALGroupResolveMDArray(
2635 GDALGroupH hGroup, const char *pszName, const char *pszStartingPoint,
2636 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2637 char CPL_DLL **
2638 GDALGroupGetGroupNames(GDALGroupH hGroup,
2639 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2640 GDALGroupH CPL_DLL
2641 GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName,
2642 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2643 GDALGroupH CPL_DLL GDALGroupOpenGroupFromFullname(
2644 GDALGroupH hGroup, const char *pszMDArrayName,
2645 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2646 char CPL_DLL **
2647 GDALGroupGetVectorLayerNames(GDALGroupH hGroup,
2648 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2649 OGRLayerH CPL_DLL
2650 GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName,
2651 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2652 GDALDimensionH CPL_DLL *
2653 GDALGroupGetDimensions(GDALGroupH hGroup, size_t *pnCount,
2654 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2655 GDALAttributeH CPL_DLL GDALGroupGetAttribute(
2656 GDALGroupH hGroup, const char *pszName) CPL_WARN_UNUSED_RESULT;
2657 GDALAttributeH CPL_DLL *
2658 GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount,
2659 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2660 CSLConstList CPL_DLL GDALGroupGetStructuralInfo(GDALGroupH hGroup);
2661 GDALGroupH CPL_DLL
2662 GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName,
2663 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2664 bool CPL_DLL GDALGroupDeleteGroup(GDALGroupH hGroup, const char *pszName,
2665 CSLConstList papszOptions);
2666 GDALDimensionH CPL_DLL GDALGroupCreateDimension(
2667 GDALGroupH hGroup, const char *pszName, const char *pszType,
2668 const char *pszDirection, GUInt64 nSize,
2669 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2670 GDALMDArrayH CPL_DLL GDALGroupCreateMDArray(
2671 GDALGroupH hGroup, const char *pszName, size_t nDimensions,
2672 GDALDimensionH *pahDimensions, GDALExtendedDataTypeH hEDT,
2673 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2674 bool CPL_DLL GDALGroupDeleteMDArray(GDALGroupH hGroup, const char *pszName,
2675 CSLConstList papszOptions);
2676 GDALAttributeH CPL_DLL GDALGroupCreateAttribute(
2677 GDALGroupH hGroup, const char *pszName, size_t nDimensions,
2678 const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT,
2679 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2680 bool CPL_DLL GDALGroupDeleteAttribute(GDALGroupH hGroup, const char *pszName,
2681 CSLConstList papszOptions);
2682 bool CPL_DLL GDALGroupRename(GDALGroupH hGroup, const char *pszNewName);
2683 GDALGroupH CPL_DLL GDALGroupSubsetDimensionFromSelection(
2684 GDALGroupH hGroup, const char *pszSelection, CSLConstList papszOptions);
2685 size_t CPL_DLL GDALGroupGetDataTypeCount(GDALGroupH hGroup);
2686 GDALExtendedDataTypeH CPL_DLL GDALGroupGetDataType(GDALGroupH hGroup,
2687 size_t nIdx);
2688
2689 void CPL_DLL GDALMDArrayRelease(GDALMDArrayH hMDArray);
2690 const char CPL_DLL *GDALMDArrayGetName(GDALMDArrayH hArray);
2691 const char CPL_DLL *GDALMDArrayGetFullName(GDALMDArrayH hArray);
2692 GUInt64 CPL_DLL GDALMDArrayGetTotalElementsCount(GDALMDArrayH hArray);
2693 size_t CPL_DLL GDALMDArrayGetDimensionCount(GDALMDArrayH hArray);
2694 GDALDimensionH CPL_DLL *
2695 GDALMDArrayGetDimensions(GDALMDArrayH hArray,
2696 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2697 GDALExtendedDataTypeH CPL_DLL GDALMDArrayGetDataType(GDALMDArrayH hArray)
2698 CPL_WARN_UNUSED_RESULT;
2699 int CPL_DLL GDALMDArrayRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx,
2700 const size_t *count, const GInt64 *arrayStep,
2701 const GPtrDiff_t *bufferStride,
2702 GDALExtendedDataTypeH bufferDatatype,
2703 void *pDstBuffer, const void *pDstBufferAllocStart,
2704 size_t nDstBufferllocSize);
2705 int CPL_DLL GDALMDArrayWrite(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx,
2706 const size_t *count, const GInt64 *arrayStep,
2707 const GPtrDiff_t *bufferStride,
2708 GDALExtendedDataTypeH bufferDatatype,
2709 const void *pSrcBuffer,
2710 const void *psrcBufferAllocStart,
2711 size_t nSrcBufferllocSize);
2712 int CPL_DLL GDALMDArrayAdviseRead(GDALMDArrayH hArray,
2713 const GUInt64 *arrayStartIdx,
2714 const size_t *count);
2715 int CPL_DLL GDALMDArrayAdviseReadEx(GDALMDArrayH hArray,
2716 const GUInt64 *arrayStartIdx,
2717 const size_t *count,
2718 CSLConstList papszOptions);
2719 GDALAttributeH CPL_DLL GDALMDArrayGetAttribute(
2720 GDALMDArrayH hArray, const char *pszName) CPL_WARN_UNUSED_RESULT;
2721 GDALAttributeH CPL_DLL *
2722 GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount,
2723 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2724 GDALAttributeH CPL_DLL GDALMDArrayCreateAttribute(
2725 GDALMDArrayH hArray, const char *pszName, size_t nDimensions,
2726 const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT,
2727 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2728 bool CPL_DLL GDALMDArrayDeleteAttribute(GDALMDArrayH hArray,
2729 const char *pszName,
2730 CSLConstList papszOptions);
2731 bool CPL_DLL GDALMDArrayResize(GDALMDArrayH hArray,
2732 const GUInt64 *panNewDimSizes,
2733 CSLConstList papszOptions);
2734 const void CPL_DLL *GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray);
2735 double CPL_DLL GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray,
2736 int *pbHasNoDataValue);
2737int64_t CPL_DLL GDALMDArrayGetNoDataValueAsInt64(GDALMDArrayH hArray,
2738 int *pbHasNoDataValue);
2739uint64_t CPL_DLL GDALMDArrayGetNoDataValueAsUInt64(GDALMDArrayH hArray,
2740 int *pbHasNoDataValue);
2741 int CPL_DLL GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *);
2742 int CPL_DLL GDALMDArraySetNoDataValueAsDouble(GDALMDArrayH hArray,
2743 double dfNoDataValue);
2744 int CPL_DLL GDALMDArraySetNoDataValueAsInt64(GDALMDArrayH hArray,
2745 int64_t nNoDataValue);
2746 int CPL_DLL GDALMDArraySetNoDataValueAsUInt64(GDALMDArrayH hArray,
2747 uint64_t nNoDataValue);
2748 int CPL_DLL GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale);
2749 int CPL_DLL GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale,
2750 GDALDataType eStorageType);
2751 double CPL_DLL GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue);
2752 double CPL_DLL GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue,
2753 GDALDataType *peStorageType);
2754 int CPL_DLL GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset);
2755 int CPL_DLL GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset,
2756 GDALDataType eStorageType);
2757 double CPL_DLL GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue);
2758 double CPL_DLL GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue,
2759 GDALDataType *peStorageType);
2760 GUInt64 CPL_DLL *GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount);
2761 int CPL_DLL GDALMDArraySetUnit(GDALMDArrayH hArray, const char *);
2762 const char CPL_DLL *GDALMDArrayGetUnit(GDALMDArrayH hArray);
2763 int CPL_DLL GDALMDArraySetSpatialRef(GDALMDArrayH, OGRSpatialReferenceH);
2764 OGRSpatialReferenceH CPL_DLL GDALMDArrayGetSpatialRef(GDALMDArrayH hArray);
2765 size_t CPL_DLL *GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray,
2766 size_t *pnCount,
2767 size_t nMaxChunkMemory);
2768 CSLConstList CPL_DLL GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray);
2769 GDALMDArrayH CPL_DLL GDALMDArrayGetView(GDALMDArrayH hArray,
2770 const char *pszViewExpr);
2771 GDALMDArrayH CPL_DLL GDALMDArrayTranspose(GDALMDArrayH hArray,
2772 size_t nNewAxisCount,
2773 const int *panMapNewAxisToOldAxis);
2774 GDALMDArrayH CPL_DLL GDALMDArrayGetUnscaled(GDALMDArrayH hArray);
2775 GDALMDArrayH CPL_DLL GDALMDArrayGetMask(GDALMDArrayH hArray,
2776 CSLConstList papszOptions);
2777 GDALDatasetH CPL_DLL GDALMDArrayAsClassicDataset(GDALMDArrayH hArray,
2778 size_t iXDim, size_t iYDim);
2779 GDALDatasetH CPL_DLL GDALMDArrayAsClassicDatasetEx(GDALMDArrayH hArray,
2780 size_t iXDim, size_t iYDim,
2781 GDALGroupH hRootGroup,
2782 CSLConstList papszOptions);
2783 CPLErr CPL_DLL GDALMDArrayGetStatistics(
2784 GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, int bForce,
2785 double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
2786 GUInt64 *pnValidCount, GDALProgressFunc pfnProgress, void *pProgressData);
2787 int CPL_DLL GDALMDArrayComputeStatistics(GDALMDArrayH hArray, GDALDatasetH,
2788 int bApproxOK, double *pdfMin,
2789 double *pdfMax, double *pdfMean,
2790 double *pdfStdDev,
2791 GUInt64 *pnValidCount,
2792 GDALProgressFunc, void *pProgressData);
2793 int CPL_DLL GDALMDArrayComputeStatisticsEx(
2794 GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, double *pdfMin,
2795 double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount,
2796 GDALProgressFunc, void *pProgressData, CSLConstList papszOptions);
2797 GDALMDArrayH CPL_DLL GDALMDArrayGetResampled(GDALMDArrayH hArray,
2798 size_t nNewDimCount,
2799 const GDALDimensionH *pahNewDims,
2800 GDALRIOResampleAlg resampleAlg,
2801 OGRSpatialReferenceH hTargetSRS,
2802 CSLConstList papszOptions);
2803 GDALMDArrayH CPL_DLL GDALMDArrayGetGridded(
2804 GDALMDArrayH hArray, const char *pszGridOptions, GDALMDArrayH hXArray,
2805 GDALMDArrayH hYArray, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2806
2807 GDALMDArrayH CPL_DLL *
2808 GDALMDArrayGetCoordinateVariables(GDALMDArrayH hArray,
2809 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2810
2811 GDALMDArrayH CPL_DLL *
2812 GDALMDArrayGetMeshGrid(const GDALMDArrayH *pahInputArrays,
2813 size_t nCountInputArrays, size_t *pnCountOutputArrays,
2814 CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2815
2816#ifdef __cplusplus
2817 extern "C++"
2818{
2819#endif
2820
2825 struct
2826#ifdef __cplusplus
2827 CPL_DLL
2828#endif
2829 GDALMDArrayRawBlockInfo
2830 {
2832 char *pszFilename;
2834 uint64_t nOffset;
2836 uint64_t nSize;
2839 char **papszInfo;
2847 GByte *pabyInlineData;
2848
2849#ifdef __cplusplus
2851 inline GDALMDArrayRawBlockInfo()
2852 : pszFilename(nullptr), nOffset(0), nSize(0), papszInfo(nullptr),
2853 pabyInlineData(nullptr)
2854 {
2855 }
2856
2857 ~GDALMDArrayRawBlockInfo();
2858
2859 void clear();
2860
2861 GDALMDArrayRawBlockInfo(const GDALMDArrayRawBlockInfo &);
2862 GDALMDArrayRawBlockInfo &operator=(const GDALMDArrayRawBlockInfo &);
2863 GDALMDArrayRawBlockInfo(GDALMDArrayRawBlockInfo &&);
2864 GDALMDArrayRawBlockInfo &operator=(GDALMDArrayRawBlockInfo &&);
2866#endif
2867 };
2868
2869#ifdef __cplusplus
2870}
2871#endif
2872
2874 typedef struct GDALMDArrayRawBlockInfo GDALMDArrayRawBlockInfo;
2877 GDALMDArrayRawBlockInfo CPL_DLL *GDALMDArrayRawBlockInfoCreate(void);
2878 void CPL_DLL
2879 GDALMDArrayRawBlockInfoRelease(GDALMDArrayRawBlockInfo *psBlockInfo);
2880 bool CPL_DLL GDALMDArrayGetRawBlockInfo(GDALMDArrayH hArray,
2881 const uint64_t *panBlockCoordinates,
2882 GDALMDArrayRawBlockInfo *psBlockInfo);
2883
2884 void CPL_DLL GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount);
2885 int CPL_DLL GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions);
2886 bool CPL_DLL GDALMDArrayRename(GDALMDArrayH hArray, const char *pszNewName);
2887
2888 GDALRasterAttributeTableH CPL_DLL GDALCreateRasterAttributeTableFromMDArrays(
2889 GDALRATTableType eTableType, int nArrays, const GDALMDArrayH *ahArrays,
2890 const GDALRATFieldUsage *paeUsages);
2891
2892 void CPL_DLL GDALAttributeRelease(GDALAttributeH hAttr);
2893 void CPL_DLL GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount);
2894 const char CPL_DLL *GDALAttributeGetName(GDALAttributeH hAttr);
2895 const char CPL_DLL *GDALAttributeGetFullName(GDALAttributeH hAttr);
2896 GUInt64 CPL_DLL GDALAttributeGetTotalElementsCount(GDALAttributeH hAttr);
2897 size_t CPL_DLL GDALAttributeGetDimensionCount(GDALAttributeH hAttr);
2898 GUInt64 CPL_DLL *
2899 GDALAttributeGetDimensionsSize(GDALAttributeH hAttr,
2900 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2901 GDALExtendedDataTypeH CPL_DLL GDALAttributeGetDataType(GDALAttributeH hAttr)
2902 CPL_WARN_UNUSED_RESULT;
2903 GByte CPL_DLL *GDALAttributeReadAsRaw(GDALAttributeH hAttr,
2904 size_t *pnSize) CPL_WARN_UNUSED_RESULT;
2905 void CPL_DLL GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw,
2906 size_t nSize);
2907 const char CPL_DLL *GDALAttributeReadAsString(GDALAttributeH hAttr);
2908 int CPL_DLL GDALAttributeReadAsInt(GDALAttributeH hAttr);
2909int64_t CPL_DLL GDALAttributeReadAsInt64(GDALAttributeH hAttr);
2910 double CPL_DLL GDALAttributeReadAsDouble(GDALAttributeH hAttr);
2911 char CPL_DLL **
2912 GDALAttributeReadAsStringArray(GDALAttributeH hAttr) CPL_WARN_UNUSED_RESULT;
2913 int CPL_DLL *GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
2914 CPL_WARN_UNUSED_RESULT;
2915int64_t CPL_DLL *
2916 GDALAttributeReadAsInt64Array(GDALAttributeH hAttr,
2917 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2918 double CPL_DLL *
2919 GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr,
2920 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2921 int CPL_DLL GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t);
2922 int CPL_DLL GDALAttributeWriteString(GDALAttributeH hAttr, const char *);
2923 int CPL_DLL GDALAttributeWriteStringArray(GDALAttributeH hAttr, CSLConstList);
2924 int CPL_DLL GDALAttributeWriteInt(GDALAttributeH hAttr, int);
2925 int CPL_DLL GDALAttributeWriteIntArray(GDALAttributeH hAttr, const int *,
2926 size_t);
2927 int CPL_DLL GDALAttributeWriteInt64(GDALAttributeH hAttr, int64_t);
2928 int CPL_DLL GDALAttributeWriteInt64Array(GDALAttributeH hAttr, const int64_t *,
2929 size_t);
2930 int CPL_DLL GDALAttributeWriteDouble(GDALAttributeH hAttr, double);
2931 int CPL_DLL GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *,
2932 size_t);
2933 bool CPL_DLL GDALAttributeRename(GDALAttributeH hAttr, const char *pszNewName);
2934
2935 void CPL_DLL GDALDimensionRelease(GDALDimensionH hDim);
2936 void CPL_DLL GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount);
2937 const char CPL_DLL *GDALDimensionGetName(GDALDimensionH hDim);
2938 const char CPL_DLL *GDALDimensionGetFullName(GDALDimensionH hDim);
2939 const char CPL_DLL *GDALDimensionGetType(GDALDimensionH hDim);
2940 const char CPL_DLL *GDALDimensionGetDirection(GDALDimensionH hDim);
2941 GUInt64 CPL_DLL GDALDimensionGetSize(GDALDimensionH hDim);
2942 GDALMDArrayH CPL_DLL GDALDimensionGetIndexingVariable(GDALDimensionH hDim)
2943 CPL_WARN_UNUSED_RESULT;
2944 int CPL_DLL GDALDimensionSetIndexingVariable(GDALDimensionH hDim,
2945 GDALMDArrayH hArray);
2946 bool CPL_DLL GDALDimensionRename(GDALDimensionH hDim, const char *pszNewName);
2947
2948 CPL_C_END
2949
2950#endif /* ndef GDAL_H_INCLUDED */
OGREnvelope
Simple container for a bounding region (rectangle)
Definition ogr_core.h:44
cpl_error.h
CPL error handling services.
CPLErr
CPLErr
Error category.
Definition cpl_error.h:37
cpl_minixml.h
Definitions for CPL mini XML Parser/Serializer.
cpl_port.h
Core portability definitions for CPL.
GPtrDiff_t
int GPtrDiff_t
Integer type large enough to hold the difference between 2 addresses.
Definition cpl_port.h:246
CPL_RESTRICT
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition cpl_port.h:916
GUIntBig
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition cpl_port.h:208
CPL_C_END
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:289
CPL_C_START
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:285
GInt64
GIntBig GInt64
Signed 64 bit integer type.
Definition cpl_port.h:226
CSLConstList
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1087
GUInt64
GUIntBig GUInt64
Unsigned 64 bit integer type.
Definition cpl_port.h:228
CPL_WARN_UNUSED_RESULT
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition cpl_port.h:870
GByte
unsigned char GByte
Unsigned byte type.
Definition cpl_port.h:175
GIntBig
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition cpl_port.h:205
cpl_virtualmem.h
Virtual memory management.
CPLVirtualMem
struct CPLVirtualMem CPLVirtualMem
Opaque type that represents a virtual memory mapping.
Definition cpl_virtualmem.h:45
GSpacing
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition gdal.h:388
GDALGetOverview
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition gdalrasterband.cpp:3392
GDALComposeHomographies
void GDALComposeHomographies(const double *padfHomography1, const double *padfHomography2, double *padfHomographyOut)
Compose two homographies.
Definition gdal_homography.cpp:348
GDALMeanOfNBands
GDALComputedRasterBandH GDALMeanOfNBands(size_t nBandCount, GDALRasterBandH *pahBands)
Return a band whose each pixel value is the arithmetic mean of the corresponding pixel values in the ...
Definition gdalrasterband.cpp:12760
GDALGetDriverShortName
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition gdaldriver.cpp:2087
GDALDatasetCopyWholeRaster
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all dataset raster data.
Definition rasterio.cpp:5107
GDALQueryLoggerFunc
void(* GDALQueryLoggerFunc)(const char *pszSQL, const char *pszError, int64_t lNumRecords, int64_t lExecutionTimeMilliseconds, void *pQueryLoggerArg)
Type of functions to pass to GDALDatasetSetQueryLoggerFunc.
Definition gdal.h:1485
GDALRATTableType
GDALRATTableType
RAT table type (thematic or athematic)
Definition gdal.h:2265
GRTT_THEMATIC
@ GRTT_THEMATIC
Definition gdal.h:2266
GRTT_ATHEMATIC
@ GRTT_ATHEMATIC
Definition gdal.h:2267
GDALEDTComponentGetName
const char * GDALEDTComponentGetName(GDALEDTComponentH hComp)
Return the name.
Definition gdalmultidim.cpp:11487
GDALAccess
GDALAccess
Definition gdal.h:120
GA_ReadOnly
@ GA_ReadOnly
Definition gdal.h:121
GA_Update
@ GA_Update
Definition gdal.h:122
GDALIdentifyDriver
GDALDriverH GDALIdentifyDriver(const char *pszFilename, CSLConstList papszFileList)
Identify the driver that can open a dataset.
Definition gdaldriver.cpp:2692
GDALDatasetIsThreadSafe
bool GDALDatasetIsThreadSafe(GDALDatasetH, int nScopeFlags, CSLConstList papszOptions)
Return whether this dataset, and its related objects (typically raster bands), can be called for the ...
Definition gdalthreadsafedataset.cpp:1154
GDALGroupGetFullName
const char * GDALGroupGetFullName(GDALGroupH hGroup)
Return the full name of the group.
Definition gdalmultidim.cpp:11562
GDALAttributeWriteInt64Array
int GDALAttributeWriteInt64Array(GDALAttributeH hAttr, const int64_t *, size_t)
Write an attribute from an array of int64_t.
Definition gdalmultidim.cpp:14040
GDALSetColorEntry
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition gdalcolortable.cpp:229
GDALSetRasterScale
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition gdalrasterband.cpp:3747
GDALRATSetLinearBinning
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition gdal_rat.cpp:1032
GDALDatasetGetLayerByName
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition gdaldataset.cpp:5198
GDALWriteBlock
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *)
Write a block of image data efficiently.
Definition gdalrasterband.cpp:1279
GDALAttributeWriteIntArray
int GDALAttributeWriteIntArray(GDALAttributeH hAttr, const int *, size_t)
Write an attribute from an array of int.
Definition gdalmultidim.cpp:14015
GDALCreate
GDALDatasetH GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType, CSLConstList)
Create a new dataset with this driver.
Definition gdaldriver.cpp:320
GDALGetRasterNoDataValue
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition gdalrasterband.cpp:2366
GDALMDArraySetRawNoDataValue
int GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *)
Set the nodata value as a "raw" value.
Definition gdalmultidim.cpp:12654
GDALGetDataTypeSizeBits
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition gdal_misc.cpp:426
GDALDatasetClearStatistics
void GDALDatasetClearStatistics(GDALDatasetH hDS)
Clear statistics.
Definition gdaldataset.cpp:9800
GDALGetNoDataReplacementValue
double GDALGetNoDataReplacementValue(GDALDataType, double)
Returns a replacement value for a nodata value or 0 if dfNoDataValue is out of range for the specifie...
Definition gdal_misc.cpp:5554
GDALGetRandomRasterSample
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition gdal_misc.cpp:1499
GDALRelationshipGetForwardPathLabel
const char * GDALRelationshipGetForwardPathLabel(GDALRelationshipH)
Get the label of the forward path for the relationship.
Definition gdalrelationship.cpp:474
GDALGetCacheUsed
int GDALGetCacheUsed(void)
Get cache memory used.
Definition gdalrasterblock.cpp:271
GDALSetGeoTransform
CPLErr GDALSetGeoTransform(GDALDatasetH, const double *)
Set the affine transformation coefficients.
Definition gdaldataset.cpp:1641
GDALRATGetRowOfValue
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition gdal_rat.cpp:906
GDALSetCacheMax64
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition gdalrasterblock.cpp:129
GDALRasterBandGetTiledVirtualMem
CPLVirtualMem * GDALRasterBandGetTiledVirtualMem(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, size_t nCacheSize, int bSingleThreadUsage, CSLConstList papszOptions)
Create a CPLVirtualMem object from a GDAL rasterband object, with tiling organization.
Definition gdalvirtualmem.cpp:1519
GDALMaximumOfNBands
GDALComputedRasterBandH GDALMaximumOfNBands(size_t nBandCount, GDALRasterBandH *pahBands)
Return a band whose each pixel value is the maximum of the corresponding pixel values in the input ba...
Definition gdalrasterband.cpp:12612
GDALDeinterleave
void GDALDeinterleave(const void *pSourceBuffer, GDALDataType eSourceDT, int nComponents, void **ppDestBuffer, GDALDataType eDestDT, size_t nIters)
Definition rasterio.cpp:6073
GDALRasterBandAsMDArray
GDALMDArrayH GDALRasterBandAsMDArray(GDALRasterBandH)
Return a view of this raster band as a 2D multidimensional GDALMDArray.
Definition gdalmultidim.cpp:14284
GDALGroupDeleteGroup
bool GDALGroupDeleteGroup(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete a sub-group from a group.
Definition gdalmultidim.cpp:12008
GDALDatasetAddFieldDomain
bool GDALDatasetAddFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Add a field domain to the dataset.
Definition gdaldataset.cpp:9963
GDALGetMetadata
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition gdalmajorobject.cpp:244
GDALGetDatasetDriver
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition gdaldataset.cpp:1721
GDALGroupGetAttribute
GDALAttributeH GDALGroupGetAttribute(GDALGroupH hGroup, const char *pszName)
Return an attribute by its name.
Definition gdalmultidim.cpp:11852
GDALDatasetGetCompressionFormats
char ** GDALDatasetGetCompressionFormats(GDALDatasetH hDS, int nXOff, int nYOff, int nXSize, int nYSize, int nBandCount, const int *panBandList)
Return the compression formats that can be natively obtained for the window of interest and requested...
Definition gdaldataset.cpp:10659
GDALDimensionGetDirection
const char * GDALDimensionGetDirection(GDALDimensionH hDim)
Return dimension direction.
Definition gdalmultidim.cpp:14158
GDALGroupGetDimensions
GDALDimensionH * GDALGroupGetDimensions(GDALGroupH hGroup, size_t *pnCount, CSLConstList papszOptions)
Return the list of dimensions contained in this group and used by its arrays.
Definition gdalmultidim.cpp:11826
GDALDatasetGetTiledVirtualMem
CPLVirtualMem * GDALDatasetGetTiledVirtualMem(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, GDALTileOrganization eTileOrganization, size_t nCacheSize, int bSingleThreadUsage, CSLConstList papszOptions)
Create a CPLVirtualMem object from a GDAL dataset object, with tiling organization.
Definition gdalvirtualmem.cpp:1414
GDALGroupOpenMDArray
GDALMDArrayH GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array.
Definition gdalmultidim.cpp:11628
GDALGetMaskFlags
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition gdalrasterband.cpp:9456
GDALMDArrayGetResampled
GDALMDArrayH GDALMDArrayGetResampled(GDALMDArrayH hArray, size_t nNewDimCount, const GDALDimensionH *pahNewDims, GDALRIOResampleAlg resampleAlg, OGRSpatialReferenceH hTargetSRS, CSLConstList papszOptions)
Return an array that is a resampled / reprojected view of the current array.
Definition gdalmultidim.cpp:13127
GDALSetProjection
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition gdaldataset.cpp:1464
GDALRasterBandCopyWholeRaster
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, const char *const *constpapszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy a whole raster band.
Definition rasterio.cpp:5435
GDALGetAsyncStatusTypeByName
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition gdal_misc.cpp:1130
GDALDatasetMarkSuppressOnClose
void GDALDatasetMarkSuppressOnClose(GDALDatasetH)
Set that the dataset must be deleted on close.
Definition gdaldataset.cpp:1934
GDALRelationshipSetType
void GDALRelationshipSetType(GDALRelationshipH, GDALRelationshipType)
Sets the type of the relationship.
Definition gdalrelationship.cpp:443
GDALMDArrayAsClassicDatasetEx
GDALDatasetH GDALMDArrayAsClassicDatasetEx(GDALMDArrayH hArray, size_t iXDim, size_t iYDim, GDALGroupH hRootGroup, CSLConstList papszOptions)
Return a view of this array as a "classic" GDALDataset (ie 2D)
Definition gdalmultidim.cpp:14415
GDALMDArrayGetTotalElementsCount
GUInt64 GDALMDArrayGetTotalElementsCount(GDALMDArrayH hArray)
Return the total number of values in the array.
Definition gdalmultidim.cpp:12244
GDALRATValuesIOAsWKBGeometry
CPLErr GDALRATValuesIOAsWKBGeometry(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, GByte **ppabyWKB, size_t *pnWKBSize)
Read or Write a block of WKB-encoded geometries to/from the Attribute Table.
Definition gdal_rat.cpp:592
VRTPDWorkingDataPtr
void * VRTPDWorkingDataPtr
Generic pointer for the working structure of VRTProcessedDataset function.
Definition gdal.h:1791
GDALGetSpatialRef
OGRSpatialReferenceH GDALGetSpatialRef(GDALDatasetH)
Fetch the spatial reference for this dataset.
Definition gdaldataset.cpp:1337
GDALSwapWordsEx
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition rasterio.cpp:2131
GDALGroupResolveMDArray
GDALMDArrayH GDALGroupResolveMDArray(GDALGroupH hGroup, const char *pszName, const char *pszStartingPoint, CSLConstList papszOptions)
Locate an array in a group and its subgroups by name.
Definition gdalmultidim.cpp:11674
GDALGetOverviewCount
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition gdalrasterband.cpp:3349
GDALAttributeWriteInt64
int GDALAttributeWriteInt64(GDALAttributeH hAttr, int64_t)
Write an attribute from an int64_t value.
Definition gdalmultidim.cpp:13946
GDALAttributeRelease
void GDALAttributeRelease(GDALAttributeH hAttr)
Release the GDAL in-memory object associated with a GDALAttribute.
Definition gdalmultidim.cpp:13516
GDALGetBlockSize
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition gdalrasterband.cpp:1527
GDALMDArrayGetView
GDALMDArrayH GDALMDArrayGetView(GDALMDArrayH hArray, const char *pszViewExpr)
Return a view of the array using slicing or field access.
Definition gdalmultidim.cpp:13029
GDALGetMetadataDomainList
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition gdalmajorobject.cpp:198
GDALGetDriverCreationOptionList
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition gdaldriver.cpp:2163
GDALPaletteInterp
GDALPaletteInterp
Definition gdal.h:353
GPI_CMYK
@ GPI_CMYK
Definition gdal.h:356
GPI_HLS
@ GPI_HLS
Definition gdal.h:357
GPI_Gray
@ GPI_Gray
Definition gdal.h:354
GPI_RGB
@ GPI_RGB
Definition gdal.h:355
GDALGetRasterHistogramEx
CPLErr GDALGetRasterHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData)
Compute raster histogram.
Definition gdalrasterband.cpp:4850
GDALRasterAlgebraUnaryOperation
GDALRasterAlgebraUnaryOperation
Raster algebra unary operation.
Definition gdal.h:1944
GRAUO_ABS
@ GRAUO_ABS
Absolute value (module for complex data type)
Definition gdal.h:1948
GRAUO_LOG10
@ GRAUO_LOG10
Logarithm base 10.
Definition gdal.h:1954
GRAUO_SQRT
@ GRAUO_SQRT
Square root.
Definition gdal.h:1950
GRAUO_LOG
@ GRAUO_LOG
Natural logarithm (ln)
Definition gdal.h:1952
GRAUO_LOGICAL_NOT
@ GRAUO_LOGICAL_NOT
Logical not.
Definition gdal.h:1946
GDALRATSetValueAsBoolean
CPLErr GDALRATSetValueAsBoolean(GDALRasterAttributeTableH, int iRow, int iField, bool)
Set field value from a boolean value.
Definition gdal_rat.cpp:2889
GDALSetDescription
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition gdalmajorobject.cpp:118
GDALRATValuesIOAsDateTime
CPLErr GDALRATValuesIOAsDateTime(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, GDALRATDateTime *pasDateTime)
Read or Write a block of date-times to/from the Attribute Table.
Definition gdal_rat.cpp:501
GDALDimensionRelease
void GDALDimensionRelease(GDALDimensionH hDim)
Release the GDAL in-memory object associated with a GDALDimension.
Definition gdalmultidim.cpp:14103
GDALGetRasterCount
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition gdaldataset.cpp:1162
GDALGetRasterSampleOverviewEx
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition gdalrasterband.cpp:3487
GDALAttributeGetDimensionCount
size_t GDALAttributeGetDimensionCount(GDALAttributeH hAttr)
Return the number of dimensions.
Definition gdalmultidim.cpp:13576
GDALGetRasterStatistics
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition gdalrasterband.cpp:5286
GDALRATInitializeFromColorTable
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition gdal_rat.cpp:1582
GDALMDArrayGetDimensionCount
size_t GDALMDArrayGetDimensionCount(GDALMDArrayH hArray)
Return the number of dimensions.
Definition gdalmultidim.cpp:12258
GDALRATSetValueAsString
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int iRow, int iField, const char *)
Set field value from string.
Definition gdal_rat.cpp:2652
GDALGetVirtualMemAuto
CPLVirtualMem * GDALGetVirtualMemAuto(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, CSLConstList papszOptions)
Create a CPLVirtualMem object from a GDAL raster band object.
Definition gdalrasterband.cpp:9989
GDALGroupGetMDArrayNames
char ** GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of multidimensional array names contained in this group.
Definition gdalmultidim.cpp:11578
GDALGetCacheUsed64
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition gdalrasterblock.cpp:295
GDALDatasetSetStyleTableDirectly
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition gdaldataset.cpp:5826
GDALRasterBandMinConstant
GDALComputedRasterBandH GDALRasterBandMinConstant(GDALRasterBandH hBand, double dfConstant)
Return a band whose each pixel value is the minimum of the corresponding pixel values in the input ba...
Definition gdalrasterband.cpp:12736
GDALDataType
GDALDataType
Definition gdal.h:48
GDT_UInt32
@ GDT_UInt32
Definition gdal.h:54
GDT_UInt64
@ GDT_UInt64
Definition gdal.h:56
GDT_CInt32
@ GDT_CInt32
Definition gdal.h:62
GDT_UInt8
@ GDT_UInt8
Definition gdal.h:50
GDT_Int64
@ GDT_Int64
Definition gdal.h:57
GDT_Int8
@ GDT_Int8
Definition gdal.h:51
GDT_CFloat32
@ GDT_CFloat32
Definition gdal.h:64
GDT_CFloat64
@ GDT_CFloat64
Definition gdal.h:65
GDT_CFloat16
@ GDT_CFloat16
Definition gdal.h:63
GDT_Float64
@ GDT_Float64
Definition gdal.h:60
GDT_Float16
@ GDT_Float16
Definition gdal.h:58
GDT_UInt16
@ GDT_UInt16
Definition gdal.h:52
GDT_Int16
@ GDT_Int16
Definition gdal.h:53
GDT_CInt16
@ GDT_CInt16
Definition gdal.h:61
GDT_Int32
@ GDT_Int32
Definition gdal.h:55
GDT_Unknown
@ GDT_Unknown
Definition gdal.h:49
GDT_Float32
@ GDT_Float32
Definition gdal.h:59
GDALGetRasterOffset
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition gdalrasterband.cpp:3591
GDALDatasetCommitTransaction
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition gdaldataset.cpp:8474
GDALHasArbitraryOverviews
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition gdalrasterband.cpp:3308
GDALGetColorEntry
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition gdalcolortable.cpp:119
GDALGetAccess
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition gdaldataset.cpp:3301
GDALGetRasterBandXSize
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition gdalrasterband.cpp:3879
GDALRATGetUsageOfCol
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition gdal_rat.cpp:1926
GDALAttributeReadAsInt
int GDALAttributeReadAsInt(GDALAttributeH hAttr)
Return the value of an attribute as a integer.
Definition gdalmultidim.cpp:13716
GDALExtendedDataTypeCreate
GDALExtendedDataTypeH GDALExtendedDataTypeCreate(GDALDataType eType)
Return a new GDALExtendedDataType of class GEDTC_NUMERIC.
Definition gdalmultidim.cpp:11136
GDALDatasetRasterIOEx
CPLErr GDALDatasetRasterIOEx(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, const int *panBandCount, GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace, GDALRasterIOExtraArg *psExtraArg)
Read/write a region of image data from multiple bands.
Definition gdaldataset.cpp:3201
GDALRATFieldUsage
GDALRATFieldUsage
Field usage of raster attribute table.
Definition gdal.h:2240
GFU_Min
@ GFU_Min
Definition gdal.h:2244
GFU_AlphaMin
@ GFU_AlphaMin
Definition gdal.h:2254
GFU_GreenMin
@ GFU_GreenMin
Definition gdal.h:2252
GFU_Red
@ GFU_Red
Definition gdal.h:2247
GFU_Alpha
@ GFU_Alpha
Definition gdal.h:2250
GFU_MaxCount
@ GFU_MaxCount
Definition gdal.h:2259
GFU_MinMax
@ GFU_MinMax
Definition gdal.h:2246
GFU_RedMin
@ GFU_RedMin
Definition gdal.h:2251
GFU_GreenMax
@ GFU_GreenMax
Definition gdal.h:2256
GFU_Name
@ GFU_Name
Definition gdal.h:2243
GFU_BlueMax
@ GFU_BlueMax
Definition gdal.h:2257
GFU_BlueMin
@ GFU_BlueMin
Definition gdal.h:2253
GFU_RedMax
@ GFU_RedMax
Definition gdal.h:2255
GFU_Green
@ GFU_Green
Definition gdal.h:2248
GFU_Blue
@ GFU_Blue
Definition gdal.h:2249
GFU_AlphaMax
@ GFU_AlphaMax
Definition gdal.h:2258
GFU_PixelCount
@ GFU_PixelCount
Definition gdal.h:2242
GFU_Generic
@ GFU_Generic
Definition gdal.h:2241
GFU_Max
@ GFU_Max
Definition gdal.h:2245
GDALGetRasterScale
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition gdalrasterband.cpp:3697
GDALGetColorEntryCount
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition gdalcolortable.cpp:301
GDALRegisterPlugin
CPLErr GDALRegisterPlugin(const char *name)
Register a plugin by name, returning an error if not found.
Definition gdalallregister.cpp:51
GDALGetRasterBand
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition gdaldataset.cpp:1126
GDALGetRasterAccess
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition gdalrasterband.cpp:2213
GDALMDArrayGetNoDataValueAsInt64
int64_t GDALMDArrayGetNoDataValueAsInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a Int64.
Definition gdalmultidim.cpp:12606
GDALGeneralCmdLineProcessor
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition gdal_misc.cpp:3769
GDALRATChangesAreWrittenToFile
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset.
Definition gdal_rat.cpp:3082
GDALGetGCPSpatialRef
OGRSpatialReferenceH GDALGetGCPSpatialRef(GDALDatasetH)
Get output spatial reference system for GCPs.
Definition gdaldataset.cpp:2090
GDALMDArrayGetRawNoDataValue
const void * GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray)
Return the nodata value as a "raw" value.
Definition gdalmultidim.cpp:12554
GDALMDArrayWrite
int GDALMDArrayWrite(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count, const GInt64 *arrayStep, const GPtrDiff_t *bufferStride, GDALExtendedDataTypeH bufferDatatype, const void *pSrcBuffer, const void *psrcBufferAllocStart, size_t nSrcBufferllocSize)
Write part or totality of a multidimensional array.
Definition gdalmultidim.cpp:12370
GDALDumpOpenDatasets
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition gdaldataset.cpp:4584
GDALExtendedDataTypeFreeComponents
void GDALExtendedDataTypeFreeComponents(GDALEDTComponentH *components, size_t nCount)
Free the return of GDALExtendedDataTypeGetComponents().
Definition gdalmultidim.cpp:11434
GDALGetGCPs
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition gdaldataset.cpp:2145
GDALAttributeReadAsRaw
GByte * GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize)
Return the raw value of an attribute.
Definition gdalmultidim.cpp:13639
GDALDatasetRunCloseWithoutDestroying
CPLErr GDALDatasetRunCloseWithoutDestroying(GDALDatasetH hDS)
Run the Close() method, without running destruction of the object.
Definition gdaldataset.cpp:511
GDALExtendedDataTypeGetSize
size_t GDALExtendedDataTypeGetSize(GDALExtendedDataTypeH hEDT)
Return data type size in bytes.
Definition gdalmultidim.cpp:11288
GDALGetRasterDataType
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition gdalrasterband.cpp:1460
GDALCreateRasterAttributeTableFromMDArrays
GDALRasterAttributeTableH GDALCreateRasterAttributeTableFromMDArrays(GDALRATTableType eTableType, int nArrays, const GDALMDArrayH *ahArrays, const GDALRATFieldUsage *paeUsages)
Return a virtual Raster Attribute Table from several GDALMDArray's.
Definition gdalmultidim_rat.cpp:511
GDALExtractRPCInfoV2
int GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition gdal_misc.cpp:4434
GDALGroupOpenMDArrayFromFullname
GDALMDArrayH GDALGroupOpenMDArrayFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array from its fully qualified name.
Definition gdalmultidim.cpp:11652
GDALMDArrayRawBlockInfoCreate
GDALMDArrayRawBlockInfo * GDALMDArrayRawBlockInfoCreate(void)
Allocate a new instance of GDALMDArrayRawBlockInfo.
Definition gdalmultidim.cpp:15360
GDALGroupDeleteAttribute
bool GDALGroupDeleteAttribute(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete an attribute from a group.
Definition gdalmultidim.cpp:12137
GDALCreateColorTable
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp)
Construct a new color table.
Definition gdalcolortable.cpp:54
GDALIsMaskBand
bool GDALIsMaskBand(GDALRasterBandH hBand)
Returns whether a band is a mask band.
Definition gdalrasterband.cpp:9601
GDALGetMaskBand
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition gdalrasterband.cpp:9357
GDALMDArrayCreateAttribute
GDALAttributeH GDALMDArrayCreateAttribute(GDALMDArrayH hArray, const char *pszName, size_t nDimensions, const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions)
Create a attribute within an array.
Definition gdalmultidim.cpp:12494
GDALRelationshipSetMappingTableName
void GDALRelationshipSetMappingTableName(GDALRelationshipH, const char *)
Sets the name of the mapping table for many-to-many relationships.
Definition gdalrelationship.cpp:199
GDALMDArraySetNoDataValueAsInt64
int GDALMDArraySetNoDataValueAsInt64(GDALMDArrayH hArray, int64_t nNoDataValue)
Set the nodata value as a Int64.
Definition gdalmultidim.cpp:12693
GDALMDArraySetNoDataValueAsUInt64
int GDALMDArraySetNoDataValueAsUInt64(GDALMDArrayH hArray, uint64_t nNoDataValue)
Set the nodata value as a UInt64.
Definition gdalmultidim.cpp:12713
GDALOverviewMagnitudeCorrection
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition overview.cpp:6810
GDALGetOutputDriversForDatasetName
char ** GDALGetOutputDriversForDatasetName(const char *pszDestFilename, int nFlagRasterVector, bool bSingleMatch, bool bEmitWarning)
Return a list of driver short names that are likely candidates for the provided output file name.
Definition gdaldriver.cpp:3088
GDALDatasetDeleteFieldDomain
bool GDALDatasetDeleteFieldDomain(GDALDatasetH hDS, const char *pszName, char **ppszFailureReason)
Removes a field domain from the dataset.
Definition gdaldataset.cpp:10040
GDALReleaseDimensions
void GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount)
Free the return of GDALGroupGetDimensions() or GDALMDArrayGetDimensions()
Definition gdalmultidim.cpp:12305
GDALRATSetRowCount
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition gdal_rat.cpp:860
GDALRasterInterpolateAtPoint
CPLErr GDALRasterInterpolateAtPoint(GDALRasterBandH hBand, double dfPixel, double dfLine, GDALRIOResampleAlg eInterpolation, double *pdfRealValue, double *pdfImagValue)
Interpolates the value between pixels using a resampling algorithm.
Definition gdalrasterband.cpp:10985
GDALOpenShared
GDALDatasetH GDALOpenShared(const char *, GDALAccess)
Open a raster file as a GDALDataset.
Definition gdaldataset.cpp:4449
GDALSetRasterNoDataValueAsInt64
CPLErr GDALSetRasterNoDataValueAsInt64(GDALRasterBandH, int64_t)
Set the no data value for this band.
Definition gdalrasterband.cpp:2745
GDALRelationshipSetForwardPathLabel
void GDALRelationshipSetForwardPathLabel(GDALRelationshipH, const char *)
Sets the label of the forward path for the relationship.
Definition gdalrelationship.cpp:509
GDALGetDriverHelpTopic
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition gdaldriver.cpp:2139
GDALIdentifyDriverEx
GDALDriverH GDALIdentifyDriverEx(const char *pszFilename, unsigned int nIdentifyFlags, const char *const *papszAllowedDrivers, const char *const *papszFileList)
Identify the driver that can open a dataset.
Definition gdaldriver.cpp:2739
GDALInvGeoTransform
int GDALInvGeoTransform(const double *padfGeoTransformIn, double *padfInvGeoTransformOut)
Invert Geotransform.
Definition gdaltransformer.cpp:4549
GDALExtendedDataTypeCreateStringEx
GDALExtendedDataTypeH GDALExtendedDataTypeCreateStringEx(size_t nMaxStringLength, GDALExtendedDataTypeSubType eSubType)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition gdalmultidim.cpp:11180
GDALSwapWords
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition rasterio.cpp:2041
GDALRelationshipSetLeftMappingTableFields
void GDALRelationshipSetLeftMappingTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the mapping table fields which correspond to the participating fields from the left...
Definition gdalrelationship.cpp:380
GDALRATGetValueAsWKBGeometry
const GByte * GDALRATGetValueAsWKBGeometry(GDALRasterAttributeTableH, int iRow, int iField, size_t *pnWKBSize)
Fetch field value as a WKB-encoded geometry.
Definition gdal_rat.cpp:2512
GDALGetDriver
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition gdaldrivermanager.cpp:461
GDALGroupRelease
void GDALGroupRelease(GDALGroupH hGroup)
Release the GDAL in-memory object associated with a GDALGroupH.
Definition gdalmultidim.cpp:11531
GDALDuplicateGCPs
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition gdal_misc.cpp:1888
GDALMDArrayGetFullName
const char * GDALMDArrayGetFullName(GDALMDArrayH hArray)
Return array full name.
Definition gdalmultidim.cpp:12229
GDALGetRasterMinimum
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition gdalrasterband.cpp:3081
GDALGetRATFieldTypeName
const char * GDALGetRATFieldTypeName(GDALRATFieldType)
Return the string representation of a GDALRATFieldType.
Definition gdal_rat.cpp:90
GDALSetRasterCategoryNames
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, CSLConstList)
Set the category names for this band.
Definition gdalrasterband.cpp:2310
GDALDimensionGetSize
GUInt64 GDALDimensionGetSize(GDALDimensionH hDim)
Return the size, that is the number of values along the dimension.
Definition gdalmultidim.cpp:14172
GDALMDArraySetOffsetEx
int GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:12823
GDALMDArrayCache
int GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions)
Cache the content of the array into an auxiliary filename.
Definition gdalmultidim.cpp:13479
GDALGetNonComplexDataType
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition gdal_misc.cpp:1081
GDALGetRasterMaximum
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition gdalrasterband.cpp:2972
GDALDimensionGetType
const char * GDALDimensionGetType(GDALDimensionH hDim)
Return dimension type.
Definition gdalmultidim.cpp:14144
GDALRATValuesIOAsString
CPLErr GDALRATValuesIOAsString(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, char **papszStrList)
Read or Write a block of strings to/from the Attribute Table.
Definition gdal_rat.cpp:356
GDALGetDriverLongName
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition gdaldriver.cpp:2109
GDALDataTypeIsComplex
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition gdal_misc.cpp:466
GDALGetColorInterpretationName
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition gdal_misc.cpp:1244
GDALIsValueExactAs
bool GDALIsValueExactAs(double dfValue, GDALDataType eDT)
Check whether the provided value can be exactly represented in a data type.
Definition gdal_misc.cpp:973
GDALRelationshipSetRightMappingTableFields
void GDALRelationshipSetRightMappingTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the mapping table fields which correspond to the participating fields from the righ...
Definition gdalrelationship.cpp:405
GDALRasterBandAsDataType
GDALComputedRasterBandH GDALRasterBandAsDataType(GDALRasterBandH hBand, GDALDataType eDT)
Cast this band to another type.
Definition gdalrasterband.cpp:12532
GDALDestroyDriverManager
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition gdaldrivermanager.cpp:1786
GDALRasterIOEx
CPLErr GDALRasterIOEx(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, GSpacing nPixelSpace, GSpacing nLineSpace, GDALRasterIOExtraArg *psExtraArg)
Read/write a region of image data for this band.
Definition gdalrasterband.cpp:513
GDALMDArraySetUnit
int GDALMDArraySetUnit(GDALMDArrayH hArray, const char *)
Set the variable unit.
Definition gdalmultidim.cpp:13169
GDALRelationshipGetBackwardPathLabel
const char * GDALRelationshipGetBackwardPathLabel(GDALRelationshipH)
Get the label of the backward path for the relationship.
Definition gdalrelationship.cpp:542
GDALDatasetGetFieldDomainNames
char ** GDALDatasetGetFieldDomainNames(GDALDatasetH, CSLConstList)
Returns a list of the names of all field domains stored in the dataset.
Definition gdaldataset.cpp:9851
GDALValidateCreationOptions
int GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition gdaldriver.cpp:2204
GDALRelationshipCreate
GDALRelationshipH GDALRelationshipCreate(const char *, const char *, const char *, GDALRelationshipCardinality)
Creates a new relationship.
Definition gdalrelationship.cpp:50
GDALComputeRasterMinMax
CPLErr GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition gdalrasterband.cpp:8568
GDALRelationshipGetMappingTableName
const char * GDALRelationshipGetMappingTableName(GDALRelationshipH)
Get the name of the mapping table for many-to-many relationships.
Definition gdalrelationship.cpp:174
GDALDatasetGetLayer
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition gdaldataset.cpp:5163
GDALRenameDataset
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition gdaldriver.cpp:1908
GDALRATDumpReadable
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition gdal_rat.cpp:1739
GDALSetGCPs2
CPLErr GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *, OGRSpatialReferenceH)
Assign GCPs.
Definition gdaldataset.cpp:2281
GDALExtendedDataTypeGetMaxStringLength
size_t GDALExtendedDataTypeGetMaxStringLength(GDALExtendedDataTypeH hEDT)
Return the maximum length of a string in bytes.
Definition gdalmultidim.cpp:11304
GDALDimensionGetIndexingVariable
GDALMDArrayH GDALDimensionGetIndexingVariable(GDALDimensionH hDim)
Return the variable that is used to index the dimension (if there is one).
Definition gdalmultidim.cpp:14191
GDALGroupGetGroupNames
char ** GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of sub-groups contained in this group.
Definition gdalmultidim.cpp:11698
GDALDatasetRollbackTransaction
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition gdaldataset.cpp:8524
GDALAttributeWriteDouble
int GDALAttributeWriteDouble(GDALAttributeH hAttr, double)
Write an attribute from a double value.
Definition gdalmultidim.cpp:13968
GDALGetRasterXSize
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition gdaldataset.cpp:998
GDALComputeRasterMinMaxLocation
CPLErr GDALComputeRasterMinMaxLocation(GDALRasterBandH hBand, double *pdfMin, double *pdfMax, int *pnMinX, int *pnMinY, int *pnMaxX, int *pnMaxY)
Compute the min/max values for a band, and their location.
Definition gdalrasterband.cpp:8842
GDALRATSerializeJSON
void * GDALRATSerializeJSON(GDALRasterAttributeTableH)
Serialize Raster Attribute Table in Json format.
Definition gdal_rat.cpp:3398
GDALRegisterPlugins
void GDALRegisterPlugins(void)
Register drivers and support code available as a plugin.
Definition gdalallregister.cpp:78
GDALApplyHomography
int GDALApplyHomography(const double *, double, double, double *, double *)
Apply Homography to x/y coordinate.
Definition gdal_homography.cpp:408
GDALAttributeReadAsString
const char * GDALAttributeReadAsString(GDALAttributeH hAttr)
Return the value of an attribute as a string.
Definition gdalmultidim.cpp:13696
GDALGroupGetStructuralInfo
CSLConstList GDALGroupGetStructuralInfo(GDALGroupH hGroup)
Return structural information on the group.
Definition gdalmultidim.cpp:11910
GDALDriverHasOpenOption
bool GDALDriverHasOpenOption(GDALDriverH, const char *pszOpenOptionName)
Returns TRUE if the given open option is supported by the driver.
Definition gdaldriver.cpp:2064
GDALExtendedDataTypeClass
GDALExtendedDataTypeClass
Enumeration giving the class of a GDALExtendedDataType.
Definition gdal.h:394
GEDTC_STRING
@ GEDTC_STRING
String value.
Definition gdal.h:398
GEDTC_COMPOUND
@ GEDTC_COMPOUND
Compound data type.
Definition gdal.h:400
GEDTC_NUMERIC
@ GEDTC_NUMERIC
Numeric value.
Definition gdal.h:396
GDALDatasetUpdateFieldDomain
bool GDALDatasetUpdateFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Updates an existing field domain by replacing its definition.
Definition gdaldataset.cpp:10113
GDALDeleteRasterNoDataValue
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition gdalrasterband.cpp:2863
GDALSetMetadataItem
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition gdalmajorobject.cpp:392
GDALFindDataTypeForValue
GDALDataType GDALFindDataTypeForValue(double dValue, int bComplex)
Finds the smallest data type able to support the provided value.
Definition gdal_misc.cpp:346
GDALGroupOpenGroup
GDALGroupH GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Open and return a sub-group.
Definition gdalmultidim.cpp:11720
GDALDatasetGetNextFeature
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition gdaldataset.cpp:8181
GDALDatasetStartTransaction
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition gdaldataset.cpp:8418
GDALDerivedPixelFuncWithArgs
CPLErr(* GDALDerivedPixelFuncWithArgs)(void **papoSources, int nSources, void *pData, int nBufXSize, int nBufYSize, GDALDataType eSrcType, GDALDataType eBufType, int nPixelSpace, int nLineSpace, CSLConstList papszFunctionArgs)
Type of functions to pass to GDALAddDerivedBandPixelFuncWithArgs.
Definition gdal.h:1609
GDALCreatePansharpenedVRT
GDALDatasetH GDALCreatePansharpenedVRT(const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands, GDALRasterBandH *pahInputSpectralBands)
Create a virtual pansharpened dataset.
Definition vrtpansharpened.cpp:80
GDALGetDataCoverageStatus
int GDALGetDataCoverageStatus(GDALRasterBandH hBand, int nXOff, int nYOff, int nXSize, int nYSize, int nMaskFlagStop, double *pdfDataPct)
Get the coverage status of a sub-window of the raster.
Definition gdalrasterband.cpp:10081
GDALGroupGetDataTypeCount
size_t GDALGroupGetDataTypeCount(GDALGroupH hGroup)
Return the number of data types associated with the group (typically enumerations).
Definition gdalmultidim.cpp:11927
GDALGroupCreateGroup
GDALGroupH GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Create a sub-group within a group.
Definition gdalmultidim.cpp:11982
GDALGetPaletteInterpretationName
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition gdal_misc.cpp:1204
GDALGetAsyncStatusTypeName
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition gdal_misc.cpp:1166
GDALRATGetLinearBinning
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition gdal_rat.cpp:1075
GDALARGetNextUpdatedRegion
GDALAsyncStatusType GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff, int *pnXBufSize, int *pnYBufSize)
Get async IO update.
Definition gdaldefaultasync.cpp:145
GDALGetRasterNoDataValueAsUInt64
uint64_t GDALGetRasterNoDataValueAsUInt64(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition gdalrasterband.cpp:2487
GDALGetDefaultHistogramEx
CPLErr GDALGetDefaultHistogramEx(GDALRasterBandH hBand, double *pdfMin, double *pdfMax, int *pnBuckets, GUIntBig **ppanHistogram, int bForce, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch default raster histogram.
Definition gdalrasterband.cpp:5063
GDALRATSetValueAsInt
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int iRow, int iField, int)
Set field value from integer.
Definition gdal_rat.cpp:2732
GDALAddBand
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, CSLConstList papszOptions)
Add a band to a dataset.
Definition gdaldataset.cpp:861
GDALAttributeFreeRawResult
void GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw, size_t nSize)
Free the return of GDALAttributeAsRaw()
Definition gdalmultidim.cpp:13660
GDALSetDefaultHistogram
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition gdalrasterband.cpp:8892
GDALRelationshipGetCardinality
GDALRelationshipCardinality GDALRelationshipGetCardinality(GDALRelationshipH)
Get the cardinality of the relationship.
Definition gdalrelationship.cpp:110
GDALGetExtentWGS84LongLat
CPLErr GDALGetExtentWGS84LongLat(GDALDatasetH, OGREnvelope *)
Return extent of dataset in WGS84 longitude/latitude.
Definition gdaldataset.cpp:11328
GDALRelationshipGetLeftTableFields
char ** GDALRelationshipGetLeftTableFields(GDALRelationshipH)
Get the names of the participating fields from the left table in the relationship.
Definition gdalrelationship.cpp:222
GDALAttributeGetTotalElementsCount
GUInt64 GDALAttributeGetTotalElementsCount(GDALAttributeH hAttr)
Return the total number of values in the attribute.
Definition gdalmultidim.cpp:13562
GDALApplyGeoTransform
void GDALApplyGeoTransform(const double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition gdaltransformer.cpp:4523
GDALDatasetReadCompressedData
CPLErr GDALDatasetReadCompressedData(GDALDatasetH hDS, const char *pszFormat, int nXOff, int nYOff, int nXSize, int nYSize, int nBandCount, const int *panBandList, void **ppBuffer, size_t *pnBufferSize, char **ppszDetailedFormat)
Return the compressed content that can be natively obtained for the window of interest and requested ...
Definition gdaldataset.cpp:10914
GDALGetRATFieldUsageName
const char * GDALGetRATFieldUsageName(GDALRATFieldUsage)
Return the string representation of a GDALRATFieldUsage.
Definition gdal_rat.cpp:119
GDALMDArrayComputeStatisticsEx
int GDALMDArrayComputeStatisticsEx(GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount, GDALProgressFunc, void *pProgressData, CSLConstList papszOptions)
Compute statistics.
Definition gdalmultidim.cpp:13298
GDALCloneColorTable
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition gdalcolortable.cpp:264
GDALRelationshipCardinality
GDALRelationshipCardinality
Cardinality of relationship.
Definition gdal.h:2425
GRC_ONE_TO_ONE
@ GRC_ONE_TO_ONE
One-to-one.
Definition gdal.h:2427
GRC_MANY_TO_ONE
@ GRC_MANY_TO_ONE
Many-to-one.
Definition gdal.h:2431
GRC_MANY_TO_MANY
@ GRC_MANY_TO_MANY
Many-to-many.
Definition gdal.h:2433
GRC_ONE_TO_MANY
@ GRC_ONE_TO_MANY
One-to-many.
Definition gdal.h:2429
GDALRIOResampleAlg
GDALRIOResampleAlg
RasterIO() resampling method.
Definition gdal.h:137
GRIORA_Mode
@ GRIORA_Mode
Definition gdal.h:146
GRIORA_Lanczos
@ GRIORA_Lanczos
Definition gdal.h:142
GRIORA_Cubic
@ GRIORA_Cubic
Definition gdal.h:140
GRIORA_CubicSpline
@ GRIORA_CubicSpline
Definition gdal.h:141
GRIORA_Average
@ GRIORA_Average
Definition gdal.h:143
GRIORA_RMS
@ GRIORA_RMS
RMS: Root Mean Square / Quadratic Mean.
Definition gdal.h:157
GRIORA_NearestNeighbour
@ GRIORA_NearestNeighbour
Definition gdal.h:138
GRIORA_Gauss
@ GRIORA_Gauss
Definition gdal.h:147
GRIORA_Bilinear
@ GRIORA_Bilinear
Definition gdal.h:139
GDALSetRasterUnitType
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition gdalrasterband.cpp:3841
GDALRATValuesIOAsBoolean
CPLErr GDALRATValuesIOAsBoolean(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, bool *pbData)
Read or Write a block of booleans to/from the Attribute Table.
Definition gdal_rat.cpp:429
GDALExtendedDataTypeGetSubType
GDALExtendedDataTypeSubType GDALExtendedDataTypeGetSubType(GDALExtendedDataTypeH hEDT)
Return the subtype of a type.
Definition gdalmultidim.cpp:11363
GDALDatasetAddRelationship
bool GDALDatasetAddRelationship(GDALDatasetH hDS, GDALRelationshipH hRelationship, char **ppszFailureReason)
Add a relationship to the dataset.
Definition gdaldataset.cpp:10288
GDALEDTComponentGetType
GDALExtendedDataTypeH GDALEDTComponentGetType(GDALEDTComponentH hComp)
Return the data type of the component.
Definition gdalmultidim.cpp:11515
GDALGetRasterCategoryNames
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition gdalrasterband.cpp:2259
GDALGroupOpenGroupFromFullname
GDALGroupH GDALGroupOpenGroupFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a sub-group from its fully qualified name.
Definition gdalmultidim.cpp:11793
GDALRelationshipSetLeftTableFields
void GDALRelationshipSetLeftTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the participating fields from the left table in the relationship.
Definition gdalrelationship.cpp:276
GDALWriteWorldFile
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition gdal_misc.cpp:2781
GDALDataTypeIsInteger
int GDALDataTypeIsInteger(GDALDataType)
Is data type integer? (might be complex)
Definition gdal_misc.cpp:551
GDALRATCreateColumn
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition gdal_rat.cpp:985
GDALDimensionSetIndexingVariable
int GDALDimensionSetIndexingVariable(GDALDimensionH hDim, GDALMDArrayH hArray)
Set the variable that is used to index the dimension.
Definition gdalmultidim.cpp:14213
GDALDatasetDeleteRelationship
bool GDALDatasetDeleteRelationship(GDALDatasetH hDS, const char *pszName, char **ppszFailureReason)
Removes a relationship from the dataset.
Definition gdaldataset.cpp:10357
GDALDatasetDeleteLayer
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition gdaldataset.cpp:5299
GDALDimensionRename
bool GDALDimensionRename(GDALDimensionH hDim, const char *pszNewName)
Rename the dimension.
Definition gdalmultidim.cpp:14235
GDALMDArrayGetSpatialRef
OGRSpatialReferenceH GDALMDArrayGetSpatialRef(GDALMDArrayH hArray)
Return the spatial reference system object associated with the array.
Definition gdalmultidim.cpp:13226
GDALCheckVersion
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition gdal_misc.cpp:3047
GDALEDTComponentCreate
GDALEDTComponentH GDALEDTComponentCreate(const char *pszName, size_t nOffset, GDALExtendedDataTypeH hType)
Create a new GDALEDTComponent.
Definition gdalmultidim.cpp:11454
GDALMDArrayGetAttribute
GDALAttributeH GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char *pszName)
Return an attribute by its name.
Definition gdalmultidim.cpp:12439
GDALAttributeReadAsStringArray
char ** GDALAttributeReadAsStringArray(GDALAttributeH hAttr)
Return the value of an attribute as an array of strings.
Definition gdalmultidim.cpp:13772
GDALGetBandDataset
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition gdalrasterband.cpp:3999
GDALDatasetAdviseRead
CPLErr GDALDatasetAdviseRead(GDALDatasetH hDS, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition gdaldataset.cpp:3406
GDALRATGetValueAsDouble
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int iRow, int iField)
Fetch field value as a double.
Definition gdal_rat.cpp:2268
OGR_L_GetDataset
GDALDatasetH OGR_L_GetDataset(OGRLayerH hLayer)
Return the dataset associated with this layer.
Definition ogrlayer.cpp:8380
GDALAttributeGetDataType
GDALExtendedDataTypeH GDALAttributeGetDataType(GDALAttributeH hAttr)
Return the data type.
Definition gdalmultidim.cpp:13617
GDALRelationshipSetRelatedTableType
void GDALRelationshipSetRelatedTableType(GDALRelationshipH, const char *)
Sets the type string of the related table.
Definition gdalrelationship.cpp:633
GDALRATSetValueAsDateTime
CPLErr GDALRATSetValueAsDateTime(GDALRasterAttributeTableH, int iRow, int iField, const GDALRATDateTime *psDateTime)
Set field value from datetime.
Definition gdal_rat.cpp:2967
GDALComputedRasterBandRelease
void GDALComputedRasterBandRelease(GDALComputedRasterBandH hBand)
Release a GDALComputedRasterBandH.
Definition gdalcomputedrasterband.cpp:788
GDALLoadTabFile
int GDALLoadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition gdal_misc.cpp:2258
GDALRasterBandMaxConstant
GDALComputedRasterBandH GDALRasterBandMaxConstant(GDALRasterBandH hBand, double dfConstant)
Return a band whose each pixel value is the maximum of the corresponding pixel values in the input ba...
Definition gdalrasterband.cpp:12662
GDALGetRasterBandYSize
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition gdalrasterband.cpp:3916
GDALARUnlockBuffer
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition gdaldefaultasync.cpp:239
GDALSetRasterNoDataValue
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition gdalrasterband.cpp:2673
GDALExtendedDataTypeCanConvertTo
int GDALExtendedDataTypeCanConvertTo(GDALExtendedDataTypeH hSourceEDT, GDALExtendedDataTypeH hTargetEDT)
Return whether this data type can be converted to the other one.
Definition gdalmultidim.cpp:11322
GDALRasterBandIfThenElse
GDALComputedRasterBandH GDALRasterBandIfThenElse(GDALRasterBandH hCondBand, GDALRasterBandH hThenBand, GDALRasterBandH hElseBand)
Return a band whose value is hThenBand if the corresponding pixel in hCondBand is not zero,...
Definition gdalrasterband.cpp:12462
GDALDecToDMS
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition gdal_misc.cpp:3071
GDALExtendedDataTypeGetNumericDataType
GDALDataType GDALExtendedDataTypeGetNumericDataType(GDALExtendedDataTypeH hEDT)
Return numeric data type (only valid when GetClass() == GEDTC_NUMERIC)
Definition gdalmultidim.cpp:11274
GDALDeregisterDriver
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition gdaldrivermanager.cpp:708
GDALCopyDatasetFiles
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition gdaldriver.cpp:2035
GDALGetDefaultHistogram
CPLErr GDALGetDefaultHistogram(GDALRasterBandH hBand, double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch default raster histogram.
Definition gdalrasterband.cpp:4994
GDALDatasetAbortSQL
OGRErr GDALDatasetAbortSQL(GDALDatasetH)
Abort any SQL statement running in the data store.
Definition gdaldataset.cpp:5776
GDALDestroyRasterAttributeTable
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition gdal_rat.cpp:1798
GDALCreateDatasetMaskBand
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition gdaldataset.cpp:3712
GDALAttributeWriteString
int GDALAttributeWriteString(GDALAttributeH hAttr, const char *)
Write an attribute from a string value.
Definition gdalmultidim.cpp:13904
GDALMDArraySetScale
int GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:12766
GDALGetActualBlockSize
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition gdalrasterband.cpp:1381
GDALRasterBandGetVirtualMem
CPLVirtualMem * GDALRasterBandGetVirtualMem(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nPixelSpace, GIntBig nLineSpace, size_t nCacheSize, size_t nPageSizeHint, int bSingleThreadUsage, CSLConstList papszOptions)
Create a CPLVirtualMem object from a GDAL raster band object.
Definition gdalvirtualmem.cpp:998
GDALRATGetValueAsDateTime
CPLErr GDALRATGetValueAsDateTime(GDALRasterAttributeTableH, int iRow, int iField, GDALRATDateTime *psDateTime)
Fetch field value as a datetime.
Definition gdal_rat.cpp:2417
GDALClose
CPLErr GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition gdaldataset.cpp:4478
GDALBeginAsyncReader
GDALAsyncReaderH GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff, int nXSize, int nYSize, void *pBuf, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, int nPixelSpace, int nLineSpace, int nBandSpace, CSLConstList papszOptions)
Sets up an asynchronous data request.
Definition gdaldataset.cpp:4780
GDALRATGetValueAsInt
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int iRow, int iField)
Fetch field value as a integer.
Definition gdal_rat.cpp:2201
GDALRelationshipGetRightTableFields
char ** GDALRelationshipGetRightTableFields(GDALRelationshipH)
Get the names of the participating fields from the right table in the relationship.
Definition gdalrelationship.cpp:248
GDALSetDefaultHistogramEx
CPLErr GDALSetDefaultHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition gdalrasterband.cpp:8934
GDALDatasetCreateLayer
OGRLayerH GDALDatasetCreateLayer(GDALDatasetH, const char *, OGRSpatialReferenceH, OGRwkbGeometryType, CSLConstList)
This function attempts to create a new layer on the dataset with the indicated name,...
Definition gdaldataset.cpp:5556
GDALAttributeGetFullName
const char * GDALAttributeGetFullName(GDALAttributeH hAttr)
Return the full name of the attribute.
Definition gdalmultidim.cpp:13547
GDALRasterBandBinaryOpDoubleToBand
GDALComputedRasterBandH GDALRasterBandBinaryOpDoubleToBand(double constant, GDALRasterAlgebraBinaryOperation eOp, GDALRasterBandH hBand)
Apply a binary operation on the constant with this band.
Definition gdalrasterband.cpp:11396
GDALDatasetGetRelationship
GDALRelationshipH GDALDatasetGetRelationship(GDALDatasetH hDS, const char *pszName)
Get a relationship from its name.
Definition gdaldataset.cpp:10210
GDALRATFieldType
GDALRATFieldType
Field type of raster attribute table.
Definition gdal.h:2226
GFT_DateTime
@ GFT_DateTime
Definition gdal.h:2231
GFT_WKBGeometry
@ GFT_WKBGeometry
Definition gdal.h:2232
GFT_Real
@ GFT_Real
Definition gdal.h:2228
GFT_Boolean
@ GFT_Boolean
Definition gdal.h:2230
GFT_String
@ GFT_String
Definition gdal.h:2229
GFT_Integer
@ GFT_Integer
Definition gdal.h:2227
GDALDatasetResetReading
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition gdaldataset.cpp:7955
GDALMDArrayGetUnit
const char * GDALMDArrayGetUnit(GDALMDArrayH hArray)
Return the array unit.
Definition gdalmultidim.cpp:13194
GDALAttributeWriteDoubleArray
int GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *, size_t)
Write an attribute from an array of double.
Definition gdalmultidim.cpp:14065
GDALGroupDeleteMDArray
bool GDALGroupDeleteMDArray(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete an array from a group.
Definition gdalmultidim.cpp:12086
GDALVRTProcessedDatasetFuncInit
CPLErr(* GDALVRTProcessedDatasetFuncInit)(const char *pszFuncName, void *pUserData, CSLConstList papszFunctionArgs, int nInBands, GDALDataType eInDT, double *padfInNoData, int *pnOutBands, GDALDataType *peOutDT, double **ppadfOutNoData, const char *pszVRTPath, VRTPDWorkingDataPtr *ppWorkingData)
Initialization function to pass to GDALVRTRegisterProcessedDatasetFunc.
Definition gdal.h:1831
GDALSubdatasetInfoGetPathComponent
char * GDALSubdatasetInfoGetPathComponent(GDALSubdatasetInfoH hInfo)
Returns the file path component of a subdataset descriptor effectively stripping the information abou...
Definition gdalsubdatasetinfo.cpp:69
GDALRATRemoveStatistics
void GDALRATRemoveStatistics(GDALRasterAttributeTableH)
Remove Statistics from RAT.
Definition gdal_rat.cpp:3417
GDALDimensionGetName
const char * GDALDimensionGetName(GDALDimensionH hDim)
Return dimension name.
Definition gdalmultidim.cpp:14116
GDALGetGCPProjection
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition gdaldataset.cpp:2109
GDALDataTypeUnion
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition gdal_misc.cpp:135
GDALGetColorInterpretationByName
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition gdal_misc.cpp:1394
GDALGroupOpenVectorLayer
OGRLayerH GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName, CSLConstList papszOptions)
Open and return a vector layer.
Definition gdalmultidim.cpp:11771
GDALMDArrayRead
int GDALMDArrayRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count, const GInt64 *arrayStep, const GPtrDiff_t *bufferStride, GDALExtendedDataTypeH bufferDatatype, void *pDstBuffer, const void *pDstBufferAllocStart, size_t nDstBufferllocSize)
Read part or totality of a multidimensional array.
Definition gdalmultidim.cpp:12339
GDALGetColorEntryAsRGB
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition gdalcolortable.cpp:169
GDALGetFileList
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition gdaldataset.cpp:3639
GDALRelationshipGetRightTableName
const char * GDALRelationshipGetRightTableName(GDALRelationshipH)
Get the name of the right (or related/destination) table in the relationship.
Definition gdalrelationship.cpp:150
GDALDatasetGetRelationshipNames
char ** GDALDatasetGetRelationshipNames(GDALDatasetH, CSLConstList)
Returns a list of the names of all relationships stored in the dataset.
Definition gdaldataset.cpp:10167
GDALVersionInfo
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition gdal_misc.cpp:2851
GDALAttributeWriteRaw
int GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t)
Write an attribute from raw values expressed in GetDataType()
Definition gdalmultidim.cpp:13882
GDALDatasetGetLayerCount
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition gdaldataset.cpp:5131
GDALSetMetadata
CPLErr GDALSetMetadata(GDALMajorObjectH, CSLConstList, const char *)
Set metadata.
Definition gdalmajorobject.cpp:296
GDALRasterAdviseRead
CPLErr GDALRasterAdviseRead(GDALRasterBandH hRB, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition gdalrasterband.cpp:5146
GDALDatasetTestCapability
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition gdaldataset.cpp:8302
GDALDimensionGetFullName
const char * GDALDimensionGetFullName(GDALDimensionH hDim)
Return dimension full name.
Definition gdalmultidim.cpp:14130
GDALInvHomography
int GDALInvHomography(const double *padfHomographyIn, double *padfInvHomographyOut)
Invert Homography.
Definition gdal_homography.cpp:442
GDALGetThreadSafeDataset
GDALDatasetH GDALGetThreadSafeDataset(GDALDatasetH, int nScopeFlags, CSLConstList papszOptions)
Return a thread-safe dataset.
Definition gdalthreadsafedataset.cpp:1285
GDALGetJPEG2000Structure
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, CSLConstList papszOptions)
Dump the structure of a JPEG2000 file as a XML tree.
Definition gdaljp2structure.cpp:2340
GDALAdjustValueToDataType
double GDALAdjustValueToDataType(GDALDataType eDT, double dfValue, int *pbClamped, int *pbRounded)
Adjust a value to the output data type.
Definition gdal_misc.cpp:855
GDALEndAsyncReader
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition gdaldataset.cpp:4831
GDALCreateMaskBand
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition gdalrasterband.cpp:9542
GDALGroupCreateAttribute
GDALAttributeH GDALGroupCreateAttribute(GDALGroupH hGroup, const char *pszName, size_t nDimensions, const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions)
Create a attribute within a group.
Definition gdalmultidim.cpp:12104
GDALGCPsToHomography
int GDALGCPsToHomography(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfHomography)
Generate Homography from GCPs.
Definition gdal_homography.cpp:141
GDALDatasetIsLayerPrivate
int GDALDatasetIsLayerPrivate(GDALDatasetH, int)
Returns true if the layer at the specified index is deemed a private or system table,...
Definition gdaldataset.cpp:5232
GDALGetDataTypeSizeBytes
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition gdal_misc.cpp:374
GDALMDArrayGetCoordinateVariables
GDALMDArrayH * GDALMDArrayGetCoordinateVariables(GDALMDArrayH hArray, size_t *pnCount)
Return coordinate variables.
Definition gdalmultidim.cpp:13330
GDALAttributeGetName
const char * GDALAttributeGetName(GDALAttributeH hAttr)
Return the name of the attribute.
Definition gdalmultidim.cpp:13531
GDALDeleteDataset
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition gdaldriver.cpp:1769
GDALGetSubdatasetInfo
GDALSubdatasetInfoH GDALGetSubdatasetInfo(const char *pszFileName)
Returns a new GDALSubdatasetInfo object with methods to extract and manipulate subdataset information...
Definition gdalsubdatasetinfo.cpp:22
GDALExtendedDataTypeGetName
const char * GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT)
Return type name.
Definition gdalmultidim.cpp:11245
GDALExtendedDataTypeRelease
void GDALExtendedDataTypeRelease(GDALExtendedDataTypeH hEDT)
Release the GDAL in-memory object associated with a GDALExtendedDataTypeH.
Definition gdalmultidim.cpp:11232
GDALGroupRename
bool GDALGroupRename(GDALGroupH hGroup, const char *pszNewName)
Rename the group.
Definition gdalmultidim.cpp:12161
GDALMDArrayTranspose
GDALMDArrayH GDALMDArrayTranspose(GDALMDArrayH hArray, size_t nNewAxisCount, const int *panMapNewAxisToOldAxis)
Return a view of the array whose axis have been reordered.
Definition gdalmultidim.cpp:13049
GDALAttributeRename
bool GDALAttributeRename(GDALAttributeH hAttr, const char *pszNewName)
Rename the attribute.
Definition gdalmultidim.cpp:14087
GDALDatasetGetRootGroup
GDALGroupH GDALDatasetGetRootGroup(GDALDatasetH hDS)
Return the root GDALGroup of this dataset.
Definition gdalmultidim.cpp:14256
GDALOpenEx
GDALDatasetH GDALOpenEx(const char *pszFilename, unsigned int nOpenFlags, const char *const *papszAllowedDrivers, const char *const *papszOpenOptions, const char *const *papszSiblingFiles)
Open a raster or vector file as a GDALDataset.
Definition gdaldataset.cpp:3914
GDALGetDataTypeName
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition gdal_misc.cpp:715
GDALAllRegister
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition gdalallregister.cpp:111
GDALRATGetTypeOfCol
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition gdal_rat.cpp:1966
GDALMDArrayGetOffset
double GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:12888
GDALReleaseArrays
void GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount)
Free the return of GDALMDArrayGetCoordinateVariables()
Definition gdalmultidim.cpp:13458
GDALMDArrayGetMask
GDALMDArrayH GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions)
Return an array that is a mask for the current array.
Definition gdalmultidim.cpp:13103
GDALGetDescription
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition gdalmajorobject.cpp:77
GDALGroupSubsetDimensionFromSelection
GDALGroupH GDALGroupSubsetDimensionFromSelection(GDALGroupH hGroup, const char *pszSelection, CSLConstList papszOptions)
Return a virtual group whose one dimension has been subset according to a selection.
Definition gdalmultidim.cpp:12180
GDALMDArrayGetMeshGrid
GDALMDArrayH * GDALMDArrayGetMeshGrid(const GDALMDArrayH *pahInputArrays, size_t nCountInputArrays, size_t *pnCountOutputArrays, CSLConstList papszOptions)
Return a list of multidimensional arrays from a list of one-dimensional arrays.
Definition gdalmultidim.cpp:13425
GDALAttributeReadAsDoubleArray
double * GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of doubles.
Definition gdalmultidim.cpp:13847
GDALMDArrayGetNoDataValueAsUInt64
uint64_t GDALMDArrayGetNoDataValueAsUInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a UInt64.
Definition gdalmultidim.cpp:12632
GDALRATGetValueAsString
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int iRow, int iField)
Fetch field value as a string.
Definition gdal_rat.cpp:2135
GDALGetDriverCount
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition gdaldrivermanager.cpp:409
GDALBuildOverviewsEx
CPLErr GDALBuildOverviewsEx(GDALDatasetH, const char *, int, const int *, int, const int *, GDALProgressFunc, void *, CSLConstList papszOptions)
Build raster overview(s)
Definition gdaldataset.cpp:2475
GDALRasterAlgebraBinaryOperation
GDALRasterAlgebraBinaryOperation
Raster algebra binary operation.
Definition gdal.h:1963
GRABO_LOGICAL_AND
@ GRABO_LOGICAL_AND
Logical and.
Definition gdal.h:1987
GRABO_GT
@ GRABO_GT
Strictly greater than test.
Definition gdal.h:1975
GRABO_LOGICAL_OR
@ GRABO_LOGICAL_OR
Logical or.
Definition gdal.h:1989
GRABO_POW
@ GRABO_POW
Power.
Definition gdal.h:1973
GRABO_MUL
@ GRABO_MUL
Multiplication.
Definition gdal.h:1969
GRABO_SUB
@ GRABO_SUB
Subtraction.
Definition gdal.h:1967
GRABO_ADD
@ GRABO_ADD
Addition.
Definition gdal.h:1965
GRABO_EQ
@ GRABO_EQ
Equality test.
Definition gdal.h:1983
GRABO_NE
@ GRABO_NE
Non-equality test.
Definition gdal.h:1985
GRABO_LE
@ GRABO_LE
Lesser or equal to test.
Definition gdal.h:1981
GRABO_DIV
@ GRABO_DIV
Division.
Definition gdal.h:1971
GRABO_GE
@ GRABO_GE
Greater or equal to test.
Definition gdal.h:1977
GRABO_LT
@ GRABO_LT
Strictly lesser than test.
Definition gdal.h:1979
GDALGetExtent
CPLErr GDALGetExtent(GDALDatasetH, OGREnvelope *, OGRSpatialReferenceH hCRS)
Return extent of dataset in specified CRS.
Definition gdaldataset.cpp:11275
GDALExtendedDataTypeSubType
GDALExtendedDataTypeSubType
Enumeration giving the subtype of a GDALExtendedDataType.
Definition gdal.h:407
GEDTST_JSON
@ GEDTST_JSON
JSon.
Definition gdal.h:411
GEDTST_NONE
@ GEDTST_NONE
None.
Definition gdal.h:409
GDALExtendedDataTypeGetComponents
GDALEDTComponentH * GDALExtendedDataTypeGetComponents(GDALExtendedDataTypeH hEDT, size_t *pnCount)
Return the components of the data type (only valid when GetClass() == GEDTC_COMPOUND)
Definition gdalmultidim.cpp:11409
GDALMDArrayResize
bool GDALMDArrayResize(GDALMDArrayH hArray, const GUInt64 *panNewDimSizes, CSLConstList papszOptions)
Resize an array to new dimensions.
Definition gdalmultidim.cpp:12741
GDALDestroyColorTable
void GDALDestroyColorTable(GDALColorTableH)
Destroys a color table.
Definition gdalcolortable.cpp:81
GDALLoadOziMapFile
int GDALLoadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition gdal_misc.cpp:2003
GDALAddDerivedBandPixelFuncWithArgs
CPLErr GDALAddDerivedBandPixelFuncWithArgs(const char *pszName, GDALDerivedPixelFuncWithArgs pfnPixelFunc, const char *pszMetadata)
This adds a pixel function to the global list of available pixel functions for derived bands.
Definition vrtderivedrasterband.cpp:316
GDALDestroyRelationship
void GDALDestroyRelationship(GDALRelationshipH)
Destroys a relationship.
Definition gdalrelationship.cpp:72
GDALMDArrayAsClassicDataset
GDALDatasetH GDALMDArrayAsClassicDataset(GDALMDArrayH hArray, size_t iXDim, size_t iYDim)
Return a view of this array as a "classic" GDALDataset (ie 2D)
Definition gdalmultidim.cpp:14383
GDALComputeRasterStatistics
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition gdalrasterband.cpp:7869
GDALAttributeReadAsIntArray
int * GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of integers.
Definition gdalmultidim.cpp:13790
GDALAttributeWriteStringArray
int GDALAttributeWriteStringArray(GDALAttributeH hAttr, CSLConstList)
Write an attribute from an array of strings.
Definition gdalmultidim.cpp:13990
GDALMDArrayGetStatistics
CPLErr GDALMDArrayGetStatistics(GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch statistics.
Definition gdalmultidim.cpp:13245
GDALReadOziMapFile
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition gdal_misc.cpp:2212
GDALRATSetTableType
CPLErr GDALRATSetTableType(GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType)
Set RAT Table Type.
Definition gdal_rat.cpp:1114
GDALDatasetExecuteSQL
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition gdaldataset.cpp:5731
GDALVRTRegisterProcessedDatasetFunc
CPLErr GDALVRTRegisterProcessedDatasetFunc(const char *pszFuncName, void *pUserData, const char *pszXMLMetadata, GDALDataType eRequestedInputDT, const GDALDataType *paeSupportedInputDT, size_t nSupportedInputDTSize, const int *panSupportedInputBandCount, size_t nSupportedInputBandCountSize, GDALVRTProcessedDatasetFuncInit pfnInit, GDALVRTProcessedDatasetFuncFree pfnFree, GDALVRTProcessedDatasetFuncProcess pfnProcess, CSLConstList papszOptions)
Register a function to be used by VRTProcessedDataset.
Definition vrtprocesseddataset.cpp:1739
GDALSetRasterOffset
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition gdalrasterband.cpp:3640
GDALMDArrayGetStructuralInfo
CSLConstList GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray)
Return structural information on the array.
Definition gdalmultidim.cpp:13013
GDALDeinitGCPs
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition gdal_misc.cpp:1861
GDALReadBlock
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *)
Read a block of image data efficiently.
Definition gdalrasterband.cpp:1125
GDALVRTProcessedDatasetFuncProcess
CPLErr(* GDALVRTProcessedDatasetFuncProcess)(const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData, CSLConstList papszFunctionArgs, int nBufXSize, int nBufYSize, const void *pInBuffer, size_t nInBufferSize, GDALDataType eInDT, int nInBands, const double *padfInNoData, void *pOutBuffer, size_t nOutBufferSize, GDALDataType eOutDT, int nOutBands, const double *padfOutNoData, double dfSrcXOff, double dfSrcYOff, double dfSrcXSize, double dfSrcYSize, const double adfSrcGT[], const char *pszVRTPath, CSLConstList papszExtra)
Processing function to pass to GDALVRTRegisterProcessedDatasetFunc.
Definition gdal.h:1879
GDALMDArrayGetName
const char * GDALMDArrayGetName(GDALMDArrayH hArray)
Return array name.
Definition gdalmultidim.cpp:12215
GDALExtendedDataTypeCreateString
GDALExtendedDataTypeH GDALExtendedDataTypeCreateString(size_t nMaxStringLength)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition gdalmultidim.cpp:11160
GDALGetMetadataItem
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition gdalmajorobject.cpp:339
GDALMDArrayGetOffsetEx
double GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:12911
GDALSetRasterColorInterpretation
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition gdalrasterband.cpp:3169
GDALDropRasterCache
CPLErr GDALDropRasterCache(GDALRasterBandH hBand)
Drop raster data cache.
Definition gdalrasterband.cpp:1746
GDALBuildOverviews
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, const int *, int, const int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition gdaldataset.cpp:2448
GDALDatasetRasterIO
CPLErr GDALDatasetRasterIO(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, const int *panBandCount, int nPixelSpace, int nLineSpace, int nBandSpace)
Read/write a region of image data from multiple bands.
Definition gdaldataset.cpp:3170
GDALRegenerateOverviewsEx
CPLErr GDALRegenerateOverviewsEx(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData, CSLConstList papszOptions)
Generate downsampled overviews.
Definition overview.cpp:4802
GDALFindDataType
GDALDataType GDALFindDataType(int nBits, int bSigned, int bFloating, int bComplex)
Finds the smallest data type able to support the given requirements.
Definition gdal_misc.cpp:255
GDALLoadWorldFile
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition gdal_misc.cpp:2512
GDALGetRasterColorTable
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition gdalrasterband.cpp:3211
GDALMDArrayRawBlockInfoRelease
void GDALMDArrayRawBlockInfoRelease(GDALMDArrayRawBlockInfo *psBlockInfo)
Free an instance of GDALMDArrayRawBlockInfo.
Definition gdalmultidim.cpp:15373
GDALComputeBandStats
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition overview.cpp:6676
GDALMDArrayRename
bool GDALMDArrayRename(GDALMDArrayH hArray, const char *pszNewName)
Rename the array.
Definition gdalmultidim.cpp:13500
GDALExtendedDataTypeGetClass
GDALExtendedDataTypeClass GDALExtendedDataTypeGetClass(GDALExtendedDataTypeH hEDT)
Return type class.
Definition gdalmultidim.cpp:11260
GDALRATValuesIOAsInteger
CPLErr GDALRATValuesIOAsInteger(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, int *pnData)
Read or Write a block of ints to/from the Attribute Table.
Definition gdal_rat.cpp:287
GDALGroupCreateDimension
GDALDimensionH GDALGroupCreateDimension(GDALGroupH hGroup, const char *pszName, const char *pszType, const char *pszDirection, GUInt64 nSize, CSLConstList papszOptions)
Create a dimension within a group.
Definition gdalmultidim.cpp:12027
GDALDestroy
void GDALDestroy(void)
Finalize GDAL/OGR library.
Definition gdaldllmain.cpp:53
GDALMDArraySetScaleEx
int GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:12785
GDALGetDefaultRAT
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition gdalrasterband.cpp:8978
GDALRelationshipGetName
const char * GDALRelationshipGetName(GDALRelationshipH)
Get the name of the relationship.
Definition gdalrelationship.cpp:90
GDALMDArrayGetAttributes
GDALAttributeH * GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this array.
Definition gdalmultidim.cpp:12468
GDALMDArrayGetGridded
GDALMDArrayH GDALMDArrayGetGridded(GDALMDArrayH hArray, const char *pszGridOptions, GDALMDArrayH hXArray, GDALMDArrayH hYArray, CSLConstList papszOptions)
Return a gridded array from scattered point data, that is from an array whose last dimension is the i...
Definition gdalmultidim.cpp:13359
GDALRelationshipSetBackwardPathLabel
void GDALRelationshipSetBackwardPathLabel(GDALRelationshipH, const char *)
Sets the label of the backward path for the relationship.
Definition gdalrelationship.cpp:577
GDALDatasetGetFieldDomain
OGRFieldDomainH GDALDatasetGetFieldDomain(GDALDatasetH hDS, const char *pszName)
Get a field domain from its name.
Definition gdaldataset.cpp:9896
GDALRelationshipGetRelatedTableType
const char * GDALRelationshipGetRelatedTableType(GDALRelationshipH)
Get the type string of the related table.
Definition gdalrelationship.cpp:603
GDALMinimumOfNBands
GDALComputedRasterBandH GDALMinimumOfNBands(size_t nBandCount, GDALRasterBandH *pahBands)
Return a band whose each pixel value is the minimum of the corresponding pixel values in the input ba...
Definition gdalrasterband.cpp:12686
GDALDereferenceDataset
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition gdaldataset.cpp:1797
GDALMDArrayGetDimensions
GDALDimensionH * GDALMDArrayGetDimensions(GDALMDArrayH hArray, size_t *pnCount)
Return the dimensions of the array.
Definition gdalmultidim.cpp:12281
GDALMDArrayGetScale
double GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:12842
GDALRasterInterpolateAtGeolocation
CPLErr GDALRasterInterpolateAtGeolocation(GDALRasterBandH hBand, double dfGeolocX, double dfGeolocY, OGRSpatialReferenceH hSRS, GDALRIOResampleAlg eInterpolation, double *pdfRealValue, double *pdfImagValue, CSLConstList papszTransformerOptions)
Interpolates the value between pixels using a resampling algorithm, taking georeferenced coordinates ...
Definition gdalrasterband.cpp:11071
GDALGroupGetMDArrayFullNamesRecursive
char ** GDALGroupGetMDArrayFullNamesRecursive(GDALGroupH hGroup, CSLConstList papszGroupOptions, CSLConstList papszArrayOptions)
Return the list of multidimensional array full names contained in this group and its subgroups.
Definition gdalmultidim.cpp:11603
GDALAttributeGetDimensionsSize
GUInt64 * GDALAttributeGetDimensionsSize(GDALAttributeH hAttr, size_t *pnCount)
Return the dimension sizes of the attribute.
Definition gdalmultidim.cpp:13595
GDALRelationshipGetLeftMappingTableFields
char ** GDALRelationshipGetLeftMappingTableFields(GDALRelationshipH)
Get the names of the mapping table fields which correspond to the participating fields from the left ...
Definition gdalrelationship.cpp:325
GDALGetCacheMax64
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition gdalrasterblock.cpp:215
GDALDatasetReleaseResultSet
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition gdaldataset.cpp:5103
GDALDatasetGetVirtualMem
CPLVirtualMem * GDALDatasetGetVirtualMem(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, int nPixelSpace, GIntBig nLineSpace, GIntBig nBandSpace, size_t nCacheSize, size_t nPageSizeHint, int bSingleThreadUsage, CSLConstList papszOptions)
Create a CPLVirtualMem object from a GDAL dataset object.
Definition gdalvirtualmem.cpp:881
GDALRATGetTableType
GDALRATTableType GDALRATGetTableType(GDALRasterAttributeTableH hRAT)
Get Rat Table Type.
Definition gdal_rat.cpp:1096
GDALGroupGetAttributes
GDALAttributeH * GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this group.
Definition gdalmultidim.cpp:11881
GDALIsValueInRangeOf
bool GDALIsValueInRangeOf(double dfValue, GDALDataType eDT)
Check whether the provided value can be represented in the range of the data type,...
Definition gdal_misc.cpp:1028
GDALFillRaster
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition gdalrasterband.cpp:2176
GDALRATSetValueAsDouble
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int iRow, int iField, double)
Set field value from double.
Definition gdal_rat.cpp:2810
GDALDatasetGetStyleTable
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition gdaldataset.cpp:5798
GDALRegisterDriver
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition gdaldrivermanager.cpp:650
GDALSubdatasetInfoModifyPathComponent
char * GDALSubdatasetInfoModifyPathComponent(GDALSubdatasetInfoH hInfo, const char *pszNewPath)
Replaces the path component of a subdataset descriptor.
Definition gdalsubdatasetinfo.cpp:79
GDALInitGCPs
void GDALInitGCPs(int, GDAL_GCP *)
Initialize an array of GCPs.
Definition gdal_misc.cpp:1835
GDALMDArrayGetProcessingChunkSize
size_t * GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray, size_t *pnCount, size_t nMaxChunkMemory)
Return an optimal chunk size for read/write operations, given the natural block size and memory const...
Definition gdalmultidim.cpp:12985
GDALReferenceDataset
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition gdaldataset.cpp:1759
GDALRATGetColumnCount
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition gdal_rat.cpp:1846
GDALGetGCPCount
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition gdaldataset.cpp:1998
GDALRATClone
GDALRasterAttributeTableH GDALRATClone(const GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition gdal_rat.cpp:3380
GDALMDArraySetNoDataValueAsDouble
int GDALMDArraySetNoDataValueAsDouble(GDALMDArrayH hArray, double dfNoDataValue)
Set the nodata value as a double.
Definition gdalmultidim.cpp:12673
GDALDataTypeIsFloating
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating? (might be complex)
Definition gdal_misc.cpp:509
GDALGetProjectionRef
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition gdaldataset.cpp:1356
GDALDataTypeIsConversionLossy
int GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom, GDALDataType eTypeTo)
Is conversion from eTypeFrom to eTypeTo potentially lossy.
Definition gdal_misc.cpp:636
GDALGetPaletteInterpretation
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition gdalcolortable.cpp:340
GDALSetGCPs
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition gdaldataset.cpp:2259
GCI_SAR_Start
#define GCI_SAR_Start
Value indicating the start of the range for color interpretations belonging to the Synthetic Aperture...
Definition gdal.h:248
GDALRATGetRowCount
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition gdal_rat.cpp:2034
GDALMDArrayDeleteAttribute
bool GDALMDArrayDeleteAttribute(GDALMDArrayH hArray, const char *pszName, CSLConstList papszOptions)
Delete an attribute from an array.
Definition gdalmultidim.cpp:12529
GDALMDArrayGetDataType
GDALExtendedDataTypeH GDALMDArrayGetDataType(GDALMDArrayH hArray)
Return the data type.
Definition gdalmultidim.cpp:12322
GDALColorInterp
GDALColorInterp
Types of color interpretation for raster bands.
Definition gdal.h:272
GCI_NIRBand
@ GCI_NIRBand
Definition gdal.h:300
GCI_SAR_S_Band
@ GCI_SAR_S_Band
Definition gdal.h:332
GCI_SAR_L_Band
@ GCI_SAR_L_Band
Definition gdal.h:334
GCI_YCbCr_YBand
@ GCI_YCbCr_YBand
Definition gdal.h:291
GCI_SAR_Reserved_2
@ GCI_SAR_Reserved_2
Definition gdal.h:340
GCI_Undefined
@ GCI_Undefined
Definition gdal.h:273
GCI_SAR_K_Band
@ GCI_SAR_K_Band
Definition gdal.h:324
GCI_SaturationBand
@ GCI_SaturationBand
Definition gdal.h:284
GCI_LightnessBand
@ GCI_LightnessBand
Definition gdal.h:285
GCI_SAR_Ku_Band
@ GCI_SAR_Ku_Band
Definition gdal.h:326
GCI_HueBand
@ GCI_HueBand
Definition gdal.h:283
GCI_LWIRBand
@ GCI_LWIRBand
Definition gdal.h:306
GCI_CyanBand
@ GCI_CyanBand
Definition gdal.h:286
GCI_IR_Reserved_3
@ GCI_IR_Reserved_3
Definition gdal.h:317
GCI_SAR_Ka_Band
@ GCI_SAR_Ka_Band
Definition gdal.h:322
GCI_MagentaBand
@ GCI_MagentaBand
Definition gdal.h:287
GCI_GrayIndex
@ GCI_GrayIndex
Definition gdal.h:274
GCI_IR_Reserved_4
@ GCI_IR_Reserved_4
Definition gdal.h:319
GCI_SAR_X_Band
@ GCI_SAR_X_Band
Definition gdal.h:328
GCI_SAR_P_Band
@ GCI_SAR_P_Band
Definition gdal.h:336
GCI_BlueBand
@ GCI_BlueBand
Definition gdal.h:281
GCI_PaletteIndex
@ GCI_PaletteIndex
Definition gdal.h:275
GCI_SAR_Reserved_1
@ GCI_SAR_Reserved_1
Definition gdal.h:338
GCI_RedBand
@ GCI_RedBand
Definition gdal.h:277
GCI_AlphaBand
@ GCI_AlphaBand
Definition gdal.h:282
GCI_Max
@ GCI_Max
Definition gdal.h:344
GCI_YCbCr_CrBand
@ GCI_YCbCr_CrBand
Definition gdal.h:293
GCI_TIRBand
@ GCI_TIRBand
Definition gdal.h:308
GCI_MWIRBand
@ GCI_MWIRBand
Definition gdal.h:304
GCI_SAR_C_Band
@ GCI_SAR_C_Band
Definition gdal.h:330
GCI_GreenBand
@ GCI_GreenBand
Definition gdal.h:279
GCI_YellowBand
@ GCI_YellowBand
Definition gdal.h:289
GCI_OtherIRBand
@ GCI_OtherIRBand
Definition gdal.h:310
GCI_IR_Reserved_2
@ GCI_IR_Reserved_2
Definition gdal.h:315
GCI_BlackBand
@ GCI_BlackBand
Definition gdal.h:290
GCI_IR_Reserved_1
@ GCI_IR_Reserved_1
Definition gdal.h:313
GCI_RedEdgeBand
@ GCI_RedEdgeBand
Definition gdal.h:298
GCI_SWIRBand
@ GCI_SWIRBand
Definition gdal.h:302
GCI_YCbCr_CbBand
@ GCI_YCbCr_CbBand
Definition gdal.h:292
GCI_CoastalBand
@ GCI_CoastalBand
Definition gdal.h:297
GCI_PanBand
@ GCI_PanBand
Definition gdal.h:296
GDALDatasetCreateLayerFromGeomFieldDefn
OGRLayerH GDALDatasetCreateLayerFromGeomFieldDefn(GDALDatasetH, const char *, OGRGeomFieldDefnH, CSLConstList)
This function attempts to create a new layer on the dataset with the indicated name and geometry fiel...
Definition gdaldataset.cpp:5631
GDALARLockBuffer
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition gdaldefaultasync.cpp:204
GDALAttributeReadAsInt64Array
int64_t * GDALAttributeReadAsInt64Array(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of int64_t.
Definition gdalmultidim.cpp:13818
GDALGetRasterUnitType
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition gdalrasterband.cpp:3789
GDALFlushRasterCache
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition gdalrasterband.cpp:1682
GDALTranspose2D
void GDALTranspose2D(const void *pSrc, GDALDataType eSrcType, void *pDst, GDALDataType eDstType, size_t nSrcWidth, size_t nSrcHeight)
Transpose a 2D array in a efficient (cache-oblivious) way.
Definition rasterio.cpp:6581
GDALRelationshipType
GDALRelationshipType
Type of relationship.
Definition gdal.h:2441
GRT_AGGREGATION
@ GRT_AGGREGATION
Aggregation relationship.
Definition gdal.h:2447
GRT_ASSOCIATION
@ GRT_ASSOCIATION
Association relationship.
Definition gdal.h:2445
GRT_COMPOSITE
@ GRT_COMPOSITE
Composite relationship.
Definition gdal.h:2443
GDALRATSetValueAsWKBGeometry
CPLErr GDALRATSetValueAsWKBGeometry(GDALRasterAttributeTableH, int iRow, int iField, const void *pabyWKB, size_t nWKBSize)
Set field value from a WKB-encoded geometry.
Definition gdal_rat.cpp:3049
GDALGetRasterSampleOverview
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition gdalrasterband.cpp:3465
GDALPackedDMSToDec
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition gdal_misc.cpp:3088
GDALExtendedDataTypeEquals
int GDALExtendedDataTypeEquals(GDALExtendedDataTypeH hFirstEDT, GDALExtendedDataTypeH hSecondEDT)
Return whether this data type is equal to another one.
Definition gdalmultidim.cpp:11342
GDALRATTranslateToColorTable
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition gdal_rat.cpp:1689
GDALDatasetCopyLayer
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, CSLConstList)
Duplicate an existing layer.
Definition gdaldataset.cpp:5677
GDALMDArrayAdviseRead
int GDALMDArrayAdviseRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count)
Advise driver of upcoming read requests.
Definition gdalmultidim.cpp:12404
GDALRATGetNameOfCol
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition gdal_rat.cpp:1884
GDALDataTypeUnionWithValue
GDALDataType GDALDataTypeUnionWithValue(GDALDataType eDT, double dValue, int bComplex)
Union a data type with the one found for a value.
Definition gdal_misc.cpp:177
GDALAsyncStatusType
GDALAsyncStatusType
status of the asynchronous stream
Definition gdal.h:106
GDALReadTabFile
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition gdal_misc.cpp:2407
GDALRelationshipGetType
GDALRelationshipType GDALRelationshipGetType(GDALRelationshipH)
Get the type of the relationship.
Definition gdalrelationship.cpp:426
GDALReleaseAttributes
void GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount)
Free the return of GDALGroupGetAttributes() or GDALMDArrayGetAttributes()
Definition gdalmultidim.cpp:11963
GDALFlushCache
CPLErr GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition gdaldataset.cpp:650
GDALAttributeReadAsInt64
int64_t GDALAttributeReadAsInt64(GDALAttributeH hAttr)
Return the value of an attribute as a int64_t.
Definition gdalmultidim.cpp:13736
GDALSetDefaultRAT
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition gdalrasterband.cpp:9033
GDALCopyWords
void GDALCopyWords(const void *pSrcData, GDALDataType eSrcType, int nSrcPixelOffset, void *pDstData, GDALDataType eDstType, int nDstPixelOffset, int nWordCount)
Copy pixel words from buffer to buffer.
Definition rasterio.cpp:3741
GDALReadWorldFile
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition gdal_misc.cpp:2607
GDALGroupCreateMDArray
GDALMDArrayH GDALGroupCreateMDArray(GDALGroupH hGroup, const char *pszName, size_t nDimensions, GDALDimensionH *pahDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions)
Create a multidimensional array within a group.
Definition gdalmultidim.cpp:12052
GDALReleaseDataset
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition gdaldataset.cpp:1836
GDALMDArrayGetBlockSize
GUInt64 * GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount)
Return the "natural" block size of the array along all dimensions.
Definition gdalmultidim.cpp:12948
GDALGetDataTypeSize
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition gdal_misc.cpp:448
GDALExtendedDataTypeGetRAT
GDALRasterAttributeTableH GDALExtendedDataTypeGetRAT(GDALExtendedDataTypeH hEDT)
Return associated raster attribute table, when there is one.
Definition gdalmultidim.cpp:11384
GDALDataTypeIsSigned
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition gdal_misc.cpp:593
GDALSetRasterColorTable
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition gdalrasterband.cpp:3263
GDALRATGetValueAsBoolean
bool GDALRATGetValueAsBoolean(GDALRasterAttributeTableH, int iRow, int iField)
Fetch field value as a boolean.
Definition gdal_rat.cpp:2337
GDALGetGeoTransform
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition gdaldataset.cpp:1564
GDALSetCacheMax
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition gdalrasterblock.cpp:104
GDALAttributeWriteInt
int GDALAttributeWriteInt(GDALAttributeH hAttr, int)
Write an attribute from a integer value.
Definition gdalmultidim.cpp:13925
GDALFlushCacheBlock
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition gdalrasterblock.cpp:315
GDALAttributeReadAsDouble
double GDALAttributeReadAsDouble(GDALAttributeH hAttr)
Return the value of an attribute as a double.
Definition gdalmultidim.cpp:13756
GDALGetRasterYSize
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition gdaldataset.cpp:1035
GDALRasterBandBinaryOpDouble
GDALComputedRasterBandH GDALRasterBandBinaryOpDouble(GDALRasterBandH hBand, GDALRasterAlgebraBinaryOperation eOp, double constant)
Apply a binary operation on this band with a constant.
Definition gdalrasterband.cpp:11360
GDALEDTComponentRelease
void GDALEDTComponentRelease(GDALEDTComponentH hComp)
Release the GDAL in-memory object associated with a GDALEDTComponentH.
Definition gdalmultidim.cpp:11472
GDALAddDerivedBandPixelFunc
CPLErr GDALAddDerivedBandPixelFunc(const char *pszName, GDALDerivedPixelFunc pfnPixelFunc)
This adds a pixel function to the global list of available pixel functions for derived bands.
Definition vrtderivedrasterband.cpp:274
GDALRATGetColOfUsage
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition gdal_rat.cpp:2006
GDALGetOpenDatasets
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition gdaldataset.cpp:3267
GDALGetBandNumber
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition gdalrasterband.cpp:3958
GDALCreateMultiDimensional
GDALDatasetH GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName, CSLConstList papszRootGroupOptions, CSLConstList papszOptions)
Create a new multidimensional dataset with this driver.
Definition gdaldriver.cpp:424
GDALRelationshipGetRightMappingTableFields
char ** GDALRelationshipGetRightMappingTableFields(GDALRelationshipH)
Get the names of the mapping table fields which correspond to the participating fields from the right...
Definition gdalrelationship.cpp:352
GDALRasterBandBinaryOpBand
GDALComputedRasterBandH GDALRasterBandBinaryOpBand(GDALRasterBandH hBand, GDALRasterAlgebraBinaryOperation eOp, GDALRasterBandH hOtherBand)
Apply a binary operation on this band with another one.
Definition gdalrasterband.cpp:11305
GDALRWFlag
GDALRWFlag
Definition gdal.h:127
GF_Write
@ GF_Write
Definition gdal.h:129
GF_Read
@ GF_Read
Definition gdal.h:128
GDALGCPsToGeoTransform
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK)
Generate Geotransform from GCPs.
Definition gdal_misc.cpp:3145
GDALCopyWords64
void GDALCopyWords64(const void *pSrcData, GDALDataType eSrcType, int nSrcPixelOffset, void *pDstData, GDALDataType eDstType, int nDstPixelOffset, GPtrDiff_t nWordCount)
Copy pixel words from buffer to buffer.
Definition rasterio.cpp:3809
GDALDatasetAsMDArray
GDALMDArrayH GDALDatasetAsMDArray(GDALDatasetH hDS, CSLConstList papszOptions)
Return a view of this dataset as a 3D multidimensional GDALMDArray.
Definition gdalmultidim.cpp:14353
GDALRATValuesIOAsDouble
CPLErr GDALRATValuesIOAsDouble(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, double *pdfData)
Read or Write a block of doubles to/from the Attribute Table.
Definition gdal_rat.cpp:221
GDALMDArrayRelease
void GDALMDArrayRelease(GDALMDArrayH hMDArray)
Release the GDAL in-memory object associated with a GDALMDArray.
Definition gdalmultidim.cpp:12202
GDALDestroySubdatasetInfo
void GDALDestroySubdatasetInfo(GDALSubdatasetInfoH hInfo)
Destroys a GDALSubdatasetInfo object.
Definition gdalsubdatasetinfo.cpp:63
GDALMDArraySetSpatialRef
int GDALMDArraySetSpatialRef(GDALMDArrayH, OGRSpatialReferenceH)
Assign a spatial reference system object to the array.
Definition gdalmultidim.cpp:13209
GDALVRTProcessedDatasetFuncFree
void(* GDALVRTProcessedDatasetFuncFree)(const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData)
Free function to pass to GDALVRTRegisterProcessedDatasetFunc.
Definition gdal.h:1846
GDALGetDriverByName
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition gdaldrivermanager.cpp:758
GDALOpen
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess)
Open a raster file as a GDALDataset.
Definition gdaldataset.cpp:3763
GDALRelationshipGetLeftTableName
const char * GDALRelationshipGetLeftTableName(GDALRelationshipH)
Get the name of the left (or base/origin) table in the relationship.
Definition gdalrelationship.cpp:127
GDALGetRasterColorInterpretation
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition gdalrasterband.cpp:3123
GDALDerivedPixelFunc
CPLErr(* GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData, int nBufXSize, int nBufYSize, GDALDataType eSrcType, GDALDataType eBufType, int nPixelSpace, int nLineSpace)
Type of functions to pass to GDALAddDerivedBandPixelFunc.
Definition gdal.h:1601
GDALDatasetUpdateRelationship
bool GDALDatasetUpdateRelationship(GDALDatasetH hDS, GDALRelationshipH hRelationship, char **ppszFailureReason)
Updates an existing relationship by replacing its definition.
Definition gdaldataset.cpp:10428
GDALMDArrayComputeStatistics
int GDALMDArrayComputeStatistics(GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount, GDALProgressFunc, void *pProgressData)
Compute statistics.
Definition gdalmultidim.cpp:13271
GDALGetRasterHistogram
CPLErr GDALGetRasterHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData)
Compute raster histogram.
Definition gdalrasterband.cpp:4789
GDALCreateDriver
GDALDriverH GDALCreateDriver(void)
Create a GDALDriver.
Definition gdaldriver.cpp:66
GDALGroupGetVectorLayerNames
char ** GDALGroupGetVectorLayerNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of layer names contained in this group.
Definition gdalmultidim.cpp:11743
GDALMDArrayGetScaleEx
double GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:12865
GDALRasterIO
CPLErr GDALRasterIO(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nPixelSpace, int nLineSpace)
Read/write a region of image data for this band.
Definition gdalrasterband.cpp:487
GDALGetRasterNoDataValueAsInt64
int64_t GDALGetRasterNoDataValueAsInt64(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition gdalrasterband.cpp:2426
GDALCreateCopy
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, CSLConstList, GDALProgressFunc, void *)
Create a copy of a dataset.
Definition gdaldriver.cpp:1409
GDALGroupGetName
const char * GDALGroupGetName(GDALGroupH hGroup)
Return the name of the group.
Definition gdalmultidim.cpp:11546
GDALRasterBandUnaryOp
GDALComputedRasterBandH GDALRasterBandUnaryOp(GDALRasterBandH hBand, GDALRasterAlgebraUnaryOperation eOp)
Apply a unary operation on this band.
Definition gdalrasterband.cpp:11214
GDALMDArraySetOffset
int GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:12804
GDALRelationshipSetRightTableFields
void GDALRelationshipSetRightTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the participating fields from the right table in the relationship.
Definition gdalrelationship.cpp:301
GDALRegenerateOverviews
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition overview.cpp:4750
GDALCreateRasterAttributeTable
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void)
Construct empty table.
Definition gdal_rat.cpp:1774
GDALGetCacheMax
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition gdalrasterblock.cpp:181
GDALComposeGeoTransforms
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition gdal_misc.cpp:3448
GDALMDArrayAdviseReadEx
int GDALMDArrayAdviseReadEx(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition gdalmultidim.cpp:12422
GDALSetRasterNoDataValueAsUInt64
CPLErr GDALSetRasterNoDataValueAsUInt64(GDALRasterBandH, uint64_t)
Set the no data value for this band.
Definition gdalrasterband.cpp:2817
GDALDatasetSetStyleTable
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition gdaldataset.cpp:5854
GDALGetInternalHandle
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition gdaldataset.cpp:1684
GDALSetSpatialRef
CPLErr GDALSetSpatialRef(GDALDatasetH, OGRSpatialReferenceH)
Set the spatial reference system for this dataset.
Definition gdaldataset.cpp:1445
GDALDestroyDriver
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition gdaldriver.cpp:85
GDALGroupGetDataType
GDALExtendedDataTypeH GDALGroupGetDataType(GDALGroupH hGroup, size_t nIdx)
Return one of the data types associated with the group.
Definition gdalmultidim.cpp:11945
GCI_IR_Start
#define GCI_IR_Start
Value indicating the start of the range for color interpretations belonging to the InfraRed (IR) doma...
Definition gdal.h:231
GDALEDTComponentGetOffset
size_t GDALEDTComponentGetOffset(GDALEDTComponentH hComp)
Return the offset (in bytes) of the component in the compound data type.
Definition gdalmultidim.cpp:11501
GDALTileOrganization
GDALTileOrganization
! Enumeration to describe the tile organization
Definition gdal.h:2524
GTO_BIT
@ GTO_BIT
Definition gdal.h:2531
GTO_BSQ
@ GTO_BSQ
Definition gdal.h:2534
GTO_TIP
@ GTO_TIP
Definition gdal.h:2527
GDALDatasetGeolocationToPixelLine
CPLErr GDALDatasetGeolocationToPixelLine(GDALDatasetH, double dfGeolocX, double dfGeolocY, OGRSpatialReferenceH hSRS, double *pdfPixel, double *pdfLine, CSLConstList papszTransformerOptions)
Transform georeferenced coordinates to pixel/line coordinates.
Definition gdaldataset.cpp:11111
GDALCreateColorRamp
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition gdalcolortable.cpp:429
GDALExtendedDataTypeCreateCompound
GDALExtendedDataTypeH GDALExtendedDataTypeCreateCompound(const char *pszName, size_t nTotalSize, size_t nComponents, const GDALEDTComponentH *comps)
Return a new GDALExtendedDataType of class GEDTC_COMPOUND.
Definition gdalmultidim.cpp:11206
GDALSubdatasetInfoGetSubdatasetComponent
char * GDALSubdatasetInfoGetSubdatasetComponent(GDALSubdatasetInfoH hInfo)
Returns the subdataset component of a subdataset descriptor descriptor.
Definition gdalsubdatasetinfo.cpp:74
GDALMDArrayGetUnscaled
GDALMDArrayH GDALMDArrayGetUnscaled(GDALMDArrayH hArray)
Return an array that is the unscaled version of the current one.
Definition gdalmultidim.cpp:13081
GDALSetRasterStatistics
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition gdalrasterband.cpp:7944
GDALDropCache
CPLErr GDALDropCache(GDALDatasetH hDS)
Drop all write cached data.
Definition gdaldataset.cpp:703
GDALMDArrayGetNoDataValueAsDouble
double GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a double.
Definition gdalmultidim.cpp:12580
GDALDecToPackedDMS
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition gdal_misc.cpp:3104
GDALGetDataTypeByName
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition gdal_misc.cpp:793
GDALCopyBits
void GDALCopyBits(const GByte *pabySrcData, int nSrcOffset, int nSrcStep, GByte *pabyDstData, int nDstOffset, int nDstStep, int nBitCount, int nStepCount)
Bitwise word copying.
Definition rasterio.cpp:4058
GDALMDArrayGetRawBlockInfo
bool GDALMDArrayGetRawBlockInfo(GDALMDArrayH hArray, const uint64_t *panBlockCoordinates, GDALMDArrayRawBlockInfo *psBlockInfo)
Return information on a raw block.
Definition gdalmultidim.cpp:15340
GDALDatasetSetQueryLoggerFunc
bool GDALDatasetSetQueryLoggerFunc(GDALDatasetH hDS, GDALQueryLoggerFunc pfnQueryLoggerFunc, void *poQueryLoggerArg)
Sets the SQL query logger callback.
Definition gdaldataset.cpp:10467
gdal_fwd.h
Forward definitions of GDAL/OGR/OSR C handle types.
GDALDimensionH
struct GDALDimensionHS * GDALDimensionH
Opaque type for C++ GDALDimension.
Definition gdal_fwd.h:79
GDALAttributeH
struct GDALAttributeHS * GDALAttributeH
Opaque type for C++ GDALAttribute.
Definition gdal_fwd.h:77
OGRGeometryH
void * OGRGeometryH
Opaque type for a geometry.
Definition gdal_fwd.h:96
GDALDatasetH
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition gdal_fwd.h:42
OGRSpatialReferenceH
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition gdal_fwd.h:195
GDALEDTComponentH
struct GDALEDTComponentHS * GDALEDTComponentH
Opaque type for C++ GDALEDTComponent.
Definition gdal_fwd.h:71
OGRLayerH
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition gdal_fwd.h:157
GDALMDArrayH
struct GDALMDArrayHS * GDALMDArrayH
Opaque type for C++ GDALMDArray.
Definition gdal_fwd.h:75
GDALRelationshipH
void * GDALRelationshipH
Opaque type used for the C bindings of the C++ GDALRelationship class.
Definition gdal_fwd.h:66
GDALRasterAttributeTableH
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition gdal_fwd.h:58
GDALAsyncReaderH
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition gdal_fwd.h:61
OGRFeatureH
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition gdal_fwd.h:141
OGRFieldDomainH
struct OGRFieldDomainHS * OGRFieldDomainH
Opaque type for a field domain definition (OGRFieldDomain)
Definition gdal_fwd.h:131
OGRGeomFieldDefnH
struct OGRGeomFieldDefnHS * OGRGeomFieldDefnH
Opaque type for a geometry field definition (OGRGeomFieldDefn)
Definition gdal_fwd.h:128
GDALExtendedDataTypeH
struct GDALExtendedDataTypeHS * GDALExtendedDataTypeH
Opaque type for C++ GDALExtendedDataType.
Definition gdal_fwd.h:69
GDALComputedRasterBandH
void * GDALComputedRasterBandH
Opaque type used for the C bindings of the C++ GDALComputedRasterBand class.
Definition gdal_fwd.h:48
GDALMajorObjectH
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition gdal_fwd.h:39
GDALGroupH
struct GDALGroupHS * GDALGroupH
Opaque type for C++ GDALGroup.
Definition gdal_fwd.h:73
OGRStyleTableH
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition gdal_fwd.h:181
GDALDriverH
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition gdal_fwd.h:51
GDALRasterBandH
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition gdal_fwd.h:45
GDALColorTableH
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition gdal_fwd.h:54
ogr_api.h
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes.
OGRwkbGeometryType
OGRwkbGeometryType
List of well known binary geometry types.
Definition ogr_core.h:405
OGRErr
int OGRErr
Type for a OGR error.
Definition ogr_core.h:370
CPLXMLNode
Document node structure.
Definition cpl_minixml.h:54
GDALColorEntry
Color tuple.
Definition gdal.h:2187
GDALColorEntry::c4
short c4
Definition gdal.h:2198
GDALColorEntry::c2
short c2
Definition gdal.h:2192
GDALColorEntry::c3
short c3
Definition gdal.h:2195
GDALColorEntry::c1
short c1
Definition gdal.h:2189
GDALMDArrayRawBlockInfo
Information on a raw block of a GDALMDArray.
Definition gdal.h:2830
GDALMDArrayRawBlockInfo::pszFilename
char * pszFilename
Filename into which the raw block is found.
Definition gdal.h:2832
GDALMDArrayRawBlockInfo::papszInfo
char ** papszInfo
NULL or Null-terminated list of driver specific information on the raw block.
Definition gdal.h:2839
GDALMDArrayRawBlockInfo::nOffset
uint64_t nOffset
File offset within pszFilename of the start of the raw block.
Definition gdal.h:2834
GDALMDArrayRawBlockInfo::nSize
uint64_t nSize
Size in bytes of the raw block.
Definition gdal.h:2836
GDALMDArrayRawBlockInfo::pabyInlineData
GByte * pabyInlineData
In-memory buffer of nSize bytes.
Definition gdal.h:2847
GDALRATDateTime
Structure encoding a DateTime field for a GDAL Raster Attribute Table.
Definition gdal.h:2311
GDALRATDateTime::nMonth
int nMonth
Definition gdal.h:2313
GDALRATDateTime::fSecond
float fSecond
Definition gdal.h:2317
GDALRATDateTime::nTimeZoneHour
int nTimeZoneHour
Definition gdal.h:2318
GDALRATDateTime::bPositiveTimeZone
bool bPositiveTimeZone
Definition gdal.h:2320
GDALRATDateTime::nDay
int nDay
Definition gdal.h:2314
GDALRATDateTime::bIsValid
bool bIsValid
Definition gdal.h:2321
GDALRATDateTime::nMinute
int nMinute
Definition gdal.h:2316
GDALRATDateTime::nHour
int nHour
Definition gdal.h:2315
GDALRATDateTime::nTimeZoneMinute
int nTimeZoneMinute
Definition gdal.h:2319
GDALRATDateTime::nYear
int nYear
Definition gdal.h:2312
GDALRPCInfoV2
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition gdal.h:2147
GDALRPCInfoV2::dfLAT_OFF
double dfLAT_OFF
Definition gdal.h:2150
GDALRPCInfoV2::dfLONG_SCALE
double dfLONG_SCALE
Definition gdal.h:2157
GDALRPCInfoV2::dfHEIGHT_OFF
double dfHEIGHT_OFF
Definition gdal.h:2152
GDALRPCInfoV2::dfMAX_LAT
double dfMAX_LAT
Definition gdal.h:2168
GDALRPCInfoV2::dfMIN_LAT
double dfMIN_LAT
Definition gdal.h:2166
GDALRPCInfoV2::dfLINE_OFF
double dfLINE_OFF
Definition gdal.h:2148
GDALRPCInfoV2::dfLONG_OFF
double dfLONG_OFF
Definition gdal.h:2151
GDALRPCInfoV2::dfSAMP_SCALE
double dfSAMP_SCALE
Definition gdal.h:2155
GDALRPCInfoV2::dfMAX_LONG
double dfMAX_LONG
Definition gdal.h:2167
GDALRPCInfoV2::dfERR_BIAS
double dfERR_BIAS
Definition gdal.h:2172
GDALRPCInfoV2::dfERR_RAND
double dfERR_RAND
Definition gdal.h:2173
GDALRPCInfoV2::dfLINE_SCALE
double dfLINE_SCALE
Definition gdal.h:2154
GDALRPCInfoV2::dfHEIGHT_SCALE
double dfHEIGHT_SCALE
Definition gdal.h:2158
GDALRPCInfoV2::dfMIN_LONG
double dfMIN_LONG
Definition gdal.h:2165
GDALRPCInfoV2::dfLAT_SCALE
double dfLAT_SCALE
Definition gdal.h:2156
GDALRPCInfoV2::dfSAMP_OFF
double dfSAMP_OFF
Definition gdal.h:2149
GDALRasterIOExtraArg
Structure to pass extra arguments to RasterIO() method, must be initialized with INIT_RASTERIO_EXTRA_...
Definition gdal.h:170
GDALRasterIOExtraArg::pProgressData
void * pProgressData
Definition gdal.h:180
GDALRasterIOExtraArg::eResampleAlg
GDALRIOResampleAlg eResampleAlg
Definition gdal.h:175
GDALRasterIOExtraArg::dfXOff
double dfXOff
Definition gdal.h:190
GDALRasterIOExtraArg::nVersion
int nVersion
Definition gdal.h:172
GDALRasterIOExtraArg::dfYSize
double dfYSize
Definition gdal.h:199
GDALRasterIOExtraArg::dfYOff
double dfYOff
Definition gdal.h:193
GDALRasterIOExtraArg::dfXSize
double dfXSize
Definition gdal.h:196
GDALRasterIOExtraArg::pfnProgress
GDALProgressFunc pfnProgress
Definition gdal.h:178
GDALRasterIOExtraArg::bFloatingPointWindowValidity
int bFloatingPointWindowValidity
Definition gdal.h:187
GDALRasterIOExtraArg::bUseOnlyThisScale
int bUseOnlyThisScale
Definition gdal.h:205
GDALSubdatasetInfo
The GDALSubdatasetInfo abstract class provides methods to extract and manipulate subdataset informati...
Definition gdalsubdatasetinfo.h:27
GDAL_GCP
Ground Control Point.
Definition gdal.h:1223
GDAL_GCP::dfGCPLine
double dfGCPLine
Line (y) location of GCP on raster.
Definition gdal.h:1233
GDAL_GCP::dfGCPX
double dfGCPX
X position of GCP in georeferenced space.
Definition gdal.h:1236
GDAL_GCP::pszId
char * pszId
Unique identifier, often numeric.
Definition gdal.h:1225
GDAL_GCP::pszInfo
char * pszInfo
Informational message or "".
Definition gdal.h:1228
GDAL_GCP::dfGCPPixel
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition gdal.h:1231
GDAL_GCP::dfGCPY
double dfGCPY
Y position of GCP in georeferenced space.
Definition gdal.h:1239
GDAL_GCP::dfGCPZ
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition gdal.h:1242