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
45
47typedef 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 */
68
70#define GDT_Byte GDT_UInt8
71
72int CPL_DLL CPL_STDCALL GDALGetDataTypeSize(GDALDataType)
74 CPL_WARN_DEPRECATED("Use GDALGetDataTypeSizeBits() or "
75 "GDALGetDataTypeSizeBytes() * 8 instead")
77 ;
78int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits(GDALDataType eDataType);
79int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes(GDALDataType);
80int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex(GDALDataType);
81int CPL_DLL CPL_STDCALL GDALDataTypeIsInteger(GDALDataType);
82int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating(GDALDataType);
83int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned(GDALDataType);
84const char CPL_DLL *CPL_STDCALL GDALGetDataTypeName(GDALDataType);
85GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName(const char *);
88 double dValue,
89 int bComplex);
90GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType(int nBits, int bSigned,
91 int bFloating, int bComplex);
92GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue(double dValue,
93 int bComplex);
94double CPL_DLL GDALAdjustValueToDataType(GDALDataType eDT, double dfValue,
95 int *pbClamped, int *pbRounded);
96bool CPL_DLL GDALIsValueExactAs(double dfValue, GDALDataType eDT);
97bool CPL_DLL GDALIsValueInRangeOf(double dfValue, GDALDataType eDT);
99int CPL_DLL CPL_STDCALL GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom,
100 GDALDataType eTypeTo);
101
105typedef enum
106{
107 GARIO_PENDING = 0,
108 GARIO_UPDATE = 1,
109 GARIO_ERROR = 2,
110 GARIO_COMPLETE = 3,
111 GARIO_TypeCount = 4
113
114const char CPL_DLL *CPL_STDCALL GDALGetAsyncStatusTypeName(GDALAsyncStatusType);
115GDALAsyncStatusType CPL_DLL CPL_STDCALL
116GDALGetAsyncStatusTypeByName(const char *);
117
119typedef enum
120{
GA_ReadOnly = 0, GA_Update = 1
124
126typedef enum
127{
GF_Read = 0, GF_Write = 1
131
132/* NOTE: values are selected to be consistent with GDALResampleAlg of
133 * alg/gdalwarper.h */
136typedef enum
137{
GRIORA_NearestNeighbour = 0, GRIORA_Bilinear = 1, GRIORA_Cubic = 2, GRIORA_CubicSpline = 3, GRIORA_Lanczos = 4, GRIORA_Average = 5, 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,
159 GRIORA_LAST = GRIORA_RMS
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 */
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
347
349GDALColorInterp CPL_DLL GDALGetColorInterpretationByName(const char *pszName);
350
352typedef enum
353{
GPI_Gray = 0, GPI_RGB = 1, GPI_CMYK = 2, GPI_HLS = 3
359
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
389
402
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
1043void CPL_DLL CPL_STDCALL GDALAllRegister(void);
1044void CPL_DLL GDALRegisterPlugins(void);
1045CPLErr CPL_DLL GDALRegisterPlugin(const char *name);
1046
1047GDALDatasetH CPL_DLL CPL_STDCALL
1048GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType,
1050GDALDatasetH CPL_DLL CPL_STDCALL GDALCreateCopy(GDALDriverH, const char *,
1052 GDALProgressFunc,
1053 void *) CPL_WARN_UNUSED_RESULT;
1054
1055GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver(const char *pszFilename,
1056 CSLConstList papszFileList);
1057
1058GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
1059 const char *pszFilename, unsigned int nIdentifyFlags,
1060 const char *const *papszAllowedDrivers, const char *const *papszFileList);
1061
1062GDALDatasetH CPL_DLL CPL_STDCALL
1063GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT;
1064GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared(const char *, GDALAccess)
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
1178GDALDatasetH 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
1183int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets(FILE *);
1184
1185GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName(const char *);
1186int CPL_DLL CPL_STDCALL GDALGetDriverCount(void);
1187GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver(int);
1188GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver(void);
1189void CPL_DLL CPL_STDCALL GDALDestroyDriver(GDALDriverH);
1190int CPL_DLL CPL_STDCALL GDALRegisterDriver(GDALDriverH);
1191void CPL_DLL CPL_STDCALL GDALDeregisterDriver(GDALDriverH);
1192void CPL_DLL CPL_STDCALL GDALDestroyDriverManager(void);
1193void CPL_DLL GDALDestroy(void);
1194CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset(GDALDriverH, const char *);
1195CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset(GDALDriverH,
1196 const char *pszNewName,
1197 const char *pszOldName);
1198CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles(GDALDriverH,
1199 const char *pszNewName,
1200 const char *pszOldName);
1201int CPL_DLL CPL_STDCALL
1203char CPL_DLL **GDALGetOutputDriversForDatasetName(const char *pszDestFilename,
1204 int nFlagRasterVector,
1205 bool bSingleMatch,
1206 bool bEmitWarning);
1207
1209 const char *pszOpenOptionName);
1210
1211/* The following are deprecated */
1212const char CPL_DLL *CPL_STDCALL GDALGetDriverShortName(GDALDriverH);
1213const char CPL_DLL *CPL_STDCALL GDALGetDriverLongName(GDALDriverH);
1214const char CPL_DLL *CPL_STDCALL GDALGetDriverHelpTopic(GDALDriverH);
1215const char CPL_DLL *CPL_STDCALL GDALGetDriverCreationOptionList(GDALDriverH);
1216
1217/* ==================================================================== */
1218/* GDAL_GCP */
1219/* ==================================================================== */
1220
1222typedef struct
1223{
1225 char *pszId;
1226
1228 char *pszInfo;
1229
1234
1236 double dfGCPX;
1237
1239 double dfGCPY;
1240
1242 double dfGCPZ;
1243} GDAL_GCP;
1244
1245void CPL_DLL CPL_STDCALL GDALInitGCPs(int, GDAL_GCP *);
1246void CPL_DLL CPL_STDCALL GDALDeinitGCPs(int, GDAL_GCP *);
1247GDAL_GCP CPL_DLL *CPL_STDCALL GDALDuplicateGCPs(int, const GDAL_GCP *);
1248
1249int CPL_DLL CPL_STDCALL GDALGCPsToGeoTransform(
1250 int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform,
1251 int bApproxOK) CPL_WARN_UNUSED_RESULT;
1252int CPL_DLL CPL_STDCALL GDALInvGeoTransform(const double *padfGeoTransformIn,
1253 double *padfInvGeoTransformOut)
1255void CPL_DLL CPL_STDCALL GDALApplyGeoTransform(const double *, double, double,
1256 double *, double *);
1257void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
1258 const double *padfGeoTransform2,
1259 double *padfGeoTransformOut);
1260int CPL_DLL GDALGCPsToHomography(int nGCPCount, const GDAL_GCP *pasGCPs,
1261 double *padfHomography) CPL_WARN_UNUSED_RESULT;
1262int CPL_DLL GDALInvHomography(const double *padfHomographyIn,
1263 double *padfInvHomographyOut)
1265int CPL_DLL GDALApplyHomography(const double *, double, double, double *,
1266 double *) CPL_WARN_UNUSED_RESULT;
1267void CPL_DLL GDALComposeHomographies(const double *padfHomography1,
1268 const double *padfHomography2,
1269 double *padfHomographyOut);
1270
1271/* ==================================================================== */
1272/* major objects (dataset, and, driver, drivermanager). */
1273/* ==================================================================== */
1274
1275char CPL_DLL **CPL_STDCALL GDALGetMetadataDomainList(GDALMajorObjectH hObject);
1276char CPL_DLL **CPL_STDCALL GDALGetMetadata(GDALMajorObjectH, const char *);
1278 const char *);
1279const char CPL_DLL *CPL_STDCALL GDALGetMetadataItem(GDALMajorObjectH,
1280 const char *, const char *);
1281CPLErr CPL_DLL CPL_STDCALL GDALSetMetadataItem(GDALMajorObjectH, const char *,
1282 const char *, const char *);
1283const char CPL_DLL *CPL_STDCALL GDALGetDescription(GDALMajorObjectH);
1284void 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
1293GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver(GDALDatasetH);
1294char CPL_DLL **CPL_STDCALL GDALGetFileList(GDALDatasetH);
1296CPLErr CPL_DLL CPL_STDCALL GDALClose(GDALDatasetH);
1298int CPL_DLL CPL_STDCALL GDALGetRasterXSize(GDALDatasetH);
1299int CPL_DLL CPL_STDCALL GDALGetRasterYSize(GDALDatasetH);
1300int CPL_DLL CPL_STDCALL GDALGetRasterCount(GDALDatasetH);
1301GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand(GDALDatasetH, int);
1302
1303bool CPL_DLL GDALDatasetIsThreadSafe(GDALDatasetH, int nScopeFlags,
1304 CSLConstList papszOptions);
1305GDALDatasetH CPL_DLL GDALGetThreadSafeDataset(GDALDatasetH, int nScopeFlags,
1306 CSLConstList papszOptions);
1307
1308CPLErr CPL_DLL CPL_STDCALL GDALAddBand(GDALDatasetH hDS, GDALDataType eType,
1309 CSLConstList papszOptions);
1310
1311GDALAsyncReaderH 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,
1316
1317void CPL_DLL CPL_STDCALL GDALEndAsyncReader(GDALDatasetH hDS,
1318 GDALAsyncReaderH hAsynchReaderH);
1319
1320CPLErr 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
1326CPLErr 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,
1332
1333CPLErr 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
1338char CPL_DLL **
1339GDALDatasetGetCompressionFormats(GDALDatasetH hDS, int nXOff, int nYOff,
1340 int nXSize, int nYSize, int nBandCount,
1341 const int *panBandList) CPL_WARN_UNUSED_RESULT;
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
1347const char CPL_DLL *CPL_STDCALL GDALGetProjectionRef(GDALDatasetH);
1349CPLErr CPL_DLL CPL_STDCALL GDALSetProjection(GDALDatasetH, const char *);
1351CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform(GDALDatasetH, double *);
1352CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform(GDALDatasetH, const double *);
1353
1357
1359 GDALDatasetH, double dfGeolocX, double dfGeolocY, OGRSpatialReferenceH hSRS,
1360 double *pdfPixel, double *pdfLine, CSLConstList papszTransformerOptions);
1361
1362int CPL_DLL CPL_STDCALL GDALGetGCPCount(GDALDatasetH);
1363const char CPL_DLL *CPL_STDCALL GDALGetGCPProjection(GDALDatasetH);
1365const GDAL_GCP CPL_DLL *CPL_STDCALL GDALGetGCPs(GDALDatasetH);
1366CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *,
1367 const char *);
1368CPLErr CPL_DLL GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *,
1370
1371void CPL_DLL *CPL_STDCALL GDALGetInternalHandle(GDALDatasetH, const char *);
1372int CPL_DLL CPL_STDCALL GDALReferenceDataset(GDALDatasetH);
1373int CPL_DLL CPL_STDCALL GDALDereferenceDataset(GDALDatasetH);
1374int CPL_DLL CPL_STDCALL GDALReleaseDataset(GDALDatasetH);
1375
1376CPLErr CPL_DLL CPL_STDCALL GDALBuildOverviews(GDALDatasetH, const char *, int,
1377 const int *, int, const int *,
1378 GDALProgressFunc,
1379 void *) CPL_WARN_UNUSED_RESULT;
1380CPLErr CPL_DLL CPL_STDCALL GDALBuildOverviewsEx(
1381 GDALDatasetH, const char *, int, const int *, int, const int *,
1382 GDALProgressFunc, void *, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1383void CPL_DLL CPL_STDCALL GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount);
1384int CPL_DLL CPL_STDCALL GDALGetAccess(GDALDatasetH hDS);
1385CPLErr CPL_DLL CPL_STDCALL GDALFlushCache(GDALDatasetH hDS);
1386CPLErr CPL_DLL CPL_STDCALL GDALDropCache(GDALDatasetH hDS);
1387
1388CPLErr CPL_DLL CPL_STDCALL GDALCreateDatasetMaskBand(GDALDatasetH hDS,
1389 int nFlags);
1390
1391CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
1392 GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
1393 GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT;
1394
1395CPLErr 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
1401 int nOverviewCount,
1402 GDALRasterBandH *pahOverviewBands,
1403 const char *pszResampling,
1404 GDALProgressFunc pfnProgress,
1405 void *pProgressData);
1406
1408 int nOverviewCount,
1409 GDALRasterBandH *pahOverviewBands,
1410 const char *pszResampling,
1411 GDALProgressFunc pfnProgress,
1412 void *pProgressData,
1413 CSLConstList papszOptions);
1414
1417
1418/* Defined here to avoid circular dependency with ogr_api.h */
1420
1421OGRLayerH CPL_DLL GDALDatasetGetLayerByName(GDALDatasetH, const char *);
1422int CPL_DLL GDALDatasetIsLayerPrivate(GDALDatasetH, int);
1424OGRLayerH CPL_DLL GDALDatasetCreateLayer(GDALDatasetH, const char *,
1428 const char *,
1430 CSLConstList);
1432 CSLConstList);
1435 OGRLayerH *phBelongingLayer,
1436 double *pdfProgressPct,
1437 GDALProgressFunc pfnProgress,
1438 void *pProgressData);
1439int CPL_DLL GDALDatasetTestCapability(GDALDatasetH, const char *);
1440OGRLayerH CPL_DLL GDALDatasetExecuteSQL(GDALDatasetH, const char *,
1441 OGRGeometryH, const char *);
1447OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
1451
1454
1458 const char *pszName);
1460 OGRFieldDomainH hFieldDomain,
1461 char **ppszFailureReason);
1462bool CPL_DLL GDALDatasetDeleteFieldDomain(GDALDatasetH hDS, const char *pszName,
1463 char **ppszFailureReason);
1465 OGRFieldDomainH hFieldDomain,
1466 char **ppszFailureReason);
1467
1471 const char *pszName);
1472
1474 GDALRelationshipH hRelationship,
1475 char **ppszFailureReason);
1477 const char *pszName,
1478 char **ppszFailureReason);
1480 GDALRelationshipH hRelationship,
1481 char **ppszFailureReason);
1482
1485typedef void (*GDALQueryLoggerFunc)(const char *pszSQL, const char *pszError,
1486 int64_t lNumRecords,
1487 int64_t lExecutionTimeMilliseconds,
1488 void *pQueryLoggerArg);
1489
1507 GDALDatasetH hDS, GDALQueryLoggerFunc pfnQueryLoggerFunc,
1508 void *poQueryLoggerArg);
1509
1510/* ==================================================================== */
1511/* Informational utilities about subdatasets in file names */
1512/* ==================================================================== */
1513
1525GDALSubdatasetInfoH CPL_DLL GDALGetSubdatasetInfo(const char *pszFileName);
1526
1538
1547char CPL_DLL *
1549
1560 const char *pszNewPath);
1561
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
1601typedef 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
1610 void **papoSources, int nSources, void *pData, int nBufXSize, int nBufYSize,
1611 GDALDataType eSrcType, GDALDataType eBufType, int nPixelSpace,
1612 int nLineSpace, CSLConstList papszFunctionArgs);
1613
1615void CPL_DLL CPL_STDCALL GDALGetBlockSize(GDALRasterBandH, int *pnXSize,
1616 int *pnYSize);
1617
1619 int nXBlockOff,
1620 int nYBlockOff, int *pnXValid,
1621 int *pnYValid);
1622
1623CPLErr 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
1630CPLErr 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;
1637CPLErr 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,
1642CPLErr CPL_DLL CPL_STDCALL GDALReadBlock(GDALRasterBandH, int, int,
1643 void *) CPL_WARN_UNUSED_RESULT;
1644CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock(GDALRasterBandH, int, int,
1645 void *) CPL_WARN_UNUSED_RESULT;
1646int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize(GDALRasterBandH);
1647int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize(GDALRasterBandH);
1649int CPL_DLL CPL_STDCALL GDALGetBandNumber(GDALRasterBandH);
1651
1659int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews(GDALRasterBandH);
1660int CPL_DLL CPL_STDCALL GDALGetOverviewCount(GDALRasterBandH);
1661GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview(GDALRasterBandH, int);
1662double 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 *);
1667CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue(GDALRasterBandH, double);
1669 int64_t);
1671 uint64_t);
1673char CPL_DLL **CPL_STDCALL GDALGetRasterCategoryNames(GDALRasterBandH);
1675 CSLConstList);
1676double CPL_DLL CPL_STDCALL GDALGetRasterMinimum(GDALRasterBandH,
1677 int *pbSuccess);
1678double CPL_DLL CPL_STDCALL GDALGetRasterMaximum(GDALRasterBandH,
1679 int *pbSuccess);
1680CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
1681 GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax,
1682 double *pdfMean, double *pdfStdDev);
1683CPLErr CPL_DLL CPL_STDCALL
1684GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin,
1685 double *pdfMax, double *pdfMean, double *pdfStdDev,
1686 GDALProgressFunc pfnProgress, void *pProgressData);
1687CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(GDALRasterBandH hBand,
1688 double dfMin, double dfMax,
1689 double dfMean,
1690 double dfStdDev);
1691
1694
1695const char CPL_DLL *CPL_STDCALL GDALGetRasterUnitType(GDALRasterBandH);
1696CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType(GDALRasterBandH hBand,
1697 const char *pszNewValue);
1698double CPL_DLL CPL_STDCALL GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess);
1699CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset(GDALRasterBandH hBand,
1700 double dfNewOffset);
1701double CPL_DLL CPL_STDCALL GDALGetRasterScale(GDALRasterBandH, int *pbSuccess);
1702CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale(GDALRasterBandH hBand,
1703 double dfNewOffset);
1704CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterMinMax(GDALRasterBandH hBand,
1705 int bApproxOK,
1706 double adfMinMax[2]);
1708 double *pdfMin, double *pdfMax,
1709 int *pnMinX, int *pnMinY,
1710 int *pnMaxX, int *pnMaxY);
1711CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache(GDALRasterBandH hBand);
1712CPLErr CPL_DLL CPL_STDCALL GDALDropRasterCache(GDALRasterBandH hBand);
1713CPLErr 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 ;
1721CPLErr 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);
1725CPLErr CPL_DLL CPL_STDCALL
1726GDALGetDefaultHistogram(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 ;
1733CPLErr CPL_DLL CPL_STDCALL
1734GDALGetDefaultHistogramEx(GDALRasterBandH hBand, double *pdfMin, double *pdfMax,
1735 int *pnBuckets, GUIntBig **ppanHistogram, int bForce,
1736 GDALProgressFunc pfnProgress, void *pProgressData);
1737CPLErr 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 ;
1745CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx(GDALRasterBandH hBand,
1746 double dfMin, double dfMax,
1747 int nBuckets,
1748 GUIntBig *panHistogram);
1749int CPL_DLL CPL_STDCALL GDALGetRandomRasterSample(GDALRasterBandH, int,
1750 float *);
1752 int);
1753GDALRasterBandH CPL_DLL CPL_STDCALL
1755CPLErr CPL_DLL CPL_STDCALL GDALFillRaster(GDALRasterBandH hBand,
1756 double dfRealValue,
1757 double dfImaginaryValue);
1758CPLErr CPL_DLL CPL_STDCALL GDALComputeBandStats(
1759 GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev,
1760 GDALProgressFunc pfnProgress, void *pProgressData);
1762 int nOverviewCount,
1763 GDALRasterBandH *pahOverviews,
1764 GDALProgressFunc pfnProgress,
1765 void *pProgressData);
1766
1767GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1769CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT(GDALRasterBandH,
1771CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc(
1772 const char *pszName, GDALDerivedPixelFunc pfnPixelFunc);
1774 const char *pszName, GDALDerivedPixelFuncWithArgs pfnPixelFunc,
1775 const char *pszMetadata);
1776
1778 double dfPixel, double dfLine,
1779 GDALRIOResampleAlg eInterpolation,
1780 double *pdfRealValue,
1781 double *pdfImagValue);
1782
1784 GDALRasterBandH hBand, double dfGeolocX, double dfGeolocY,
1785 OGRSpatialReferenceH hSRS, GDALRIOResampleAlg eInterpolation,
1786 double *pdfRealValue, double *pdfImagValue,
1787 CSLConstList papszTransformerOptions);
1788
1792
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
1847 const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData);
1848
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
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,
1896 GDALVRTProcessedDatasetFuncProcess pfnProcess, CSLConstList papszOptions);
1897
1898GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand(GDALRasterBandH hBand);
1899int CPL_DLL CPL_STDCALL GDALGetMaskFlags(GDALRasterBandH hBand);
1900CPLErr CPL_DLL CPL_STDCALL GDALCreateMaskBand(GDALRasterBandH hBand,
1901 int nFlags);
1902bool 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
1934int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus(GDALRasterBandH hBand,
1935 int nXOff, int nYOff,
1936 int nXSize, int nYSize,
1937 int nMaskFlagStop,
1938 double *pdfDataPct);
1939
1941
1956
1958 GDALRasterBandH hBand,
1960
1991
1997 double constant) CPL_WARN_UNUSED_RESULT;
1999 double constant, GDALRasterAlgebraBinaryOperation eOp,
2001
2005
2008
2010 size_t nBandCount, GDALRasterBandH *pahBands) CPL_WARN_UNUSED_RESULT;
2012 GDALRasterBandH hBand, double dfConstant) CPL_WARN_UNUSED_RESULT;
2014 size_t nBandCount, GDALRasterBandH *pahBands) CPL_WARN_UNUSED_RESULT;
2016 GDALRasterBandH hBand, double dfConstant) CPL_WARN_UNUSED_RESULT;
2018 size_t nBandCount, GDALRasterBandH *pahBands) CPL_WARN_UNUSED_RESULT;
2019
2020/* ==================================================================== */
2021/* GDALAsyncReader */
2022/* ==================================================================== */
2023
2025 GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff,
2026 int *pnXBufSize, int *pnYBufSize);
2027int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
2028 double dfTimeout);
2029void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
2030
2031/* -------------------------------------------------------------------- */
2032/* Helper functions. */
2033/* -------------------------------------------------------------------- */
2034int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor(int nArgc,
2035 char ***ppapszArgv,
2036 int nOptions);
2037void CPL_DLL CPL_STDCALL GDALSwapWords(void *pData, int nWordSize,
2038 int nWordCount, int nWordSkip);
2039void CPL_DLL CPL_STDCALL GDALSwapWordsEx(void *pData, int nWordSize,
2040 size_t nWordCount, int nWordSkip);
2041
2042void 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
2049void 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
2054void CPL_DLL GDALCopyBits(const GByte *pabySrcData, int nSrcOffset,
2055 int nSrcStep, GByte *pabyDstData, int nDstOffset,
2056 int nDstStep, int nBitCount, int nStepCount);
2057
2058void CPL_DLL GDALDeinterleave(const void *pSourceBuffer, GDALDataType eSourceDT,
2059 int nComponents, void **ppDestBuffer,
2060 GDALDataType eDestDT, size_t nIters);
2061
2062void CPL_DLL GDALTranspose2D(const void *pSrc, GDALDataType eSrcType,
2063 void *pDst, GDALDataType eDstType,
2064 size_t nSrcWidth, size_t nSrcHeight);
2065
2066double CPL_DLL GDALGetNoDataReplacementValue(GDALDataType, double);
2067
2068int CPL_DLL CPL_STDCALL GDALLoadWorldFile(const char *, double *);
2069int CPL_DLL CPL_STDCALL GDALReadWorldFile(const char *, const char *, double *);
2070int CPL_DLL CPL_STDCALL GDALWriteWorldFile(const char *, const char *,
2071 double *);
2072int CPL_DLL CPL_STDCALL GDALLoadTabFile(const char *, double *, char **, int *,
2073 GDAL_GCP **);
2074int CPL_DLL CPL_STDCALL GDALReadTabFile(const char *, double *, char **, int *,
2075 GDAL_GCP **);
2076int CPL_DLL CPL_STDCALL GDALLoadOziMapFile(const char *, double *, char **,
2077 int *, GDAL_GCP **);
2078int CPL_DLL CPL_STDCALL GDALReadOziMapFile(const char *, double *, char **,
2079 int *, GDAL_GCP **);
2080
2081const char CPL_DLL *CPL_STDCALL GDALDecToDMS(double, const char *, int);
2082double CPL_DLL CPL_STDCALL GDALPackedDMSToDec(double);
2083double 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
2091const char CPL_DLL *CPL_STDCALL GDALVersionInfo(const char *);
2092#endif
2093
2094#ifndef GDAL_CHECK_VERSION
2095
2096int 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 */
2117typedef 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
2146typedef struct
2147{
2148 double dfLINE_OFF;
2149 double dfSAMP_OFF;
2150 double dfLAT_OFF;
2151 double dfLONG_OFF;
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;
2175
2177int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV1(CSLConstList, GDALRPCInfoV1 *);
2179int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *);
2180
2181/* ==================================================================== */
2182/* Color tables. */
2183/* ==================================================================== */
2184
2186typedef struct
2187{
2189 short c1;
2190
2192 short c2;
2193
2195 short c3;
2196
2198 short c4;
2200
2203void CPL_DLL CPL_STDCALL GDALDestroyColorTable(GDALColorTableH);
2206 CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation(GDALColorTableH);
2207int CPL_DLL CPL_STDCALL GDALGetColorEntryCount(GDALColorTableH);
2208const GDALColorEntry CPL_DLL *CPL_STDCALL GDALGetColorEntry(GDALColorTableH,
2209 int);
2210int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB(GDALColorTableH, int,
2211 GDALColorEntry *);
2212void CPL_DLL CPL_STDCALL GDALSetColorEntry(GDALColorTableH, int,
2213 const GDALColorEntry *);
2214void 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
2234
2236#define GFT_MaxCount (GFT_WKBGeometry + 1)
2237
2261
2269
2270GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
2272
2273void CPL_DLL CPL_STDCALL
2275
2276int CPL_DLL CPL_STDCALL GDALRATGetColumnCount(GDALRasterAttributeTableH);
2277
2278const char CPL_DLL *CPL_STDCALL GDALRATGetNameOfCol(GDALRasterAttributeTableH,
2279 int);
2280GDALRATFieldUsage CPL_DLL CPL_STDCALL
2282GDALRATFieldType CPL_DLL CPL_STDCALL
2284
2285const char CPL_DLL *GDALGetRATFieldTypeName(GDALRATFieldType);
2286const char CPL_DLL *GDALGetRATFieldUsageName(GDALRATFieldUsage);
2287
2288int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage(GDALRasterAttributeTableH,
2290int CPL_DLL CPL_STDCALL GDALRATGetRowCount(GDALRasterAttributeTableH);
2291
2292const char CPL_DLL *CPL_STDCALL
2294int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(GDALRasterAttributeTableH,
2295 int iRow, int iField);
2296double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(GDALRasterAttributeTableH,
2297 int iRow, int iField);
2299 int iField);
2300
2301#ifdef __cplusplus
2302extern "C++"
2303{
2304#endif
2305
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
2325 : nYear(0), nMonth(0), nDay(0), nHour(0), nMinute(0), fSecond(0),
2327 bIsValid(false)
2328 {
2329 }
2330#endif
2331 };
2332
2333#ifdef __cplusplus
2334}
2335#endif
2336
2338typedef struct GDALRATDateTime GDALRATDateTime;
2342 int iField,
2343 GDALRATDateTime *psDateTime);
2345 int iRow, int iField,
2346 size_t *pnWKBSize);
2347
2348void CPL_DLL CPL_STDCALL GDALRATSetValueAsString(GDALRasterAttributeTableH,
2349 int iRow, int iField,
2350 const char *);
2351void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt(GDALRasterAttributeTableH,
2352 int iRow, int iField, int);
2353void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble(GDALRasterAttributeTableH,
2354 int iRow, int iField, double);
2356 int iField, bool);
2358 int iField,
2359 const GDALRATDateTime *psDateTime);
2361 int iField, const void *pabyWKB,
2362 size_t nWKBSize);
2363
2364int CPL_DLL CPL_STDCALL
2366
2367CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble(
2368 GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField,
2369 int iStartRow, int iLength, double *pdfData);
2370CPLErr CPL_DLL CPL_STDCALL
2372 int iField, int iStartRow, int iLength, int *pnData);
2373CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString(
2374 GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField,
2375 int iStartRow, int iLength, char **papszStrList);
2377 GDALRWFlag eRWFlag, int iField,
2378 int iStartRow, int iLength,
2379 bool *pbData);
2381 GDALRWFlag eRWFlag, int iField,
2382 int iStartRow, int iLength,
2383 GDALRATDateTime *pasDateTime);
2385 GDALRWFlag eRWFlag, int iField,
2386 int iStartRow, int iLength,
2387 GByte **ppabyWKB,
2388 size_t *pnWKBSize);
2389
2390void CPL_DLL CPL_STDCALL GDALRATSetRowCount(GDALRasterAttributeTableH, int);
2392 const char *, GDALRATFieldType,
2395 double, double);
2397 double *, double *);
2398CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType(
2399 GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType);
2400GDALRATTableType CPL_DLL CPL_STDCALL
2402CPLErr CPL_DLL CPL_STDCALL
2404GDALColorTableH CPL_DLL CPL_STDCALL
2406void CPL_DLL CPL_STDCALL GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *);
2407GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
2409
2410void CPL_DLL *CPL_STDCALL GDALRATSerializeJSON(GDALRasterAttributeTableH)
2412
2413int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue(GDALRasterAttributeTableH, double);
2414void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics(GDALRasterAttributeTableH);
2415
2416/* -------------------------------------------------------------------- */
2417/* Relationships */
2418/* -------------------------------------------------------------------- */
2419
2435
2449
2450GDALRelationshipH CPL_DLL GDALRelationshipCreate(const char *, const char *,
2451 const char *,
2453void CPL_DLL CPL_STDCALL GDALDestroyRelationship(GDALRelationshipH);
2454const char CPL_DLL *GDALRelationshipGetName(GDALRelationshipH);
2461 const char *);
2465 CSLConstList);
2467 CSLConstList);
2471 CSLConstList);
2473 CSLConstList);
2478 const char *);
2481 const char *);
2484 const char *);
2485
2486/* ==================================================================== */
2487/* GDAL Cache Management */
2488/* ==================================================================== */
2489
2490void CPL_DLL CPL_STDCALL GDALSetCacheMax(int nBytes);
2491int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
2492int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
2493void CPL_DLL CPL_STDCALL GDALSetCacheMax64(GIntBig nBytes);
2494GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
2495GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
2496
2497int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
2498
2499/* ==================================================================== */
2500/* GDAL virtual memory */
2501/* ==================================================================== */
2502
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
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,
2516
2517CPLVirtualMem CPL_DLL *
2519 int *pnPixelSpace, GIntBig *pnLineSpace,
2521
2536
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,
2543
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,
2549
2550/* ==================================================================== */
2551/* VRTPansharpenedDataset class. */
2552/* ==================================================================== */
2553
2555 const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands,
2556 GDALRasterBandH *pahInputSpectralBands) CPL_WARN_UNUSED_RESULT;
2557
2558/* =================================================================== */
2559/* Misc API */
2560/* ==================================================================== */
2561
2562CPLXMLNode CPL_DLL *
2563GDALGetJPEG2000Structure(const char *pszFilename,
2565
2566/* ==================================================================== */
2567/* Multidimensional API_api */
2568/* ==================================================================== */
2569
2570GDALDatasetH CPL_DLL
2571GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName,
2572 CSLConstList papszRootGroupOptions,
2574
2578 size_t nMaxStringLength) CPL_WARN_UNUSED_RESULT;
2580 size_t nMaxStringLength,
2583 const char *pszName, size_t nTotalSize, size_t nComponents,
2586const char CPL_DLL *GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT);
2589GDALDataType CPL_DLL
2592size_t CPL_DLL
2594GDALEDTComponentH CPL_DLL *
2596 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2598 size_t nCount);
2600 GDALExtendedDataTypeH hTargetEDT);
2602 GDALExtendedDataTypeH hSecondEDT);
2607
2608GDALEDTComponentH CPL_DLL
2609GDALEDTComponentCreate(const char *pszName, size_t nOffset,
2611void CPL_DLL GDALEDTComponentRelease(GDALEDTComponentH hComp);
2612const char CPL_DLL *GDALEDTComponentGetName(GDALEDTComponentH hComp);
2613size_t CPL_DLL GDALEDTComponentGetOffset(GDALEDTComponentH hComp);
2616
2619void CPL_DLL GDALGroupRelease(GDALGroupH hGroup);
2620const char CPL_DLL *GDALGroupGetName(GDALGroupH hGroup);
2621const char CPL_DLL *GDALGroupGetFullName(GDALGroupH hGroup);
2622char CPL_DLL **
2626 GDALGroupH hGroup, CSLConstList papszGroupOptions,
2627 CSLConstList papszArrayOptions) CPL_WARN_UNUSED_RESULT;
2628GDALMDArrayH CPL_DLL
2629GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName,
2632 GDALGroupH hGroup, const char *pszMDArrayName,
2635 GDALGroupH hGroup, const char *pszName, const char *pszStartingPoint,
2637char CPL_DLL **
2640GDALGroupH CPL_DLL
2641GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName,
2644 GDALGroupH hGroup, const char *pszMDArrayName,
2646char CPL_DLL **
2649OGRLayerH CPL_DLL
2650GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName,
2652GDALDimensionH CPL_DLL *
2653GDALGroupGetDimensions(GDALGroupH hGroup, size_t *pnCount,
2656 GDALGroupH hGroup, const char *pszName) CPL_WARN_UNUSED_RESULT;
2657GDALAttributeH CPL_DLL *
2658GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount,
2661GDALGroupH CPL_DLL
2662GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName,
2664bool CPL_DLL GDALGroupDeleteGroup(GDALGroupH hGroup, const char *pszName,
2665 CSLConstList papszOptions);
2667 GDALGroupH hGroup, const char *pszName, const char *pszType,
2668 const char *pszDirection, GUInt64 nSize,
2671 GDALGroupH hGroup, const char *pszName, size_t nDimensions,
2672 GDALDimensionH *pahDimensions, GDALExtendedDataTypeH hEDT,
2674bool CPL_DLL GDALGroupDeleteMDArray(GDALGroupH hGroup, const char *pszName,
2675 CSLConstList papszOptions);
2677 GDALGroupH hGroup, const char *pszName, size_t nDimensions,
2678 const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT,
2680bool CPL_DLL GDALGroupDeleteAttribute(GDALGroupH hGroup, const char *pszName,
2681 CSLConstList papszOptions);
2682bool CPL_DLL GDALGroupRename(GDALGroupH hGroup, const char *pszNewName);
2684 GDALGroupH hGroup, const char *pszSelection, CSLConstList papszOptions);
2685size_t CPL_DLL GDALGroupGetDataTypeCount(GDALGroupH hGroup);
2687 size_t nIdx);
2688
2689void CPL_DLL GDALMDArrayRelease(GDALMDArrayH hMDArray);
2690const char CPL_DLL *GDALMDArrayGetName(GDALMDArrayH hArray);
2691const char CPL_DLL *GDALMDArrayGetFullName(GDALMDArrayH hArray);
2693size_t CPL_DLL GDALMDArrayGetDimensionCount(GDALMDArrayH hArray);
2694GDALDimensionH CPL_DLL *
2696 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2699int 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);
2705int 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);
2712int CPL_DLL GDALMDArrayAdviseRead(GDALMDArrayH hArray,
2713 const GUInt64 *arrayStartIdx,
2714 const size_t *count);
2715int CPL_DLL GDALMDArrayAdviseReadEx(GDALMDArrayH hArray,
2716 const GUInt64 *arrayStartIdx,
2717 const size_t *count,
2718 CSLConstList papszOptions);
2720 GDALMDArrayH hArray, const char *pszName) CPL_WARN_UNUSED_RESULT;
2721GDALAttributeH CPL_DLL *
2722GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount,
2725 GDALMDArrayH hArray, const char *pszName, size_t nDimensions,
2726 const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT,
2728bool CPL_DLL GDALMDArrayDeleteAttribute(GDALMDArrayH hArray,
2729 const char *pszName,
2730 CSLConstList papszOptions);
2731bool CPL_DLL GDALMDArrayResize(GDALMDArrayH hArray,
2732 const GUInt64 *panNewDimSizes,
2733 CSLConstList papszOptions);
2734const void CPL_DLL *GDALMDArrayGetRawNoDataValue(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);
2741int CPL_DLL GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *);
2743 double dfNoDataValue);
2745 int64_t nNoDataValue);
2747 uint64_t nNoDataValue);
2748int CPL_DLL GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale);
2749int CPL_DLL GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale,
2750 GDALDataType eStorageType);
2751double CPL_DLL GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue);
2752double CPL_DLL GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue,
2753 GDALDataType *peStorageType);
2754int CPL_DLL GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset);
2755int CPL_DLL GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset,
2756 GDALDataType eStorageType);
2757double CPL_DLL GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue);
2758double CPL_DLL GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue,
2759 GDALDataType *peStorageType);
2760GUInt64 CPL_DLL *GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount);
2761int CPL_DLL GDALMDArraySetUnit(GDALMDArrayH hArray, const char *);
2762const char CPL_DLL *GDALMDArrayGetUnit(GDALMDArrayH hArray);
2765size_t CPL_DLL *GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray,
2766 size_t *pnCount,
2767 size_t nMaxChunkMemory);
2770 const char *pszViewExpr);
2772 size_t nNewAxisCount,
2773 const int *panMapNewAxisToOldAxis);
2776 CSLConstList papszOptions);
2778 size_t iXDim, size_t iYDim);
2780 size_t iXDim, size_t iYDim,
2781 GDALGroupH hRootGroup,
2782 CSLConstList papszOptions);
2784 GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, int bForce,
2785 double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
2786 GUInt64 *pnValidCount, GDALProgressFunc pfnProgress, void *pProgressData);
2788 int bApproxOK, double *pdfMin,
2789 double *pdfMax, double *pdfMean,
2790 double *pdfStdDev,
2791 GUInt64 *pnValidCount,
2792 GDALProgressFunc, void *pProgressData);
2794 GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, double *pdfMin,
2795 double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount,
2796 GDALProgressFunc, void *pProgressData, CSLConstList papszOptions);
2798 size_t nNewDimCount,
2799 const GDALDimensionH *pahNewDims,
2800 GDALRIOResampleAlg resampleAlg,
2801 OGRSpatialReferenceH hTargetSRS,
2802 CSLConstList papszOptions);
2804 GDALMDArrayH hArray, const char *pszGridOptions, GDALMDArrayH hXArray,
2805 GDALMDArrayH hYArray, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2806
2807GDALMDArrayH CPL_DLL *
2809 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2810
2811GDALMDArrayH CPL_DLL *
2812GDALMDArrayGetMeshGrid(const GDALMDArrayH *pahInputArrays,
2813 size_t nCountInputArrays, size_t *pnCountOutputArrays,
2815
2816#ifdef __cplusplus
2817extern "C++"
2818{
2819#endif
2820
2825 struct
2826#ifdef __cplusplus
2827 CPL_DLL
2828#endif
2830 {
2834 uint64_t nOffset;
2836 uint64_t nSize;
2848
2849#ifdef __cplusplus
2852 : pszFilename(nullptr), nOffset(0), nSize(0), papszInfo(nullptr),
2853 pabyInlineData(nullptr)
2854 {
2855 }
2856
2858
2859 void clear();
2860
2866#endif
2867 };
2868
2869#ifdef __cplusplus
2870}
2871#endif
2872
2878void CPL_DLL
2880bool CPL_DLL GDALMDArrayGetRawBlockInfo(GDALMDArrayH hArray,
2881 const uint64_t *panBlockCoordinates,
2882 GDALMDArrayRawBlockInfo *psBlockInfo);
2883
2884void CPL_DLL GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount);
2885int CPL_DLL GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions);
2886bool CPL_DLL GDALMDArrayRename(GDALMDArrayH hArray, const char *pszNewName);
2887
2889 GDALRATTableType eTableType, int nArrays, const GDALMDArrayH *ahArrays,
2890 const GDALRATFieldUsage *paeUsages);
2891
2892void CPL_DLL GDALAttributeRelease(GDALAttributeH hAttr);
2893void CPL_DLL GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount);
2894const char CPL_DLL *GDALAttributeGetName(GDALAttributeH hAttr);
2895const char CPL_DLL *GDALAttributeGetFullName(GDALAttributeH hAttr);
2898GUInt64 CPL_DLL *
2900 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2904 size_t *pnSize) CPL_WARN_UNUSED_RESULT;
2905void CPL_DLL GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw,
2906 size_t nSize);
2907const char CPL_DLL *GDALAttributeReadAsString(GDALAttributeH hAttr);
2908int CPL_DLL GDALAttributeReadAsInt(GDALAttributeH hAttr);
2909int64_t CPL_DLL GDALAttributeReadAsInt64(GDALAttributeH hAttr);
2910double CPL_DLL GDALAttributeReadAsDouble(GDALAttributeH hAttr);
2911char CPL_DLL **
2913int CPL_DLL *GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
2915int64_t CPL_DLL *
2917 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2918double CPL_DLL *
2920 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2921int CPL_DLL GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t);
2922int CPL_DLL GDALAttributeWriteString(GDALAttributeH hAttr, const char *);
2924int CPL_DLL GDALAttributeWriteInt(GDALAttributeH hAttr, int);
2925int CPL_DLL GDALAttributeWriteIntArray(GDALAttributeH hAttr, const int *,
2926 size_t);
2927int CPL_DLL GDALAttributeWriteInt64(GDALAttributeH hAttr, int64_t);
2928int CPL_DLL GDALAttributeWriteInt64Array(GDALAttributeH hAttr, const int64_t *,
2929 size_t);
2930int CPL_DLL GDALAttributeWriteDouble(GDALAttributeH hAttr, double);
2931int CPL_DLL GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *,
2932 size_t);
2933bool CPL_DLL GDALAttributeRename(GDALAttributeH hAttr, const char *pszNewName);
2934
2935void CPL_DLL GDALDimensionRelease(GDALDimensionH hDim);
2936void CPL_DLL GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount);
2937const char CPL_DLL *GDALDimensionGetName(GDALDimensionH hDim);
2938const char CPL_DLL *GDALDimensionGetFullName(GDALDimensionH hDim);
2939const char CPL_DLL *GDALDimensionGetType(GDALDimensionH hDim);
2940const char CPL_DLL *GDALDimensionGetDirection(GDALDimensionH hDim);
2945 GDALMDArrayH hArray);
2946bool CPL_DLL GDALDimensionRename(GDALDimensionH hDim, const char *pszNewName);
2947
2949
2950#endif /* ndef GDAL_H_INCLUDED */
Simple container for a bounding region (rectangle)
Definition ogr_core.h:44
CPL error handling services.
CPLErr
Error category.
Definition cpl_error.h:37
Definitions for CPL mini XML Parser/Serializer.
Core portability definitions for CPL.
int GPtrDiff_t
Integer type large enough to hold the difference between 2 addresses.
Definition cpl_port.h:246
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition cpl_port.h:916
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition cpl_port.h:208
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:289
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:285
GIntBig GInt64
Signed 64 bit integer type.
Definition cpl_port.h:226
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1087
GUIntBig GUInt64
Unsigned 64 bit integer type.
Definition cpl_port.h:228
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition cpl_port.h:870
unsigned char GByte
Unsigned byte type.
Definition cpl_port.h:175
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition cpl_port.h:205
Virtual memory management.
struct CPLVirtualMem CPLVirtualMem
Opaque type that represents a virtual memory mapping.
Definition cpl_virtualmem.h:45
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition gdal.h:388
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition gdalrasterband.cpp:3392
void GDALComposeHomographies(const double *padfHomography1, const double *padfHomography2, double *padfHomographyOut)
Compose two homographies.
Definition gdal_homography.cpp:348
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
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition gdaldriver.cpp:2087
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all dataset raster data.
Definition rasterio.cpp:5107
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
RAT table type (thematic or athematic)
Definition gdal.h:2265
@ GRTT_THEMATIC
Definition gdal.h:2266
@ GRTT_ATHEMATIC
Definition gdal.h:2267
const char * GDALEDTComponentGetName(GDALEDTComponentH hComp)
Return the name.
Definition gdalmultidim.cpp:11487
GDALAccess
Definition gdal.h:120
@ GA_ReadOnly
Definition gdal.h:121
@ GA_Update
Definition gdal.h:122
GDALDriverH GDALIdentifyDriver(const char *pszFilename, CSLConstList papszFileList)
Identify the driver that can open a dataset.
Definition gdaldriver.cpp:2692
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
const char * GDALGroupGetFullName(GDALGroupH hGroup)
Return the full name of the group.
Definition gdalmultidim.cpp:11562
int GDALAttributeWriteInt64Array(GDALAttributeH hAttr, const int64_t *, size_t)
Write an attribute from an array of int64_t.
Definition gdalmultidim.cpp:14040
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition gdalcolortable.cpp:229
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition gdalrasterband.cpp:3747
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition gdal_rat.cpp:1032
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition gdaldataset.cpp:5198
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *)
Write a block of image data efficiently.
Definition gdalrasterband.cpp:1279
int GDALAttributeWriteIntArray(GDALAttributeH hAttr, const int *, size_t)
Write an attribute from an array of int.
Definition gdalmultidim.cpp:14015
GDALDatasetH GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType, CSLConstList)
Create a new dataset with this driver.
Definition gdaldriver.cpp:320
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition gdalrasterband.cpp:2366
int GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *)
Set the nodata value as a "raw" value.
Definition gdalmultidim.cpp:12654
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition gdal_misc.cpp:426
void GDALDatasetClearStatistics(GDALDatasetH hDS)
Clear statistics.
Definition gdaldataset.cpp:9800
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
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition gdal_misc.cpp:1499
const char * GDALRelationshipGetForwardPathLabel(GDALRelationshipH)
Get the label of the forward path for the relationship.
Definition gdalrelationship.cpp:474
int GDALGetCacheUsed(void)
Get cache memory used.
Definition gdalrasterblock.cpp:271
CPLErr GDALSetGeoTransform(GDALDatasetH, const double *)
Set the affine transformation coefficients.
Definition gdaldataset.cpp:1641
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition gdal_rat.cpp:906
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition gdalrasterblock.cpp:129
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
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
void GDALDeinterleave(const void *pSourceBuffer, GDALDataType eSourceDT, int nComponents, void **ppDestBuffer, GDALDataType eDestDT, size_t nIters)
Definition rasterio.cpp:6073
GDALMDArrayH GDALRasterBandAsMDArray(GDALRasterBandH)
Return a view of this raster band as a 2D multidimensional GDALMDArray.
Definition gdalmultidim.cpp:14284
bool GDALGroupDeleteGroup(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete a sub-group from a group.
Definition gdalmultidim.cpp:12008
bool GDALDatasetAddFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Add a field domain to the dataset.
Definition gdaldataset.cpp:9963
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition gdalmajorobject.cpp:244
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition gdaldataset.cpp:1721
GDALAttributeH GDALGroupGetAttribute(GDALGroupH hGroup, const char *pszName)
Return an attribute by its name.
Definition gdalmultidim.cpp:11852
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
const char * GDALDimensionGetDirection(GDALDimensionH hDim)
Return dimension direction.
Definition gdalmultidim.cpp:14158
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
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
GDALMDArrayH GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array.
Definition gdalmultidim.cpp:11628
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition gdalrasterband.cpp:9456
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
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition gdaldataset.cpp:1464
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, const char *const *constpapszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy a whole raster band.
Definition rasterio.cpp:5435
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition gdal_misc.cpp:1130
void GDALDatasetMarkSuppressOnClose(GDALDatasetH)
Set that the dataset must be deleted on close.
Definition gdaldataset.cpp:1934
void GDALRelationshipSetType(GDALRelationshipH, GDALRelationshipType)
Sets the type of the relationship.
Definition gdalrelationship.cpp:443
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
GUInt64 GDALMDArrayGetTotalElementsCount(GDALMDArrayH hArray)
Return the total number of values in the array.
Definition gdalmultidim.cpp:12244
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
void * VRTPDWorkingDataPtr
Generic pointer for the working structure of VRTProcessedDataset function.
Definition gdal.h:1791
OGRSpatialReferenceH GDALGetSpatialRef(GDALDatasetH)
Fetch the spatial reference for this dataset.
Definition gdaldataset.cpp:1337
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition rasterio.cpp:2131
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
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition gdalrasterband.cpp:3349
int GDALAttributeWriteInt64(GDALAttributeH hAttr, int64_t)
Write an attribute from an int64_t value.
Definition gdalmultidim.cpp:13946
void GDALAttributeRelease(GDALAttributeH hAttr)
Release the GDAL in-memory object associated with a GDALAttribute.
Definition gdalmultidim.cpp:13516
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition gdalrasterband.cpp:1527
GDALMDArrayH GDALMDArrayGetView(GDALMDArrayH hArray, const char *pszViewExpr)
Return a view of the array using slicing or field access.
Definition gdalmultidim.cpp:13029
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition gdalmajorobject.cpp:198
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition gdaldriver.cpp:2163
GDALPaletteInterp
Definition gdal.h:353
@ GPI_CMYK
Definition gdal.h:356
@ GPI_HLS
Definition gdal.h:357
@ GPI_Gray
Definition gdal.h:354
@ GPI_RGB
Definition gdal.h:355
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
Raster algebra unary operation.
Definition gdal.h:1944
@ GRAUO_ABS
Absolute value (module for complex data type)
Definition gdal.h:1948
@ GRAUO_LOG10
Logarithm base 10.
Definition gdal.h:1954
@ GRAUO_SQRT
Square root.
Definition gdal.h:1950
@ GRAUO_LOG
Natural logarithm (ln)
Definition gdal.h:1952
@ GRAUO_LOGICAL_NOT
Logical not.
Definition gdal.h:1946
CPLErr GDALRATSetValueAsBoolean(GDALRasterAttributeTableH, int iRow, int iField, bool)
Set field value from a boolean value.
Definition gdal_rat.cpp:2889
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition gdalmajorobject.cpp:118
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
void GDALDimensionRelease(GDALDimensionH hDim)
Release the GDAL in-memory object associated with a GDALDimension.
Definition gdalmultidim.cpp:14103
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition gdaldataset.cpp:1162
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition gdalrasterband.cpp:3487
size_t GDALAttributeGetDimensionCount(GDALAttributeH hAttr)
Return the number of dimensions.
Definition gdalmultidim.cpp:13576
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition gdalrasterband.cpp:5286
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition gdal_rat.cpp:1582
size_t GDALMDArrayGetDimensionCount(GDALMDArrayH hArray)
Return the number of dimensions.
Definition gdalmultidim.cpp:12258
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int iRow, int iField, const char *)
Set field value from string.
Definition gdal_rat.cpp:2652
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
char ** GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of multidimensional array names contained in this group.
Definition gdalmultidim.cpp:11578
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition gdalrasterblock.cpp:295
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition gdaldataset.cpp:5826
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
Definition gdal.h:48
@ GDT_UInt32
Definition gdal.h:54
@ GDT_UInt64
Definition gdal.h:56
@ GDT_CInt32
Definition gdal.h:62
@ GDT_UInt8
Definition gdal.h:50
@ GDT_Int64
Definition gdal.h:57
@ GDT_Int8
Definition gdal.h:51
@ GDT_CFloat32
Definition gdal.h:64
@ GDT_CFloat64
Definition gdal.h:65
@ GDT_CFloat16
Definition gdal.h:63
@ GDT_Float64
Definition gdal.h:60
@ GDT_Float16
Definition gdal.h:58
@ GDT_UInt16
Definition gdal.h:52
@ GDT_Int16
Definition gdal.h:53
@ GDT_CInt16
Definition gdal.h:61
@ GDT_Int32
Definition gdal.h:55
@ GDT_Unknown
Definition gdal.h:49
@ GDT_Float32
Definition gdal.h:59
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition gdalrasterband.cpp:3591
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition gdaldataset.cpp:8474
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition gdalrasterband.cpp:3308
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition gdalcolortable.cpp:119
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition gdaldataset.cpp:3301
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition gdalrasterband.cpp:3879
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition gdal_rat.cpp:1926
int GDALAttributeReadAsInt(GDALAttributeH hAttr)
Return the value of an attribute as a integer.
Definition gdalmultidim.cpp:13716
GDALExtendedDataTypeH GDALExtendedDataTypeCreate(GDALDataType eType)
Return a new GDALExtendedDataType of class GEDTC_NUMERIC.
Definition gdalmultidim.cpp:11136
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
Field usage of raster attribute table.
Definition gdal.h:2240
@ GFU_Min
Definition gdal.h:2244
@ GFU_AlphaMin
Definition gdal.h:2254
@ GFU_GreenMin
Definition gdal.h:2252
@ GFU_Red
Definition gdal.h:2247
@ GFU_Alpha
Definition gdal.h:2250
@ GFU_MaxCount
Definition gdal.h:2259
@ GFU_MinMax
Definition gdal.h:2246
@ GFU_RedMin
Definition gdal.h:2251
@ GFU_GreenMax
Definition gdal.h:2256
@ GFU_Name
Definition gdal.h:2243
@ GFU_BlueMax
Definition gdal.h:2257
@ GFU_BlueMin
Definition gdal.h:2253
@ GFU_RedMax
Definition gdal.h:2255
@ GFU_Green
Definition gdal.h:2248
@ GFU_Blue
Definition gdal.h:2249
@ GFU_AlphaMax
Definition gdal.h:2258
@ GFU_PixelCount
Definition gdal.h:2242
@ GFU_Generic
Definition gdal.h:2241
@ GFU_Max
Definition gdal.h:2245
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition gdalrasterband.cpp:3697
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition gdalcolortable.cpp:301
CPLErr GDALRegisterPlugin(const char *name)
Register a plugin by name, returning an error if not found.
Definition gdalallregister.cpp:51
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition gdaldataset.cpp:1126
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition gdalrasterband.cpp:2213
int64_t GDALMDArrayGetNoDataValueAsInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a Int64.
Definition gdalmultidim.cpp:12606
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition gdal_misc.cpp:3769
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset.
Definition gdal_rat.cpp:3082
OGRSpatialReferenceH GDALGetGCPSpatialRef(GDALDatasetH)
Get output spatial reference system for GCPs.
Definition gdaldataset.cpp:2090
const void * GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray)
Return the nodata value as a "raw" value.
Definition gdalmultidim.cpp:12554
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
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition gdaldataset.cpp:4584
void GDALExtendedDataTypeFreeComponents(GDALEDTComponentH *components, size_t nCount)
Free the return of GDALExtendedDataTypeGetComponents().
Definition gdalmultidim.cpp:11434
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition gdaldataset.cpp:2145
GByte * GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize)
Return the raw value of an attribute.
Definition gdalmultidim.cpp:13639
CPLErr GDALDatasetRunCloseWithoutDestroying(GDALDatasetH hDS)
Run the Close() method, without running destruction of the object.
Definition gdaldataset.cpp:511
size_t GDALExtendedDataTypeGetSize(GDALExtendedDataTypeH hEDT)
Return data type size in bytes.
Definition gdalmultidim.cpp:11288
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition gdalrasterband.cpp:1460
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
int GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition gdal_misc.cpp:4434
GDALMDArrayH GDALGroupOpenMDArrayFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array from its fully qualified name.
Definition gdalmultidim.cpp:11652
GDALMDArrayRawBlockInfo * GDALMDArrayRawBlockInfoCreate(void)
Allocate a new instance of GDALMDArrayRawBlockInfo.
Definition gdalmultidim.cpp:15360
bool GDALGroupDeleteAttribute(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete an attribute from a group.
Definition gdalmultidim.cpp:12137
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp)
Construct a new color table.
Definition gdalcolortable.cpp:54
bool GDALIsMaskBand(GDALRasterBandH hBand)
Returns whether a band is a mask band.
Definition gdalrasterband.cpp:9601
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition gdalrasterband.cpp:9357
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
void GDALRelationshipSetMappingTableName(GDALRelationshipH, const char *)
Sets the name of the mapping table for many-to-many relationships.
Definition gdalrelationship.cpp:199
int GDALMDArraySetNoDataValueAsInt64(GDALMDArrayH hArray, int64_t nNoDataValue)
Set the nodata value as a Int64.
Definition gdalmultidim.cpp:12693
int GDALMDArraySetNoDataValueAsUInt64(GDALMDArrayH hArray, uint64_t nNoDataValue)
Set the nodata value as a UInt64.
Definition gdalmultidim.cpp:12713
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition overview.cpp:6810
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
bool GDALDatasetDeleteFieldDomain(GDALDatasetH hDS, const char *pszName, char **ppszFailureReason)
Removes a field domain from the dataset.
Definition gdaldataset.cpp:10040
void GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount)
Free the return of GDALGroupGetDimensions() or GDALMDArrayGetDimensions()
Definition gdalmultidim.cpp:12305
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition gdal_rat.cpp:860
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
GDALDatasetH GDALOpenShared(const char *, GDALAccess)
Open a raster file as a GDALDataset.
Definition gdaldataset.cpp:4449
CPLErr GDALSetRasterNoDataValueAsInt64(GDALRasterBandH, int64_t)
Set the no data value for this band.
Definition gdalrasterband.cpp:2745
void GDALRelationshipSetForwardPathLabel(GDALRelationshipH, const char *)
Sets the label of the forward path for the relationship.
Definition gdalrelationship.cpp:509
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition gdaldriver.cpp:2139
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
int GDALInvGeoTransform(const double *padfGeoTransformIn, double *padfInvGeoTransformOut)
Invert Geotransform.
Definition gdaltransformer.cpp:4549
GDALExtendedDataTypeH GDALExtendedDataTypeCreateStringEx(size_t nMaxStringLength, GDALExtendedDataTypeSubType eSubType)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition gdalmultidim.cpp:11180
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition rasterio.cpp:2041
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
const GByte * GDALRATGetValueAsWKBGeometry(GDALRasterAttributeTableH, int iRow, int iField, size_t *pnWKBSize)
Fetch field value as a WKB-encoded geometry.
Definition gdal_rat.cpp:2512
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition gdaldrivermanager.cpp:461
void GDALGroupRelease(GDALGroupH hGroup)
Release the GDAL in-memory object associated with a GDALGroupH.
Definition gdalmultidim.cpp:11531
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition gdal_misc.cpp:1888
const char * GDALMDArrayGetFullName(GDALMDArrayH hArray)
Return array full name.
Definition gdalmultidim.cpp:12229
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition gdalrasterband.cpp:3081
const char * GDALGetRATFieldTypeName(GDALRATFieldType)
Return the string representation of a GDALRATFieldType.
Definition gdal_rat.cpp:90
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, CSLConstList)
Set the category names for this band.
Definition gdalrasterband.cpp:2310
GUInt64 GDALDimensionGetSize(GDALDimensionH hDim)
Return the size, that is the number of values along the dimension.
Definition gdalmultidim.cpp:14172
int GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:12823
int GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions)
Cache the content of the array into an auxiliary filename.
Definition gdalmultidim.cpp:13479
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition gdal_misc.cpp:1081
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition gdalrasterband.cpp:2972
const char * GDALDimensionGetType(GDALDimensionH hDim)
Return dimension type.
Definition gdalmultidim.cpp:14144
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
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition gdaldriver.cpp:2109
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition gdal_misc.cpp:466
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition gdal_misc.cpp:1244
bool GDALIsValueExactAs(double dfValue, GDALDataType eDT)
Check whether the provided value can be exactly represented in a data type.
Definition gdal_misc.cpp:973
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
GDALComputedRasterBandH GDALRasterBandAsDataType(GDALRasterBandH hBand, GDALDataType eDT)
Cast this band to another type.
Definition gdalrasterband.cpp:12532
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition gdaldrivermanager.cpp:1786
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
int GDALMDArraySetUnit(GDALMDArrayH hArray, const char *)
Set the variable unit.
Definition gdalmultidim.cpp:13169
const char * GDALRelationshipGetBackwardPathLabel(GDALRelationshipH)
Get the label of the backward path for the relationship.
Definition gdalrelationship.cpp:542
char ** GDALDatasetGetFieldDomainNames(GDALDatasetH, CSLConstList)
Returns a list of the names of all field domains stored in the dataset.
Definition gdaldataset.cpp:9851
int GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition gdaldriver.cpp:2204
GDALRelationshipH GDALRelationshipCreate(const char *, const char *, const char *, GDALRelationshipCardinality)
Creates a new relationship.
Definition gdalrelationship.cpp:50
CPLErr GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition gdalrasterband.cpp:8568
const char * GDALRelationshipGetMappingTableName(GDALRelationshipH)
Get the name of the mapping table for many-to-many relationships.
Definition gdalrelationship.cpp:174
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition gdaldataset.cpp:5163
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition gdaldriver.cpp:1908
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition gdal_rat.cpp:1739
CPLErr GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *, OGRSpatialReferenceH)
Assign GCPs.
Definition gdaldataset.cpp:2281
size_t GDALExtendedDataTypeGetMaxStringLength(GDALExtendedDataTypeH hEDT)
Return the maximum length of a string in bytes.
Definition gdalmultidim.cpp:11304
GDALMDArrayH GDALDimensionGetIndexingVariable(GDALDimensionH hDim)
Return the variable that is used to index the dimension (if there is one).
Definition gdalmultidim.cpp:14191
char ** GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of sub-groups contained in this group.
Definition gdalmultidim.cpp:11698
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition gdaldataset.cpp:8524
int GDALAttributeWriteDouble(GDALAttributeH hAttr, double)
Write an attribute from a double value.
Definition gdalmultidim.cpp:13968
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition gdaldataset.cpp:998
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
void * GDALRATSerializeJSON(GDALRasterAttributeTableH)
Serialize Raster Attribute Table in Json format.
Definition gdal_rat.cpp:3398
void GDALRegisterPlugins(void)
Register drivers and support code available as a plugin.
Definition gdalallregister.cpp:78
int GDALApplyHomography(const double *, double, double, double *, double *)
Apply Homography to x/y coordinate.
Definition gdal_homography.cpp:408
const char * GDALAttributeReadAsString(GDALAttributeH hAttr)
Return the value of an attribute as a string.
Definition gdalmultidim.cpp:13696
CSLConstList GDALGroupGetStructuralInfo(GDALGroupH hGroup)
Return structural information on the group.
Definition gdalmultidim.cpp:11910
bool GDALDriverHasOpenOption(GDALDriverH, const char *pszOpenOptionName)
Returns TRUE if the given open option is supported by the driver.
Definition gdaldriver.cpp:2064
GDALExtendedDataTypeClass
Enumeration giving the class of a GDALExtendedDataType.
Definition gdal.h:394
@ GEDTC_STRING
String value.
Definition gdal.h:398
@ GEDTC_COMPOUND
Compound data type.
Definition gdal.h:400
@ GEDTC_NUMERIC
Numeric value.
Definition gdal.h:396
bool GDALDatasetUpdateFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Updates an existing field domain by replacing its definition.
Definition gdaldataset.cpp:10113
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition gdalrasterband.cpp:2863
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition gdalmajorobject.cpp:392
GDALDataType GDALFindDataTypeForValue(double dValue, int bComplex)
Finds the smallest data type able to support the provided value.
Definition gdal_misc.cpp:346
GDALGroupH GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Open and return a sub-group.
Definition gdalmultidim.cpp:11720
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition gdaldataset.cpp:8181
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition gdaldataset.cpp:8418
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
GDALDatasetH GDALCreatePansharpenedVRT(const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands, GDALRasterBandH *pahInputSpectralBands)
Create a virtual pansharpened dataset.
Definition vrtpansharpened.cpp:80
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
size_t GDALGroupGetDataTypeCount(GDALGroupH hGroup)
Return the number of data types associated with the group (typically enumerations).
Definition gdalmultidim.cpp:11927
GDALGroupH GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Create a sub-group within a group.
Definition gdalmultidim.cpp:11982
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition gdal_misc.cpp:1204
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition gdal_misc.cpp:1166
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition gdal_rat.cpp:1075
GDALAsyncStatusType GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff, int *pnXBufSize, int *pnYBufSize)
Get async IO update.
Definition gdaldefaultasync.cpp:145
uint64_t GDALGetRasterNoDataValueAsUInt64(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition gdalrasterband.cpp:2487
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
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int iRow, int iField, int)
Set field value from integer.
Definition gdal_rat.cpp:2732
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, CSLConstList papszOptions)
Add a band to a dataset.
Definition gdaldataset.cpp:861
void GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw, size_t nSize)
Free the return of GDALAttributeAsRaw()
Definition gdalmultidim.cpp:13660
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition gdalrasterband.cpp:8892
GDALRelationshipCardinality GDALRelationshipGetCardinality(GDALRelationshipH)
Get the cardinality of the relationship.
Definition gdalrelationship.cpp:110
CPLErr GDALGetExtentWGS84LongLat(GDALDatasetH, OGREnvelope *)
Return extent of dataset in WGS84 longitude/latitude.
Definition gdaldataset.cpp:11328
char ** GDALRelationshipGetLeftTableFields(GDALRelationshipH)
Get the names of the participating fields from the left table in the relationship.
Definition gdalrelationship.cpp:222
GUInt64 GDALAttributeGetTotalElementsCount(GDALAttributeH hAttr)
Return the total number of values in the attribute.
Definition gdalmultidim.cpp:13562
void GDALApplyGeoTransform(const double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition gdaltransformer.cpp:4523
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
const char * GDALGetRATFieldUsageName(GDALRATFieldUsage)
Return the string representation of a GDALRATFieldUsage.
Definition gdal_rat.cpp:119
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
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition gdalcolortable.cpp:264
GDALRelationshipCardinality
Cardinality of relationship.
Definition gdal.h:2425
@ GRC_ONE_TO_ONE
One-to-one.
Definition gdal.h:2427
@ GRC_MANY_TO_ONE
Many-to-one.
Definition gdal.h:2431
@ GRC_MANY_TO_MANY
Many-to-many.
Definition gdal.h:2433
@ GRC_ONE_TO_MANY
One-to-many.
Definition gdal.h:2429
GDALRIOResampleAlg
RasterIO() resampling method.
Definition gdal.h:137
@ GRIORA_Mode
Definition gdal.h:146
@ GRIORA_Lanczos
Definition gdal.h:142
@ GRIORA_Cubic
Definition gdal.h:140
@ GRIORA_CubicSpline
Definition gdal.h:141
@ GRIORA_Average
Definition gdal.h:143
@ GRIORA_RMS
RMS: Root Mean Square / Quadratic Mean.
Definition gdal.h:157
@ GRIORA_NearestNeighbour
Definition gdal.h:138
@ GRIORA_Gauss
Definition gdal.h:147
@ GRIORA_Bilinear
Definition gdal.h:139
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition gdalrasterband.cpp:3841
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
GDALExtendedDataTypeSubType GDALExtendedDataTypeGetSubType(GDALExtendedDataTypeH hEDT)
Return the subtype of a type.
Definition gdalmultidim.cpp:11363
bool GDALDatasetAddRelationship(GDALDatasetH hDS, GDALRelationshipH hRelationship, char **ppszFailureReason)
Add a relationship to the dataset.
Definition gdaldataset.cpp:10288
GDALExtendedDataTypeH GDALEDTComponentGetType(GDALEDTComponentH hComp)
Return the data type of the component.
Definition gdalmultidim.cpp:11515
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition gdalrasterband.cpp:2259
GDALGroupH GDALGroupOpenGroupFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a sub-group from its fully qualified name.
Definition gdalmultidim.cpp:11793
void GDALRelationshipSetLeftTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the participating fields from the left table in the relationship.
Definition gdalrelationship.cpp:276
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition gdal_misc.cpp:2781
int GDALDataTypeIsInteger(GDALDataType)
Is data type integer? (might be complex)
Definition gdal_misc.cpp:551
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition gdal_rat.cpp:985
int GDALDimensionSetIndexingVariable(GDALDimensionH hDim, GDALMDArrayH hArray)
Set the variable that is used to index the dimension.
Definition gdalmultidim.cpp:14213
bool GDALDatasetDeleteRelationship(GDALDatasetH hDS, const char *pszName, char **ppszFailureReason)
Removes a relationship from the dataset.
Definition gdaldataset.cpp:10357
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition gdaldataset.cpp:5299
bool GDALDimensionRename(GDALDimensionH hDim, const char *pszNewName)
Rename the dimension.
Definition gdalmultidim.cpp:14235
OGRSpatialReferenceH GDALMDArrayGetSpatialRef(GDALMDArrayH hArray)
Return the spatial reference system object associated with the array.
Definition gdalmultidim.cpp:13226
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
GDALEDTComponentH GDALEDTComponentCreate(const char *pszName, size_t nOffset, GDALExtendedDataTypeH hType)
Create a new GDALEDTComponent.
Definition gdalmultidim.cpp:11454
GDALAttributeH GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char *pszName)
Return an attribute by its name.
Definition gdalmultidim.cpp:12439
char ** GDALAttributeReadAsStringArray(GDALAttributeH hAttr)
Return the value of an attribute as an array of strings.
Definition gdalmultidim.cpp:13772
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition gdalrasterband.cpp:3999
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
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int iRow, int iField)
Fetch field value as a double.
Definition gdal_rat.cpp:2268
GDALDatasetH OGR_L_GetDataset(OGRLayerH hLayer)
Return the dataset associated with this layer.
Definition ogrlayer.cpp:8380
GDALExtendedDataTypeH GDALAttributeGetDataType(GDALAttributeH hAttr)
Return the data type.
Definition gdalmultidim.cpp:13617
void GDALRelationshipSetRelatedTableType(GDALRelationshipH, const char *)
Sets the type string of the related table.
Definition gdalrelationship.cpp:633
CPLErr GDALRATSetValueAsDateTime(GDALRasterAttributeTableH, int iRow, int iField, const GDALRATDateTime *psDateTime)
Set field value from datetime.
Definition gdal_rat.cpp:2967
void GDALComputedRasterBandRelease(GDALComputedRasterBandH hBand)
Release a GDALComputedRasterBandH.
Definition gdalcomputedrasterband.cpp:788
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
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
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition gdalrasterband.cpp:3916
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition gdaldefaultasync.cpp:239
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition gdalrasterband.cpp:2673
int GDALExtendedDataTypeCanConvertTo(GDALExtendedDataTypeH hSourceEDT, GDALExtendedDataTypeH hTargetEDT)
Return whether this data type can be converted to the other one.
Definition gdalmultidim.cpp:11322
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
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition gdal_misc.cpp:3071
GDALDataType GDALExtendedDataTypeGetNumericDataType(GDALExtendedDataTypeH hEDT)
Return numeric data type (only valid when GetClass() == GEDTC_NUMERIC)
Definition gdalmultidim.cpp:11274
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition gdaldrivermanager.cpp:708
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition gdaldriver.cpp:2035
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
OGRErr GDALDatasetAbortSQL(GDALDatasetH)
Abort any SQL statement running in the data store.
Definition gdaldataset.cpp:5776
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition gdal_rat.cpp:1798
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition gdaldataset.cpp:3712
int GDALAttributeWriteString(GDALAttributeH hAttr, const char *)
Write an attribute from a string value.
Definition gdalmultidim.cpp:13904
int GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:12766
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
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
CPLErr GDALRATGetValueAsDateTime(GDALRasterAttributeTableH, int iRow, int iField, GDALRATDateTime *psDateTime)
Fetch field value as a datetime.
Definition gdal_rat.cpp:2417
CPLErr GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition gdaldataset.cpp:4478
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
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int iRow, int iField)
Fetch field value as a integer.
Definition gdal_rat.cpp:2201
char ** GDALRelationshipGetRightTableFields(GDALRelationshipH)
Get the names of the participating fields from the right table in the relationship.
Definition gdalrelationship.cpp:248
CPLErr GDALSetDefaultHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition gdalrasterband.cpp:8934
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
const char * GDALAttributeGetFullName(GDALAttributeH hAttr)
Return the full name of the attribute.
Definition gdalmultidim.cpp:13547
GDALComputedRasterBandH GDALRasterBandBinaryOpDoubleToBand(double constant, GDALRasterAlgebraBinaryOperation eOp, GDALRasterBandH hBand)
Apply a binary operation on the constant with this band.
Definition gdalrasterband.cpp:11396
GDALRelationshipH GDALDatasetGetRelationship(GDALDatasetH hDS, const char *pszName)
Get a relationship from its name.
Definition gdaldataset.cpp:10210
GDALRATFieldType
Field type of raster attribute table.
Definition gdal.h:2226
@ GFT_DateTime
Definition gdal.h:2231
@ GFT_WKBGeometry
Definition gdal.h:2232
@ GFT_Real
Definition gdal.h:2228
@ GFT_Boolean
Definition gdal.h:2230
@ GFT_String
Definition gdal.h:2229
@ GFT_Integer
Definition gdal.h:2227
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition gdaldataset.cpp:7955
const char * GDALMDArrayGetUnit(GDALMDArrayH hArray)
Return the array unit.
Definition gdalmultidim.cpp:13194
int GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *, size_t)
Write an attribute from an array of double.
Definition gdalmultidim.cpp:14065
bool GDALGroupDeleteMDArray(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete an array from a group.
Definition gdalmultidim.cpp:12086
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
char * GDALSubdatasetInfoGetPathComponent(GDALSubdatasetInfoH hInfo)
Returns the file path component of a subdataset descriptor effectively stripping the information abou...
Definition gdalsubdatasetinfo.cpp:69
void GDALRATRemoveStatistics(GDALRasterAttributeTableH)
Remove Statistics from RAT.
Definition gdal_rat.cpp:3417
const char * GDALDimensionGetName(GDALDimensionH hDim)
Return dimension name.
Definition gdalmultidim.cpp:14116
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition gdaldataset.cpp:2109
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition gdal_misc.cpp:135
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition gdal_misc.cpp:1394
OGRLayerH GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName, CSLConstList papszOptions)
Open and return a vector layer.
Definition gdalmultidim.cpp:11771
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
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition gdalcolortable.cpp:169
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition gdaldataset.cpp:3639
const char * GDALRelationshipGetRightTableName(GDALRelationshipH)
Get the name of the right (or related/destination) table in the relationship.
Definition gdalrelationship.cpp:150
char ** GDALDatasetGetRelationshipNames(GDALDatasetH, CSLConstList)
Returns a list of the names of all relationships stored in the dataset.
Definition gdaldataset.cpp:10167
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition gdal_misc.cpp:2851
int GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t)
Write an attribute from raw values expressed in GetDataType()
Definition gdalmultidim.cpp:13882
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition gdaldataset.cpp:5131
CPLErr GDALSetMetadata(GDALMajorObjectH, CSLConstList, const char *)
Set metadata.
Definition gdalmajorobject.cpp:296
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
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition gdaldataset.cpp:8302
const char * GDALDimensionGetFullName(GDALDimensionH hDim)
Return dimension full name.
Definition gdalmultidim.cpp:14130
int GDALInvHomography(const double *padfHomographyIn, double *padfInvHomographyOut)
Invert Homography.
Definition gdal_homography.cpp:442
GDALDatasetH GDALGetThreadSafeDataset(GDALDatasetH, int nScopeFlags, CSLConstList papszOptions)
Return a thread-safe dataset.
Definition gdalthreadsafedataset.cpp:1285
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, CSLConstList papszOptions)
Dump the structure of a JPEG2000 file as a XML tree.
Definition gdaljp2structure.cpp:2340
double GDALAdjustValueToDataType(GDALDataType eDT, double dfValue, int *pbClamped, int *pbRounded)
Adjust a value to the output data type.
Definition gdal_misc.cpp:855
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition gdaldataset.cpp:4831
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition gdalrasterband.cpp:9542
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
int GDALGCPsToHomography(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfHomography)
Generate Homography from GCPs.
Definition gdal_homography.cpp:141
int GDALDatasetIsLayerPrivate(GDALDatasetH, int)
Returns true if the layer at the specified index is deemed a private or system table,...
Definition gdaldataset.cpp:5232
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition gdal_misc.cpp:374
GDALMDArrayH * GDALMDArrayGetCoordinateVariables(GDALMDArrayH hArray, size_t *pnCount)
Return coordinate variables.
Definition gdalmultidim.cpp:13330
const char * GDALAttributeGetName(GDALAttributeH hAttr)
Return the name of the attribute.
Definition gdalmultidim.cpp:13531
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition gdaldriver.cpp:1769
GDALSubdatasetInfoH GDALGetSubdatasetInfo(const char *pszFileName)
Returns a new GDALSubdatasetInfo object with methods to extract and manipulate subdataset information...
Definition gdalsubdatasetinfo.cpp:22
const char * GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT)
Return type name.
Definition gdalmultidim.cpp:11245
void GDALExtendedDataTypeRelease(GDALExtendedDataTypeH hEDT)
Release the GDAL in-memory object associated with a GDALExtendedDataTypeH.
Definition gdalmultidim.cpp:11232
bool GDALGroupRename(GDALGroupH hGroup, const char *pszNewName)
Rename the group.
Definition gdalmultidim.cpp:12161
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
bool GDALAttributeRename(GDALAttributeH hAttr, const char *pszNewName)
Rename the attribute.
Definition gdalmultidim.cpp:14087
GDALGroupH GDALDatasetGetRootGroup(GDALDatasetH hDS)
Return the root GDALGroup of this dataset.
Definition gdalmultidim.cpp:14256
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
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition gdal_misc.cpp:715
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition gdalallregister.cpp:111
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition gdal_rat.cpp:1966
double GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:12888
void GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount)
Free the return of GDALMDArrayGetCoordinateVariables()
Definition gdalmultidim.cpp:13458
GDALMDArrayH GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions)
Return an array that is a mask for the current array.
Definition gdalmultidim.cpp:13103
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition gdalmajorobject.cpp:77
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
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
double * GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of doubles.
Definition gdalmultidim.cpp:13847
uint64_t GDALMDArrayGetNoDataValueAsUInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a UInt64.
Definition gdalmultidim.cpp:12632
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int iRow, int iField)
Fetch field value as a string.
Definition gdal_rat.cpp:2135
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition gdaldrivermanager.cpp:409
CPLErr GDALBuildOverviewsEx(GDALDatasetH, const char *, int, const int *, int, const int *, GDALProgressFunc, void *, CSLConstList papszOptions)
Build raster overview(s)
Definition gdaldataset.cpp:2475
GDALRasterAlgebraBinaryOperation
Raster algebra binary operation.
Definition gdal.h:1963
@ GRABO_LOGICAL_AND
Logical and.
Definition gdal.h:1987
@ GRABO_GT
Strictly greater than test.
Definition gdal.h:1975
@ GRABO_LOGICAL_OR
Logical or.
Definition gdal.h:1989
@ GRABO_POW
Power.
Definition gdal.h:1973
@ GRABO_MUL
Multiplication.
Definition gdal.h:1969
@ GRABO_SUB
Subtraction.
Definition gdal.h:1967
@ GRABO_ADD
Addition.
Definition gdal.h:1965
@ GRABO_EQ
Equality test.
Definition gdal.h:1983
@ GRABO_NE
Non-equality test.
Definition gdal.h:1985
@ GRABO_LE
Lesser or equal to test.
Definition gdal.h:1981
@ GRABO_DIV
Division.
Definition gdal.h:1971
@ GRABO_GE
Greater or equal to test.
Definition gdal.h:1977
@ GRABO_LT
Strictly lesser than test.
Definition gdal.h:1979
CPLErr GDALGetExtent(GDALDatasetH, OGREnvelope *, OGRSpatialReferenceH hCRS)
Return extent of dataset in specified CRS.
Definition gdaldataset.cpp:11275
GDALExtendedDataTypeSubType
Enumeration giving the subtype of a GDALExtendedDataType.
Definition gdal.h:407
@ GEDTST_JSON
JSon.
Definition gdal.h:411
@ GEDTST_NONE
None.
Definition gdal.h:409
GDALEDTComponentH * GDALExtendedDataTypeGetComponents(GDALExtendedDataTypeH hEDT, size_t *pnCount)
Return the components of the data type (only valid when GetClass() == GEDTC_COMPOUND)
Definition gdalmultidim.cpp:11409
bool GDALMDArrayResize(GDALMDArrayH hArray, const GUInt64 *panNewDimSizes, CSLConstList papszOptions)
Resize an array to new dimensions.
Definition gdalmultidim.cpp:12741
void GDALDestroyColorTable(GDALColorTableH)
Destroys a color table.
Definition gdalcolortable.cpp:81
int GDALLoadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition gdal_misc.cpp:2003
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
void GDALDestroyRelationship(GDALRelationshipH)
Destroys a relationship.
Definition gdalrelationship.cpp:72
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
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition gdalrasterband.cpp:7869
int * GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of integers.
Definition gdalmultidim.cpp:13790
int GDALAttributeWriteStringArray(GDALAttributeH hAttr, CSLConstList)
Write an attribute from an array of strings.
Definition gdalmultidim.cpp:13990
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
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition gdal_misc.cpp:2212
CPLErr GDALRATSetTableType(GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType)
Set RAT Table Type.
Definition gdal_rat.cpp:1114
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition gdaldataset.cpp:5731
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
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition gdalrasterband.cpp:3640
CSLConstList GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray)
Return structural information on the array.
Definition gdalmultidim.cpp:13013
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition gdal_misc.cpp:1861
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *)
Read a block of image data efficiently.
Definition gdalrasterband.cpp:1125
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
const char * GDALMDArrayGetName(GDALMDArrayH hArray)
Return array name.
Definition gdalmultidim.cpp:12215
GDALExtendedDataTypeH GDALExtendedDataTypeCreateString(size_t nMaxStringLength)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition gdalmultidim.cpp:11160
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition gdalmajorobject.cpp:339
double GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:12911
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition gdalrasterband.cpp:3169
CPLErr GDALDropRasterCache(GDALRasterBandH hBand)
Drop raster data cache.
Definition gdalrasterband.cpp:1746
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, const int *, int, const int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition gdaldataset.cpp:2448
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
CPLErr GDALRegenerateOverviewsEx(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData, CSLConstList papszOptions)
Generate downsampled overviews.
Definition overview.cpp:4802
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
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition gdal_misc.cpp:2512
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition gdalrasterband.cpp:3211
void GDALMDArrayRawBlockInfoRelease(GDALMDArrayRawBlockInfo *psBlockInfo)
Free an instance of GDALMDArrayRawBlockInfo.
Definition gdalmultidim.cpp:15373
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition overview.cpp:6676
bool GDALMDArrayRename(GDALMDArrayH hArray, const char *pszNewName)
Rename the array.
Definition gdalmultidim.cpp:13500
GDALExtendedDataTypeClass GDALExtendedDataTypeGetClass(GDALExtendedDataTypeH hEDT)
Return type class.
Definition gdalmultidim.cpp:11260
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
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
void GDALDestroy(void)
Finalize GDAL/OGR library.
Definition gdaldllmain.cpp:53
int GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:12785
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition gdalrasterband.cpp:8978
const char * GDALRelationshipGetName(GDALRelationshipH)
Get the name of the relationship.
Definition gdalrelationship.cpp:90
GDALAttributeH * GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this array.
Definition gdalmultidim.cpp:12468
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
void GDALRelationshipSetBackwardPathLabel(GDALRelationshipH, const char *)
Sets the label of the backward path for the relationship.
Definition gdalrelationship.cpp:577
OGRFieldDomainH GDALDatasetGetFieldDomain(GDALDatasetH hDS, const char *pszName)
Get a field domain from its name.
Definition gdaldataset.cpp:9896
const char * GDALRelationshipGetRelatedTableType(GDALRelationshipH)
Get the type string of the related table.
Definition gdalrelationship.cpp:603
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
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition gdaldataset.cpp:1797
GDALDimensionH * GDALMDArrayGetDimensions(GDALMDArrayH hArray, size_t *pnCount)
Return the dimensions of the array.
Definition gdalmultidim.cpp:12281
double GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:12842
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
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
GUInt64 * GDALAttributeGetDimensionsSize(GDALAttributeH hAttr, size_t *pnCount)
Return the dimension sizes of the attribute.
Definition gdalmultidim.cpp:13595
char ** GDALRelationshipGetLeftMappingTableFields(GDALRelationshipH)
Get the names of the mapping table fields which correspond to the participating fields from the left ...
Definition gdalrelationship.cpp:325
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition gdalrasterblock.cpp:215
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition gdaldataset.cpp:5103
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
GDALRATTableType GDALRATGetTableType(GDALRasterAttributeTableH hRAT)
Get Rat Table Type.
Definition gdal_rat.cpp:1096
GDALAttributeH * GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this group.
Definition gdalmultidim.cpp:11881
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
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition gdalrasterband.cpp:2176
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int iRow, int iField, double)
Set field value from double.
Definition gdal_rat.cpp:2810
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition gdaldataset.cpp:5798
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition gdaldrivermanager.cpp:650
char * GDALSubdatasetInfoModifyPathComponent(GDALSubdatasetInfoH hInfo, const char *pszNewPath)
Replaces the path component of a subdataset descriptor.
Definition gdalsubdatasetinfo.cpp:79
void GDALInitGCPs(int, GDAL_GCP *)
Initialize an array of GCPs.
Definition gdal_misc.cpp:1835
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
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition gdaldataset.cpp:1759
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition gdal_rat.cpp:1846
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition gdaldataset.cpp:1998
GDALRasterAttributeTableH GDALRATClone(const GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition gdal_rat.cpp:3380
int GDALMDArraySetNoDataValueAsDouble(GDALMDArrayH hArray, double dfNoDataValue)
Set the nodata value as a double.
Definition gdalmultidim.cpp:12673
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating? (might be complex)
Definition gdal_misc.cpp:509
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition gdaldataset.cpp:1356
int GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom, GDALDataType eTypeTo)
Is conversion from eTypeFrom to eTypeTo potentially lossy.
Definition gdal_misc.cpp:636
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition gdalcolortable.cpp:340
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition gdaldataset.cpp:2259
#define GCI_SAR_Start
Value indicating the start of the range for color interpretations belonging to the Synthetic Aperture...
Definition gdal.h:248
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition gdal_rat.cpp:2034
bool GDALMDArrayDeleteAttribute(GDALMDArrayH hArray, const char *pszName, CSLConstList papszOptions)
Delete an attribute from an array.
Definition gdalmultidim.cpp:12529
GDALExtendedDataTypeH GDALMDArrayGetDataType(GDALMDArrayH hArray)
Return the data type.
Definition gdalmultidim.cpp:12322
GDALColorInterp
Types of color interpretation for raster bands.
Definition gdal.h:272
@ GCI_NIRBand
Definition gdal.h:300
@ GCI_SAR_S_Band
Definition gdal.h:332
@ GCI_SAR_L_Band
Definition gdal.h:334
@ GCI_YCbCr_YBand
Definition gdal.h:291
@ GCI_SAR_Reserved_2
Definition gdal.h:340
@ GCI_Undefined
Definition gdal.h:273
@ GCI_SAR_K_Band
Definition gdal.h:324
@ GCI_SaturationBand
Definition gdal.h:284
@ GCI_LightnessBand
Definition gdal.h:285
@ GCI_SAR_Ku_Band
Definition gdal.h:326
@ GCI_HueBand
Definition gdal.h:283
@ GCI_LWIRBand
Definition gdal.h:306
@ GCI_CyanBand
Definition gdal.h:286
@ GCI_IR_Reserved_3
Definition gdal.h:317
@ GCI_SAR_Ka_Band
Definition gdal.h:322
@ GCI_MagentaBand
Definition gdal.h:287
@ GCI_GrayIndex
Definition gdal.h:274
@ GCI_IR_Reserved_4
Definition gdal.h:319
@ GCI_SAR_X_Band
Definition gdal.h:328
@ GCI_SAR_P_Band
Definition gdal.h:336
@ GCI_BlueBand
Definition gdal.h:281
@ GCI_PaletteIndex
Definition gdal.h:275
@ GCI_SAR_Reserved_1
Definition gdal.h:338
@ GCI_RedBand
Definition gdal.h:277
@ GCI_AlphaBand
Definition gdal.h:282
@ GCI_Max
Definition gdal.h:344
@ GCI_YCbCr_CrBand
Definition gdal.h:293
@ GCI_TIRBand
Definition gdal.h:308
@ GCI_MWIRBand
Definition gdal.h:304
@ GCI_SAR_C_Band
Definition gdal.h:330
@ GCI_GreenBand
Definition gdal.h:279
@ GCI_YellowBand
Definition gdal.h:289
@ GCI_OtherIRBand
Definition gdal.h:310
@ GCI_IR_Reserved_2
Definition gdal.h:315
@ GCI_BlackBand
Definition gdal.h:290
@ GCI_IR_Reserved_1
Definition gdal.h:313
@ GCI_RedEdgeBand
Definition gdal.h:298
@ GCI_SWIRBand
Definition gdal.h:302
@ GCI_YCbCr_CbBand
Definition gdal.h:292
@ GCI_CoastalBand
Definition gdal.h:297
@ GCI_PanBand
Definition gdal.h:296
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
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition gdaldefaultasync.cpp:204
int64_t * GDALAttributeReadAsInt64Array(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of int64_t.
Definition gdalmultidim.cpp:13818
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition gdalrasterband.cpp:3789
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition gdalrasterband.cpp:1682
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
Type of relationship.
Definition gdal.h:2441
@ GRT_AGGREGATION
Aggregation relationship.
Definition gdal.h:2447
@ GRT_ASSOCIATION
Association relationship.
Definition gdal.h:2445
@ GRT_COMPOSITE
Composite relationship.
Definition gdal.h:2443
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
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition gdalrasterband.cpp:3465
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition gdal_misc.cpp:3088
int GDALExtendedDataTypeEquals(GDALExtendedDataTypeH hFirstEDT, GDALExtendedDataTypeH hSecondEDT)
Return whether this data type is equal to another one.
Definition gdalmultidim.cpp:11342
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition gdal_rat.cpp:1689
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, CSLConstList)
Duplicate an existing layer.
Definition gdaldataset.cpp:5677
int GDALMDArrayAdviseRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count)
Advise driver of upcoming read requests.
Definition gdalmultidim.cpp:12404
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition gdal_rat.cpp:1884
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
status of the asynchronous stream
Definition gdal.h:106
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
GDALRelationshipType GDALRelationshipGetType(GDALRelationshipH)
Get the type of the relationship.
Definition gdalrelationship.cpp:426
void GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount)
Free the return of GDALGroupGetAttributes() or GDALMDArrayGetAttributes()
Definition gdalmultidim.cpp:11963
CPLErr GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition gdaldataset.cpp:650
int64_t GDALAttributeReadAsInt64(GDALAttributeH hAttr)
Return the value of an attribute as a int64_t.
Definition gdalmultidim.cpp:13736
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition gdalrasterband.cpp:9033
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
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition gdal_misc.cpp:2607
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
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition gdaldataset.cpp:1836
GUInt64 * GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount)
Return the "natural" block size of the array along all dimensions.
Definition gdalmultidim.cpp:12948
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition gdal_misc.cpp:448
GDALRasterAttributeTableH GDALExtendedDataTypeGetRAT(GDALExtendedDataTypeH hEDT)
Return associated raster attribute table, when there is one.
Definition gdalmultidim.cpp:11384
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition gdal_misc.cpp:593
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition gdalrasterband.cpp:3263
bool GDALRATGetValueAsBoolean(GDALRasterAttributeTableH, int iRow, int iField)
Fetch field value as a boolean.
Definition gdal_rat.cpp:2337
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition gdaldataset.cpp:1564
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition gdalrasterblock.cpp:104
int GDALAttributeWriteInt(GDALAttributeH hAttr, int)
Write an attribute from a integer value.
Definition gdalmultidim.cpp:13925
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition gdalrasterblock.cpp:315
double GDALAttributeReadAsDouble(GDALAttributeH hAttr)
Return the value of an attribute as a double.
Definition gdalmultidim.cpp:13756
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition gdaldataset.cpp:1035
GDALComputedRasterBandH GDALRasterBandBinaryOpDouble(GDALRasterBandH hBand, GDALRasterAlgebraBinaryOperation eOp, double constant)
Apply a binary operation on this band with a constant.
Definition gdalrasterband.cpp:11360
void GDALEDTComponentRelease(GDALEDTComponentH hComp)
Release the GDAL in-memory object associated with a GDALEDTComponentH.
Definition gdalmultidim.cpp:11472
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
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition gdal_rat.cpp:2006
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition gdaldataset.cpp:3267
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition gdalrasterband.cpp:3958
GDALDatasetH GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName, CSLConstList papszRootGroupOptions, CSLConstList papszOptions)
Create a new multidimensional dataset with this driver.
Definition gdaldriver.cpp:424
char ** GDALRelationshipGetRightMappingTableFields(GDALRelationshipH)
Get the names of the mapping table fields which correspond to the participating fields from the right...
Definition gdalrelationship.cpp:352
GDALComputedRasterBandH GDALRasterBandBinaryOpBand(GDALRasterBandH hBand, GDALRasterAlgebraBinaryOperation eOp, GDALRasterBandH hOtherBand)
Apply a binary operation on this band with another one.
Definition gdalrasterband.cpp:11305
GDALRWFlag
Definition gdal.h:127
@ GF_Write
Definition gdal.h:129
@ GF_Read
Definition gdal.h:128
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK)
Generate Geotransform from GCPs.
Definition gdal_misc.cpp:3145
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
GDALMDArrayH GDALDatasetAsMDArray(GDALDatasetH hDS, CSLConstList papszOptions)
Return a view of this dataset as a 3D multidimensional GDALMDArray.
Definition gdalmultidim.cpp:14353
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
void GDALMDArrayRelease(GDALMDArrayH hMDArray)
Release the GDAL in-memory object associated with a GDALMDArray.
Definition gdalmultidim.cpp:12202
void GDALDestroySubdatasetInfo(GDALSubdatasetInfoH hInfo)
Destroys a GDALSubdatasetInfo object.
Definition gdalsubdatasetinfo.cpp:63
int GDALMDArraySetSpatialRef(GDALMDArrayH, OGRSpatialReferenceH)
Assign a spatial reference system object to the array.
Definition gdalmultidim.cpp:13209
void(* GDALVRTProcessedDatasetFuncFree)(const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData)
Free function to pass to GDALVRTRegisterProcessedDatasetFunc.
Definition gdal.h:1846
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition gdaldrivermanager.cpp:758
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess)
Open a raster file as a GDALDataset.
Definition gdaldataset.cpp:3763
const char * GDALRelationshipGetLeftTableName(GDALRelationshipH)
Get the name of the left (or base/origin) table in the relationship.
Definition gdalrelationship.cpp:127
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition gdalrasterband.cpp:3123
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
bool GDALDatasetUpdateRelationship(GDALDatasetH hDS, GDALRelationshipH hRelationship, char **ppszFailureReason)
Updates an existing relationship by replacing its definition.
Definition gdaldataset.cpp:10428
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
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
GDALDriverH GDALCreateDriver(void)
Create a GDALDriver.
Definition gdaldriver.cpp:66
char ** GDALGroupGetVectorLayerNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of layer names contained in this group.
Definition gdalmultidim.cpp:11743
double GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:12865
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
int64_t GDALGetRasterNoDataValueAsInt64(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition gdalrasterband.cpp:2426
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, CSLConstList, GDALProgressFunc, void *)
Create a copy of a dataset.
Definition gdaldriver.cpp:1409
const char * GDALGroupGetName(GDALGroupH hGroup)
Return the name of the group.
Definition gdalmultidim.cpp:11546
GDALComputedRasterBandH GDALRasterBandUnaryOp(GDALRasterBandH hBand, GDALRasterAlgebraUnaryOperation eOp)
Apply a unary operation on this band.
Definition gdalrasterband.cpp:11214
int GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:12804
void GDALRelationshipSetRightTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the participating fields from the right table in the relationship.
Definition gdalrelationship.cpp:301
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition overview.cpp:4750
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void)
Construct empty table.
Definition gdal_rat.cpp:1774
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition gdalrasterblock.cpp:181
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition gdal_misc.cpp:3448
int GDALMDArrayAdviseReadEx(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition gdalmultidim.cpp:12422
CPLErr GDALSetRasterNoDataValueAsUInt64(GDALRasterBandH, uint64_t)
Set the no data value for this band.
Definition gdalrasterband.cpp:2817
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition gdaldataset.cpp:5854
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition gdaldataset.cpp:1684
CPLErr GDALSetSpatialRef(GDALDatasetH, OGRSpatialReferenceH)
Set the spatial reference system for this dataset.
Definition gdaldataset.cpp:1445
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition gdaldriver.cpp:85
GDALExtendedDataTypeH GDALGroupGetDataType(GDALGroupH hGroup, size_t nIdx)
Return one of the data types associated with the group.
Definition gdalmultidim.cpp:11945
#define GCI_IR_Start
Value indicating the start of the range for color interpretations belonging to the InfraRed (IR) doma...
Definition gdal.h:231
size_t GDALEDTComponentGetOffset(GDALEDTComponentH hComp)
Return the offset (in bytes) of the component in the compound data type.
Definition gdalmultidim.cpp:11501
GDALTileOrganization
! Enumeration to describe the tile organization
Definition gdal.h:2524
@ GTO_BIT
Definition gdal.h:2531
@ GTO_BSQ
Definition gdal.h:2534
@ GTO_TIP
Definition gdal.h:2527
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
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition gdalcolortable.cpp:429
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
char * GDALSubdatasetInfoGetSubdatasetComponent(GDALSubdatasetInfoH hInfo)
Returns the subdataset component of a subdataset descriptor descriptor.
Definition gdalsubdatasetinfo.cpp:74
GDALMDArrayH GDALMDArrayGetUnscaled(GDALMDArrayH hArray)
Return an array that is the unscaled version of the current one.
Definition gdalmultidim.cpp:13081
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition gdalrasterband.cpp:7944
CPLErr GDALDropCache(GDALDatasetH hDS)
Drop all write cached data.
Definition gdaldataset.cpp:703
double GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a double.
Definition gdalmultidim.cpp:12580
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition gdal_misc.cpp:3104
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition gdal_misc.cpp:793
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
bool GDALMDArrayGetRawBlockInfo(GDALMDArrayH hArray, const uint64_t *panBlockCoordinates, GDALMDArrayRawBlockInfo *psBlockInfo)
Return information on a raw block.
Definition gdalmultidim.cpp:15340
bool GDALDatasetSetQueryLoggerFunc(GDALDatasetH hDS, GDALQueryLoggerFunc pfnQueryLoggerFunc, void *poQueryLoggerArg)
Sets the SQL query logger callback.
Definition gdaldataset.cpp:10467
Forward definitions of GDAL/OGR/OSR C handle types.
struct GDALDimensionHS * GDALDimensionH
Opaque type for C++ GDALDimension.
Definition gdal_fwd.h:79
struct GDALAttributeHS * GDALAttributeH
Opaque type for C++ GDALAttribute.
Definition gdal_fwd.h:77
void * OGRGeometryH
Opaque type for a geometry.
Definition gdal_fwd.h:96
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition gdal_fwd.h:42
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition gdal_fwd.h:195
struct GDALEDTComponentHS * GDALEDTComponentH
Opaque type for C++ GDALEDTComponent.
Definition gdal_fwd.h:71
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition gdal_fwd.h:157
struct GDALMDArrayHS * GDALMDArrayH
Opaque type for C++ GDALMDArray.
Definition gdal_fwd.h:75
void * GDALRelationshipH
Opaque type used for the C bindings of the C++ GDALRelationship class.
Definition gdal_fwd.h:66
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition gdal_fwd.h:58
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition gdal_fwd.h:61
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition gdal_fwd.h:141
struct OGRFieldDomainHS * OGRFieldDomainH
Opaque type for a field domain definition (OGRFieldDomain)
Definition gdal_fwd.h:131
struct OGRGeomFieldDefnHS * OGRGeomFieldDefnH
Opaque type for a geometry field definition (OGRGeomFieldDefn)
Definition gdal_fwd.h:128
struct GDALExtendedDataTypeHS * GDALExtendedDataTypeH
Opaque type for C++ GDALExtendedDataType.
Definition gdal_fwd.h:69
void * GDALComputedRasterBandH
Opaque type used for the C bindings of the C++ GDALComputedRasterBand class.
Definition gdal_fwd.h:48
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition gdal_fwd.h:39
struct GDALGroupHS * GDALGroupH
Opaque type for C++ GDALGroup.
Definition gdal_fwd.h:73
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition gdal_fwd.h:181
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition gdal_fwd.h:51
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition gdal_fwd.h:45
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition gdal_fwd.h:54
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes.
OGRwkbGeometryType
List of well known binary geometry types.
Definition ogr_core.h:405
int OGRErr
Type for a OGR error.
Definition ogr_core.h:370
Document node structure.
Definition cpl_minixml.h:54
Color tuple.
Definition gdal.h:2187
short c4
Definition gdal.h:2198
short c2
Definition gdal.h:2192
short c3
Definition gdal.h:2195
short c1
Definition gdal.h:2189
Information on a raw block of a GDALMDArray.
Definition gdal.h:2830
char * pszFilename
Filename into which the raw block is found.
Definition gdal.h:2832
char ** papszInfo
NULL or Null-terminated list of driver specific information on the raw block.
Definition gdal.h:2839
uint64_t nOffset
File offset within pszFilename of the start of the raw block.
Definition gdal.h:2834
uint64_t nSize
Size in bytes of the raw block.
Definition gdal.h:2836
GByte * pabyInlineData
In-memory buffer of nSize bytes.
Definition gdal.h:2847
Structure encoding a DateTime field for a GDAL Raster Attribute Table.
Definition gdal.h:2311
int nMonth
Definition gdal.h:2313
float fSecond
Definition gdal.h:2317
int nTimeZoneHour
Definition gdal.h:2318
bool bPositiveTimeZone
Definition gdal.h:2320
int nDay
Definition gdal.h:2314
bool bIsValid
Definition gdal.h:2321
int nMinute
Definition gdal.h:2316
int nHour
Definition gdal.h:2315
int nTimeZoneMinute
Definition gdal.h:2319
int nYear
Definition gdal.h:2312
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition gdal.h:2147
double dfLAT_OFF
Definition gdal.h:2150
double dfLONG_SCALE
Definition gdal.h:2157
double dfHEIGHT_OFF
Definition gdal.h:2152
double dfMAX_LAT
Definition gdal.h:2168
double dfMIN_LAT
Definition gdal.h:2166
double dfLINE_OFF
Definition gdal.h:2148
double dfLONG_OFF
Definition gdal.h:2151
double dfSAMP_SCALE
Definition gdal.h:2155
double dfMAX_LONG
Definition gdal.h:2167
double dfERR_BIAS
Definition gdal.h:2172
double dfERR_RAND
Definition gdal.h:2173
double dfLINE_SCALE
Definition gdal.h:2154
double dfHEIGHT_SCALE
Definition gdal.h:2158
double dfMIN_LONG
Definition gdal.h:2165
double dfLAT_SCALE
Definition gdal.h:2156
double dfSAMP_OFF
Definition gdal.h:2149
Structure to pass extra arguments to RasterIO() method, must be initialized with INIT_RASTERIO_EXTRA_...
Definition gdal.h:170
void * pProgressData
Definition gdal.h:180
GDALRIOResampleAlg eResampleAlg
Definition gdal.h:175
double dfXOff
Definition gdal.h:190
int nVersion
Definition gdal.h:172
double dfYSize
Definition gdal.h:199
double dfYOff
Definition gdal.h:193
double dfXSize
Definition gdal.h:196
GDALProgressFunc pfnProgress
Definition gdal.h:178
int bFloatingPointWindowValidity
Definition gdal.h:187
int bUseOnlyThisScale
Definition gdal.h:205
The GDALSubdatasetInfo abstract class provides methods to extract and manipulate subdataset informati...
Definition gdalsubdatasetinfo.h:27
Ground Control Point.
Definition gdal.h:1223
double dfGCPLine
Line (y) location of GCP on raster.
Definition gdal.h:1233
double dfGCPX
X position of GCP in georeferenced space.
Definition gdal.h:1236
char * pszId
Unique identifier, often numeric.
Definition gdal.h:1225
char * pszInfo
Informational message or "".
Definition gdal.h:1228
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition gdal.h:1231
double dfGCPY
Y position of GCP in georeferenced space.
Definition gdal.h:1239
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition gdal.h:1242