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 *
166 * Also make sure to use GDALCopyRasterIOExtraArg() when creating a copy
167 * from user input.
168 */
169
221
222#ifndef DOXYGEN_SKIP
223#define RASTERIO_EXTRA_ARG_CURRENT_VERSION 3
224#endif
225
228#define INIT_RASTERIO_EXTRA_ARG(s) \
229 do \
230 { \
231 (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
232 (s).eResampleAlg = GRIORA_NearestNeighbour; \
233 (s).pfnProgress = CPL_NULLPTR; \
234 (s).pProgressData = CPL_NULLPTR; \
235 (s).bFloatingPointWindowValidity = FALSE; \
236 (s).bUseOnlyThisScale = FALSE; \
237 (s).bOperateInBufType = TRUE; \
238 } while (0)
239
244#define GDAL_GET_OPERATE_IN_BUF_TYPE(s) \
245 ((s).nVersion < 3 || (s).bOperateInBufType)
246
253#define GCI_IR_Start 20
254
261#define GCI_IR_End 29
262
270#define GCI_SAR_Start 30
271
279#define GCI_SAR_End 39
280
369
371GDALColorInterp CPL_DLL GDALGetColorInterpretationByName(const char *pszName);
372
373const GDALColorInterp CPL_DLL *GDALGetColorInterpretationList(int *pnCount);
374
376typedef enum
377{
GPI_Gray = 0, GPI_RGB = 1, GPI_CMYK = 2, GPI_HLS = 3
383
385
386/* "well known" metadata items. */
387
390#define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
393#define GDALMD_AOP_AREA "Area"
396#define GDALMD_AOP_POINT "Point"
397
398/* -------------------------------------------------------------------- */
399/* GDAL Specific error codes. */
400/* */
401/* error codes 100 to 299 reserved for GDAL. */
402/* -------------------------------------------------------------------- */
403#ifndef DOXYGEN_SKIP
404#define CPLE_WrongFormat CPL_STATIC_CAST(CPLErrorNum, 200)
405#endif
406
407/* -------------------------------------------------------------------- */
408/* Types, enumerations. */
409/* -------------------------------------------------------------------- */
410
413
426
437
438/* ==================================================================== */
439/* Registration/driver related. */
440/* ==================================================================== */
441
443#define GDAL_DMD_LONGNAME "DMD_LONGNAME"
444
446#define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
447
449#define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
450
452#define GDAL_DMD_EXTENSION "DMD_EXTENSION"
453
457#define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
458
461#define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
462
464#define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
465
469#define GDAL_DMD_OVERVIEW_CREATIONOPTIONLIST "DMD_OVERVIEW_CREATIONOPTIONLIST"
470
474#define GDAL_DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST \
475 "DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST"
476
480#define GDAL_DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST \
481 "DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST"
482
486#define GDAL_DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST \
487 "DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST"
488
492#define GDAL_DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST \
493 "DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST"
494
498#define GDAL_DMD_MULTIDIM_ARRAY_OPENOPTIONLIST \
499 "DMD_MULTIDIM_ARRAY_OPENOPTIONLIST"
500
504#define GDAL_DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST \
505 "DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST"
506
509#define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
510
513#define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
514
518#define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
519
523#define GDAL_DMD_CREATIONFIELDDATASUBTYPES "DMD_CREATIONFIELDDATASUBTYPES"
524
536#define GDAL_DMD_MAX_STRING_LENGTH "DMD_MAX_STRING_LENGTH"
537
555#define GDAL_DMD_CREATION_FIELD_DEFN_FLAGS "DMD_CREATION_FIELD_DEFN_FLAGS"
556
565#define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
566
572#define GDAL_DCAP_CREATE_SUBDATASETS "DCAP_CREATE_SUBDATASETS"
573
582#define GDAL_DMD_NUMERIC_FIELD_WIDTH_INCLUDES_DECIMAL_SEPARATOR \
583 "DMD_NUMERIC_FIELD_WIDTH_INCLUDES_DECIMAL_SEPARATOR"
584
593#define GDAL_DMD_NUMERIC_FIELD_WIDTH_INCLUDES_SIGN \
594 "DMD_NUMERIC_FIELD_WIDTH_INCLUDES_SIGN"
595
597#define GDAL_DCAP_OPEN "DCAP_OPEN"
598
607#define GDAL_DCAP_CREATE "DCAP_CREATE"
608
613#define GDAL_DCAP_CREATE_MULTIDIMENSIONAL "DCAP_CREATE_MULTIDIMENSIONAL"
614
623#define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
624
630#define GDAL_DCAP_CREATE_ONLY_VISIBLE_AT_CLOSE_TIME \
631 "DCAP_CREATE_ONLY_VISIBLE_AT_CLOSE_TIME"
632
637#define GDAL_DCAP_VECTOR_TRANSLATE_FROM "DCAP_VECTOR_TRANSLATE_FROM"
638
644#define GDAL_DCAP_CREATECOPY_MULTIDIMENSIONAL "DCAP_CREATECOPY_MULTIDIMENSIONAL"
645
649#define GDAL_DCAP_MULTIDIM_RASTER "DCAP_MULTIDIM_RASTER"
650
652#define GDAL_DCAP_SUBCREATECOPY "DCAP_SUBCREATECOPY"
653
662#define GDAL_DCAP_APPEND "DCAP_APPEND"
663
670#define GDAL_DCAP_UPDATE "DCAP_UPDATE"
671
674#define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
675
678#define GDAL_DCAP_RASTER "DCAP_RASTER"
679
682#define GDAL_DCAP_VECTOR "DCAP_VECTOR"
683
686#define GDAL_DCAP_GNM "DCAP_GNM"
687
691#define GDAL_DCAP_CREATE_LAYER "DCAP_CREATE_LAYER"
692
696#define GDAL_DCAP_DELETE_LAYER "DCAP_DELETE_LAYER"
697
701#define GDAL_DCAP_CREATE_FIELD "DCAP_CREATE_FIELD"
702
706#define GDAL_DCAP_DELETE_FIELD "DCAP_DELETE_FIELD"
707
711#define GDAL_DCAP_REORDER_FIELDS "DCAP_REORDER_FIELDS"
712
732#define GDAL_DMD_ALTER_FIELD_DEFN_FLAGS "GDAL_DMD_ALTER_FIELD_DEFN_FLAGS"
733
739#define GDAL_DMD_ILLEGAL_FIELD_NAMES "GDAL_DMD_ILLEGAL_FIELD_NAMES"
740
743#define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
744
748#define GDAL_DCAP_UNIQUE_FIELDS "DCAP_UNIQUE_FIELDS"
749
752#define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
753
757#define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
758
763#define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
764
768#define GDAL_DCAP_CURVE_GEOMETRIES "DCAP_CURVE_GEOMETRIES"
769
774#define GDAL_DCAP_MEASURED_GEOMETRIES "DCAP_MEASURED_GEOMETRIES"
775
780#define GDAL_DCAP_Z_GEOMETRIES "DCAP_Z_GEOMETRIES"
781
794#define GDAL_DMD_GEOMETRY_FLAGS "GDAL_DMD_GEOMETRY_FLAGS"
795
803#define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
804
808#define GDAL_DCAP_FEATURE_STYLES_READ "DCAP_FEATURE_STYLES_READ"
809
813#define GDAL_DCAP_FEATURE_STYLES_WRITE "DCAP_FEATURE_STYLES_WRITE"
814
819#define GDAL_DCAP_COORDINATE_EPOCH "DCAP_COORDINATE_EPOCH"
820
831#define GDAL_DCAP_MULTIPLE_VECTOR_LAYERS "DCAP_MULTIPLE_VECTOR_LAYERS"
832
841#define GDAL_DCAP_MULTIPLE_VECTOR_LAYERS_IN_DIRECTORY \
842 "GDAL_DCAP_MULTIPLE_VECTOR_LAYERS_IN_DIRECTORY"
843
848#define GDAL_DCAP_FIELD_DOMAINS "DCAP_FIELD_DOMAINS"
849
855#define GDAL_DCAP_RELATIONSHIPS "DCAP_RELATIONSHIPS"
856
861#define GDAL_DCAP_CREATE_RELATIONSHIP "DCAP_CREATE_RELATIONSHIP"
862
867#define GDAL_DCAP_DELETE_RELATIONSHIP "DCAP_DELETE_RELATIONSHIP"
868
873#define GDAL_DCAP_UPDATE_RELATIONSHIP "DCAP_UPDATE_RELATIONSHIP"
874
880#define GDAL_DCAP_FLUSHCACHE_CONSISTENT_STATE "DCAP_FLUSHCACHE_CONSISTENT_STATE"
881
890#define GDAL_DCAP_HONOR_GEOM_COORDINATE_PRECISION \
891 "DCAP_HONOR_GEOM_COORDINATE_PRECISION"
892
896#define GDAL_DCAP_UPSERT "DCAP_UPSERT"
897
924#define GDAL_DMD_RELATIONSHIP_FLAGS "GDAL_DMD_RELATIONSHIP_FLAGS"
925
933#define GDAL_DMD_RELATIONSHIP_RELATED_TABLE_TYPES \
934 "GDAL_DMD_RELATIONSHIP_RELATED_TABLE_TYPES"
935
940#define GDAL_DCAP_RENAME_LAYERS "DCAP_RENAME_LAYERS"
941
951#define GDAL_DMD_CREATION_FIELD_DOMAIN_TYPES "DMD_CREATION_FIELD_DOMAIN_TYPES"
952
968#define GDAL_DMD_ALTER_GEOM_FIELD_DEFN_FLAGS "DMD_ALTER_GEOM_FIELD_DEFN_FLAGS"
969
991#define GDAL_DMD_SUPPORTED_SQL_DIALECTS "DMD_SUPPORTED_SQL_DIALECTS"
992
994#define GDAL_DMD_PLUGIN_INSTALLATION_MESSAGE "DMD_PLUGIN_INSTALLATION_MESSAGE"
1014#define GDAL_DMD_UPDATE_ITEMS "DMD_UPDATE_ITEMS"
1015
1020#define GDAL_DIM_TYPE_HORIZONTAL_X "HORIZONTAL_X"
1021
1026#define GDAL_DIM_TYPE_HORIZONTAL_Y "HORIZONTAL_Y"
1027
1031#define GDAL_DIM_TYPE_VERTICAL "VERTICAL"
1032
1036#define GDAL_DIM_TYPE_TEMPORAL "TEMPORAL"
1037
1041#define GDAL_DIM_TYPE_PARAMETRIC "PARAMETRIC"
1042
1048#define GDAL_DCAP_REOPEN_AFTER_WRITE_REQUIRED "DCAP_REOPEN_AFTER_WRITE_REQUIRED"
1049
1056#define GDAL_DCAP_CAN_READ_AFTER_DELETE "DCAP_CAN_READ_AFTER_DELETE"
1057
1058#define GDsCAddRelationship \
1059 "AddRelationship"
1061#define GDsCDeleteRelationship \
1062 "DeleteRelationship"
1064#define GDsCUpdateRelationship \
1065 "UpdateRelationship"
1072#define GDsCFastGetExtent "FastGetExtent"
1073
1078#define GDsCFastGetExtentWGS84LongLat "FastGetExtentWGS84LongLat"
1079
1080void CPL_DLL CPL_STDCALL GDALAllRegister(void);
1081void CPL_DLL GDALRegisterPlugins(void);
1082CPLErr CPL_DLL GDALRegisterPlugin(const char *name);
1083
1084GDALDatasetH CPL_DLL CPL_STDCALL
1085GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType,
1087GDALDatasetH CPL_DLL CPL_STDCALL GDALCreateCopy(GDALDriverH, const char *,
1089 GDALProgressFunc,
1090 void *) CPL_WARN_UNUSED_RESULT;
1091
1092GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver(const char *pszFilename,
1093 CSLConstList papszFileList);
1094
1095GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
1096 const char *pszFilename, unsigned int nIdentifyFlags,
1097 const char *const *papszAllowedDrivers, const char *const *papszFileList);
1098
1099GDALDatasetH CPL_DLL CPL_STDCALL
1100GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT;
1101GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared(const char *, GDALAccess)
1103
1104/* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
1105/* equals to GA_ReadOnly and GA_Update */
1106
1110#define GDAL_OF_READONLY 0x00
1111
1115#define GDAL_OF_UPDATE 0x01
1116
1120#define GDAL_OF_ALL 0x00
1121
1125#define GDAL_OF_RASTER 0x02
1126
1130#define GDAL_OF_VECTOR 0x04
1131
1135#define GDAL_OF_GNM 0x08
1136
1141#define GDAL_OF_MULTIDIM_RASTER 0x10
1142
1143#ifndef DOXYGEN_SKIP
1144#define GDAL_OF_KIND_MASK 0x1E
1145#endif
1146
1150#define GDAL_OF_SHARED 0x20
1151
1155#define GDAL_OF_VERBOSE_ERROR 0x40
1156
1162#define GDAL_OF_INTERNAL 0x80
1163
1172#define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
1173
1181#define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
1182
1190#define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
1191
1192#ifndef DOXYGEN_SKIP
1193/* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
1194 * and GDAL_OF_HASHSET_BLOCK_ACCESS */
1195#define GDAL_OF_RESERVED_1 0x300
1196
1198#define GDAL_OF_BLOCK_ACCESS_MASK 0x300
1199#endif
1200
1201#ifndef DOXYGEN_SKIP
1204#define GDAL_OF_FROM_GDALOPEN 0x400
1205#endif
1206
1213#define GDAL_OF_THREAD_SAFE 0x800
1214
1215GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx(
1216 const char *pszFilename, unsigned int nOpenFlags,
1217 const char *const *papszAllowedDrivers, const char *const *papszOpenOptions,
1218 const char *const *papszSiblingFiles) CPL_WARN_UNUSED_RESULT;
1219
1220int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets(FILE *);
1221
1222GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName(const char *);
1223int CPL_DLL CPL_STDCALL GDALGetDriverCount(void);
1224GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver(int);
1225GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver(void);
1226void CPL_DLL CPL_STDCALL GDALDestroyDriver(GDALDriverH);
1227int CPL_DLL CPL_STDCALL GDALRegisterDriver(GDALDriverH);
1228void CPL_DLL CPL_STDCALL GDALDeregisterDriver(GDALDriverH);
1229void CPL_DLL CPL_STDCALL GDALDestroyDriverManager(void);
1230void CPL_DLL GDALClearMemoryCaches(void);
1231void CPL_DLL GDALDestroy(void);
1232CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset(GDALDriverH, const char *);
1233CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset(GDALDriverH,
1234 const char *pszNewName,
1235 const char *pszOldName);
1236CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles(GDALDriverH,
1237 const char *pszNewName,
1238 const char *pszOldName);
1239int CPL_DLL CPL_STDCALL
1241char CPL_DLL **GDALGetOutputDriversForDatasetName(const char *pszDestFilename,
1242 int nFlagRasterVector,
1243 bool bSingleMatch,
1244 bool bEmitWarning);
1245
1247 const char *pszOpenOptionName);
1248
1249/* The following are deprecated */
1250const char CPL_DLL *CPL_STDCALL GDALGetDriverShortName(GDALDriverH);
1251const char CPL_DLL *CPL_STDCALL GDALGetDriverLongName(GDALDriverH);
1252const char CPL_DLL *CPL_STDCALL GDALGetDriverHelpTopic(GDALDriverH);
1253const char CPL_DLL *CPL_STDCALL GDALGetDriverCreationOptionList(GDALDriverH);
1254
1255/* ==================================================================== */
1256/* GDAL_GCP */
1257/* ==================================================================== */
1258
1260typedef struct
1261{
1263 char *pszId;
1264
1266 char *pszInfo;
1267
1272
1274 double dfGCPX;
1275
1277 double dfGCPY;
1278
1280 double dfGCPZ;
1281} GDAL_GCP;
1282
1283void CPL_DLL CPL_STDCALL GDALInitGCPs(int, GDAL_GCP *);
1284void CPL_DLL CPL_STDCALL GDALDeinitGCPs(int, GDAL_GCP *);
1285GDAL_GCP CPL_DLL *CPL_STDCALL GDALDuplicateGCPs(int, const GDAL_GCP *);
1286
1287int CPL_DLL CPL_STDCALL GDALGCPsToGeoTransform(
1288 int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform,
1289 int bApproxOK) CPL_WARN_UNUSED_RESULT;
1290int CPL_DLL CPL_STDCALL GDALInvGeoTransform(const double *padfGeoTransformIn,
1291 double *padfInvGeoTransformOut)
1293void CPL_DLL CPL_STDCALL GDALApplyGeoTransform(const double *, double, double,
1294 double *, double *);
1295void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
1296 const double *padfGeoTransform2,
1297 double *padfGeoTransformOut);
1298int CPL_DLL GDALGCPsToHomography(int nGCPCount, const GDAL_GCP *pasGCPs,
1299 double *padfHomography) CPL_WARN_UNUSED_RESULT;
1300int CPL_DLL GDALInvHomography(const double *padfHomographyIn,
1301 double *padfInvHomographyOut)
1303int CPL_DLL GDALApplyHomography(const double *, double, double, double *,
1304 double *) CPL_WARN_UNUSED_RESULT;
1305void CPL_DLL GDALComposeHomographies(const double *padfHomography1,
1306 const double *padfHomography2,
1307 double *padfHomographyOut);
1308
1309/* ==================================================================== */
1310/* major objects (dataset, and, driver, drivermanager). */
1311/* ==================================================================== */
1312
1313char CPL_DLL **CPL_STDCALL GDALGetMetadataDomainList(GDALMajorObjectH hObject);
1315 const char *);
1317 const char *);
1318const char CPL_DLL *CPL_STDCALL GDALGetMetadataItem(GDALMajorObjectH,
1319 const char *, const char *);
1320CPLErr CPL_DLL CPL_STDCALL GDALSetMetadataItem(GDALMajorObjectH, const char *,
1321 const char *, const char *);
1322const char CPL_DLL *CPL_STDCALL GDALGetDescription(GDALMajorObjectH);
1323void CPL_DLL CPL_STDCALL GDALSetDescription(GDALMajorObjectH, const char *);
1324
1325/* ==================================================================== */
1326/* GDALDataset class ... normally this represents one file. */
1327/* ==================================================================== */
1328
1330#define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
1331
1332GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver(GDALDatasetH);
1333char CPL_DLL **CPL_STDCALL GDALGetFileList(GDALDatasetH);
1335CPLErr CPL_DLL CPL_STDCALL GDALClose(GDALDatasetH);
1336CPLErr CPL_DLL GDALCloseEx(GDALDatasetH hDS, GDALProgressFunc pfnProgress,
1337 void *pProgressData);
1341 GDALDatasetH hDS, GDALProgressFunc pfnProgress, void *pProgressData);
1342int CPL_DLL CPL_STDCALL GDALGetRasterXSize(GDALDatasetH);
1343int CPL_DLL CPL_STDCALL GDALGetRasterYSize(GDALDatasetH);
1344int CPL_DLL CPL_STDCALL GDALGetRasterCount(GDALDatasetH);
1345GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand(GDALDatasetH, int);
1346
1347bool CPL_DLL GDALDatasetIsThreadSafe(GDALDatasetH, int nScopeFlags,
1348 CSLConstList papszOptions);
1349GDALDatasetH CPL_DLL GDALGetThreadSafeDataset(GDALDatasetH, int nScopeFlags,
1350 CSLConstList papszOptions);
1351
1352CPLErr CPL_DLL CPL_STDCALL GDALAddBand(GDALDatasetH hDS, GDALDataType eType,
1353 CSLConstList papszOptions);
1354
1355GDALAsyncReaderH CPL_DLL CPL_STDCALL GDALBeginAsyncReader(
1356 GDALDatasetH hDS, int nXOff, int nYOff, int nXSize, int nYSize, void *pBuf,
1357 int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount,
1358 int *panBandMap, int nPixelSpace, int nLineSpace, int nBandSpace,
1360
1361void CPL_DLL CPL_STDCALL GDALEndAsyncReader(GDALDatasetH hDS,
1362 GDALAsyncReaderH hAsynchReaderH);
1363
1364CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
1365 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1366 int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1367 GDALDataType eBDataType, int nBandCount, const int *panBandCount,
1368 int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
1369
1370CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
1371 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1372 int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1373 GDALDataType eBDataType, int nBandCount, const int *panBandCount,
1374 GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
1376
1377CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead(
1378 GDALDatasetH hDS, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
1379 int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount,
1380 int *panBandCount, CSLConstList papszOptions);
1381
1382char CPL_DLL **
1383GDALDatasetGetCompressionFormats(GDALDatasetH hDS, int nXOff, int nYOff,
1384 int nXSize, int nYSize, int nBandCount,
1385 const int *panBandList) CPL_WARN_UNUSED_RESULT;
1387 GDALDatasetH hDS, const char *pszFormat, int nXOff, int nYOff, int nXSize,
1388 int nYSize, int nBandCount, const int *panBandList, void **ppBuffer,
1389 size_t *pnBufferSize, char **ppszDetailedFormat);
1390
1391const char CPL_DLL *CPL_STDCALL GDALGetProjectionRef(GDALDatasetH);
1393CPLErr CPL_DLL CPL_STDCALL GDALSetProjection(GDALDatasetH, const char *);
1395CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform(GDALDatasetH, double *);
1396CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform(GDALDatasetH, const double *);
1397
1401
1403 GDALDatasetH, double dfGeolocX, double dfGeolocY, OGRSpatialReferenceH hSRS,
1404 double *pdfPixel, double *pdfLine, CSLConstList papszTransformerOptions);
1405
1407 GDALDatasetH hDS, double *padfCovMatrix, size_t nSize, int nBandCount,
1408 const int *panBandList, bool bApproxOK, bool bForce,
1409 bool bWriteIntoMetadata, int nDeltaDegreeOfFreedom,
1410 GDALProgressFunc pfnProgress, void *pProgressData);
1411
1413 GDALDatasetH hDS, double *padfCovMatrix, size_t nSize, int nBandCount,
1414 const int *panBandList, bool bApproxOK, bool bWriteIntoMetadata,
1415 int nDeltaDegreeOfFreedom, GDALProgressFunc pfnProgress,
1416 void *pProgressData);
1417
1418int CPL_DLL CPL_STDCALL GDALGetGCPCount(GDALDatasetH);
1419const char CPL_DLL *CPL_STDCALL GDALGetGCPProjection(GDALDatasetH);
1421const GDAL_GCP CPL_DLL *CPL_STDCALL GDALGetGCPs(GDALDatasetH);
1422CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *,
1423 const char *);
1424CPLErr CPL_DLL GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *,
1426
1427void CPL_DLL *CPL_STDCALL GDALGetInternalHandle(GDALDatasetH, const char *);
1428int CPL_DLL CPL_STDCALL GDALReferenceDataset(GDALDatasetH);
1429int CPL_DLL CPL_STDCALL GDALDereferenceDataset(GDALDatasetH);
1430int CPL_DLL CPL_STDCALL GDALReleaseDataset(GDALDatasetH);
1431
1432CPLErr CPL_DLL CPL_STDCALL GDALBuildOverviews(GDALDatasetH, const char *, int,
1433 const int *, int, const int *,
1434 GDALProgressFunc,
1435 void *) CPL_WARN_UNUSED_RESULT;
1436CPLErr CPL_DLL CPL_STDCALL GDALBuildOverviewsEx(
1437 GDALDatasetH, const char *, int, const int *, int, const int *,
1438 GDALProgressFunc, void *, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1439void CPL_DLL CPL_STDCALL GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount);
1440int CPL_DLL CPL_STDCALL GDALGetAccess(GDALDatasetH hDS);
1441CPLErr CPL_DLL CPL_STDCALL GDALFlushCache(GDALDatasetH hDS);
1442CPLErr CPL_DLL CPL_STDCALL GDALDropCache(GDALDatasetH hDS);
1443
1444CPLErr CPL_DLL CPL_STDCALL GDALCreateDatasetMaskBand(GDALDatasetH hDS,
1445 int nFlags);
1446
1447CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
1448 GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
1449 GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT;
1450
1451CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
1452 GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
1453 const char *const *constpapszOptions, GDALProgressFunc pfnProgress,
1454 void *pProgressData) CPL_WARN_UNUSED_RESULT;
1455
1457 int nOverviewCount,
1458 GDALRasterBandH *pahOverviewBands,
1459 const char *pszResampling,
1460 GDALProgressFunc pfnProgress,
1461 void *pProgressData);
1462
1464 int nOverviewCount,
1465 GDALRasterBandH *pahOverviewBands,
1466 const char *pszResampling,
1467 GDALProgressFunc pfnProgress,
1468 void *pProgressData,
1469 CSLConstList papszOptions);
1470
1473
1474/* Defined here to avoid circular dependency with ogr_api.h */
1476
1477OGRLayerH CPL_DLL GDALDatasetGetLayerByName(GDALDatasetH, const char *);
1478int CPL_DLL GDALDatasetIsLayerPrivate(GDALDatasetH, int);
1480OGRLayerH CPL_DLL GDALDatasetCreateLayer(GDALDatasetH, const char *,
1484 const char *,
1486 CSLConstList);
1488 CSLConstList);
1491 OGRLayerH *phBelongingLayer,
1492 double *pdfProgressPct,
1493 GDALProgressFunc pfnProgress,
1494 void *pProgressData);
1495int CPL_DLL GDALDatasetTestCapability(GDALDatasetH, const char *);
1496OGRLayerH CPL_DLL GDALDatasetExecuteSQL(GDALDatasetH, const char *,
1497 OGRGeometryH, const char *);
1503OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
1507
1510
1514 const char *pszName);
1516 OGRFieldDomainH hFieldDomain,
1517 char **ppszFailureReason);
1518bool CPL_DLL GDALDatasetDeleteFieldDomain(GDALDatasetH hDS, const char *pszName,
1519 char **ppszFailureReason);
1521 OGRFieldDomainH hFieldDomain,
1522 char **ppszFailureReason);
1523
1527 const char *pszName);
1528
1530 GDALRelationshipH hRelationship,
1531 char **ppszFailureReason);
1533 const char *pszName,
1534 char **ppszFailureReason);
1536 GDALRelationshipH hRelationship,
1537 char **ppszFailureReason);
1538
1541typedef void (*GDALQueryLoggerFunc)(const char *pszSQL, const char *pszError,
1542 int64_t lNumRecords,
1543 int64_t lExecutionTimeMilliseconds,
1544 void *pQueryLoggerArg);
1545
1563 GDALDatasetH hDS, GDALQueryLoggerFunc pfnQueryLoggerFunc,
1564 void *poQueryLoggerArg);
1565
1566/* ==================================================================== */
1567/* Informational utilities about subdatasets in file names */
1568/* ==================================================================== */
1569
1581GDALSubdatasetInfoH CPL_DLL GDALGetSubdatasetInfo(const char *pszFileName);
1582
1594
1603char CPL_DLL *
1605
1616 const char *pszNewPath);
1617
1624
1625/* ==================================================================== */
1626/* GDALRasterBand ... one band/channel in a dataset. */
1627/* ==================================================================== */
1628
1629/* Note: the only user of SRCVAL() is alg/gdal_simplesurf.cpp */
1630
1631/* clang-format off */
1636#define SRCVAL(papoSource, eSrcType, ii) \
1637 (eSrcType == GDT_UInt8 ? CPL_REINTERPRET_CAST(const GByte *, papoSource)[ii] : \
1638 eSrcType == GDT_Int8 ? CPL_REINTERPRET_CAST(const GInt8 *, papoSource)[ii] : \
1639 eSrcType == GDT_UInt16 ? CPL_REINTERPRET_CAST(const GUInt16 *, papoSource)[ii] : \
1640 eSrcType == GDT_Int16 ? CPL_REINTERPRET_CAST(const GInt16 *, papoSource)[ii] : \
1641 eSrcType == GDT_UInt32 ? CPL_REINTERPRET_CAST(const GUInt32 *, papoSource)[ii] : \
1642 eSrcType == GDT_Int32 ? CPL_REINTERPRET_CAST(const GInt32 *, papoSource)[ii] : \
1643 eSrcType == GDT_UInt64 ? CPL_STATIC_CAST(double, CPL_REINTERPRET_CAST(const GUInt64 *, papoSource)[ii]) : \
1644 eSrcType == GDT_Int64 ? CPL_STATIC_CAST(double, CPL_REINTERPRET_CAST(const GUInt64 *, papoSource)[ii]) : \
1645 eSrcType == GDT_Float32 ? CPL_STATIC_CAST(double, CPL_REINTERPRET_CAST(const float *, papoSource)[ii]) : \
1646 eSrcType == GDT_Float64 ? CPL_REINTERPRET_CAST(const double *, papoSource)[ii] : \
1647 eSrcType == GDT_CInt16 ? CPL_REINTERPRET_CAST(const GInt16 *, papoSource)[(ii)*2] : \
1648 eSrcType == GDT_CInt32 ? CPL_REINTERPRET_CAST(const GInt32 *, papoSource)[(ii)*2] : \
1649 eSrcType == GDT_CFloat32 ? CPL_STATIC_CAST(double, CPL_REINTERPRET_CAST(const float *, papoSource)[ii*2]) : \
1650 eSrcType == GDT_CFloat64 ? CPL_REINTERPRET_CAST(const double *, papoSource)[ii*2] : \
1651 0)
1652
1653/* clang-format on */
1654
1657typedef CPLErr (*GDALDerivedPixelFunc)(void **papoSources, int nSources,
1658 void *pData, int nBufXSize,
1659 int nBufYSize, GDALDataType eSrcType,
1660 GDALDataType eBufType, int nPixelSpace,
1661 int nLineSpace);
1662
1666 void **papoSources, int nSources, void *pData, int nBufXSize, int nBufYSize,
1667 GDALDataType eSrcType, GDALDataType eBufType, int nPixelSpace,
1668 int nLineSpace, CSLConstList papszFunctionArgs);
1669
1671void CPL_DLL CPL_STDCALL GDALGetBlockSize(GDALRasterBandH, int *pnXSize,
1672 int *pnYSize);
1673
1675 int nXBlockOff,
1676 int nYBlockOff, int *pnXValid,
1677 int *pnYValid);
1678
1679CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead(GDALRasterBandH hRB,
1680 int nDSXOff, int nDSYOff,
1681 int nDSXSize, int nDSYSize,
1682 int nBXSize, int nBYSize,
1683 GDALDataType eBDataType,
1684 CSLConstList papszOptions);
1685
1686CPLErr CPL_DLL CPL_STDCALL GDALRasterIO(GDALRasterBandH hRBand,
1687 GDALRWFlag eRWFlag, int nDSXOff,
1688 int nDSYOff, int nDSXSize, int nDSYSize,
1689 void *pBuffer, int nBXSize, int nBYSize,
1690 GDALDataType eBDataType,
1691 int nPixelSpace,
1692 int nLineSpace) CPL_WARN_UNUSED_RESULT;
1693CPLErr CPL_DLL CPL_STDCALL GDALRasterIOEx(
1694 GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1695 int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1696 GDALDataType eBDataType, GSpacing nPixelSpace, GSpacing nLineSpace,
1698CPLErr CPL_DLL CPL_STDCALL GDALReadBlock(GDALRasterBandH, int, int,
1699 void *) CPL_WARN_UNUSED_RESULT;
1700CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock(GDALRasterBandH, int, int,
1701 void *) CPL_WARN_UNUSED_RESULT;
1702int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize(GDALRasterBandH);
1703int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize(GDALRasterBandH);
1705int CPL_DLL CPL_STDCALL GDALGetBandNumber(GDALRasterBandH);
1707
1715int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews(GDALRasterBandH);
1716int CPL_DLL CPL_STDCALL GDALGetOverviewCount(GDALRasterBandH);
1717GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview(GDALRasterBandH, int);
1718double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue(GDALRasterBandH, int *);
1719int64_t CPL_DLL CPL_STDCALL GDALGetRasterNoDataValueAsInt64(GDALRasterBandH,
1720 int *);
1721uint64_t CPL_DLL CPL_STDCALL GDALGetRasterNoDataValueAsUInt64(GDALRasterBandH,
1722 int *);
1723CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue(GDALRasterBandH, double);
1725 int64_t);
1727 uint64_t);
1729char CPL_DLL **CPL_STDCALL GDALGetRasterCategoryNames(GDALRasterBandH);
1731 CSLConstList);
1732double CPL_DLL CPL_STDCALL GDALGetRasterMinimum(GDALRasterBandH,
1733 int *pbSuccess);
1734double CPL_DLL CPL_STDCALL GDALGetRasterMaximum(GDALRasterBandH,
1735 int *pbSuccess);
1736CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
1737 GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax,
1738 double *pdfMean, double *pdfStdDev);
1739CPLErr CPL_DLL CPL_STDCALL
1740GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin,
1741 double *pdfMax, double *pdfMean, double *pdfStdDev,
1742 GDALProgressFunc pfnProgress, void *pProgressData);
1743CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(GDALRasterBandH hBand,
1744 double dfMin, double dfMax,
1745 double dfMean,
1746 double dfStdDev);
1747
1750
1751const char CPL_DLL *CPL_STDCALL GDALGetRasterUnitType(GDALRasterBandH);
1752CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType(GDALRasterBandH hBand,
1753 const char *pszNewValue);
1754double CPL_DLL CPL_STDCALL GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess);
1755CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset(GDALRasterBandH hBand,
1756 double dfNewOffset);
1757double CPL_DLL CPL_STDCALL GDALGetRasterScale(GDALRasterBandH, int *pbSuccess);
1758CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale(GDALRasterBandH hBand,
1759 double dfNewOffset);
1760CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterMinMax(GDALRasterBandH hBand,
1761 int bApproxOK,
1762 double adfMinMax[2]);
1764 double *pdfMin, double *pdfMax,
1765 int *pnMinX, int *pnMinY,
1766 int *pnMaxX, int *pnMaxY);
1767CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache(GDALRasterBandH hBand);
1768CPLErr CPL_DLL CPL_STDCALL GDALDropRasterCache(GDALRasterBandH hBand);
1769CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram(
1770 GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets,
1771 int *panHistogram, int bIncludeOutOfRange, int bApproxOK,
1772 GDALProgressFunc pfnProgress, void *pProgressData)
1774 CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead")
1776 ;
1777CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx(
1778 GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets,
1779 GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK,
1780 GDALProgressFunc pfnProgress, void *pProgressData);
1781CPLErr CPL_DLL CPL_STDCALL
1782GDALGetDefaultHistogram(GDALRasterBandH hBand, double *pdfMin, double *pdfMax,
1783 int *pnBuckets, int **ppanHistogram, int bForce,
1784 GDALProgressFunc pfnProgress, void *pProgressData)
1786 CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead")
1788 ;
1789CPLErr CPL_DLL CPL_STDCALL
1790GDALGetDefaultHistogramEx(GDALRasterBandH hBand, double *pdfMin, double *pdfMax,
1791 int *pnBuckets, GUIntBig **ppanHistogram, int bForce,
1792 GDALProgressFunc pfnProgress, void *pProgressData);
1793CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram(GDALRasterBandH hBand,
1794 double dfMin, double dfMax,
1795 int nBuckets,
1796 int *panHistogram)
1798 CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
1800 ;
1801CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx(GDALRasterBandH hBand,
1802 double dfMin, double dfMax,
1803 int nBuckets,
1804 GUIntBig *panHistogram);
1805int CPL_DLL CPL_STDCALL GDALGetRandomRasterSample(GDALRasterBandH, int,
1806 float *);
1808 int);
1809GDALRasterBandH CPL_DLL CPL_STDCALL
1811CPLErr CPL_DLL CPL_STDCALL GDALFillRaster(GDALRasterBandH hBand,
1812 double dfRealValue,
1813 double dfImaginaryValue);
1814CPLErr CPL_DLL CPL_STDCALL GDALComputeBandStats(
1815 GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev,
1816 GDALProgressFunc pfnProgress, void *pProgressData);
1818 int nOverviewCount,
1819 GDALRasterBandH *pahOverviews,
1820 GDALProgressFunc pfnProgress,
1821 void *pProgressData);
1822
1823GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1825CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT(GDALRasterBandH,
1827CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc(
1828 const char *pszName, GDALDerivedPixelFunc pfnPixelFunc);
1830 const char *pszName, GDALDerivedPixelFuncWithArgs pfnPixelFunc,
1831 const char *pszMetadata);
1832
1834 double dfPixel, double dfLine,
1835 GDALRIOResampleAlg eInterpolation,
1836 double *pdfRealValue,
1837 double *pdfImagValue);
1838
1840 GDALRasterBandH hBand, double dfGeolocX, double dfGeolocY,
1841 OGRSpatialReferenceH hSRS, GDALRIOResampleAlg eInterpolation,
1842 double *pdfRealValue, double *pdfImagValue,
1843 CSLConstList papszTransformerOptions);
1844
1848
1888 const char *pszFuncName, void *pUserData, CSLConstList papszFunctionArgs,
1889 int nInBands, GDALDataType eInDT, double *padfInNoData, int *pnOutBands,
1890 GDALDataType *peOutDT, double **ppadfOutNoData, const char *pszVRTPath,
1891 VRTPDWorkingDataPtr *ppWorkingData);
1892
1903 const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData);
1904
1936 const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData,
1937 CSLConstList papszFunctionArgs, int nBufXSize, int nBufYSize,
1938 const void *pInBuffer, size_t nInBufferSize, GDALDataType eInDT,
1939 int nInBands, const double *padfInNoData, void *pOutBuffer,
1940 size_t nOutBufferSize, GDALDataType eOutDT, int nOutBands,
1941 const double *padfOutNoData, double dfSrcXOff, double dfSrcYOff,
1942 double dfSrcXSize, double dfSrcYSize, const double adfSrcGT[/*6*/],
1943 const char *pszVRTPath, CSLConstList papszExtra);
1944
1946 const char *pszFuncName, void *pUserData, const char *pszXMLMetadata,
1947 GDALDataType eRequestedInputDT, const GDALDataType *paeSupportedInputDT,
1948 size_t nSupportedInputDTSize, const int *panSupportedInputBandCount,
1949 size_t nSupportedInputBandCountSize,
1952 GDALVRTProcessedDatasetFuncProcess pfnProcess, CSLConstList papszOptions);
1953
1954GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand(GDALRasterBandH hBand);
1955int CPL_DLL CPL_STDCALL GDALGetMaskFlags(GDALRasterBandH hBand);
1956CPLErr CPL_DLL CPL_STDCALL GDALCreateMaskBand(GDALRasterBandH hBand,
1957 int nFlags);
1958bool CPL_DLL GDALIsMaskBand(GDALRasterBandH hBand);
1959
1961#define GMF_ALL_VALID 0x01
1964#define GMF_PER_DATASET 0x02
1967#define GMF_ALPHA 0x04
1970#define GMF_NODATA 0x08
1971
1975#define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
1976
1981#define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
1982
1988#define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
1989
1990int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus(GDALRasterBandH hBand,
1991 int nXOff, int nYOff,
1992 int nXSize, int nYSize,
1993 int nMaskFlagStop,
1994 double *pdfDataPct);
1995
1997
2012
2014 GDALRasterBandH hBand,
2016
2047
2053 double constant) CPL_WARN_UNUSED_RESULT;
2055 double constant, GDALRasterAlgebraBinaryOperation eOp,
2057
2061
2064
2066 size_t nBandCount, GDALRasterBandH *pahBands) CPL_WARN_UNUSED_RESULT;
2068 GDALRasterBandH hBand, double dfConstant) CPL_WARN_UNUSED_RESULT;
2070 size_t nBandCount, GDALRasterBandH *pahBands) CPL_WARN_UNUSED_RESULT;
2072 GDALRasterBandH hBand, double dfConstant) CPL_WARN_UNUSED_RESULT;
2074 size_t nBandCount, GDALRasterBandH *pahBands) CPL_WARN_UNUSED_RESULT;
2075
2076/* ==================================================================== */
2077/* GDALAsyncReader */
2078/* ==================================================================== */
2079
2081 GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff,
2082 int *pnXBufSize, int *pnYBufSize);
2083int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
2084 double dfTimeout);
2085void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
2086
2087/* -------------------------------------------------------------------- */
2088/* Helper functions. */
2089/* -------------------------------------------------------------------- */
2090int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor(int nArgc,
2091 char ***ppapszArgv,
2092 int nOptions);
2093void CPL_DLL CPL_STDCALL GDALSwapWords(void *pData, int nWordSize,
2094 int nWordCount, int nWordSkip);
2095void CPL_DLL CPL_STDCALL GDALSwapWordsEx(void *pData, int nWordSize,
2096 size_t nWordCount, int nWordSkip);
2097
2098void CPL_DLL CPL_STDCALL GDALCopyWords(const void *CPL_RESTRICT pSrcData,
2099 GDALDataType eSrcType,
2100 int nSrcPixelOffset,
2101 void *CPL_RESTRICT pDstData,
2102 GDALDataType eDstType,
2103 int nDstPixelOffset, int nWordCount);
2104
2105void CPL_DLL CPL_STDCALL GDALCopyWords64(
2106 const void *CPL_RESTRICT pSrcData, GDALDataType eSrcType,
2107 int nSrcPixelOffset, void *CPL_RESTRICT pDstData, GDALDataType eDstType,
2108 int nDstPixelOffset, GPtrDiff_t nWordCount);
2109
2110void CPL_DLL GDALCopyBits(const GByte *pabySrcData, int nSrcOffset,
2111 int nSrcStep, GByte *pabyDstData, int nDstOffset,
2112 int nDstStep, int nBitCount, int nStepCount);
2113
2114void CPL_DLL GDALDeinterleave(const void *pSourceBuffer, GDALDataType eSourceDT,
2115 int nComponents, void **ppDestBuffer,
2116 GDALDataType eDestDT, size_t nIters);
2117
2118void CPL_DLL GDALTranspose2D(const void *pSrc, GDALDataType eSrcType,
2119 void *pDst, GDALDataType eDstType,
2120 size_t nSrcWidth, size_t nSrcHeight);
2121
2122double CPL_DLL GDALGetNoDataReplacementValue(GDALDataType, double);
2123
2124int CPL_DLL CPL_STDCALL GDALLoadWorldFile(const char *, double *);
2125int CPL_DLL CPL_STDCALL GDALReadWorldFile(const char *, const char *, double *);
2126int CPL_DLL CPL_STDCALL GDALWriteWorldFile(const char *, const char *,
2127 double *);
2128int CPL_DLL CPL_STDCALL GDALLoadTabFile(const char *, double *, char **, int *,
2129 GDAL_GCP **);
2130int CPL_DLL CPL_STDCALL GDALReadTabFile(const char *, double *, char **, int *,
2131 GDAL_GCP **);
2132int CPL_DLL CPL_STDCALL GDALLoadOziMapFile(const char *, double *, char **,
2133 int *, GDAL_GCP **);
2134int CPL_DLL CPL_STDCALL GDALReadOziMapFile(const char *, double *, char **,
2135 int *, GDAL_GCP **);
2136
2137const char CPL_DLL *CPL_STDCALL GDALDecToDMS(double, const char *, int);
2138double CPL_DLL CPL_STDCALL GDALPackedDMSToDec(double);
2139double CPL_DLL CPL_STDCALL GDALDecToPackedDMS(double);
2140
2141/* Note to developers : please keep this section in sync with ogr_core.h */
2142
2143#ifndef GDAL_VERSION_INFO_DEFINED
2144#ifndef DOXYGEN_SKIP
2145#define GDAL_VERSION_INFO_DEFINED
2146#endif
2147const char CPL_DLL *CPL_STDCALL GDALVersionInfo(const char *);
2148#endif
2149
2150#ifndef GDAL_CHECK_VERSION
2151
2152int CPL_DLL CPL_STDCALL GDALCheckVersion(int nVersionMajor, int nVersionMinor,
2153 const char *pszCallingComponentName);
2154
2158#define GDAL_CHECK_VERSION(pszCallingComponentName) \
2159 GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, \
2160 pszCallingComponentName)
2161
2162#endif
2163
2165#ifdef GDAL_COMPILATION
2166#define GDALExtractRPCInfoV1 GDALExtractRPCInfo
2167#else
2168#define GDALRPCInfo GDALRPCInfoV2
2169#define GDALExtractRPCInfo GDALExtractRPCInfoV2
2170#endif
2171
2172/* Deprecated: use GDALRPCInfoV2 */
2173typedef struct
2174{
2175 double dfLINE_OFF;
2176 double dfSAMP_OFF;
2177 double dfLAT_OFF;
2178 double dfLONG_OFF;
2179 double dfHEIGHT_OFF;
2181 double dfLINE_SCALE;
2182 double dfSAMP_SCALE;
2183 double dfLAT_SCALE;
2184 double dfLONG_SCALE;
2185 double dfHEIGHT_SCALE;
2187 double adfLINE_NUM_COEFF[20];
2188 double adfLINE_DEN_COEFF[20];
2189 double adfSAMP_NUM_COEFF[20];
2190 double adfSAMP_DEN_COEFF[20];
2192 double dfMIN_LONG;
2193 double dfMIN_LAT;
2194 double dfMAX_LONG;
2195 double dfMAX_LAT;
2196} GDALRPCInfoV1;
2197
2202typedef struct
2203{
2204 double dfLINE_OFF;
2205 double dfSAMP_OFF;
2206 double dfLAT_OFF;
2207 double dfLONG_OFF;
2216 double adfLINE_NUM_COEFF[20];
2217 double adfLINE_DEN_COEFF[20];
2218 double adfSAMP_NUM_COEFF[20];
2219 double adfSAMP_DEN_COEFF[20];
2221 double dfMIN_LONG;
2222 double dfMIN_LAT;
2223 double dfMAX_LONG;
2224 double dfMAX_LAT;
2226 /* Those fields should be at the end. And all above fields should be the
2227 * same as in GDALRPCInfoV1 */
2228 double dfERR_BIAS;
2229 double dfERR_RAND;
2231
2233int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV1(CSLConstList, GDALRPCInfoV1 *);
2235int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *);
2236
2237/* ==================================================================== */
2238/* Color tables. */
2239/* ==================================================================== */
2240
2242typedef struct
2243{
2245 short c1;
2246
2248 short c2;
2249
2251 short c3;
2252
2254 short c4;
2256
2259void CPL_DLL CPL_STDCALL GDALDestroyColorTable(GDALColorTableH);
2262 CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation(GDALColorTableH);
2263int CPL_DLL CPL_STDCALL GDALGetColorEntryCount(GDALColorTableH);
2264const GDALColorEntry CPL_DLL *CPL_STDCALL GDALGetColorEntry(GDALColorTableH,
2265 int);
2266int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB(GDALColorTableH, int,
2267 GDALColorEntry *);
2268void CPL_DLL CPL_STDCALL GDALSetColorEntry(GDALColorTableH, int,
2269 const GDALColorEntry *);
2270void CPL_DLL CPL_STDCALL GDALCreateColorRamp(GDALColorTableH hTable,
2271 int nStartIndex,
2272 const GDALColorEntry *psStartColor,
2273 int nEndIndex,
2274 const GDALColorEntry *psEndColor);
2275
2276/* ==================================================================== */
2277/* Raster Attribute Table */
2278/* ==================================================================== */
2279
2290
2292#define GFT_MaxCount (GFT_WKBGeometry + 1)
2293
2317
2325
2326GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
2328
2329void CPL_DLL CPL_STDCALL
2331
2332int CPL_DLL CPL_STDCALL GDALRATGetColumnCount(GDALRasterAttributeTableH);
2333
2334const char CPL_DLL *CPL_STDCALL GDALRATGetNameOfCol(GDALRasterAttributeTableH,
2335 int);
2336GDALRATFieldUsage CPL_DLL CPL_STDCALL
2338GDALRATFieldType CPL_DLL CPL_STDCALL
2340
2341const char CPL_DLL *GDALGetRATFieldTypeName(GDALRATFieldType);
2342const char CPL_DLL *GDALGetRATFieldUsageName(GDALRATFieldUsage);
2343
2344int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage(GDALRasterAttributeTableH,
2346int CPL_DLL CPL_STDCALL GDALRATGetRowCount(GDALRasterAttributeTableH);
2347
2348const char CPL_DLL *CPL_STDCALL
2350int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(GDALRasterAttributeTableH,
2351 int iRow, int iField);
2352double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(GDALRasterAttributeTableH,
2353 int iRow, int iField);
2355 int iField);
2356
2357#ifdef __cplusplus
2358extern "C++"
2359{
2360#endif
2361
2367 {
int nYear; int nMonth; int nDay; int nHour; int nMinute; float fSecond; int nTimeZoneHour; int nTimeZoneMinute; bool bPositiveTimeZone; bool bIsValid;
2378
2379#ifdef __cplusplus
2381 : nYear(0), nMonth(0), nDay(0), nHour(0), nMinute(0), fSecond(0),
2383 bIsValid(false)
2384 {
2385 }
2386#endif
2387 };
2388
2389#ifdef __cplusplus
2390}
2391#endif
2392
2394typedef struct GDALRATDateTime GDALRATDateTime;
2398 int iField,
2399 GDALRATDateTime *psDateTime);
2401 int iRow, int iField,
2402 size_t *pnWKBSize);
2403
2404void CPL_DLL CPL_STDCALL GDALRATSetValueAsString(GDALRasterAttributeTableH,
2405 int iRow, int iField,
2406 const char *);
2407void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt(GDALRasterAttributeTableH,
2408 int iRow, int iField, int);
2409void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble(GDALRasterAttributeTableH,
2410 int iRow, int iField, double);
2412 int iField, bool);
2414 int iField,
2415 const GDALRATDateTime *psDateTime);
2417 int iField, const void *pabyWKB,
2418 size_t nWKBSize);
2419
2420int CPL_DLL CPL_STDCALL
2422
2423CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble(
2424 GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField,
2425 int iStartRow, int iLength, double *pdfData);
2426CPLErr CPL_DLL CPL_STDCALL
2428 int iField, int iStartRow, int iLength, int *pnData);
2429CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString(
2430 GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField,
2431 int iStartRow, int iLength, char **papszStrList);
2433 GDALRWFlag eRWFlag, int iField,
2434 int iStartRow, int iLength,
2435 bool *pbData);
2437 GDALRWFlag eRWFlag, int iField,
2438 int iStartRow, int iLength,
2439 GDALRATDateTime *pasDateTime);
2441 GDALRWFlag eRWFlag, int iField,
2442 int iStartRow, int iLength,
2443 GByte **ppabyWKB,
2444 size_t *pnWKBSize);
2445
2446void CPL_DLL CPL_STDCALL GDALRATSetRowCount(GDALRasterAttributeTableH, int);
2448 const char *, GDALRATFieldType,
2451 double, double);
2453 double *, double *);
2454CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType(
2455 GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType);
2456GDALRATTableType CPL_DLL CPL_STDCALL
2458CPLErr CPL_DLL CPL_STDCALL
2460GDALColorTableH CPL_DLL CPL_STDCALL
2462void CPL_DLL CPL_STDCALL GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *);
2463GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
2465
2466void CPL_DLL *CPL_STDCALL GDALRATSerializeJSON(GDALRasterAttributeTableH)
2468
2469int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue(GDALRasterAttributeTableH, double);
2470void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics(GDALRasterAttributeTableH);
2471
2472/* -------------------------------------------------------------------- */
2473/* Relationships */
2474/* -------------------------------------------------------------------- */
2475
2491
2505
2506GDALRelationshipH CPL_DLL GDALRelationshipCreate(const char *, const char *,
2507 const char *,
2509void CPL_DLL CPL_STDCALL GDALDestroyRelationship(GDALRelationshipH);
2510const char CPL_DLL *GDALRelationshipGetName(GDALRelationshipH);
2517 const char *);
2521 CSLConstList);
2523 CSLConstList);
2527 CSLConstList);
2529 CSLConstList);
2534 const char *);
2537 const char *);
2540 const char *);
2541
2542/* ==================================================================== */
2543/* GDAL Cache Management */
2544/* ==================================================================== */
2545
2546void CPL_DLL CPL_STDCALL GDALSetCacheMax(int nBytes);
2547int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
2548int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
2549void CPL_DLL CPL_STDCALL GDALSetCacheMax64(GIntBig nBytes);
2550GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
2551GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
2552
2553int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
2554
2555/* ==================================================================== */
2556/* GDAL virtual memory */
2557/* ==================================================================== */
2558
2560 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2561 int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType,
2562 int nBandCount, int *panBandMap, int nPixelSpace, GIntBig nLineSpace,
2563 GIntBig nBandSpace, size_t nCacheSize, size_t nPageSizeHint,
2564 int bSingleThreadUsage, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2565
2567 GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2568 int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType,
2569 int nPixelSpace, GIntBig nLineSpace, size_t nCacheSize,
2570 size_t nPageSizeHint, int bSingleThreadUsage,
2572
2573CPLVirtualMem CPL_DLL *
2575 int *pnPixelSpace, GIntBig *pnLineSpace,
2577
2592
2594 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2595 int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType,
2596 int nBandCount, int *panBandMap, GDALTileOrganization eTileOrganization,
2597 size_t nCacheSize, int bSingleThreadUsage,
2599
2601 GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2602 int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType,
2603 size_t nCacheSize, int bSingleThreadUsage,
2605
2606/* ==================================================================== */
2607/* VRTPansharpenedDataset class. */
2608/* ==================================================================== */
2609
2611 const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands,
2612 GDALRasterBandH *pahInputSpectralBands) CPL_WARN_UNUSED_RESULT;
2613
2614/* =================================================================== */
2615/* Misc API */
2616/* ==================================================================== */
2617
2618CPLXMLNode CPL_DLL *
2619GDALGetJPEG2000Structure(const char *pszFilename,
2621
2622/* ==================================================================== */
2623/* Multidimensional API_api */
2624/* ==================================================================== */
2625
2626GDALDatasetH CPL_DLL
2627GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName,
2628 CSLConstList papszRootGroupOptions,
2630
2634 size_t nMaxStringLength) CPL_WARN_UNUSED_RESULT;
2636 size_t nMaxStringLength,
2639 const char *pszName, size_t nTotalSize, size_t nComponents,
2642const char CPL_DLL *GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT);
2645GDALDataType CPL_DLL
2648size_t CPL_DLL
2650GDALEDTComponentH CPL_DLL *
2652 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2654 size_t nCount);
2656 GDALExtendedDataTypeH hTargetEDT);
2658 GDALExtendedDataTypeH hSecondEDT);
2663
2664GDALEDTComponentH CPL_DLL
2665GDALEDTComponentCreate(const char *pszName, size_t nOffset,
2667void CPL_DLL GDALEDTComponentRelease(GDALEDTComponentH hComp);
2668const char CPL_DLL *GDALEDTComponentGetName(GDALEDTComponentH hComp);
2669size_t CPL_DLL GDALEDTComponentGetOffset(GDALEDTComponentH hComp);
2672
2675void CPL_DLL GDALGroupRelease(GDALGroupH hGroup);
2676const char CPL_DLL *GDALGroupGetName(GDALGroupH hGroup);
2677const char CPL_DLL *GDALGroupGetFullName(GDALGroupH hGroup);
2678char CPL_DLL **
2682 GDALGroupH hGroup, CSLConstList papszGroupOptions,
2683 CSLConstList papszArrayOptions) CPL_WARN_UNUSED_RESULT;
2684GDALMDArrayH CPL_DLL
2685GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName,
2688 GDALGroupH hGroup, const char *pszMDArrayName,
2691 GDALGroupH hGroup, const char *pszName, const char *pszStartingPoint,
2693char CPL_DLL **
2696GDALGroupH CPL_DLL
2697GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName,
2700 GDALGroupH hGroup, const char *pszMDArrayName,
2702char CPL_DLL **
2705OGRLayerH CPL_DLL
2706GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName,
2708GDALDimensionH CPL_DLL *
2709GDALGroupGetDimensions(GDALGroupH hGroup, size_t *pnCount,
2712 GDALGroupH hGroup, const char *pszName) CPL_WARN_UNUSED_RESULT;
2713GDALAttributeH CPL_DLL *
2714GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount,
2717GDALGroupH CPL_DLL
2718GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName,
2720bool CPL_DLL GDALGroupDeleteGroup(GDALGroupH hGroup, const char *pszName,
2721 CSLConstList papszOptions);
2723 GDALGroupH hGroup, const char *pszName, const char *pszType,
2724 const char *pszDirection, GUInt64 nSize,
2727 GDALGroupH hGroup, const char *pszName, size_t nDimensions,
2728 GDALDimensionH *pahDimensions, GDALExtendedDataTypeH hEDT,
2730bool CPL_DLL GDALGroupDeleteMDArray(GDALGroupH hGroup, const char *pszName,
2731 CSLConstList papszOptions);
2733 GDALGroupH hGroup, const char *pszName, size_t nDimensions,
2734 const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT,
2736bool CPL_DLL GDALGroupDeleteAttribute(GDALGroupH hGroup, const char *pszName,
2737 CSLConstList papszOptions);
2738bool CPL_DLL GDALGroupRename(GDALGroupH hGroup, const char *pszNewName);
2740 GDALGroupH hGroup, const char *pszSelection, CSLConstList papszOptions);
2741size_t CPL_DLL GDALGroupGetDataTypeCount(GDALGroupH hGroup);
2743 size_t nIdx);
2744
2745void CPL_DLL GDALMDArrayRelease(GDALMDArrayH hMDArray);
2746const char CPL_DLL *GDALMDArrayGetName(GDALMDArrayH hArray);
2747const char CPL_DLL *GDALMDArrayGetFullName(GDALMDArrayH hArray);
2749size_t CPL_DLL GDALMDArrayGetDimensionCount(GDALMDArrayH hArray);
2750GDALDimensionH CPL_DLL *
2752 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2755int CPL_DLL GDALMDArrayRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx,
2756 const size_t *count, const GInt64 *arrayStep,
2757 const GPtrDiff_t *bufferStride,
2758 GDALExtendedDataTypeH bufferDatatype,
2759 void *pDstBuffer, const void *pDstBufferAllocStart,
2760 size_t nDstBufferllocSize);
2761int CPL_DLL GDALMDArrayWrite(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx,
2762 const size_t *count, const GInt64 *arrayStep,
2763 const GPtrDiff_t *bufferStride,
2764 GDALExtendedDataTypeH bufferDatatype,
2765 const void *pSrcBuffer,
2766 const void *psrcBufferAllocStart,
2767 size_t nSrcBufferllocSize);
2768int CPL_DLL GDALMDArrayAdviseRead(GDALMDArrayH hArray,
2769 const GUInt64 *arrayStartIdx,
2770 const size_t *count);
2771int CPL_DLL GDALMDArrayAdviseReadEx(GDALMDArrayH hArray,
2772 const GUInt64 *arrayStartIdx,
2773 const size_t *count,
2774 CSLConstList papszOptions);
2776 GDALMDArrayH hArray, const char *pszName) CPL_WARN_UNUSED_RESULT;
2777GDALAttributeH CPL_DLL *
2778GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount,
2781 GDALMDArrayH hArray, const char *pszName, size_t nDimensions,
2782 const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT,
2784bool CPL_DLL GDALMDArrayDeleteAttribute(GDALMDArrayH hArray,
2785 const char *pszName,
2786 CSLConstList papszOptions);
2787bool CPL_DLL GDALMDArrayResize(GDALMDArrayH hArray,
2788 const GUInt64 *panNewDimSizes,
2789 CSLConstList papszOptions);
2790const void CPL_DLL *GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray);
2792 int *pbHasNoDataValue);
2793int64_t CPL_DLL GDALMDArrayGetNoDataValueAsInt64(GDALMDArrayH hArray,
2794 int *pbHasNoDataValue);
2795uint64_t CPL_DLL GDALMDArrayGetNoDataValueAsUInt64(GDALMDArrayH hArray,
2796 int *pbHasNoDataValue);
2797int CPL_DLL GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *);
2799 double dfNoDataValue);
2801 int64_t nNoDataValue);
2803 uint64_t nNoDataValue);
2804int CPL_DLL GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale);
2805int CPL_DLL GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale,
2806 GDALDataType eStorageType);
2807double CPL_DLL GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue);
2808double CPL_DLL GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue,
2809 GDALDataType *peStorageType);
2810int CPL_DLL GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset);
2811int CPL_DLL GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset,
2812 GDALDataType eStorageType);
2813double CPL_DLL GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue);
2814double CPL_DLL GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue,
2815 GDALDataType *peStorageType);
2816GUInt64 CPL_DLL *GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount);
2817int CPL_DLL GDALMDArraySetUnit(GDALMDArrayH hArray, const char *);
2818const char CPL_DLL *GDALMDArrayGetUnit(GDALMDArrayH hArray);
2821size_t CPL_DLL *GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray,
2822 size_t *pnCount,
2823 size_t nMaxChunkMemory);
2826 const char *pszViewExpr);
2828 size_t nNewAxisCount,
2829 const int *panMapNewAxisToOldAxis);
2832 CSLConstList papszOptions);
2834 size_t iXDim, size_t iYDim);
2836 size_t iXDim, size_t iYDim,
2837 GDALGroupH hRootGroup,
2838 CSLConstList papszOptions);
2840 GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, int bForce,
2841 double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
2842 GUInt64 *pnValidCount, GDALProgressFunc pfnProgress, void *pProgressData);
2844 int bApproxOK, double *pdfMin,
2845 double *pdfMax, double *pdfMean,
2846 double *pdfStdDev,
2847 GUInt64 *pnValidCount,
2848 GDALProgressFunc, void *pProgressData);
2850 GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, double *pdfMin,
2851 double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount,
2852 GDALProgressFunc, void *pProgressData, CSLConstList papszOptions);
2854 size_t nNewDimCount,
2855 const GDALDimensionH *pahNewDims,
2856 GDALRIOResampleAlg resampleAlg,
2857 OGRSpatialReferenceH hTargetSRS,
2858 CSLConstList papszOptions);
2860 GDALMDArrayH hArray, const char *pszGridOptions, GDALMDArrayH hXArray,
2861 GDALMDArrayH hYArray, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2862
2863GDALMDArrayH CPL_DLL *
2865 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2866
2867GDALMDArrayH CPL_DLL *
2868GDALMDArrayGetMeshGrid(const GDALMDArrayH *pahInputArrays,
2869 size_t nCountInputArrays, size_t *pnCountOutputArrays,
2871
2872#ifdef __cplusplus
2873extern "C++"
2874{
2875#endif
2876
2881 struct
2882#ifdef __cplusplus
2883 CPL_DLL
2884#endif
2886 {
2890 uint64_t nOffset;
2892 uint64_t nSize;
2904
2905#ifdef __cplusplus
2908 : pszFilename(nullptr), nOffset(0), nSize(0), papszInfo(nullptr),
2909 pabyInlineData(nullptr)
2910 {
2911 }
2912
2914
2915 void clear();
2916
2922#endif
2923 };
2924
2925#ifdef __cplusplus
2926}
2927#endif
2928
2934void CPL_DLL
2936bool CPL_DLL GDALMDArrayGetRawBlockInfo(GDALMDArrayH hArray,
2937 const uint64_t *panBlockCoordinates,
2938 GDALMDArrayRawBlockInfo *psBlockInfo);
2939
2940int CPL_DLL GDALMDArrayGetOverviewCount(GDALMDArrayH hArray);
2941GDALMDArrayH CPL_DLL GDALMDArrayGetOverview(GDALMDArrayH hArray, int nIdx);
2943 GDALMDArrayH hArray, const char *pszResampling, int nOverviews,
2944 const int *panOverviewList, GDALProgressFunc pfnProgress,
2945 void *pProgressData, CSLConstList papszOptions);
2946
2947void CPL_DLL GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount);
2948int CPL_DLL GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions);
2949bool CPL_DLL GDALMDArrayRename(GDALMDArrayH hArray, const char *pszNewName);
2950
2952 GDALRATTableType eTableType, int nArrays, const GDALMDArrayH *ahArrays,
2953 const GDALRATFieldUsage *paeUsages);
2954
2955void CPL_DLL GDALAttributeRelease(GDALAttributeH hAttr);
2956void CPL_DLL GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount);
2957const char CPL_DLL *GDALAttributeGetName(GDALAttributeH hAttr);
2958const char CPL_DLL *GDALAttributeGetFullName(GDALAttributeH hAttr);
2961GUInt64 CPL_DLL *
2963 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2967 size_t *pnSize) CPL_WARN_UNUSED_RESULT;
2968void CPL_DLL GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw,
2969 size_t nSize);
2970const char CPL_DLL *GDALAttributeReadAsString(GDALAttributeH hAttr);
2971int CPL_DLL GDALAttributeReadAsInt(GDALAttributeH hAttr);
2972int64_t CPL_DLL GDALAttributeReadAsInt64(GDALAttributeH hAttr);
2973double CPL_DLL GDALAttributeReadAsDouble(GDALAttributeH hAttr);
2974char CPL_DLL **
2976int CPL_DLL *GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
2978int64_t CPL_DLL *
2980 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2981double CPL_DLL *
2983 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2984int CPL_DLL GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t);
2985int CPL_DLL GDALAttributeWriteString(GDALAttributeH hAttr, const char *);
2987int CPL_DLL GDALAttributeWriteInt(GDALAttributeH hAttr, int);
2988int CPL_DLL GDALAttributeWriteIntArray(GDALAttributeH hAttr, const int *,
2989 size_t);
2990int CPL_DLL GDALAttributeWriteInt64(GDALAttributeH hAttr, int64_t);
2991int CPL_DLL GDALAttributeWriteInt64Array(GDALAttributeH hAttr, const int64_t *,
2992 size_t);
2993int CPL_DLL GDALAttributeWriteDouble(GDALAttributeH hAttr, double);
2994int CPL_DLL GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *,
2995 size_t);
2996bool CPL_DLL GDALAttributeRename(GDALAttributeH hAttr, const char *pszNewName);
2997
2998void CPL_DLL GDALDimensionRelease(GDALDimensionH hDim);
2999void CPL_DLL GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount);
3000const char CPL_DLL *GDALDimensionGetName(GDALDimensionH hDim);
3001const char CPL_DLL *GDALDimensionGetFullName(GDALDimensionH hDim);
3002const char CPL_DLL *GDALDimensionGetType(GDALDimensionH hDim);
3003const char CPL_DLL *GDALDimensionGetDirection(GDALDimensionH hDim);
3008 GDALMDArrayH hArray);
3009bool CPL_DLL GDALDimensionRename(GDALDimensionH hDim, const char *pszNewName);
3010
3012
3013#endif /* ndef GDAL_H_INCLUDED */
Simple container for a bounding region (rectangle)
Definition ogr_core.h:44
CPL error handling services.
CPLErr
Error category / error level.
Definition cpl_error.h:45
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:236
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition cpl_port.h:1081
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition cpl_port.h:198
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:279
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:275
GIntBig GInt64
Signed 64 bit integer type.
Definition cpl_port.h:216
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1252
GUIntBig GUInt64
Unsigned 64 bit integer type.
Definition cpl_port.h:218
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition cpl_port.h:1035
unsigned char GByte
Unsigned byte type.
Definition cpl_port.h:165
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition cpl_port.h:195
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:412
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition gdalrasterband.cpp:3409
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:13265
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition gdaldriver.cpp:2155
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all dataset raster data.
Definition rasterio.cpp:5609
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:1541
GDALRATTableType
RAT table type (thematic or athematic)
Definition gdal.h:2321
@ GRTT_THEMATIC
Definition gdal.h:2322
@ GRTT_ATHEMATIC
Definition gdal.h:2323
const char * GDALEDTComponentGetName(GDALEDTComponentH hComp)
Return the name.
Definition gdalmultidim_c_api_extended_data_type.cpp:385
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:2814
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:1175
const char * GDALGroupGetFullName(GDALGroupH hGroup)
Return the full name of the group.
Definition gdalmultidim_c_api_group.cpp:59
int GDALAttributeWriteInt64Array(GDALAttributeH hAttr, const int64_t *, size_t)
Write an attribute from an array of int64_t.
Definition gdalmultidim_c_api_attribute.cpp:569
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:3764
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:5464
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *)
Write a block of image data efficiently.
Definition gdalrasterband.cpp:1296
int GDALAttributeWriteIntArray(GDALAttributeH hAttr, const int *, size_t)
Write an attribute from an array of int.
Definition gdalmultidim_c_api_attribute.cpp:544
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:2383
int GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *)
Set the nodata value as a "raw" value.
Definition gdalmultidim_c_api_array.cpp:461
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition gdal_misc.cpp:426
void GDALDatasetClearStatistics(GDALDatasetH hDS)
Clear statistics.
Definition gdaldataset.cpp:10151
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:5608
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition gdal_misc.cpp:1538
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:1764
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:13117
void GDALDeinterleave(const void *pSourceBuffer, GDALDataType eSourceDT, int nComponents, void **ppDestBuffer, GDALDataType eDestDT, size_t nIters)
Definition rasterio.cpp:6726
GDALMDArrayH GDALRasterBandAsMDArray(GDALRasterBandH)
Return a view of this raster band as a 2D multidimensional GDALMDArray.
Definition gdalrasterband.cpp:10817
bool GDALGroupDeleteGroup(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete a sub-group from a group.
Definition gdalmultidim_c_api_group.cpp:487
bool GDALDatasetAddFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Add a field domain to the dataset.
Definition gdaldataset.cpp:10314
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition gdaldataset.cpp:1844
GDALAttributeH GDALGroupGetAttribute(GDALGroupH hGroup, const char *pszName)
Return an attribute by its name.
Definition gdalmultidim_c_api_group.cpp:349
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:11010
const char * GDALDimensionGetDirection(GDALDimensionH hDim)
Return dimension direction.
Definition gdalmultidim_c_api_dimension.cpp:100
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_c_api_group.cpp:323
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_c_api_group.cpp:125
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition gdalrasterband.cpp:9786
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_c_api_array.cpp:934
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition gdaldataset.cpp:1587
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, const char *const *constpapszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy a whole raster band.
Definition rasterio.cpp:5937
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:2057
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_c_api_array.cpp:1367
GUInt64 GDALMDArrayGetTotalElementsCount(GDALMDArrayH hArray)
Return the total number of values in the array.
Definition gdalmultidim_c_api_array.cpp:69
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:1847
OGRSpatialReferenceH GDALGetSpatialRef(GDALDatasetH)
Fetch the spatial reference for this dataset.
Definition gdaldataset.cpp:1460
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition rasterio.cpp:2139
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_c_api_group.cpp:171
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition gdalrasterband.cpp:3366
int GDALAttributeWriteInt64(GDALAttributeH hAttr, int64_t)
Write an attribute from an int64_t value.
Definition gdalmultidim_c_api_attribute.cpp:475
void GDALAttributeRelease(GDALAttributeH hAttr)
Release the GDAL in-memory object associated with a GDALAttribute.
Definition gdalmultidim_c_api_attribute.cpp:27
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition gdalrasterband.cpp:1544
GDALMDArrayH GDALMDArrayGetView(GDALMDArrayH hArray, const char *pszViewExpr)
Return a view of the array using slicing or field access.
Definition gdalmultidim_c_api_array.cpp:836
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:2231
GDALPaletteInterp
Definition gdal.h:377
@ GPI_CMYK
Definition gdal.h:380
@ GPI_HLS
Definition gdal.h:381
@ GPI_Gray
Definition gdal.h:378
@ GPI_RGB
Definition gdal.h:379
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:4885
GDALRasterAlgebraUnaryOperation
Raster algebra unary operation.
Definition gdal.h:2000
@ GRAUO_ABS
Absolute value (module for complex data type)
Definition gdal.h:2004
@ GRAUO_LOG10
Logarithm base 10.
Definition gdal.h:2010
@ GRAUO_SQRT
Square root.
Definition gdal.h:2006
@ GRAUO_LOG
Natural logarithm (ln)
Definition gdal.h:2008
@ GRAUO_LOGICAL_NOT
Logical not.
Definition gdal.h:2002
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_c_api_dimension.cpp:27
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition gdaldataset.cpp:1285
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition gdalrasterband.cpp:3504
size_t GDALAttributeGetDimensionCount(GDALAttributeH hAttr)
Return the number of dimensions.
Definition gdalmultidim_c_api_attribute.cpp:105
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition gdalrasterband.cpp:5321
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_c_api_array.cpp:83
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:10392
char ** GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of multidimensional array names contained in this group.
Definition gdalmultidim_c_api_group.cpp:75
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition gdalrasterblock.cpp:295
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition gdaldataset.cpp:6091
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:13241
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:3608
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition gdaldataset.cpp:8735
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition gdalrasterband.cpp:3325
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition gdalcolortable.cpp:119
CSLConstList GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition gdalmajorobject.cpp:244
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition gdaldataset.cpp:3429
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition gdalrasterband.cpp:3896
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_c_api_attribute.cpp:245
GDALExtendedDataTypeH GDALExtendedDataTypeCreate(GDALDataType eType)
Return a new GDALExtendedDataType of class GEDTC_NUMERIC.
Definition gdalmultidim_c_api_extended_data_type.cpp:34
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:3329
GDALRATFieldUsage
Field usage of raster attribute table.
Definition gdal.h:2296
@ GFU_Min
Definition gdal.h:2300
@ GFU_AlphaMin
Definition gdal.h:2310
@ GFU_GreenMin
Definition gdal.h:2308
@ GFU_Red
Definition gdal.h:2303
@ GFU_Alpha
Definition gdal.h:2306
@ GFU_MaxCount
Definition gdal.h:2315
@ GFU_MinMax
Definition gdal.h:2302
@ GFU_RedMin
Definition gdal.h:2307
@ GFU_GreenMax
Definition gdal.h:2312
@ GFU_Name
Definition gdal.h:2299
@ GFU_BlueMax
Definition gdal.h:2313
@ GFU_BlueMin
Definition gdal.h:2309
@ GFU_RedMax
Definition gdal.h:2311
@ GFU_Green
Definition gdal.h:2304
@ GFU_Blue
Definition gdal.h:2305
@ GFU_AlphaMax
Definition gdal.h:2314
@ GFU_PixelCount
Definition gdal.h:2298
@ GFU_Generic
Definition gdal.h:2297
@ GFU_Max
Definition gdal.h:2301
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition gdalrasterband.cpp:3714
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:1249
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition gdalrasterband.cpp:2230
int64_t GDALMDArrayGetNoDataValueAsInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a Int64.
Definition gdalmultidim_c_api_array.cpp:413
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition gdal_misc.cpp:3815
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:2213
const void * GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray)
Return the nodata value as a "raw" value.
Definition gdalmultidim_c_api_array.cpp:361
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_c_api_array.cpp:177
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition gdaldataset.cpp:4850
void GDALExtendedDataTypeFreeComponents(GDALEDTComponentH *components, size_t nCount)
Free the return of GDALExtendedDataTypeGetComponents().
Definition gdalmultidim_c_api_extended_data_type.cpp:332
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition gdaldataset.cpp:2268
GByte * GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize)
Return the raw value of an attribute.
Definition gdalmultidim_c_api_attribute.cpp:168
CPLErr GDALDatasetRunCloseWithoutDestroying(GDALDatasetH hDS)
Run the Close() method, without running destruction of the object.
Definition gdaldataset.cpp:530
size_t GDALExtendedDataTypeGetSize(GDALExtendedDataTypeH hEDT)
Return data type size in bytes.
Definition gdalmultidim_c_api_extended_data_type.cpp:186
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition gdalrasterband.cpp:1477
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:512
int GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition gdal_misc.cpp:4485
GDALMDArrayH GDALGroupOpenMDArrayFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array from its fully qualified name.
Definition gdalmultidim_c_api_group.cpp:149
GDALMDArrayRawBlockInfo * GDALMDArrayRawBlockInfoCreate(void)
Allocate a new instance of GDALMDArrayRawBlockInfo.
Definition gdalmultidim_c_api_array.cpp:1498
bool GDALGroupDeleteAttribute(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete an attribute from a group.
Definition gdalmultidim_c_api_group.cpp:616
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:9931
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition gdalrasterband.cpp:9687
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_c_api_array.cpp:301
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_c_api_array.cpp:500
int GDALMDArraySetNoDataValueAsUInt64(GDALMDArrayH hArray, uint64_t nNoDataValue)
Set the nodata value as a UInt64.
Definition gdalmultidim_c_api_array.cpp:520
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition overview.cpp:6964
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:3210
bool GDALDatasetDeleteFieldDomain(GDALDatasetH hDS, const char *pszName, char **ppszFailureReason)
Removes a field domain from the dataset.
Definition gdaldataset.cpp:10391
void GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount)
Free the return of GDALGroupGetDimensions() or GDALMDArrayGetDimensions()
Definition gdalmultidim_c_api_dimension.cpp:41
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:11490
GDALDatasetH GDALOpenShared(const char *, GDALAccess)
Open a raster file as a GDALDataset.
Definition gdaldataset.cpp:4692
CPLErr GDALSetRasterNoDataValueAsInt64(GDALRasterBandH, int64_t)
Set the no data value for this band.
Definition gdalrasterband.cpp:2762
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:2207
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:2861
int GDALInvGeoTransform(const double *padfGeoTransformIn, double *padfInvGeoTransformOut)
Invert Geotransform.
Definition gdaltransformer.cpp:4562
GDALExtendedDataTypeH GDALExtendedDataTypeCreateStringEx(size_t nMaxStringLength, GDALExtendedDataTypeSubType eSubType)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition gdalmultidim_c_api_extended_data_type.cpp:78
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition rasterio.cpp:2049
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_c_api_group.cpp:28
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition gdal_misc.cpp:1927
const char * GDALMDArrayGetFullName(GDALMDArrayH hArray)
Return array full name.
Definition gdalmultidim_c_api_array.cpp:54
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition gdalrasterband.cpp:3098
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:2327
int GDALMDArrayGetOverviewCount(GDALMDArrayH hArray)
Return the number of overview arrays available.
Definition gdalmultidim_c_api_array.cpp:1549
GUInt64 GDALDimensionGetSize(GDALDimensionH hDim)
Return the size, that is the number of values along the dimension.
Definition gdalmultidim_c_api_dimension.cpp:114
int GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition gdalmultidim_c_api_array.cpp:630
int GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions)
Cache the content of the array into an auxiliary filename.
Definition gdalmultidim_c_api_array.cpp:1286
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:2989
const char * GDALDimensionGetType(GDALDimensionH hDim)
Return dimension type.
Definition gdalmultidim_c_api_dimension.cpp:86
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:2177
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:13037
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition gdaldrivermanager.cpp:1802
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:520
int GDALMDArraySetUnit(GDALMDArrayH hArray, const char *)
Set the variable unit.
Definition gdalmultidim_c_api_array.cpp:976
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:10202
int GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition gdaldriver.cpp:2272
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:8893
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:5429
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition gdaldriver.cpp:1956
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:2404
size_t GDALExtendedDataTypeGetMaxStringLength(GDALExtendedDataTypeH hEDT)
Return the maximum length of a string in bytes.
Definition gdalmultidim_c_api_extended_data_type.cpp:202
GDALMDArrayH GDALDimensionGetIndexingVariable(GDALDimensionH hDim)
Return the variable that is used to index the dimension (if there is one).
Definition gdalmultidim_c_api_dimension.cpp:133
char ** GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of sub-groups contained in this group.
Definition gdalmultidim_c_api_group.cpp:195
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition gdaldataset.cpp:8785
int GDALAttributeWriteDouble(GDALAttributeH hAttr, double)
Write an attribute from a double value.
Definition gdalmultidim_c_api_attribute.cpp:497
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition gdaldataset.cpp:1121
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:9167
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_c_api_attribute.cpp:225
CSLConstList GDALGroupGetStructuralInfo(GDALGroupH hGroup)
Return structural information on the group.
Definition gdalmultidim_c_api_group.cpp:407
CPLErr GDALMDArrayBuildOverviews(GDALMDArrayH hArray, const char *pszResampling, int nOverviews, const int *panOverviewList, GDALProgressFunc pfnProgress, void *pProgressData, CSLConstList papszOptions)
Build overviews for a multidimensional array.
Definition gdalmultidim_c_api_array.cpp:1665
bool GDALDriverHasOpenOption(GDALDriverH, const char *pszOpenOptionName)
Returns TRUE if the given open option is supported by the driver.
Definition gdaldriver.cpp:2132
GDALExtendedDataTypeClass
Enumeration giving the class of a GDALExtendedDataType.
Definition gdal.h:418
@ GEDTC_STRING
String value.
Definition gdal.h:422
@ GEDTC_COMPOUND
Compound data type.
Definition gdal.h:424
@ GEDTC_NUMERIC
Numeric value.
Definition gdal.h:420
bool GDALDatasetUpdateFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Updates an existing field domain by replacing its definition.
Definition gdaldataset.cpp:10464
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition gdalrasterband.cpp:2880
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_c_api_group.cpp:217
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition gdaldataset.cpp:8442
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition gdaldataset.cpp:8679
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:1665
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:10484
size_t GDALGroupGetDataTypeCount(GDALGroupH hGroup)
Return the number of data types associated with the group (typically enumerations).
Definition gdalmultidim_c_api_group.cpp:424
GDALGroupH GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Create a sub-group within a group.
Definition gdalmultidim_c_api_group.cpp:461
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:135
uint64_t GDALGetRasterNoDataValueAsUInt64(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition gdalrasterband.cpp:2504
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:5098
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:984
void GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw, size_t nSize)
Free the return of GDALAttributeAsRaw()
Definition gdalmultidim_c_api_attribute.cpp:189
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition gdalrasterband.cpp:9217
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:11679
char ** GDALRelationshipGetLeftTableFields(GDALRelationshipH)
Get the names of the participating fields from the left table in the relationship.
Definition gdalrelationship.cpp:222
CPLErr GDALCloseEx(GDALDatasetH hDS, GDALProgressFunc pfnProgress, void *pProgressData)
Close GDAL dataset.
Definition gdaldataset.cpp:4757
GUInt64 GDALAttributeGetTotalElementsCount(GDALAttributeH hAttr)
Return the total number of values in the attribute.
Definition gdalmultidim_c_api_attribute.cpp:91
void GDALApplyGeoTransform(const double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition gdaltransformer.cpp:4536
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:11265
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_c_api_array.cpp:1105
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition gdalcolortable.cpp:264
GDALRelationshipCardinality
Cardinality of relationship.
Definition gdal.h:2481
@ GRC_ONE_TO_ONE
One-to-one.
Definition gdal.h:2483
@ GRC_MANY_TO_ONE
Many-to-one.
Definition gdal.h:2487
@ GRC_MANY_TO_MANY
Many-to-many.
Definition gdal.h:2489
@ GRC_ONE_TO_MANY
One-to-many.
Definition gdal.h:2485
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:3858
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_c_api_extended_data_type.cpp:261
bool GDALDatasetAddRelationship(GDALDatasetH hDS, GDALRelationshipH hRelationship, char **ppszFailureReason)
Add a relationship to the dataset.
Definition gdaldataset.cpp:10639
GDALExtendedDataTypeH GDALEDTComponentGetType(GDALEDTComponentH hComp)
Return the data type of the component.
Definition gdalmultidim_c_api_extended_data_type.cpp:413
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition gdalrasterband.cpp:2276
GDALGroupH GDALGroupOpenGroupFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a sub-group from its fully qualified name.
Definition gdalmultidim_c_api_group.cpp:290
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:2823
int GDALDataTypeIsInteger(GDALDataType)
Is data type integer? (might be complex)
Definition gdal_misc.cpp:551
GDALMDArrayH GDALMDArrayGetOverview(GDALMDArrayH hArray, int nIdx)
Get overview array object.
Definition gdalmultidim_c_api_array.cpp:1595
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_c_api_dimension.cpp:155
bool GDALDatasetDeleteRelationship(GDALDatasetH hDS, const char *pszName, char **ppszFailureReason)
Removes a relationship from the dataset.
Definition gdaldataset.cpp:10708
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition gdaldataset.cpp:5565
bool GDALDimensionRename(GDALDimensionH hDim, const char *pszNewName)
Rename the dimension.
Definition gdalmultidim_c_api_dimension.cpp:177
OGRSpatialReferenceH GDALMDArrayGetSpatialRef(GDALMDArrayH hArray)
Return the spatial reference system object associated with the array.
Definition gdalmultidim_c_api_array.cpp:1033
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition gdal_misc.cpp:3091
GDALEDTComponentH GDALEDTComponentCreate(const char *pszName, size_t nOffset, GDALExtendedDataTypeH hType)
Create a new GDALEDTComponent.
Definition gdalmultidim_c_api_extended_data_type.cpp:352
GDALAttributeH GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char *pszName)
Return an attribute by its name.
Definition gdalmultidim_c_api_array.cpp:246
char ** GDALAttributeReadAsStringArray(GDALAttributeH hAttr)
Return the value of an attribute as an array of strings.
Definition gdalmultidim_c_api_attribute.cpp:301
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition gdalrasterband.cpp:4016
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:3534
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:8562
GDALExtendedDataTypeH GDALAttributeGetDataType(GDALAttributeH hAttr)
Return the data type.
Definition gdalmultidim_c_api_attribute.cpp:146
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:2297
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:13167
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition gdalrasterband.cpp:3933
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition gdaldefaultasync.cpp:229
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition gdalrasterband.cpp:2690
int GDALExtendedDataTypeCanConvertTo(GDALExtendedDataTypeH hSourceEDT, GDALExtendedDataTypeH hTargetEDT)
Return whether this data type can be converted to the other one.
Definition gdalmultidim_c_api_extended_data_type.cpp:220
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:12967
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition gdal_misc.cpp:3115
GDALDataType GDALExtendedDataTypeGetNumericDataType(GDALExtendedDataTypeH hEDT)
Return numeric data type (only valid when GetClass() == GEDTC_NUMERIC)
Definition gdalmultidim_c_api_extended_data_type.cpp:172
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition gdaldrivermanager.cpp:724
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition gdaldriver.cpp:2103
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:5029
OGRErr GDALDatasetAbortSQL(GDALDatasetH)
Abort any SQL statement running in the data store.
Definition gdaldataset.cpp:6041
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:3840
int GDALAttributeWriteString(GDALAttributeH hAttr, const char *)
Write an attribute from a string value.
Definition gdalmultidim_c_api_attribute.cpp:433
int GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale)
Set the scale value to apply to raw values.
Definition gdalmultidim_c_api_array.cpp:573
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition gdalrasterband.cpp:1398
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:4723
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:5046
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:9259
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:5822
const char * GDALAttributeGetFullName(GDALAttributeH hAttr)
Return the full name of the attribute.
Definition gdalmultidim_c_api_attribute.cpp:76
GDALComputedRasterBandH GDALRasterBandBinaryOpDoubleToBand(double constant, GDALRasterAlgebraBinaryOperation eOp, GDALRasterBandH hBand)
Apply a binary operation on the constant with this band.
Definition gdalrasterband.cpp:11901
GDALRelationshipH GDALDatasetGetRelationship(GDALDatasetH hDS, const char *pszName)
Get a relationship from its name.
Definition gdaldataset.cpp:10561
GDALRATFieldType
Field type of raster attribute table.
Definition gdal.h:2282
@ GFT_DateTime
Definition gdal.h:2287
@ GFT_WKBGeometry
Definition gdal.h:2288
@ GFT_Real
Definition gdal.h:2284
@ GFT_Boolean
Definition gdal.h:2286
@ GFT_String
Definition gdal.h:2285
@ GFT_Integer
Definition gdal.h:2283
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition gdaldataset.cpp:8216
const char * GDALMDArrayGetUnit(GDALMDArrayH hArray)
Return the array unit.
Definition gdalmultidim_c_api_array.cpp:1001
int GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *, size_t)
Write an attribute from an array of double.
Definition gdalmultidim_c_api_attribute.cpp:594
bool GDALGroupDeleteMDArray(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete an array from a group.
Definition gdalmultidim_c_api_group.cpp:565
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:1887
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_c_api_dimension.cpp:58
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition gdaldataset.cpp:2232
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:1433
OGRLayerH GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName, CSLConstList papszOptions)
Open and return a vector layer.
Definition gdalmultidim_c_api_group.cpp:268
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_c_api_array.cpp:146
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:3767
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:10518
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition gdal_misc.cpp:2893
int GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t)
Write an attribute from raw values expressed in GetDataType()
Definition gdalmultidim_c_api_attribute.cpp:411
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition gdaldataset.cpp:5397
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:5181
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition gdaldataset.cpp:8563
const char * GDALDimensionGetFullName(GDALDimensionH hDim)
Return dimension full name.
Definition gdalmultidim_c_api_dimension.cpp:72
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:1306
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, CSLConstList papszOptions)
Dump the structure of a JPEG2000 file as a XML tree.
Definition gdaljp2structure.cpp:2352
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:5097
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition gdalrasterband.cpp:9872
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_c_api_group.cpp:583
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:5498
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_c_api_array.cpp:1137
const char * GDALAttributeGetName(GDALAttributeH hAttr)
Return the name of the attribute.
Definition gdalmultidim_c_api_attribute.cpp:60
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition gdaldriver.cpp:1802
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_c_api_extended_data_type.cpp:143
void GDALExtendedDataTypeRelease(GDALExtendedDataTypeH hEDT)
Release the GDAL in-memory object associated with a GDALExtendedDataTypeH.
Definition gdalmultidim_c_api_extended_data_type.cpp:130
bool GDALGroupRename(GDALGroupH hGroup, const char *pszNewName)
Rename the group.
Definition gdalmultidim_c_api_group.cpp:640
GDALMDArrayH GDALMDArrayTranspose(GDALMDArrayH hArray, size_t nNewAxisCount, const int *panMapNewAxisToOldAxis)
Return a view of the array whose axis have been reordered.
Definition gdalmultidim_c_api_array.cpp:856
bool GDALAttributeRename(GDALAttributeH hAttr, const char *pszNewName)
Rename the attribute.
Definition gdalmultidim_c_api_attribute.cpp:616
GDALGroupH GDALDatasetGetRootGroup(GDALDatasetH hDS)
Return the root GDALGroup of this dataset.
Definition gdaldataset.cpp:10020
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:4044
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_c_api_array.cpp:695
void GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount)
Free the return of GDALMDArrayGetCoordinateVariables()
Definition gdalmultidim_c_api_array.cpp:1265
GDALMDArrayH GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions)
Return an array that is a mask for the current array.
Definition gdalmultidim_c_api_array.cpp:910
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_c_api_group.cpp:659
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_c_api_array.cpp:1232
double * GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of doubles.
Definition gdalmultidim_c_api_attribute.cpp:376
uint64_t GDALMDArrayGetNoDataValueAsUInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a UInt64.
Definition gdalmultidim_c_api_array.cpp:439
void GDALClearMemoryCaches(void)
Clear all GDAL-controlled in-memory caches.
Definition gdaldriver.cpp:3463
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:2599
GDALRasterAlgebraBinaryOperation
Raster algebra binary operation.
Definition gdal.h:2019
@ GRABO_LOGICAL_AND
Logical and.
Definition gdal.h:2043
@ GRABO_GT
Strictly greater than test.
Definition gdal.h:2031
@ GRABO_LOGICAL_OR
Logical or.
Definition gdal.h:2045
@ GRABO_POW
Power.
Definition gdal.h:2029
@ GRABO_MUL
Multiplication.
Definition gdal.h:2025
@ GRABO_SUB
Subtraction.
Definition gdal.h:2023
@ GRABO_ADD
Addition.
Definition gdal.h:2021
@ GRABO_EQ
Equality test.
Definition gdal.h:2039
@ GRABO_NE
Non-equality test.
Definition gdal.h:2041
@ GRABO_LE
Lesser or equal to test.
Definition gdal.h:2037
@ GRABO_DIV
Division.
Definition gdal.h:2027
@ GRABO_GE
Greater or equal to test.
Definition gdal.h:2033
@ GRABO_LT
Strictly lesser than test.
Definition gdal.h:2035
CPLErr GDALGetExtent(GDALDatasetH, OGREnvelope *, OGRSpatialReferenceH hCRS)
Return extent of dataset in specified CRS.
Definition gdaldataset.cpp:11626
GDALExtendedDataTypeSubType
Enumeration giving the subtype of a GDALExtendedDataType.
Definition gdal.h:431
@ GEDTST_JSON
JSon.
Definition gdal.h:435
@ GEDTST_NONE
None.
Definition gdal.h:433
GDALEDTComponentH * GDALExtendedDataTypeGetComponents(GDALExtendedDataTypeH hEDT, size_t *pnCount)
Return the components of the data type (only valid when GetClass() == GEDTC_COMPOUND)
Definition gdalmultidim_c_api_extended_data_type.cpp:307
bool GDALMDArrayResize(GDALMDArrayH hArray, const GUInt64 *panNewDimSizes, CSLConstList papszOptions)
Resize an array to new dimensions.
Definition gdalmultidim_c_api_array.cpp:548
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:2042
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:349
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_c_api_array.cpp:1335
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition gdalrasterband.cpp:8194
int * GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of integers.
Definition gdalmultidim_c_api_attribute.cpp:319
int GDALAttributeWriteStringArray(GDALAttributeH hAttr, CSLConstList)
Write an attribute from an array of strings.
Definition gdalmultidim_c_api_attribute.cpp:519
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_c_api_array.cpp:1052
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition gdal_misc.cpp:2251
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:5996
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:3657
CSLConstList GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray)
Return structural information on the array.
Definition gdalmultidim_c_api_array.cpp:820
CPLErr GDALDatasetComputeInterBandCovarianceMatrix(GDALDatasetH hDS, double *padfCovMatrix, size_t nSize, int nBandCount, const int *panBandList, bool bApproxOK, bool bWriteIntoMetadata, int nDeltaDegreeOfFreedom, GDALProgressFunc pfnProgress, void *pProgressData)
Compute the covariance matrix between bands of this dataset.
Definition gdaldataset.cpp:13888
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition gdal_misc.cpp:1900
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *)
Read a block of image data efficiently.
Definition gdalrasterband.cpp:1142
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:1935
const char * GDALMDArrayGetName(GDALMDArrayH hArray)
Return array name.
Definition gdalmultidim_c_api_array.cpp:40
GDALExtendedDataTypeH GDALExtendedDataTypeCreateString(size_t nMaxStringLength)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition gdalmultidim_c_api_extended_data_type.cpp:58
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_c_api_array.cpp:718
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition gdalrasterband.cpp:3186
CPLErr GDALDropRasterCache(GDALRasterBandH hBand)
Drop raster data cache.
Definition gdalrasterband.cpp:1763
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, const int *, int, const int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition gdaldataset.cpp:2572
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:3298
CPLErr GDALRegenerateOverviewsEx(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData, CSLConstList papszOptions)
Generate downsampled overviews.
Definition overview.cpp:4931
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:2552
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition gdalrasterband.cpp:3228
void GDALMDArrayRawBlockInfoRelease(GDALMDArrayRawBlockInfo *psBlockInfo)
Free an instance of GDALMDArrayRawBlockInfo.
Definition gdalmultidim_c_api_array.cpp:1511
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition overview.cpp:6830
bool GDALMDArrayRename(GDALMDArrayH hArray, const char *pszNewName)
Rename the array.
Definition gdalmultidim_c_api_array.cpp:1307
GDALExtendedDataTypeClass GDALExtendedDataTypeGetClass(GDALExtendedDataTypeH hEDT)
Return type class.
Definition gdalmultidim_c_api_extended_data_type.cpp:158
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_c_api_group.cpp:506
void GDALDestroy(void)
Finalize GDAL/OGR library.
Definition gdaldllmain.cpp:61
int GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition gdalmultidim_c_api_array.cpp:592
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition gdalrasterband.cpp:9303
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_c_api_array.cpp:275
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_c_api_array.cpp:1166
CPLErr GDALDatasetGetInterBandCovarianceMatrix(GDALDatasetH hDS, double *padfCovMatrix, size_t nSize, int nBandCount, const int *panBandList, bool bApproxOK, bool bForce, bool bWriteIntoMetadata, int nDeltaDegreeOfFreedom, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch or compute the covariance matrix between bands of this dataset.
Definition gdaldataset.cpp:12894
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:10247
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:13191
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition gdaldataset.cpp:1920
GDALDimensionH * GDALMDArrayGetDimensions(GDALMDArrayH hArray, size_t *pnCount)
Return the dimensions of the array.
Definition gdalmultidim_c_api_array.cpp:106
double GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition gdalmultidim_c_api_array.cpp:649
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:11576
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_c_api_group.cpp:100
GUInt64 * GDALAttributeGetDimensionsSize(GDALAttributeH hAttr, size_t *pnCount)
Return the dimension sizes of the attribute.
Definition gdalmultidim_c_api_attribute.cpp:124
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:5369
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_c_api_group.cpp:378
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:2193
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:6063
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition gdaldrivermanager.cpp:666
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:1874
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_c_api_array.cpp:792
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition gdaldataset.cpp:1882
CPLErr GDALDatasetRunCloseWithoutDestroyingEx(GDALDatasetH hDS, GDALProgressFunc pfnProgress, void *pProgressData)
Run the Close() method, without running destruction of the object.
Definition gdaldataset.cpp:568
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition gdal_rat.cpp:1846
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition gdaldataset.cpp:2121
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_c_api_array.cpp:480
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:1479
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:2382
#define GCI_SAR_Start
Value indicating the start of the range for color interpretations belonging to the Synthetic Aperture...
Definition gdal.h:270
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_c_api_array.cpp:336
GDALExtendedDataTypeH GDALMDArrayGetDataType(GDALMDArrayH hArray)
Return the data type.
Definition gdalmultidim_c_api_array.cpp:129
GDALColorInterp
Types of color interpretation for raster bands.
Definition gdal.h:294
@ GCI_NIRBand
Definition gdal.h:322
@ GCI_SAR_S_Band
Definition gdal.h:354
@ GCI_SAR_L_Band
Definition gdal.h:356
@ GCI_YCbCr_YBand
Definition gdal.h:313
@ GCI_SAR_Reserved_2
Definition gdal.h:362
@ GCI_Undefined
Definition gdal.h:295
@ GCI_SAR_K_Band
Definition gdal.h:346
@ GCI_SaturationBand
Definition gdal.h:306
@ GCI_LightnessBand
Definition gdal.h:307
@ GCI_SAR_Ku_Band
Definition gdal.h:348
@ GCI_HueBand
Definition gdal.h:305
@ GCI_LWIRBand
Definition gdal.h:328
@ GCI_CyanBand
Definition gdal.h:308
@ GCI_IR_Reserved_3
Definition gdal.h:339
@ GCI_SAR_Ka_Band
Definition gdal.h:344
@ GCI_MagentaBand
Definition gdal.h:309
@ GCI_GrayIndex
Definition gdal.h:296
@ GCI_IR_Reserved_4
Definition gdal.h:341
@ GCI_SAR_X_Band
Definition gdal.h:350
@ GCI_SAR_P_Band
Definition gdal.h:358
@ GCI_BlueBand
Definition gdal.h:303
@ GCI_PaletteIndex
Definition gdal.h:297
@ GCI_SAR_Reserved_1
Definition gdal.h:360
@ GCI_RedBand
Definition gdal.h:299
@ GCI_AlphaBand
Definition gdal.h:304
@ GCI_Max
Definition gdal.h:366
@ GCI_YCbCr_CrBand
Definition gdal.h:315
@ GCI_TIRBand
Definition gdal.h:330
@ GCI_MWIRBand
Definition gdal.h:326
@ GCI_SAR_C_Band
Definition gdal.h:352
@ GCI_GreenBand
Definition gdal.h:301
@ GCI_YellowBand
Definition gdal.h:311
@ GCI_OtherIRBand
Definition gdal.h:332
@ GCI_IR_Reserved_2
Definition gdal.h:337
@ GCI_BlackBand
Definition gdal.h:312
@ GCI_IR_Reserved_1
Definition gdal.h:335
@ GCI_RedEdgeBand
Definition gdal.h:320
@ GCI_SWIRBand
Definition gdal.h:324
@ GCI_YCbCr_CbBand
Definition gdal.h:314
@ GCI_CoastalBand
Definition gdal.h:319
@ GCI_PanBand
Definition gdal.h:318
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:5897
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition gdaldefaultasync.cpp:194
int64_t * GDALAttributeReadAsInt64Array(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of int64_t.
Definition gdalmultidim_c_api_attribute.cpp:347
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition gdalrasterband.cpp:3806
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition gdalrasterband.cpp:1699
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:7230
GDALRelationshipType
Type of relationship.
Definition gdal.h:2497
@ GRT_AGGREGATION
Aggregation relationship.
Definition gdal.h:2503
@ GRT_ASSOCIATION
Association relationship.
Definition gdal.h:2501
@ GRT_COMPOSITE
Composite relationship.
Definition gdal.h:2499
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:3482
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition gdal_misc.cpp:3132
int GDALExtendedDataTypeEquals(GDALExtendedDataTypeH hFirstEDT, GDALExtendedDataTypeH hSecondEDT)
Return whether this data type is equal to another one.
Definition gdalmultidim_c_api_extended_data_type.cpp:240
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:5943
int GDALMDArrayAdviseRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count)
Advise driver of upcoming read requests.
Definition gdalmultidim_c_api_array.cpp:211
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:2446
GDALRelationshipType GDALRelationshipGetType(GDALRelationshipH)
Get the type of the relationship.
Definition gdalrelationship.cpp:426
const GDALColorInterp * GDALGetColorInterpretationList(int *pnCount)
Get the list of valid color interpretations.
Definition gdal_misc.cpp:1394
void GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount)
Free the return of GDALGroupGetAttributes() or GDALMDArrayGetAttributes()
Definition gdalmultidim_c_api_attribute.cpp:41
CPLErr GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition gdaldataset.cpp:773
int64_t GDALAttributeReadAsInt64(GDALAttributeH hAttr)
Return the value of an attribute as a int64_t.
Definition gdalmultidim_c_api_attribute.cpp:265
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition gdalrasterband.cpp:9358
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:4226
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition gdal_misc.cpp:2648
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_c_api_group.cpp:531
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition gdaldataset.cpp:1959
GUInt64 * GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount)
Return the "natural" block size of the array along all dimensions.
Definition gdalmultidim_c_api_array.cpp:755
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_c_api_extended_data_type.cpp:282
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition gdal_misc.cpp:593
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition gdalrasterband.cpp:3280
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:1687
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_c_api_attribute.cpp:454
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_c_api_attribute.cpp:285
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition gdaldataset.cpp:1158
GDALComputedRasterBandH GDALRasterBandBinaryOpDouble(GDALRasterBandH hBand, GDALRasterAlgebraBinaryOperation eOp, double constant)
Apply a binary operation on this band with a constant.
Definition gdalrasterband.cpp:11865
void GDALEDTComponentRelease(GDALEDTComponentH hComp)
Release the GDAL in-memory object associated with a GDALEDTComponentH.
Definition gdalmultidim_c_api_extended_data_type.cpp:370
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:307
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:3395
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition gdalrasterband.cpp:3975
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:11810
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:3189
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:4294
GDALMDArrayH GDALDatasetAsMDArray(GDALDatasetH hDS, CSLConstList papszOptions)
Return a view of this dataset as a 3D multidimensional GDALMDArray.
Definition gdaldataset.cpp:10087
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_c_api_array.cpp:27
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_c_api_array.cpp:1016
void(* GDALVRTProcessedDatasetFuncFree)(const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData)
Free function to pass to GDALVRTRegisterProcessedDatasetFunc.
Definition gdal.h:1902
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition gdaldrivermanager.cpp:774
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess)
Open a raster file as a GDALDataset.
Definition gdaldataset.cpp:3891
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:3140
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:1657
bool GDALDatasetUpdateRelationship(GDALDatasetH hDS, GDALRelationshipH hRelationship, char **ppszFailureReason)
Updates an existing relationship by replacing its definition.
Definition gdaldataset.cpp:10779
int GDALMDArrayComputeStatistics(GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount, GDALProgressFunc, void *pProgressData)
Compute statistics.
Definition gdalmultidim_c_api_array.cpp:1078
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:4824
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_c_api_group.cpp:240
double GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition gdalmultidim_c_api_array.cpp:672
bool GDALDatasetGetCloseReportsProgress(GDALDatasetH hDS)
Returns whether the Close() operation will report progress / is a potential lengthy operation.
Definition gdaldataset.cpp:613
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:494
int64_t GDALGetRasterNoDataValueAsInt64(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition gdalrasterband.cpp:2443
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, CSLConstList, GDALProgressFunc, void *)
Create a copy of a dataset.
Definition gdaldriver.cpp:1411
const char * GDALGroupGetName(GDALGroupH hGroup)
Return the name of the group.
Definition gdalmultidim_c_api_group.cpp:43
GDALComputedRasterBandH GDALRasterBandUnaryOp(GDALRasterBandH hBand, GDALRasterAlgebraUnaryOperation eOp)
Apply a unary operation on this band.
Definition gdalrasterband.cpp:11719
int GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset)
Set the scale value to apply to raw values.
Definition gdalmultidim_c_api_array.cpp:611
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:4879
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:3492
int GDALMDArrayAdviseReadEx(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition gdalmultidim_c_api_array.cpp:229
CPLErr GDALSetRasterNoDataValueAsUInt64(GDALRasterBandH, uint64_t)
Set the no data value for this band.
Definition gdalrasterband.cpp:2834
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition gdaldataset.cpp:6119
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition gdaldataset.cpp:1807
CPLErr GDALSetSpatialRef(GDALDatasetH, OGRSpatialReferenceH)
Set the spatial reference system for this dataset.
Definition gdaldataset.cpp:1568
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_c_api_group.cpp:442
#define GCI_IR_Start
Value indicating the start of the range for color interpretations belonging to the InfraRed (IR) doma...
Definition gdal.h:253
size_t GDALEDTComponentGetOffset(GDALEDTComponentH hComp)
Return the offset (in bytes) of the component in the compound data type.
Definition gdalmultidim_c_api_extended_data_type.cpp:399
GDALTileOrganization
! Enumeration to describe the tile organization
Definition gdal.h:2580
@ GTO_BIT
Definition gdal.h:2587
@ GTO_BSQ
Definition gdal.h:2590
@ GTO_TIP
Definition gdal.h:2583
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:11462
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_c_api_extended_data_type.cpp:104
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_c_api_array.cpp:888
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition gdalrasterband.cpp:8269
CPLErr GDALDropCache(GDALDatasetH hDS)
Drop all write cached data.
Definition gdaldataset.cpp:826
double GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a double.
Definition gdalmultidim_c_api_array.cpp:387
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition gdal_misc.cpp:3148
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:4543
bool GDALMDArrayGetRawBlockInfo(GDALMDArrayH hArray, const uint64_t *panBlockCoordinates, GDALMDArrayRawBlockInfo *psBlockInfo)
Return information on a raw block.
Definition gdalmultidim_c_api_array.cpp:1478
bool GDALDatasetSetQueryLoggerFunc(GDALDatasetH hDS, GDALQueryLoggerFunc pfnQueryLoggerFunc, void *poQueryLoggerArg)
Sets the SQL query logger callback.
Definition gdaldataset.cpp:10818
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:423
int OGRErr
Type for a OGR error.
Definition ogr_core.h:388
Document node structure.
Definition cpl_minixml.h:54
Color tuple.
Definition gdal.h:2243
short c4
Definition gdal.h:2254
short c2
Definition gdal.h:2248
short c3
Definition gdal.h:2251
short c1
Definition gdal.h:2245
Information on a raw block of a GDALMDArray.
Definition gdal.h:2886
char * pszFilename
Filename into which the raw block is found.
Definition gdal.h:2888
char ** papszInfo
NULL or Null-terminated list of driver specific information on the raw block.
Definition gdal.h:2895
uint64_t nOffset
File offset within pszFilename of the start of the raw block.
Definition gdal.h:2890
uint64_t nSize
Size in bytes of the raw block.
Definition gdal.h:2892
GByte * pabyInlineData
In-memory buffer of nSize bytes.
Definition gdal.h:2903
Structure encoding a DateTime field for a GDAL Raster Attribute Table.
Definition gdal.h:2367
int nMonth
Definition gdal.h:2369
float fSecond
Definition gdal.h:2373
int nTimeZoneHour
Definition gdal.h:2374
bool bPositiveTimeZone
Definition gdal.h:2376
int nDay
Definition gdal.h:2370
bool bIsValid
Definition gdal.h:2377
int nMinute
Definition gdal.h:2372
int nHour
Definition gdal.h:2371
int nTimeZoneMinute
Definition gdal.h:2375
int nYear
Definition gdal.h:2368
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition gdal.h:2203
double dfLAT_OFF
Definition gdal.h:2206
double dfLONG_SCALE
Definition gdal.h:2213
double dfHEIGHT_OFF
Definition gdal.h:2208
double dfMAX_LAT
Definition gdal.h:2224
double dfMIN_LAT
Definition gdal.h:2222
double dfLINE_OFF
Definition gdal.h:2204
double dfLONG_OFF
Definition gdal.h:2207
double dfSAMP_SCALE
Definition gdal.h:2211
double dfMAX_LONG
Definition gdal.h:2223
double dfERR_BIAS
Definition gdal.h:2228
double dfERR_RAND
Definition gdal.h:2229
double dfLINE_SCALE
Definition gdal.h:2210
double dfHEIGHT_SCALE
Definition gdal.h:2214
double dfMIN_LONG
Definition gdal.h:2221
double dfLAT_SCALE
Definition gdal.h:2212
double dfSAMP_OFF
Definition gdal.h:2205
Structure to pass extra arguments to RasterIO() method, must be initialized with INIT_RASTERIO_EXTRA_...
Definition gdal.h:174
void * pProgressData
Definition gdal.h:184
GDALRIOResampleAlg eResampleAlg
Definition gdal.h:179
double dfXOff
Definition gdal.h:194
int nVersion
Definition gdal.h:176
int bOperateInBufType
Indicate if operations (typically non-nearest resampling) should be done in the eBufType data type of...
Definition gdal.h:218
double dfYSize
Definition gdal.h:203
double dfYOff
Definition gdal.h:197
double dfXSize
Definition gdal.h:200
GDALProgressFunc pfnProgress
Definition gdal.h:182
int bFloatingPointWindowValidity
Definition gdal.h:191
int bUseOnlyThisScale
Definition gdal.h:209
The GDALSubdatasetInfo abstract class provides methods to extract and manipulate subdataset informati...
Definition gdalsubdatasetinfo.h:27
Ground Control Point.
Definition gdal.h:1261
double dfGCPLine
Line (y) location of GCP on raster.
Definition gdal.h:1271
double dfGCPX
X position of GCP in georeferenced space.
Definition gdal.h:1274
char * pszId
Unique identifier, often numeric.
Definition gdal.h:1263
char * pszInfo
Informational message or "".
Definition gdal.h:1266
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition gdal.h:1269
double dfGCPY
Y position of GCP in georeferenced space.
Definition gdal.h:1277
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition gdal.h:1280