GDAL
gdal.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id$
3  *
4  * Project: GDAL Core
5  * Purpose: GDAL Core C/Public declarations.
6  * Author: Frank Warmerdam, warmerdam@pobox.com
7  *
8  ******************************************************************************
9  * Copyright (c) 1998, 2002 Frank Warmerdam
10  * Copyright (c) 2007-2014, Even Rouault <even dot rouault at spatialys.com>
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a
13  * copy of this software and associated documentation files (the "Software"),
14  * to deal in the Software without restriction, including without limitation
15  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16  * and/or sell copies of the Software, and to permit persons to whom the
17  * Software is furnished to do so, subject to the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be included
20  * in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28  * DEALINGS IN THE SOFTWARE.
29  ****************************************************************************/
30 
31 #ifndef GDAL_H_INCLUDED
32 #define GDAL_H_INCLUDED
33 
40 #ifndef DOXYGEN_SKIP
41 #if defined(GDAL_COMPILATION)
42 #define DO_NOT_DEFINE_GDAL_DATE_NAME
43 #endif
44 #include "gdal_version.h"
45 #include "cpl_port.h"
46 #include "cpl_error.h"
47 #include "cpl_progress.h"
48 #include "cpl_virtualmem.h"
49 #include "cpl_minixml.h"
50 #include "ogr_api.h"
51 #endif
52 
53 #include <stdbool.h>
54 #include <stdint.h>
55 
56 /* -------------------------------------------------------------------- */
57 /* Significant constants. */
58 /* -------------------------------------------------------------------- */
59 
61 
63 typedef enum
64 { GDT_Unknown = 0, GDT_Byte = 1, GDT_Int8 = 14, GDT_UInt16 = 2, GDT_Int16 = 3, GDT_UInt32 = 4, GDT_Int32 = 5, GDT_UInt64 = 12, GDT_Int64 = 13, GDT_Float32 = 6, GDT_Float64 = 7, GDT_CInt16 = 8, GDT_CInt32 = 9,
78  /* TODO?(#6879): GDT_CInt64 */ GDT_CFloat32 = 10, GDT_CFloat64 = 11,
81  GDT_TypeCount = 15 /* maximum type # + 1 */
82 } GDALDataType;
83 
84 int CPL_DLL CPL_STDCALL GDALGetDataTypeSize(GDALDataType); // Deprecated.
85 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits(GDALDataType eDataType);
86 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes(GDALDataType);
87 int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex(GDALDataType);
88 int CPL_DLL CPL_STDCALL GDALDataTypeIsInteger(GDALDataType);
89 int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating(GDALDataType);
90 int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned(GDALDataType);
91 const char CPL_DLL *CPL_STDCALL GDALGetDataTypeName(GDALDataType);
92 GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName(const char *);
95  double dValue,
96  int bComplex);
97 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType(int nBits, int bSigned,
98  int bFloating, int bComplex);
99 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue(double dValue,
100  int bComplex);
101 double CPL_DLL GDALAdjustValueToDataType(GDALDataType eDT, double dfValue,
102  int *pbClamped, int *pbRounded);
104 int CPL_DLL CPL_STDCALL GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom,
105  GDALDataType eTypeTo);
106 
110 typedef enum
111 {
112  GARIO_PENDING = 0,
113  GARIO_UPDATE = 1,
114  GARIO_ERROR = 2,
115  GARIO_COMPLETE = 3,
116  GARIO_TypeCount = 4
118 
119 const char CPL_DLL *CPL_STDCALL GDALGetAsyncStatusTypeName(GDALAsyncStatusType);
120 GDALAsyncStatusType CPL_DLL CPL_STDCALL
121 GDALGetAsyncStatusTypeByName(const char *);
122 
124 typedef enum
125 { GA_ReadOnly = 0, GA_Update = 1
129 
131 typedef enum
132 { GF_Read = 0, GF_Write = 1
136 
137 /* NOTE: values are selected to be consistent with GDALResampleAlg of
138  * alg/gdalwarper.h */
142 typedef enum
154  /* NOTE: values 8 to 13 are reserved for max,min,med,Q1,Q3,sum */
156  GRIORA_RESERVED_START = 8,
157  GRIORA_RESERVED_END = 13,
165  GRIORA_LAST = GRIORA_RMS
168 
169 /* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG
170  */
175 typedef struct
176 {
178  int nVersion;
179 
182 
184  GDALProgressFunc pfnProgress;
187 
196  double dfXOff;
199  double dfYOff;
202  double dfXSize;
205  double dfYSize;
207 
208 #ifndef DOXYGEN_SKIP
209 #define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
210 #endif
211 
215 #define INIT_RASTERIO_EXTRA_ARG(s) \
216  do \
217  { \
218  (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
219  (s).eResampleAlg = GRIORA_NearestNeighbour; \
220  (s).pfnProgress = CPL_NULLPTR; \
221  (s).pProgressData = CPL_NULLPTR; \
222  (s).bFloatingPointWindowValidity = FALSE; \
223  } while (0)
224 
226 typedef enum
247 
249 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName(const char *pszName);
250 
252 typedef enum
253 { GPI_Gray = 0, GPI_RGB = 1, GPI_CMYK = 2, GPI_HLS = 3
259 
261 
262 /* "well known" metadata items. */
263 
266 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
269 #define GDALMD_AOP_AREA "Area"
272 #define GDALMD_AOP_POINT "Point"
273 
274 /* -------------------------------------------------------------------- */
275 /* GDAL Specific error codes. */
276 /* */
277 /* error codes 100 to 299 reserved for GDAL. */
278 /* -------------------------------------------------------------------- */
279 #ifndef DOXYGEN_SKIP
280 #define CPLE_WrongFormat CPL_STATIC_CAST(CPLErrorNum, 200)
281 #endif
282 
283 /* -------------------------------------------------------------------- */
284 /* Define handle types related to various internal classes. */
285 /* -------------------------------------------------------------------- */
286 
288 typedef void *GDALMajorObjectH;
289 
291 typedef void *GDALDatasetH;
292 
294 typedef void *GDALRasterBandH;
295 
297 typedef void *GDALDriverH;
298 
300 typedef void *GDALColorTableH;
301 
305 
307 typedef void *GDALAsyncReaderH;
308 
312 typedef void *GDALRelationshipH;
313 
316 
320 typedef enum
321 {
329 
333 typedef enum
334 {
340 
342 typedef struct GDALExtendedDataTypeHS *GDALExtendedDataTypeH;
344 typedef struct GDALEDTComponentHS *GDALEDTComponentH;
346 typedef struct GDALGroupHS *GDALGroupH;
348 typedef struct GDALMDArrayHS *GDALMDArrayH;
350 typedef struct GDALAttributeHS *GDALAttributeH;
352 typedef struct GDALDimensionHS *GDALDimensionH;
353 
354 /* ==================================================================== */
355 /* Registration/driver related. */
356 /* ==================================================================== */
357 
359 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
360 
362 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
363 
365 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
366 
368 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
369 
374 #define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
375 
379 #define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
380 
382 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
383 
387 #define GDAL_DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST \
388  "DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST"
389 
393 #define GDAL_DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST \
394  "DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST"
395 
399 #define GDAL_DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST \
400  "DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST"
401 
405 #define GDAL_DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST \
406  "DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST"
407 
411 #define GDAL_DMD_MULTIDIM_ARRAY_OPENOPTIONLIST \
412  "DMD_MULTIDIM_ARRAY_OPENOPTIONLIST"
413 
417 #define GDAL_DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST \
418  "DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST"
419 
423 #define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
424 
427 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
428 
433 #define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
434 
439 #define GDAL_DMD_CREATIONFIELDDATASUBTYPES "DMD_CREATIONFIELDDATASUBTYPES"
440 
458 #define GDAL_DMD_CREATION_FIELD_DEFN_FLAGS "DMD_CREATION_FIELD_DEFN_FLAGS"
459 
468 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
469 
478 #define GDAL_DMD_NUMERIC_FIELD_WIDTH_INCLUDES_DECIMAL_SEPARATOR \
479  "DMD_NUMERIC_FIELD_WIDTH_INCLUDES_DECIMAL_SEPARATOR"
480 
489 #define GDAL_DMD_NUMERIC_FIELD_WIDTH_INCLUDES_SIGN \
490  "DMD_NUMERIC_FIELD_WIDTH_INCLUDES_SIGN"
491 
493 #define GDAL_DCAP_OPEN "DCAP_OPEN"
494 
503 #define GDAL_DCAP_CREATE "DCAP_CREATE"
504 
509 #define GDAL_DCAP_CREATE_MULTIDIMENSIONAL "DCAP_CREATE_MULTIDIMENSIONAL"
510 
519 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
520 
525 #define GDAL_DCAP_VECTOR_TRANSLATE_FROM "DCAP_VECTOR_TRANSLATE_FROM"
526 
532 #define GDAL_DCAP_CREATECOPY_MULTIDIMENSIONAL "DCAP_CREATECOPY_MULTIDIMENSIONAL"
533 
537 #define GDAL_DCAP_MULTIDIM_RASTER "DCAP_MULTIDIM_RASTER"
538 
540 #define GDAL_DCAP_SUBCREATECOPY "DCAP_SUBCREATECOPY"
541 
544 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
545 
549 #define GDAL_DCAP_RASTER "DCAP_RASTER"
550 
554 #define GDAL_DCAP_VECTOR "DCAP_VECTOR"
555 
559 #define GDAL_DCAP_GNM "DCAP_GNM"
560 
564 #define GDAL_DCAP_CREATE_LAYER "DCAP_CREATE_LAYER"
565 
569 #define GDAL_DCAP_DELETE_LAYER "DCAP_DELETE_LAYER"
570 
574 #define GDAL_DCAP_CREATE_FIELD "DCAP_CREATE_FIELD"
575 
579 #define GDAL_DCAP_DELETE_FIELD "DCAP_DELETE_FIELD"
580 
584 #define GDAL_DCAP_REORDER_FIELDS "DCAP_REORDER_FIELDS"
585 
605 #define GDAL_DMD_ALTER_FIELD_DEFN_FLAGS "GDAL_DMD_ALTER_FIELD_DEFN_FLAGS"
606 
612 #define GDAL_DMD_ILLEGAL_FIELD_NAMES "GDAL_DMD_ILLEGAL_FIELD_NAMES"
613 
617 #define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
618 
622 #define GDAL_DCAP_UNIQUE_FIELDS "DCAP_UNIQUE_FIELDS"
623 
627 #define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
628 
633 #define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
634 
640 #define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
641 
645 #define GDAL_DCAP_CURVE_GEOMETRIES "DCAP_CURVE_GEOMETRIES"
646 
651 #define GDAL_DCAP_MEASURED_GEOMETRIES "DCAP_MEASURED_GEOMETRIES"
652 
657 #define GDAL_DCAP_Z_GEOMETRIES "DCAP_Z_GEOMETRIES"
658 
671 #define GDAL_DMD_GEOMETRY_FLAGS "GDAL_DMD_GEOMETRY_FLAGS"
672 
681 #define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
682 
686 #define GDAL_DCAP_FEATURE_STYLES_READ "DCAP_FEATURE_STYLES_READ"
687 
691 #define GDAL_DCAP_FEATURE_STYLES_WRITE "DCAP_FEATURE_STYLES_WRITE"
692 
697 #define GDAL_DCAP_COORDINATE_EPOCH "DCAP_COORDINATE_EPOCH"
698 
707 #define GDAL_DCAP_MULTIPLE_VECTOR_LAYERS "DCAP_MULTIPLE_VECTOR_LAYERS"
708 
713 #define GDAL_DCAP_FIELD_DOMAINS "DCAP_FIELD_DOMAINS"
714 
720 #define GDAL_DCAP_RELATIONSHIPS "DCAP_RELATIONSHIPS"
721 
726 #define GDAL_DCAP_CREATE_RELATIONSHIP "DCAP_CREATE_RELATIONSHIP"
727 
732 #define GDAL_DCAP_DELETE_RELATIONSHIP "DCAP_DELETE_RELATIONSHIP"
733 
738 #define GDAL_DCAP_UPDATE_RELATIONSHIP "DCAP_UPDATE_RELATIONSHIP"
739 
745 #define GDAL_DCAP_FLUSHCACHE_CONSISTENT_STATE "DCAP_FLUSHCACHE_CONSISTENT_STATE"
746 
755 #define GDAL_DCAP_HONOR_GEOM_COORDINATE_PRECISION \
756  "DCAP_HONOR_GEOM_COORDINATE_PRECISION"
757 
784 #define GDAL_DMD_RELATIONSHIP_FLAGS "GDAL_DMD_RELATIONSHIP_FLAGS"
785 
793 #define GDAL_DMD_RELATIONSHIP_RELATED_TABLE_TYPES \
794  "GDAL_DMD_RELATIONSHIP_RELATED_TABLE_TYPES"
795 
800 #define GDAL_DCAP_RENAME_LAYERS "DCAP_RENAME_LAYERS"
801 
811 #define GDAL_DMD_CREATION_FIELD_DOMAIN_TYPES "DMD_CREATION_FIELD_DOMAIN_TYPES"
812 
828 #define GDAL_DMD_ALTER_GEOM_FIELD_DEFN_FLAGS "DMD_ALTER_GEOM_FIELD_DEFN_FLAGS"
829 
851 #define GDAL_DMD_SUPPORTED_SQL_DIALECTS "DMD_SUPPORTED_SQL_DIALECTS"
852 
854 #define GDAL_DMD_PLUGIN_INSTALLATION_MESSAGE "DMD_PLUGIN_INSTALLATION_MESSAGE"
861 #define GDAL_DIM_TYPE_HORIZONTAL_X "HORIZONTAL_X"
862 
867 #define GDAL_DIM_TYPE_HORIZONTAL_Y "HORIZONTAL_Y"
868 
872 #define GDAL_DIM_TYPE_VERTICAL "VERTICAL"
873 
877 #define GDAL_DIM_TYPE_TEMPORAL "TEMPORAL"
878 
882 #define GDAL_DIM_TYPE_PARAMETRIC "PARAMETRIC"
883 
884 #define GDsCAddRelationship \
885  "AddRelationship"
887 #define GDsCDeleteRelationship \
888  "DeleteRelationship"
890 #define GDsCUpdateRelationship \
891  "UpdateRelationship"
894 void CPL_DLL CPL_STDCALL GDALAllRegister(void);
895 void CPL_DLL GDALRegisterPlugins(void);
896 CPLErr CPL_DLL GDALRegisterPlugin(const char *name);
897 
898 GDALDatasetH CPL_DLL CPL_STDCALL
899 GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType,
901 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreateCopy(GDALDriverH, const char *,
903  GDALProgressFunc,
904  void *) CPL_WARN_UNUSED_RESULT;
905 
906 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver(const char *pszFilename,
907  CSLConstList papszFileList);
908 
909 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
910  const char *pszFilename, unsigned int nIdentifyFlags,
911  const char *const *papszAllowedDrivers, const char *const *papszFileList);
912 
913 GDALDatasetH CPL_DLL CPL_STDCALL
914 GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT;
915 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared(const char *, GDALAccess)
917 
918 /* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
919 /* equals to GA_ReadOnly and GA_Update */
920 
925 #define GDAL_OF_READONLY 0x00
926 
931 #define GDAL_OF_UPDATE 0x01
932 
937 #define GDAL_OF_ALL 0x00
938 
943 #define GDAL_OF_RASTER 0x02
944 
949 #define GDAL_OF_VECTOR 0x04
950 
955 #define GDAL_OF_GNM 0x08
956 
961 #define GDAL_OF_MULTIDIM_RASTER 0x10
962 
963 #ifndef DOXYGEN_SKIP
964 #define GDAL_OF_KIND_MASK 0x1E
965 #endif
966 
971 #define GDAL_OF_SHARED 0x20
972 
977 #define GDAL_OF_VERBOSE_ERROR 0x40
978 
985 #define GDAL_OF_INTERNAL 0x80
986 
996 #define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
997 
1006 #define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
1007 
1016 #define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
1017 
1018 #ifndef DOXYGEN_SKIP
1019 /* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
1020  * and GDAL_OF_HASHSET_BLOCK_ACCESS */
1021 #define GDAL_OF_RESERVED_1 0x300
1022 
1024 #define GDAL_OF_BLOCK_ACCESS_MASK 0x300
1025 #endif
1026 
1027 #ifndef DOXYGEN_SKIP
1030 #define GDAL_OF_FROM_GDALOPEN 0x400
1031 #endif
1032 
1033 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx(
1034  const char *pszFilename, unsigned int nOpenFlags,
1035  const char *const *papszAllowedDrivers, const char *const *papszOpenOptions,
1036  const char *const *papszSiblingFiles) CPL_WARN_UNUSED_RESULT;
1037 
1038 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets(FILE *);
1039 
1040 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName(const char *);
1041 int CPL_DLL CPL_STDCALL GDALGetDriverCount(void);
1042 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver(int);
1043 GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver(void);
1044 void CPL_DLL CPL_STDCALL GDALDestroyDriver(GDALDriverH);
1045 int CPL_DLL CPL_STDCALL GDALRegisterDriver(GDALDriverH);
1046 void CPL_DLL CPL_STDCALL GDALDeregisterDriver(GDALDriverH);
1047 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager(void);
1048 void CPL_DLL GDALDestroy(void);
1049 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset(GDALDriverH, const char *);
1050 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset(GDALDriverH,
1051  const char *pszNewName,
1052  const char *pszOldName);
1053 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles(GDALDriverH,
1054  const char *pszNewName,
1055  const char *pszOldName);
1056 int CPL_DLL CPL_STDCALL
1058 char CPL_DLL **GDALGetOutputDriversForDatasetName(const char *pszDestFilename,
1059  int nFlagRasterVector,
1060  bool bSingleMatch,
1061  bool bEmitWarning);
1062 
1063 /* The following are deprecated */
1064 const char CPL_DLL *CPL_STDCALL GDALGetDriverShortName(GDALDriverH);
1065 const char CPL_DLL *CPL_STDCALL GDALGetDriverLongName(GDALDriverH);
1066 const char CPL_DLL *CPL_STDCALL GDALGetDriverHelpTopic(GDALDriverH);
1067 const char CPL_DLL *CPL_STDCALL GDALGetDriverCreationOptionList(GDALDriverH);
1068 
1069 /* ==================================================================== */
1070 /* GDAL_GCP */
1071 /* ==================================================================== */
1072 
1074 typedef struct
1075 {
1077  char *pszId;
1078 
1080  char *pszInfo;
1081 
1083  double dfGCPPixel;
1085  double dfGCPLine;
1086 
1088  double dfGCPX;
1089 
1091  double dfGCPY;
1092 
1094  double dfGCPZ;
1095 } GDAL_GCP;
1096 
1097 void CPL_DLL CPL_STDCALL GDALInitGCPs(int, GDAL_GCP *);
1098 void CPL_DLL CPL_STDCALL GDALDeinitGCPs(int, GDAL_GCP *);
1099 GDAL_GCP CPL_DLL *CPL_STDCALL GDALDuplicateGCPs(int, const GDAL_GCP *);
1100 
1101 int CPL_DLL CPL_STDCALL GDALGCPsToGeoTransform(
1102  int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform,
1103  int bApproxOK) CPL_WARN_UNUSED_RESULT;
1104 int CPL_DLL CPL_STDCALL GDALInvGeoTransform(const double *padfGeoTransformIn,
1105  double *padfInvGeoTransformOut)
1107 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform(const double *, double, double,
1108  double *, double *);
1109 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
1110  const double *padfGeoTransform2,
1111  double *padfGeoTransformOut);
1112 
1113 /* ==================================================================== */
1114 /* major objects (dataset, and, driver, drivermanager). */
1115 /* ==================================================================== */
1116 
1117 char CPL_DLL **CPL_STDCALL GDALGetMetadataDomainList(GDALMajorObjectH hObject);
1118 char CPL_DLL **CPL_STDCALL GDALGetMetadata(GDALMajorObjectH, const char *);
1120  const char *);
1121 const char CPL_DLL *CPL_STDCALL GDALGetMetadataItem(GDALMajorObjectH,
1122  const char *, const char *);
1123 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadataItem(GDALMajorObjectH, const char *,
1124  const char *, const char *);
1125 const char CPL_DLL *CPL_STDCALL GDALGetDescription(GDALMajorObjectH);
1126 void CPL_DLL CPL_STDCALL GDALSetDescription(GDALMajorObjectH, const char *);
1127 
1128 /* ==================================================================== */
1129 /* GDALDataset class ... normally this represents one file. */
1130 /* ==================================================================== */
1131 
1133 #define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
1134 
1135 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver(GDALDatasetH);
1136 char CPL_DLL **CPL_STDCALL GDALGetFileList(GDALDatasetH);
1137 CPLErr CPL_DLL CPL_STDCALL GDALClose(GDALDatasetH);
1138 int CPL_DLL CPL_STDCALL GDALGetRasterXSize(GDALDatasetH);
1139 int CPL_DLL CPL_STDCALL GDALGetRasterYSize(GDALDatasetH);
1140 int CPL_DLL CPL_STDCALL GDALGetRasterCount(GDALDatasetH);
1141 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand(GDALDatasetH, int);
1142 
1143 CPLErr CPL_DLL CPL_STDCALL GDALAddBand(GDALDatasetH hDS, GDALDataType eType,
1144  CSLConstList papszOptions);
1145 
1146 GDALAsyncReaderH CPL_DLL CPL_STDCALL GDALBeginAsyncReader(
1147  GDALDatasetH hDS, int nXOff, int nYOff, int nXSize, int nYSize, void *pBuf,
1148  int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount,
1149  int *panBandMap, int nPixelSpace, int nLineSpace, int nBandSpace,
1150  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1151 
1152 void CPL_DLL CPL_STDCALL GDALEndAsyncReader(GDALDatasetH hDS,
1153  GDALAsyncReaderH hAsynchReaderH);
1154 
1155 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
1156  GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1157  int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1158  GDALDataType eBDataType, int nBandCount, const int *panBandCount,
1159  int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
1160 
1161 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
1162  GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1163  int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1164  GDALDataType eBDataType, int nBandCount, const int *panBandCount,
1165  GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
1167 
1168 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead(
1169  GDALDatasetH hDS, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
1170  int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount,
1171  int *panBandCount, CSLConstList papszOptions);
1172 
1173 char CPL_DLL **
1174 GDALDatasetGetCompressionFormats(GDALDatasetH hDS, int nXOff, int nYOff,
1175  int nXSize, int nYSize, int nBandCount,
1176  const int *panBandList) CPL_WARN_UNUSED_RESULT;
1178  GDALDatasetH hDS, const char *pszFormat, int nXOff, int nYOff, int nXSize,
1179  int nYSize, int nBandCount, const int *panBandList, void **ppBuffer,
1180  size_t *pnBufferSize, char **ppszDetailedFormat);
1181 
1182 const char CPL_DLL *CPL_STDCALL GDALGetProjectionRef(GDALDatasetH);
1184 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection(GDALDatasetH, const char *);
1186 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform(GDALDatasetH, double *);
1187 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform(GDALDatasetH, double *);
1188 
1189 int CPL_DLL CPL_STDCALL GDALGetGCPCount(GDALDatasetH);
1190 const char CPL_DLL *CPL_STDCALL GDALGetGCPProjection(GDALDatasetH);
1192 const GDAL_GCP CPL_DLL *CPL_STDCALL GDALGetGCPs(GDALDatasetH);
1193 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *,
1194  const char *);
1195 CPLErr CPL_DLL GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *,
1197 
1198 void CPL_DLL *CPL_STDCALL GDALGetInternalHandle(GDALDatasetH, const char *);
1199 int CPL_DLL CPL_STDCALL GDALReferenceDataset(GDALDatasetH);
1200 int CPL_DLL CPL_STDCALL GDALDereferenceDataset(GDALDatasetH);
1201 int CPL_DLL CPL_STDCALL GDALReleaseDataset(GDALDatasetH);
1202 
1203 CPLErr CPL_DLL CPL_STDCALL GDALBuildOverviews(GDALDatasetH, const char *, int,
1204  const int *, int, const int *,
1205  GDALProgressFunc,
1206  void *) CPL_WARN_UNUSED_RESULT;
1207 CPLErr CPL_DLL CPL_STDCALL GDALBuildOverviewsEx(
1208  GDALDatasetH, const char *, int, const int *, int, const int *,
1209  GDALProgressFunc, void *, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1210 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount);
1211 int CPL_DLL CPL_STDCALL GDALGetAccess(GDALDatasetH hDS);
1212 CPLErr CPL_DLL CPL_STDCALL GDALFlushCache(GDALDatasetH hDS);
1213 CPLErr CPL_DLL CPL_STDCALL GDALDropCache(GDALDatasetH hDS);
1214 
1215 CPLErr CPL_DLL CPL_STDCALL GDALCreateDatasetMaskBand(GDALDatasetH hDS,
1216  int nFlags);
1217 
1218 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
1219  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
1220  GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT;
1221 
1222 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
1223  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
1224  const char *const *constpapszOptions, GDALProgressFunc pfnProgress,
1225  void *pProgressData) CPL_WARN_UNUSED_RESULT;
1226 
1228  int nOverviewCount,
1229  GDALRasterBandH *pahOverviewBands,
1230  const char *pszResampling,
1231  GDALProgressFunc pfnProgress,
1232  void *pProgressData);
1233 
1235  int nOverviewCount,
1236  GDALRasterBandH *pahOverviewBands,
1237  const char *pszResampling,
1238  GDALProgressFunc pfnProgress,
1239  void *pProgressData,
1240  CSLConstList papszOptions);
1241 
1244 
1245 /* Defined here to avoid circular dependency with ogr_api.h */
1246 GDALDatasetH CPL_DLL OGR_L_GetDataset(OGRLayerH hLayer);
1247 
1248 OGRLayerH CPL_DLL GDALDatasetGetLayerByName(GDALDatasetH, const char *);
1249 int CPL_DLL GDALDatasetIsLayerPrivate(GDALDatasetH, int);
1251 OGRLayerH CPL_DLL GDALDatasetCreateLayer(GDALDatasetH, const char *,
1255  const char *,
1257  CSLConstList);
1258 OGRLayerH CPL_DLL GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *,
1259  CSLConstList);
1262  OGRLayerH *phBelongingLayer,
1263  double *pdfProgressPct,
1264  GDALProgressFunc pfnProgress,
1265  void *pProgressData);
1266 int CPL_DLL GDALDatasetTestCapability(GDALDatasetH, const char *);
1267 OGRLayerH CPL_DLL GDALDatasetExecuteSQL(GDALDatasetH, const char *,
1268  OGRGeometryH, const char *);
1274 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
1277 void CPL_DLL GDALDatasetClearStatistics(GDALDatasetH hDS);
1278 
1282  const char *pszName);
1283 bool CPL_DLL GDALDatasetAddFieldDomain(GDALDatasetH hDS,
1284  OGRFieldDomainH hFieldDomain,
1285  char **ppszFailureReason);
1286 bool CPL_DLL GDALDatasetDeleteFieldDomain(GDALDatasetH hDS, const char *pszName,
1287  char **ppszFailureReason);
1289  OGRFieldDomainH hFieldDomain,
1290  char **ppszFailureReason);
1291 
1295  const char *pszName);
1296 
1297 bool CPL_DLL GDALDatasetAddRelationship(GDALDatasetH hDS,
1298  GDALRelationshipH hRelationship,
1299  char **ppszFailureReason);
1301  const char *pszName,
1302  char **ppszFailureReason);
1304  GDALRelationshipH hRelationship,
1305  char **ppszFailureReason);
1306 
1309 typedef void (*GDALQueryLoggerFunc)(const char *pszSQL, const char *pszError,
1310  int64_t lNumRecords,
1311  int64_t lExecutionTimeMilliseconds,
1312  void *pQueryLoggerArg);
1313 
1330 bool CPL_DLL GDALDatasetSetQueryLoggerFunc(
1331  GDALDatasetH hDS, GDALQueryLoggerFunc pfnQueryLoggerFunc,
1332  void *poQueryLoggerArg);
1333 
1334 /* ==================================================================== */
1335 /* Informational utilities about subdatasets in file names */
1336 /* ==================================================================== */
1337 
1343 
1355 GDALSubdatasetInfoH CPL_DLL GDALGetSubdatasetInfo(const char *pszFileName);
1356 
1368 
1377 char CPL_DLL *
1379 
1390  const char *pszNewPath);
1391 
1398 
1399 /* ==================================================================== */
1400 /* GDALRasterBand ... one band/channel in a dataset. */
1401 /* ==================================================================== */
1402 
1403 /* Note: the only user of SRCVAL() was frmts/vrt/pixelfunctions.cpp and we no */
1404 /* longer use it. */
1405 
1410 #define SRCVAL(papoSource, eSrcType, ii) \
1411  (eSrcType == GDT_Byte \
1412  ? CPL_REINTERPRET_CAST(const GByte *, papoSource)[ii] \
1413  : (eSrcType == GDT_Int8 \
1414  ? CPL_REINTERPRET_CAST(const GInt8 *, papoSource)[ii] \
1415  : (eSrcType == GDT_Float32 \
1416  ? CPL_REINTERPRET_CAST(const float *, papoSource)[ii] \
1417  : (eSrcType == GDT_Float64 \
1418  ? CPL_REINTERPRET_CAST(const double *, \
1419  papoSource)[ii] \
1420  : (eSrcType == GDT_Int32 \
1421  ? CPL_REINTERPRET_CAST(const GInt32 *, \
1422  papoSource)[ii] \
1423  : (eSrcType == GDT_UInt16 \
1424  ? CPL_REINTERPRET_CAST( \
1425  const GUInt16 *, \
1426  papoSource)[ii] \
1427  : (eSrcType == GDT_Int16 \
1428  ? CPL_REINTERPRET_CAST( \
1429  const GInt16 *, \
1430  papoSource)[ii] \
1431  : (eSrcType == GDT_UInt32 \
1432  ? CPL_REINTERPRET_CAST( \
1433  const GUInt32 \
1434  *, \
1435  papoSource) \
1436  [ii] \
1437  : (eSrcType == \
1438  GDT_CInt16 \
1439  ? CPL_REINTERPRET_CAST( \
1440  const GInt16 \
1441  *, \
1442  papoSource) \
1443  [(ii)*2] \
1444  : (eSrcType == \
1445  GDT_CInt32 \
1446  ? CPL_REINTERPRET_CAST( \
1447  const GInt32 \
1448  *, \
1449  papoSource) \
1450  [(ii)*2] \
1451  : (eSrcType == \
1452  GDT_CFloat32 \
1453  ? CPL_REINTERPRET_CAST( \
1454  const float \
1455  *, \
1456  papoSource) \
1457  [(ii)*2] \
1458  : (eSrcType == \
1459  GDT_CFloat64 \
1460  ? CPL_REINTERPRET_CAST( \
1461  const double \
1462  *, \
1463  papoSource) \
1464  [(ii)*2] \
1465  : 0))))))))))))
1466 
1469 typedef CPLErr (*GDALDerivedPixelFunc)(void **papoSources, int nSources,
1470  void *pData, int nBufXSize,
1471  int nBufYSize, GDALDataType eSrcType,
1472  GDALDataType eBufType, int nPixelSpace,
1473  int nLineSpace);
1474 
1478  void **papoSources, int nSources, void *pData, int nBufXSize, int nBufYSize,
1479  GDALDataType eSrcType, GDALDataType eBufType, int nPixelSpace,
1480  int nLineSpace, CSLConstList papszFunctionArgs);
1481 
1483 void CPL_DLL CPL_STDCALL GDALGetBlockSize(GDALRasterBandH, int *pnXSize,
1484  int *pnYSize);
1485 
1486 CPLErr CPL_DLL CPL_STDCALL GDALGetActualBlockSize(GDALRasterBandH,
1487  int nXBlockOff,
1488  int nYBlockOff, int *pnXValid,
1489  int *pnYValid);
1490 
1491 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead(GDALRasterBandH hRB,
1492  int nDSXOff, int nDSYOff,
1493  int nDSXSize, int nDSYSize,
1494  int nBXSize, int nBYSize,
1495  GDALDataType eBDataType,
1496  CSLConstList papszOptions);
1497 
1498 CPLErr CPL_DLL CPL_STDCALL GDALRasterIO(GDALRasterBandH hRBand,
1499  GDALRWFlag eRWFlag, int nDSXOff,
1500  int nDSYOff, int nDSXSize, int nDSYSize,
1501  void *pBuffer, int nBXSize, int nBYSize,
1502  GDALDataType eBDataType,
1503  int nPixelSpace,
1504  int nLineSpace) CPL_WARN_UNUSED_RESULT;
1505 CPLErr CPL_DLL CPL_STDCALL GDALRasterIOEx(
1506  GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1507  int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1508  GDALDataType eBDataType, GSpacing nPixelSpace, GSpacing nLineSpace,
1510 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock(GDALRasterBandH, int, int,
1511  void *) CPL_WARN_UNUSED_RESULT;
1512 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock(GDALRasterBandH, int, int,
1513  void *) CPL_WARN_UNUSED_RESULT;
1514 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize(GDALRasterBandH);
1515 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize(GDALRasterBandH);
1516 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess(GDALRasterBandH);
1517 int CPL_DLL CPL_STDCALL GDALGetBandNumber(GDALRasterBandH);
1518 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset(GDALRasterBandH);
1519 
1523  GDALColorInterp);
1525 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable(GDALRasterBandH,
1526  GDALColorTableH);
1527 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews(GDALRasterBandH);
1528 int CPL_DLL CPL_STDCALL GDALGetOverviewCount(GDALRasterBandH);
1529 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview(GDALRasterBandH, int);
1530 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue(GDALRasterBandH, int *);
1531 int64_t CPL_DLL CPL_STDCALL GDALGetRasterNoDataValueAsInt64(GDALRasterBandH,
1532  int *);
1533 uint64_t CPL_DLL CPL_STDCALL GDALGetRasterNoDataValueAsUInt64(GDALRasterBandH,
1534  int *);
1535 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue(GDALRasterBandH, double);
1537  int64_t);
1539  uint64_t);
1541 char CPL_DLL **CPL_STDCALL GDALGetRasterCategoryNames(GDALRasterBandH);
1543  CSLConstList);
1544 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum(GDALRasterBandH,
1545  int *pbSuccess);
1546 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum(GDALRasterBandH,
1547  int *pbSuccess);
1548 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
1549  GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax,
1550  double *pdfMean, double *pdfStdDev);
1551 CPLErr CPL_DLL CPL_STDCALL
1552 GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin,
1553  double *pdfMax, double *pdfMean, double *pdfStdDev,
1554  GDALProgressFunc pfnProgress, void *pProgressData);
1555 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(GDALRasterBandH hBand,
1556  double dfMin, double dfMax,
1557  double dfMean,
1558  double dfStdDev);
1559 
1562 
1563 const char CPL_DLL *CPL_STDCALL GDALGetRasterUnitType(GDALRasterBandH);
1564 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType(GDALRasterBandH hBand,
1565  const char *pszNewValue);
1566 double CPL_DLL CPL_STDCALL GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess);
1567 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset(GDALRasterBandH hBand,
1568  double dfNewOffset);
1569 double CPL_DLL CPL_STDCALL GDALGetRasterScale(GDALRasterBandH, int *pbSuccess);
1570 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale(GDALRasterBandH hBand,
1571  double dfNewOffset);
1572 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterMinMax(GDALRasterBandH hBand,
1573  int bApproxOK,
1574  double adfMinMax[2]);
1575 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache(GDALRasterBandH hBand);
1576 CPLErr CPL_DLL CPL_STDCALL GDALDropRasterCache(GDALRasterBandH hBand);
1577 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram(
1578  GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets,
1579  int *panHistogram, int bIncludeOutOfRange, int bApproxOK,
1580  GDALProgressFunc pfnProgress, void *pProgressData)
1582  CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead")
1584  ;
1585 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx(
1586  GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets,
1587  GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK,
1588  GDALProgressFunc pfnProgress, void *pProgressData);
1589 CPLErr CPL_DLL CPL_STDCALL
1590 GDALGetDefaultHistogram(GDALRasterBandH hBand, double *pdfMin, double *pdfMax,
1591  int *pnBuckets, int **ppanHistogram, int bForce,
1592  GDALProgressFunc pfnProgress, void *pProgressData)
1594  CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead")
1596  ;
1597 CPLErr CPL_DLL CPL_STDCALL
1598 GDALGetDefaultHistogramEx(GDALRasterBandH hBand, double *pdfMin, double *pdfMax,
1599  int *pnBuckets, GUIntBig **ppanHistogram, int bForce,
1600  GDALProgressFunc pfnProgress, void *pProgressData);
1601 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram(GDALRasterBandH hBand,
1602  double dfMin, double dfMax,
1603  int nBuckets,
1604  int *panHistogram)
1606  CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
1608  ;
1609 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx(GDALRasterBandH hBand,
1610  double dfMin, double dfMax,
1611  int nBuckets,
1612  GUIntBig *panHistogram);
1613 int CPL_DLL CPL_STDCALL GDALGetRandomRasterSample(GDALRasterBandH, int,
1614  float *);
1616  int);
1617 GDALRasterBandH CPL_DLL CPL_STDCALL
1619 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster(GDALRasterBandH hBand,
1620  double dfRealValue,
1621  double dfImaginaryValue);
1622 CPLErr CPL_DLL CPL_STDCALL GDALComputeBandStats(
1623  GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev,
1624  GDALProgressFunc pfnProgress, void *pProgressData);
1626  int nOverviewCount,
1627  GDALRasterBandH *pahOverviews,
1628  GDALProgressFunc pfnProgress,
1629  void *pProgressData);
1630 
1631 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1633 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT(GDALRasterBandH,
1635 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc(
1636  const char *pszName, GDALDerivedPixelFunc pfnPixelFunc);
1637 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFuncWithArgs(
1638  const char *pszName, GDALDerivedPixelFuncWithArgs pfnPixelFunc,
1639  const char *pszMetadata);
1640 
1643 typedef void *VRTPDWorkingDataPtr;
1644 
1684  const char *pszFuncName, void *pUserData, CSLConstList papszFunctionArgs,
1685  int nInBands, GDALDataType eInDT, double *padfInNoData, int *pnOutBands,
1686  GDALDataType *peOutDT, double **ppadfOutNoData, const char *pszVRTPath,
1687  VRTPDWorkingDataPtr *ppWorkingData);
1688 
1699  const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData);
1700 
1732  const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData,
1733  CSLConstList papszFunctionArgs, int nBufXSize, int nBufYSize,
1734  const void *pInBuffer, size_t nInBufferSize, GDALDataType eInDT,
1735  int nInBands, const double *padfInNoData, void *pOutBuffer,
1736  size_t nOutBufferSize, GDALDataType eOutDT, int nOutBands,
1737  const double *padfOutNoData, double dfSrcXOff, double dfSrcYOff,
1738  double dfSrcXSize, double dfSrcYSize, const double adfSrcGT[/*6*/],
1739  const char *pszVRTPath, CSLConstList papszExtra);
1740 
1742  const char *pszFuncName, void *pUserData, const char *pszXMLMetadata,
1743  GDALDataType eRequestedInputDT, const GDALDataType *paeSupportedInputDT,
1744  size_t nSupportedInputDTSize, const int *panSupportedInputBandCount,
1745  size_t nSupportedInputBandCountSize,
1748  GDALVRTProcessedDatasetFuncProcess pfnProcess, CSLConstList papszOptions);
1749 
1750 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand(GDALRasterBandH hBand);
1751 int CPL_DLL CPL_STDCALL GDALGetMaskFlags(GDALRasterBandH hBand);
1752 CPLErr CPL_DLL CPL_STDCALL GDALCreateMaskBand(GDALRasterBandH hBand,
1753  int nFlags);
1754 bool CPL_DLL GDALIsMaskBand(GDALRasterBandH hBand);
1755 
1757 #define GMF_ALL_VALID 0x01
1760 #define GMF_PER_DATASET 0x02
1763 #define GMF_ALPHA 0x04
1766 #define GMF_NODATA 0x08
1767 
1771 #define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
1772 
1777 #define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
1778 
1784 #define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
1785 
1786 int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus(GDALRasterBandH hBand,
1787  int nXOff, int nYOff,
1788  int nXSize, int nYSize,
1789  int nMaskFlagStop,
1790  double *pdfDataPct);
1791 
1792 /* ==================================================================== */
1793 /* GDALAsyncReader */
1794 /* ==================================================================== */
1795 
1797  GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff,
1798  int *pnXBufSize, int *pnYBufSize);
1799 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
1800  double dfTimeout);
1801 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
1802 
1803 /* -------------------------------------------------------------------- */
1804 /* Helper functions. */
1805 /* -------------------------------------------------------------------- */
1806 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor(int nArgc,
1807  char ***ppapszArgv,
1808  int nOptions);
1809 void CPL_DLL CPL_STDCALL GDALSwapWords(void *pData, int nWordSize,
1810  int nWordCount, int nWordSkip);
1811 void CPL_DLL CPL_STDCALL GDALSwapWordsEx(void *pData, int nWordSize,
1812  size_t nWordCount, int nWordSkip);
1813 
1814 void CPL_DLL CPL_STDCALL GDALCopyWords(const void *CPL_RESTRICT pSrcData,
1815  GDALDataType eSrcType,
1816  int nSrcPixelOffset,
1817  void *CPL_RESTRICT pDstData,
1818  GDALDataType eDstType,
1819  int nDstPixelOffset, int nWordCount);
1820 
1821 void CPL_DLL CPL_STDCALL GDALCopyWords64(
1822  const void *CPL_RESTRICT pSrcData, GDALDataType eSrcType,
1823  int nSrcPixelOffset, void *CPL_RESTRICT pDstData, GDALDataType eDstType,
1824  int nDstPixelOffset, GPtrDiff_t nWordCount);
1825 
1826 void CPL_DLL GDALCopyBits(const GByte *pabySrcData, int nSrcOffset,
1827  int nSrcStep, GByte *pabyDstData, int nDstOffset,
1828  int nDstStep, int nBitCount, int nStepCount);
1829 
1830 void CPL_DLL GDALDeinterleave(const void *pSourceBuffer, GDALDataType eSourceDT,
1831  int nComponents, void **ppDestBuffer,
1832  GDALDataType eDestDT, size_t nIters);
1833 
1834 double CPL_DLL GDALGetNoDataReplacementValue(GDALDataType, double);
1835 
1836 int CPL_DLL CPL_STDCALL GDALLoadWorldFile(const char *, double *);
1837 int CPL_DLL CPL_STDCALL GDALReadWorldFile(const char *, const char *, double *);
1838 int CPL_DLL CPL_STDCALL GDALWriteWorldFile(const char *, const char *,
1839  double *);
1840 int CPL_DLL CPL_STDCALL GDALLoadTabFile(const char *, double *, char **, int *,
1841  GDAL_GCP **);
1842 int CPL_DLL CPL_STDCALL GDALReadTabFile(const char *, double *, char **, int *,
1843  GDAL_GCP **);
1844 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile(const char *, double *, char **,
1845  int *, GDAL_GCP **);
1846 int CPL_DLL CPL_STDCALL GDALReadOziMapFile(const char *, double *, char **,
1847  int *, GDAL_GCP **);
1848 
1849 const char CPL_DLL *CPL_STDCALL GDALDecToDMS(double, const char *, int);
1850 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec(double);
1851 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS(double);
1852 
1853 /* Note to developers : please keep this section in sync with ogr_core.h */
1854 
1855 #ifndef GDAL_VERSION_INFO_DEFINED
1856 #ifndef DOXYGEN_SKIP
1857 #define GDAL_VERSION_INFO_DEFINED
1858 #endif
1859 const char CPL_DLL *CPL_STDCALL GDALVersionInfo(const char *);
1860 #endif
1861 
1862 #ifndef GDAL_CHECK_VERSION
1863 
1864 int CPL_DLL CPL_STDCALL GDALCheckVersion(int nVersionMajor, int nVersionMinor,
1865  const char *pszCallingComponentName);
1866 
1870 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
1871  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, \
1872  pszCallingComponentName)
1873 
1874 #endif
1875 
1877 #ifdef GDAL_COMPILATION
1878 #define GDALExtractRPCInfoV1 GDALExtractRPCInfo
1879 #else
1880 #define GDALRPCInfo GDALRPCInfoV2
1881 #define GDALExtractRPCInfo GDALExtractRPCInfoV2
1882 #endif
1883 
1884 /* Deprecated: use GDALRPCInfoV2 */
1885 typedef struct
1886 {
1887  double dfLINE_OFF;
1888  double dfSAMP_OFF;
1889  double dfLAT_OFF;
1890  double dfLONG_OFF;
1891  double dfHEIGHT_OFF;
1893  double dfLINE_SCALE;
1894  double dfSAMP_SCALE;
1895  double dfLAT_SCALE;
1896  double dfLONG_SCALE;
1897  double dfHEIGHT_SCALE;
1899  double adfLINE_NUM_COEFF[20];
1900  double adfLINE_DEN_COEFF[20];
1901  double adfSAMP_NUM_COEFF[20];
1902  double adfSAMP_DEN_COEFF[20];
1904  double dfMIN_LONG;
1905  double dfMIN_LAT;
1906  double dfMAX_LONG;
1907  double dfMAX_LAT;
1908 } GDALRPCInfoV1;
1909 
1914 typedef struct
1915 {
1916  double dfLINE_OFF;
1917  double dfSAMP_OFF;
1918  double dfLAT_OFF;
1919  double dfLONG_OFF;
1920  double dfHEIGHT_OFF;
1922  double dfLINE_SCALE;
1923  double dfSAMP_SCALE;
1924  double dfLAT_SCALE;
1925  double dfLONG_SCALE;
1928  double adfLINE_NUM_COEFF[20];
1929  double adfLINE_DEN_COEFF[20];
1930  double adfSAMP_NUM_COEFF[20];
1931  double adfSAMP_DEN_COEFF[20];
1933  double dfMIN_LONG;
1934  double dfMIN_LAT;
1935  double dfMAX_LONG;
1936  double dfMAX_LAT;
1938  /* Those fields should be at the end. And all above fields should be the
1939  * same as in GDALRPCInfoV1 */
1940  double dfERR_BIAS;
1941  double dfERR_RAND;
1942 } GDALRPCInfoV2;
1943 
1945 int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV1(CSLConstList, GDALRPCInfoV1 *);
1947 int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *);
1948 
1949 /* ==================================================================== */
1950 /* Color tables. */
1951 /* ==================================================================== */
1952 
1954 typedef struct
1955 {
1957  short c1;
1958 
1960  short c2;
1961 
1963  short c3;
1964 
1966  short c4;
1967 } GDALColorEntry;
1968 
1971 void CPL_DLL CPL_STDCALL GDALDestroyColorTable(GDALColorTableH);
1974  CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation(GDALColorTableH);
1975 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount(GDALColorTableH);
1976 const GDALColorEntry CPL_DLL *CPL_STDCALL GDALGetColorEntry(GDALColorTableH,
1977  int);
1978 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB(GDALColorTableH, int,
1979  GDALColorEntry *);
1980 void CPL_DLL CPL_STDCALL GDALSetColorEntry(GDALColorTableH, int,
1981  const GDALColorEntry *);
1982 void CPL_DLL CPL_STDCALL GDALCreateColorRamp(GDALColorTableH hTable,
1983  int nStartIndex,
1984  const GDALColorEntry *psStartColor,
1985  int nEndIndex,
1986  const GDALColorEntry *psEndColor);
1987 
1988 /* ==================================================================== */
1989 /* Raster Attribute Table */
1990 /* ==================================================================== */
1991 
1993 typedef enum
1999 
2001 typedef enum
2023 
2027 typedef enum
2032 
2033 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
2035 
2036 void CPL_DLL CPL_STDCALL
2038 
2039 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount(GDALRasterAttributeTableH);
2040 
2041 const char CPL_DLL *CPL_STDCALL GDALRATGetNameOfCol(GDALRasterAttributeTableH,
2042  int);
2043 GDALRATFieldUsage CPL_DLL CPL_STDCALL
2045 GDALRATFieldType CPL_DLL CPL_STDCALL
2047 
2048 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage(GDALRasterAttributeTableH,
2050 int CPL_DLL CPL_STDCALL GDALRATGetRowCount(GDALRasterAttributeTableH);
2051 
2052 const char CPL_DLL *CPL_STDCALL
2054 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(GDALRasterAttributeTableH, int,
2055  int);
2056 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(GDALRasterAttributeTableH,
2057  int, int);
2058 
2059 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString(GDALRasterAttributeTableH, int,
2060  int, const char *);
2061 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt(GDALRasterAttributeTableH, int,
2062  int, int);
2063 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int,
2064  int, double);
2065 
2066 int CPL_DLL CPL_STDCALL
2068 
2069 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble(
2070  GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField,
2071  int iStartRow, int iLength, double *pdfData);
2072 CPLErr CPL_DLL CPL_STDCALL
2074  int iField, int iStartRow, int iLength, int *pnData);
2075 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString(
2076  GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField,
2077  int iStartRow, int iLength, char **papszStrList);
2078 
2079 void CPL_DLL CPL_STDCALL GDALRATSetRowCount(GDALRasterAttributeTableH, int);
2081  const char *, GDALRATFieldType,
2084  double, double);
2085 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning(GDALRasterAttributeTableH,
2086  double *, double *);
2087 CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType(
2088  GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType);
2089 GDALRATTableType CPL_DLL CPL_STDCALL
2091 CPLErr CPL_DLL CPL_STDCALL
2093 GDALColorTableH CPL_DLL CPL_STDCALL
2095 void CPL_DLL CPL_STDCALL GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *);
2096 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
2098 
2099 void CPL_DLL *CPL_STDCALL GDALRATSerializeJSON(GDALRasterAttributeTableH)
2101 
2102 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue(GDALRasterAttributeTableH, double);
2103 void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics(GDALRasterAttributeTableH);
2104 
2105 /* -------------------------------------------------------------------- */
2106 /* Relationships */
2107 /* -------------------------------------------------------------------- */
2108 
2113 typedef enum
2114 {
2124 
2129 typedef enum
2130 {
2138 
2139 GDALRelationshipH CPL_DLL GDALRelationshipCreate(const char *, const char *,
2140  const char *,
2142 void CPL_DLL CPL_STDCALL GDALDestroyRelationship(GDALRelationshipH);
2143 const char CPL_DLL *GDALRelationshipGetName(GDALRelationshipH);
2150  const char *);
2154  CSLConstList);
2156  CSLConstList);
2160  CSLConstList);
2162  CSLConstList);
2167  const char *);
2170  const char *);
2173  const char *);
2174 
2175 /* ==================================================================== */
2176 /* GDAL Cache Management */
2177 /* ==================================================================== */
2178 
2179 void CPL_DLL CPL_STDCALL GDALSetCacheMax(int nBytes);
2180 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
2181 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
2182 void CPL_DLL CPL_STDCALL GDALSetCacheMax64(GIntBig nBytes);
2183 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
2184 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
2185 
2186 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
2187 
2188 /* ==================================================================== */
2189 /* GDAL virtual memory */
2190 /* ==================================================================== */
2191 
2193  GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2194  int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType,
2195  int nBandCount, int *panBandMap, int nPixelSpace, GIntBig nLineSpace,
2196  GIntBig nBandSpace, size_t nCacheSize, size_t nPageSizeHint,
2197  int bSingleThreadUsage, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2198 
2200  GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2201  int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType,
2202  int nPixelSpace, GIntBig nLineSpace, size_t nCacheSize,
2203  size_t nPageSizeHint, int bSingleThreadUsage,
2204  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2205 
2206 CPLVirtualMem CPL_DLL *
2208  int *pnPixelSpace, GIntBig *pnLineSpace,
2209  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2210 
2212 typedef enum
2213 {
2223  GTO_BSQ
2225 
2227  GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2228  int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType,
2229  int nBandCount, int *panBandMap, GDALTileOrganization eTileOrganization,
2230  size_t nCacheSize, int bSingleThreadUsage,
2231  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2232 
2234  GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
2235  int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType,
2236  size_t nCacheSize, int bSingleThreadUsage,
2237  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2238 
2239 /* ==================================================================== */
2240 /* VRTPansharpenedDataset class. */
2241 /* ==================================================================== */
2242 
2244  const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands,
2245  GDALRasterBandH *pahInputSpectralBands) CPL_WARN_UNUSED_RESULT;
2246 
2247 /* =================================================================== */
2248 /* Misc API */
2249 /* ==================================================================== */
2250 
2251 CPLXMLNode CPL_DLL *
2252 GDALGetJPEG2000Structure(const char *pszFilename,
2253  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2254 
2255 /* ==================================================================== */
2256 /* Multidimensional API_api */
2257 /* ==================================================================== */
2258 
2259 GDALDatasetH CPL_DLL
2260 GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName,
2261  CSLConstList papszRootGroupOptions,
2262  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2263 
2267  size_t nMaxStringLength) CPL_WARN_UNUSED_RESULT;
2269  size_t nMaxStringLength,
2272  const char *pszName, size_t nTotalSize, size_t nComponents,
2275 const char CPL_DLL *GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT);
2278 GDALDataType CPL_DLL
2281 size_t CPL_DLL
2283 GDALEDTComponentH CPL_DLL *
2285  size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2286 void CPL_DLL GDALExtendedDataTypeFreeComponents(GDALEDTComponentH *components,
2287  size_t nCount);
2289  GDALExtendedDataTypeH hTargetEDT);
2291  GDALExtendedDataTypeH hSecondEDT);
2294 
2295 GDALEDTComponentH CPL_DLL
2296 GDALEDTComponentCreate(const char *pszName, size_t nOffset,
2298 void CPL_DLL GDALEDTComponentRelease(GDALEDTComponentH hComp);
2299 const char CPL_DLL *GDALEDTComponentGetName(GDALEDTComponentH hComp);
2300 size_t CPL_DLL GDALEDTComponentGetOffset(GDALEDTComponentH hComp);
2303 
2306 void CPL_DLL GDALGroupRelease(GDALGroupH hGroup);
2307 const char CPL_DLL *GDALGroupGetName(GDALGroupH hGroup);
2308 const char CPL_DLL *GDALGroupGetFullName(GDALGroupH hGroup);
2309 char CPL_DLL **
2311  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2312 GDALMDArrayH CPL_DLL
2313 GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName,
2314  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2316  GDALGroupH hGroup, const char *pszMDArrayName,
2317  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2319  GDALGroupH hGroup, const char *pszName, const char *pszStartingPoint,
2320  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2321 char CPL_DLL **
2323  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2324 GDALGroupH CPL_DLL
2325 GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName,
2326  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2328  GDALGroupH hGroup, const char *pszMDArrayName,
2329  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2330 char CPL_DLL **
2332  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2333 OGRLayerH CPL_DLL
2334 GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName,
2335  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2336 GDALDimensionH CPL_DLL *
2337 GDALGroupGetDimensions(GDALGroupH hGroup, size_t *pnCount,
2338  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2340  GDALGroupH hGroup, const char *pszName) CPL_WARN_UNUSED_RESULT;
2341 GDALAttributeH CPL_DLL *
2342 GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount,
2343  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2345 GDALGroupH CPL_DLL
2346 GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName,
2347  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2348 bool CPL_DLL GDALGroupDeleteGroup(GDALGroupH hGroup, const char *pszName,
2349  CSLConstList papszOptions);
2351  GDALGroupH hGroup, const char *pszName, const char *pszType,
2352  const char *pszDirection, GUInt64 nSize,
2353  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2355  GDALGroupH hGroup, const char *pszName, size_t nDimensions,
2356  GDALDimensionH *pahDimensions, GDALExtendedDataTypeH hEDT,
2357  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2358 bool CPL_DLL GDALGroupDeleteMDArray(GDALGroupH hGroup, const char *pszName,
2359  CSLConstList papszOptions);
2361  GDALGroupH hGroup, const char *pszName, size_t nDimensions,
2362  const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT,
2363  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2364 bool CPL_DLL GDALGroupDeleteAttribute(GDALGroupH hGroup, const char *pszName,
2365  CSLConstList papszOptions);
2366 bool CPL_DLL GDALGroupRename(GDALGroupH hGroup, const char *pszNewName);
2368  GDALGroupH hGroup, const char *pszSelection, CSLConstList papszOptions);
2369 
2370 void CPL_DLL GDALMDArrayRelease(GDALMDArrayH hMDArray);
2371 const char CPL_DLL *GDALMDArrayGetName(GDALMDArrayH hArray);
2372 const char CPL_DLL *GDALMDArrayGetFullName(GDALMDArrayH hArray);
2374 size_t CPL_DLL GDALMDArrayGetDimensionCount(GDALMDArrayH hArray);
2375 GDALDimensionH CPL_DLL *
2377  size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2380 int CPL_DLL GDALMDArrayRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx,
2381  const size_t *count, const GInt64 *arrayStep,
2382  const GPtrDiff_t *bufferStride,
2383  GDALExtendedDataTypeH bufferDatatype,
2384  void *pDstBuffer, const void *pDstBufferAllocStart,
2385  size_t nDstBufferllocSize);
2386 int CPL_DLL GDALMDArrayWrite(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx,
2387  const size_t *count, const GInt64 *arrayStep,
2388  const GPtrDiff_t *bufferStride,
2389  GDALExtendedDataTypeH bufferDatatype,
2390  const void *pSrcBuffer,
2391  const void *psrcBufferAllocStart,
2392  size_t nSrcBufferllocSize);
2393 int CPL_DLL GDALMDArrayAdviseRead(GDALMDArrayH hArray,
2394  const GUInt64 *arrayStartIdx,
2395  const size_t *count);
2396 int CPL_DLL GDALMDArrayAdviseReadEx(GDALMDArrayH hArray,
2397  const GUInt64 *arrayStartIdx,
2398  const size_t *count,
2399  CSLConstList papszOptions);
2401  GDALMDArrayH hArray, const char *pszName) CPL_WARN_UNUSED_RESULT;
2402 GDALAttributeH CPL_DLL *
2403 GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount,
2404  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2406  GDALMDArrayH hArray, const char *pszName, size_t nDimensions,
2407  const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT,
2408  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2409 bool CPL_DLL GDALMDArrayDeleteAttribute(GDALMDArrayH hArray,
2410  const char *pszName,
2411  CSLConstList papszOptions);
2412 bool CPL_DLL GDALMDArrayResize(GDALMDArrayH hArray,
2413  const GUInt64 *panNewDimSizes,
2414  CSLConstList papszOptions);
2415 const void CPL_DLL *GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray);
2416 double CPL_DLL GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray,
2417  int *pbHasNoDataValue);
2418 int64_t CPL_DLL GDALMDArrayGetNoDataValueAsInt64(GDALMDArrayH hArray,
2419  int *pbHasNoDataValue);
2420 uint64_t CPL_DLL GDALMDArrayGetNoDataValueAsUInt64(GDALMDArrayH hArray,
2421  int *pbHasNoDataValue);
2422 int CPL_DLL GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *);
2424  double dfNoDataValue);
2426  int64_t nNoDataValue);
2428  uint64_t nNoDataValue);
2429 int CPL_DLL GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale);
2430 int CPL_DLL GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale,
2431  GDALDataType eStorageType);
2432 double CPL_DLL GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue);
2433 double CPL_DLL GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue,
2434  GDALDataType *peStorageType);
2435 int CPL_DLL GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset);
2436 int CPL_DLL GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset,
2437  GDALDataType eStorageType);
2438 double CPL_DLL GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue);
2439 double CPL_DLL GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue,
2440  GDALDataType *peStorageType);
2441 GUInt64 CPL_DLL *GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount);
2442 int CPL_DLL GDALMDArraySetUnit(GDALMDArrayH hArray, const char *);
2443 const char CPL_DLL *GDALMDArrayGetUnit(GDALMDArrayH hArray);
2446 size_t CPL_DLL *GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray,
2447  size_t *pnCount,
2448  size_t nMaxChunkMemory);
2451  const char *pszViewExpr);
2453  size_t nNewAxisCount,
2454  const int *panMapNewAxisToOldAxis);
2457  CSLConstList papszOptions);
2459  size_t iXDim, size_t iYDim);
2461  size_t iXDim, size_t iYDim,
2462  GDALGroupH hRootGroup,
2463  CSLConstList papszOptions);
2465  GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, int bForce,
2466  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
2467  GUInt64 *pnValidCount, GDALProgressFunc pfnProgress, void *pProgressData);
2469  int bApproxOK, double *pdfMin,
2470  double *pdfMax, double *pdfMean,
2471  double *pdfStdDev,
2472  GUInt64 *pnValidCount,
2473  GDALProgressFunc, void *pProgressData);
2474 int CPL_DLL GDALMDArrayComputeStatisticsEx(
2475  GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, double *pdfMin,
2476  double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount,
2477  GDALProgressFunc, void *pProgressData, CSLConstList papszOptions);
2479  size_t nNewDimCount,
2480  const GDALDimensionH *pahNewDims,
2481  GDALRIOResampleAlg resampleAlg,
2482  OGRSpatialReferenceH hTargetSRS,
2483  CSLConstList papszOptions);
2485  GDALMDArrayH hArray, const char *pszGridOptions, GDALMDArrayH hXArray,
2486  GDALMDArrayH hYArray, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
2487 
2488 GDALMDArrayH CPL_DLL *
2490  size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2491 void CPL_DLL GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount);
2492 int CPL_DLL GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions);
2493 bool CPL_DLL GDALMDArrayRename(GDALMDArrayH hArray, const char *pszNewName);
2494 
2496  GDALRATTableType eTableType, int nArrays, const GDALMDArrayH *ahArrays,
2497  const GDALRATFieldUsage *paeUsages);
2498 
2499 void CPL_DLL GDALAttributeRelease(GDALAttributeH hAttr);
2500 void CPL_DLL GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount);
2501 const char CPL_DLL *GDALAttributeGetName(GDALAttributeH hAttr);
2502 const char CPL_DLL *GDALAttributeGetFullName(GDALAttributeH hAttr);
2504 size_t CPL_DLL GDALAttributeGetDimensionCount(GDALAttributeH hAttr);
2505 GUInt64 CPL_DLL *
2507  size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2511  size_t *pnSize) CPL_WARN_UNUSED_RESULT;
2512 void CPL_DLL GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw,
2513  size_t nSize);
2514 const char CPL_DLL *GDALAttributeReadAsString(GDALAttributeH hAttr);
2515 int CPL_DLL GDALAttributeReadAsInt(GDALAttributeH hAttr);
2516 int64_t CPL_DLL GDALAttributeReadAsInt64(GDALAttributeH hAttr);
2517 double CPL_DLL GDALAttributeReadAsDouble(GDALAttributeH hAttr);
2518 char CPL_DLL **
2520 int CPL_DLL *GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
2522 int64_t CPL_DLL *
2524  size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2525 double CPL_DLL *
2527  size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2528 int CPL_DLL GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t);
2529 int CPL_DLL GDALAttributeWriteString(GDALAttributeH hAttr, const char *);
2531 int CPL_DLL GDALAttributeWriteInt(GDALAttributeH hAttr, int);
2532 int CPL_DLL GDALAttributeWriteIntArray(GDALAttributeH hAttr, const int *,
2533  size_t);
2534 int CPL_DLL GDALAttributeWriteInt64(GDALAttributeH hAttr, int64_t);
2535 int CPL_DLL GDALAttributeWriteInt64Array(GDALAttributeH hAttr, const int64_t *,
2536  size_t);
2537 int CPL_DLL GDALAttributeWriteDouble(GDALAttributeH hAttr, double);
2538 int CPL_DLL GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *,
2539  size_t);
2540 bool CPL_DLL GDALAttributeRename(GDALAttributeH hAttr, const char *pszNewName);
2541 
2542 void CPL_DLL GDALDimensionRelease(GDALDimensionH hDim);
2543 void CPL_DLL GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount);
2544 const char CPL_DLL *GDALDimensionGetName(GDALDimensionH hDim);
2545 const char CPL_DLL *GDALDimensionGetFullName(GDALDimensionH hDim);
2546 const char CPL_DLL *GDALDimensionGetType(GDALDimensionH hDim);
2547 const char CPL_DLL *GDALDimensionGetDirection(GDALDimensionH hDim);
2552  GDALMDArrayH hArray);
2553 bool CPL_DLL GDALDimensionRename(GDALDimensionH hDim, const char *pszNewName);
2554 
2555 CPL_C_END
2556 
2557 #endif /* ndef GDAL_H_INCLUDED */
CPL error handling services.
CPLErr
Error category.
Definition: cpl_error.h:53
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:256
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition: cpl_port.h:1022
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition: cpl_port.h:218
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:299
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:295
GIntBig GInt64
Signed 64 bit integer type.
Definition: cpl_port.h:236
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1183
GUIntBig GUInt64
Unsigned 64 bit integer type.
Definition: cpl_port.h:238
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition: cpl_port.h:976
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:185
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:215
Virtual memory management.
struct CPLVirtualMem CPLVirtualMem
Opaque type that represents a virtual memory mapping.
Definition: cpl_virtualmem.h:62
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:315
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2742
const char * GDALMDArrayGetFullName(GDALMDArrayH hArray)
Return array full name.
Definition: gdalmultidim.cpp:11476
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all dataset raster data.
Definition: rasterio.cpp:4628
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:1309
GDALRATTableType
RAT table type (thematic or athematic)
Definition: gdal.h:2028
@ GRTT_THEMATIC
Definition: gdal.h:2029
@ GRTT_ATHEMATIC
Definition: gdal.h:2030
GDALAccess
Definition: gdal.h:125
@ GA_ReadOnly
Definition: gdal.h:126
@ GA_Update
Definition: gdal.h:127
GDALDriverH GDALIdentifyDriver(const char *pszFilename, CSLConstList papszFileList)
Identify the driver that can open a dataset.
Definition: gdaldriver.cpp:2605
int GDALAttributeWriteInt64Array(GDALAttributeH hAttr, const int64_t *, size_t)
Write an attribute from an array of int64_t.
Definition: gdalmultidim.cpp:13215
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:242
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition: gdalrasterband.cpp:3100
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:507
struct GDALDimensionHS * GDALDimensionH
Opaque type for C++ GDALDimension.
Definition: gdal.h:352
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition: gdaldataset.cpp:4842
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *)
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:778
int GDALAttributeWriteIntArray(GDALAttributeH hAttr, const int *, size_t)
Write an attribute from an array of int.
Definition: gdalmultidim.cpp:13190
GDALDatasetH GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType, CSLConstList)
Create a new dataset with this driver.
Definition: gdaldriver.cpp:318
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1830
int GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *)
Set the nodata value as a "raw" value.
Definition: gdalmultidim.cpp:11904
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:387
void GDALDatasetClearStatistics(GDALDatasetH hDS)
Clear statistics.
Definition: gdaldataset.cpp:9007
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:4966
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition: gdal_misc.cpp:1154
int GDALGetCacheUsed(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:325
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:2872
struct GDALAttributeHS * GDALAttributeH
Opaque type for C++ GDALAttribute.
Definition: gdal.h:350
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition: gdal_rat.cpp:381
const char * GDALMDArrayGetUnit(GDALMDArrayH hArray)
Return the array unit.
Definition: gdalmultidim.cpp:12444
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:146
void GDALDeinterleave(const void *pSourceBuffer, GDALDataType eSourceDT, int nComponents, void **ppDestBuffer, GDALDataType eDestDT, size_t nIters)
Definition: rasterio.cpp:5567
GDALMDArrayH GDALRasterBandAsMDArray(GDALRasterBandH)
Return a view of this raster band as a 2D multidimensional GDALMDArray.
Definition: gdalmultidim.cpp:13459
bool GDALGroupDeleteGroup(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete a sub-group from a group.
Definition: gdalmultidim.cpp:11255
bool GDALDatasetAddFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Add a field domain to the dataset.
Definition: gdaldataset.cpp:9170
char ** GDALDatasetGetFieldDomainNames(GDALDatasetH, CSLConstList)
Returns a list of the names of all field domains stored in the dataset.
Definition: gdaldataset.cpp:9058
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:1530
GDALAttributeH GDALGroupGetAttribute(GDALGroupH hGroup, const char *pszName)
Return an attribute by its name.
Definition: gdalmultidim.cpp:11137
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int, int, double)
Set field value from double.
Definition: gdal_rat.cpp:1860
GDALMDArrayH GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array.
Definition: gdalmultidim.cpp:10913
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:7519
GDALMDArrayH GDALMDArrayGetResampled(GDALMDArrayH hArray, size_t nNewDimCount, const GDALDimensionH *pahNewDims, GDALRIOResampleAlg resampleAlg, OGRSpatialReferenceH hTargetSRS, CSLConstList papszOptions)
Return an array that is a resampled / reprojected view of the current array.
Definition: gdalmultidim.cpp:12377
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:1339
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, const char *const *constpapszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy a whole raster band.
Definition: rasterio.cpp:4955
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition: gdal_misc.cpp:932
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int, int, const char *)
Set field value from string.
Definition: gdal_rat.cpp:1727
void GDALRelationshipSetType(GDALRelationshipH, GDALRelationshipType)
Sets the type of the relationship.
Definition: gdalrelationship.cpp:459
GDALDatasetH GDALMDArrayAsClassicDatasetEx(GDALMDArrayH hArray, size_t iXDim, size_t iYDim, GDALGroupH hRootGroup, CSLConstList papszOptions)
Return a view of this array as a "classic" GDALDataset (ie 2D)
Definition: gdalmultidim.cpp:13519
GUInt64 GDALMDArrayGetTotalElementsCount(GDALMDArrayH hArray)
Return the total number of values in the array.
Definition: gdalmultidim.cpp:11491
void * VRTPDWorkingDataPtr
Generic pointer for the working structure of VRTProcessedDataset function.
Definition: gdal.h:1643
OGRSpatialReferenceH GDALGetSpatialRef(GDALDatasetH)
Fetch the spatial reference for this dataset.
Definition: gdaldataset.cpp:1212
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:2114
GDALMDArrayH GDALGroupResolveMDArray(GDALGroupH hGroup, const char *pszName, const char *pszStartingPoint, CSLConstList papszOptions)
Locate an array in a group and its subgroups by name.
Definition: gdalmultidim.cpp:10959
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2699
int GDALAttributeWriteInt64(GDALAttributeH hAttr, int64_t)
Write an attribute from an int64_t value.
Definition: gdalmultidim.cpp:13121
void GDALAttributeRelease(GDALAttributeH hAttr)
Release the GDAL in-memory object associated with a GDALAttribute.
Definition: gdalmultidim.cpp:12691
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:1000
char ** GDALRelationshipGetRightMappingTableFields(GDALRelationshipH)
Get the names of the mapping table fields which correspond to the participating fields from the right...
Definition: gdalrelationship.cpp:368
GDALMDArrayH GDALMDArrayGetView(GDALMDArrayH hArray, const char *pszViewExpr)
Return a view of the array using slicing or field access.
Definition: gdalmultidim.cpp:12279
GDALPaletteInterp
Definition: gdal.h:253
@ GPI_CMYK
Definition: gdal.h:256
@ GPI_HLS
Definition: gdal.h:257
@ GPI_Gray
Definition: gdal.h:254
@ GPI_RGB
Definition: gdal.h:255
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:4043
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition: gdalmajorobject.cpp:134
struct GDALSubdatasetInfo * GDALSubdatasetInfoH
Opaque type used for the C bindings of the C++ GDALSubdatasetInfo class.
Definition: gdal.h:1342
void GDALDimensionRelease(GDALDimensionH hDim)
Release the GDAL in-memory object associated with a GDALDimension.
Definition: gdalmultidim.cpp:13278
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition: gdaldataset.cpp:1116
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2838
size_t GDALAttributeGetDimensionCount(GDALAttributeH hAttr)
Return the number of dimensions.
Definition: gdalmultidim.cpp:12751
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:4466
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:984
int * GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of integers.
Definition: gdalmultidim.cpp:12965
size_t GDALMDArrayGetDimensionCount(GDALMDArrayH hArray)
Return the number of dimensions.
Definition: gdalmultidim.cpp:11505
const char * GDALGroupGetFullName(GDALGroupH hGroup)
Return the full name of the group.
Definition: gdalmultidim.cpp:10875
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:355
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:5439
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition: gdal_rat.cpp:1291
GDALDataType
Definition: gdal.h:64
@ GDT_UInt32
Definition: gdal.h:70
@ GDT_UInt64
Definition: gdal.h:72
@ GDT_CInt32
Definition: gdal.h:77
@ GDT_Int64
Definition: gdal.h:73
@ GDT_Byte
Definition: gdal.h:66
@ GDT_Int8
Definition: gdal.h:67
@ GDT_CFloat32
Definition: gdal.h:79
@ GDT_CFloat64
Definition: gdal.h:80
@ GDT_Float64
Definition: gdal.h:75
@ GDT_UInt16
Definition: gdal.h:68
@ GDT_Int16
Definition: gdal.h:69
@ GDT_CInt16
Definition: gdal.h:76
@ GDT_Int32
Definition: gdal.h:71
@ GDT_Unknown
Definition: gdal.h:65
@ GDT_Float32
Definition: gdal.h:74
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2944
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: gdaldataset.cpp:8077
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:291
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:2658
const void * GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray)
Return the nodata value as a "raw" value.
Definition: gdalmultidim.cpp:11804
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:263
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:2974
GDALDimensionH * GDALGroupGetDimensions(GDALGroupH hGroup, size_t *pnCount, CSLConstList papszOptions)
Return the list of dimensions contained in this group and used by its arrays.
Definition: gdalmultidim.cpp:11111
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition: gdalrasterband.cpp:3233
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition: gdal_rat.cpp:1333
int GDALAttributeReadAsInt(GDALAttributeH hAttr)
Return the value of an attribute as a integer.
Definition: gdalmultidim.cpp:12891
GDALExtendedDataTypeH GDALExtendedDataTypeCreate(GDALDataType eType)
Return a new GDALExtendedDataType of class GEDTC_NUMERIC.
Definition: gdalmultidim.cpp:10477
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:2874
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:2002
@ GFU_Min
Definition: gdal.h:2006
@ GFU_AlphaMin
Definition: gdal.h:2016
@ GFU_GreenMin
Definition: gdal.h:2014
@ GFU_Red
Definition: gdal.h:2009
@ GFU_Alpha
Definition: gdal.h:2012
@ GFU_MaxCount
Definition: gdal.h:2021
@ GFU_MinMax
Definition: gdal.h:2008
@ GFU_RedMin
Definition: gdal.h:2013
@ GFU_GreenMax
Definition: gdal.h:2018
@ GFU_Name
Definition: gdal.h:2005
@ GFU_BlueMax
Definition: gdal.h:2019
@ GFU_BlueMin
Definition: gdal.h:2015
@ GFU_RedMax
Definition: gdal.h:2017
@ GFU_Green
Definition: gdal.h:2010
@ GFU_Blue
Definition: gdal.h:2011
@ GFU_AlphaMax
Definition: gdal.h:2020
@ GFU_PixelCount
Definition: gdal.h:2004
@ GFU_Generic
Definition: gdal.h:2003
@ GFU_Max
Definition: gdal.h:2007
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:3050
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition: gdalcolortable.cpp:314
CPLErr GDALRegisterPlugin(const char *name)
Register a plugin by name, returning an error if not found.
Definition: gdalallregister.cpp:67
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition: gdaldataset.cpp:1080
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1677
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:1539
int64_t GDALMDArrayGetNoDataValueAsInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a Int64.
Definition: gdalmultidim.cpp:11856
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:3183
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset.
Definition: gdal_rat.cpp:1891
OGRSpatialReferenceH GDALGetGCPSpatialRef(GDALDatasetH)
Get output spatial reference system for GCPs.
Definition: gdaldataset.cpp:1875
int GDALMDArrayWrite(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count, const GInt64 *arrayStep, const GPtrDiff_t *bufferStride, GDALExtendedDataTypeH bufferDatatype, const void *pSrcBuffer, const void *psrcBufferAllocStart, size_t nSrcBufferllocSize)
Write part or totality of a multidimensional array.
Definition: gdalmultidim.cpp:11618
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition: gdaldataset.cpp:4225
void GDALExtendedDataTypeFreeComponents(GDALEDTComponentH *components, size_t nCount)
Free the return of GDALExtendedDataTypeGetComponents().
Definition: gdalmultidim.cpp:10747
size_t GDALExtendedDataTypeGetSize(GDALExtendedDataTypeH hEDT)
Return data type size in bytes.
Definition: gdalmultidim.cpp:10623
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:933
struct GDALEDTComponentHS * GDALEDTComponentH
Opaque type for C++ GDALEDTComponent.
Definition: gdal.h:344
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:429
int GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition: gdal_misc.cpp:3862
GDALMDArrayH GDALGroupOpenMDArrayFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array from its fully qualified name.
Definition: gdalmultidim.cpp:10937
bool GDALGroupDeleteAttribute(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete an attribute from a group.
Definition: gdalmultidim.cpp:11384
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp)
Construct a new color table.
Definition: gdalcolortable.cpp:67
bool GDALIsMaskBand(GDALRasterBandH hBand)
Returns whether a band is a mask band.
Definition: gdalrasterband.cpp:7665
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:7419
GDALAttributeH GDALMDArrayCreateAttribute(GDALMDArrayH hArray, const char *pszName, size_t nDimensions, const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions)
Create a attribute within an array.
Definition: gdalmultidim.cpp:11744
void GDALRelationshipSetMappingTableName(GDALRelationshipH, const char *)
Sets the name of the mapping table for many-to-many relationships.
Definition: gdalrelationship.cpp:215
int GDALMDArraySetNoDataValueAsInt64(GDALMDArrayH hArray, int64_t nNoDataValue)
Set the nodata value as a Int64.
Definition: gdalmultidim.cpp:11943
char ** GDALAttributeReadAsStringArray(GDALAttributeH hAttr)
Return the value of an attribute as an array of strings.
Definition: gdalmultidim.cpp:12947
int GDALMDArraySetNoDataValueAsUInt64(GDALMDArrayH hArray, uint64_t nNoDataValue)
Set the nodata value as a UInt64.
Definition: gdalmultidim.cpp:11963
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:5792
bool GDALDatasetDeleteFieldDomain(GDALDatasetH hDS, const char *pszName, char **ppszFailureReason)
Removes a field domain from the dataset.
Definition: gdaldataset.cpp:9247
void GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount)
Free the return of GDALGroupGetDimensions() or GDALMDArrayGetDimensions()
Definition: gdalmultidim.cpp:11552
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:663
const char * GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT)
Return type name.
Definition: gdalmultidim.cpp:10580
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition: gdal_rat.cpp:335
const char * GDALRelationshipGetName(GDALRelationshipH)
Get the name of the relationship.
Definition: gdalrelationship.cpp:106
GDALDatasetH GDALOpenShared(const char *, GDALAccess)
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:4090
CPLErr GDALSetRasterNoDataValueAsInt64(GDALRasterBandH, int64_t)
Set the no data value for this band.
Definition: gdalrasterband.cpp:2100
void GDALRelationshipSetForwardPathLabel(GDALRelationshipH, const char *)
Sets the label of the forward path for the relationship.
Definition: gdalrelationship.cpp:525
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:2654
int GDALInvGeoTransform(const double *padfGeoTransformIn, double *padfInvGeoTransformOut)
Invert Geotransform.
Definition: gdaltransformer.cpp:4377
GDALExtendedDataTypeH GDALExtendedDataTypeCreateStringEx(size_t nMaxStringLength, GDALExtendedDataTypeSubType eSubType)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition: gdalmultidim.cpp:10515
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:2021
void GDALRelationshipSetLeftMappingTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the mapping table fields which correspond to the participating fields from the left...
Definition: gdalrelationship.cpp:396
GDALEDTComponentH * GDALExtendedDataTypeGetComponents(GDALExtendedDataTypeH hEDT, size_t *pnCount)
Return the components of the data type (only valid when GetClass() == GEDTC_COMPOUND)
Definition: gdalmultidim.cpp:10722
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition: gdaldriver.cpp:2052
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:432
void GDALGroupRelease(GDALGroupH hGroup)
Release the GDAL in-memory object associated with a GDALGroupH.
Definition: gdalmultidim.cpp:10844
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int, int, int)
Set field value from integer.
Definition: gdal_rat.cpp:1794
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:2431
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, CSLConstList)
Set the category names for this band.
Definition: gdalrasterband.cpp:1774
GUInt64 GDALDimensionGetSize(GDALDimensionH hDim)
Return the size, that is the number of values along the dimension.
Definition: gdalmultidim.cpp:13347
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:3302
int GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:12073
int GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions)
Cache the content of the array into an auxiliary filename.
Definition: gdalmultidim.cpp:12654
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition: gdal_misc.cpp:886
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:2325
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:290
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition: gdal_misc.cpp:427
const char * GDALRelationshipGetBackwardPathLabel(GDALRelationshipH)
Get the label of the backward path for the relationship.
Definition: gdalrelationship.cpp:558
void GDALRelationshipSetRightMappingTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the mapping table fields which correspond to the participating fields from the righ...
Definition: gdalrelationship.cpp:421
const char * GDALEDTComponentGetName(GDALEDTComponentH hComp)
Return the name.
Definition: gdalmultidim.cpp:10800
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:1700
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:476
int GDALMDArraySetUnit(GDALMDArrayH hArray, const char *)
Set the variable unit.
Definition: gdalmultidim.cpp:12419
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition: gdalrasterband.cpp:3142
int GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp:2117
GDALRelationshipH GDALRelationshipCreate(const char *, const char *, const char *, GDALRelationshipCardinality)
Creates a new relationship.
Definition: gdalrelationship.cpp:66
CPLErr GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:6906
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition: gdaldataset.cpp:4806
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:8055
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition: gdaldriver.cpp:1838
const char * GDALRelationshipGetRightTableName(GDALRelationshipH)
Get the name of the right (or related/destination) table in the relationship.
Definition: gdalrelationship.cpp:166
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition: gdal_rat.cpp:1141
CPLErr GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *, OGRSpatialReferenceH)
Assign GCPs.
Definition: gdaldataset.cpp:2066
size_t GDALExtendedDataTypeGetMaxStringLength(GDALExtendedDataTypeH hEDT)
Return the maximum length of a string in bytes.
Definition: gdalmultidim.cpp:10639
GDALMDArrayH GDALDimensionGetIndexingVariable(GDALDimensionH hDim)
Return the variable that is used to index the dimension (if there is one).
Definition: gdalmultidim.cpp:13366
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: gdaldataset.cpp:8129
int GDALAttributeWriteDouble(GDALAttributeH hAttr, double)
Write an attribute from a double value.
Definition: gdalmultidim.cpp:13143
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition: gdaldataset.cpp:952
void GDALRegisterPlugins(void)
Register drivers and support code available as a plugin.
Definition: gdalallregister.cpp:94
CSLConstList GDALGroupGetStructuralInfo(GDALGroupH hGroup)
Return structural information on the group.
Definition: gdalmultidim.cpp:11195
GDALExtendedDataTypeClass
Enumeration giving the class of a GDALExtendedDataType.
Definition: gdal.h:321
@ GEDTC_STRING
String value.
Definition: gdal.h:325
@ GEDTC_COMPOUND
Compound data type.
Definition: gdal.h:327
@ GEDTC_NUMERIC
Numeric value.
Definition: gdal.h:323
bool GDALDatasetUpdateFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Updates an existing field domain by replacing its definition.
Definition: gdaldataset.cpp:9320
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:9866
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition: gdalrasterband.cpp:2220
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition: gdalmajorobject.cpp:411
GDALDataType GDALFindDataTypeForValue(double dValue, int bComplex)
Finds the smallest data type able to support the provided value.
Definition: gdal_misc.cpp:314
GDALGroupH GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Open and return a sub-group.
Definition: gdalmultidim.cpp:11005
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition: gdaldataset.cpp:7797
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:8019
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:1477
GDALDatasetH GDALCreatePansharpenedVRT(const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands, GDALRasterBandH *pahInputSpectralBands)
Create a virtual pansharpened dataset.
Definition: vrtpansharpened.cpp:94
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:8149
GDALGroupH GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Create a sub-group within a group.
Definition: gdalmultidim.cpp:11229
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition: gdal_rat.cpp:550
GDALAsyncStatusType GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff, int *pnXBufSize, int *pnYBufSize)
Get async IO update.
Definition: gdaldefaultasync.cpp:161
uint64_t GDALGetRasterNoDataValueAsUInt64(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1951
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:4243
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, CSLConstList papszOptions)
Add a band to a dataset.
Definition: gdaldataset.cpp:824
void GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw, size_t nSize)
Free the return of GDALAttributeAsRaw()
Definition: gdalmultidim.cpp:12835
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:6954
GDALRelationshipCardinality GDALRelationshipGetCardinality(GDALRelationshipH)
Get the cardinality of the relationship.
Definition: gdalrelationship.cpp:126
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:968
const char * GDALDimensionGetFullName(GDALDimensionH hDim)
Return dimension full name.
Definition: gdalmultidim.cpp:13305
GUInt64 GDALAttributeGetTotalElementsCount(GDALAttributeH hAttr)
Return the total number of values in the attribute.
Definition: gdalmultidim.cpp:12737
void GDALApplyGeoTransform(const double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition: gdaltransformer.cpp:4351
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:10121
int GDALMDArrayComputeStatisticsEx(GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount, GDALProgressFunc, void *pProgressData, CSLConstList papszOptions)
Compute statistics.
Definition: gdalmultidim.cpp:12548
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:217
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition: gdalcolortable.cpp:277
GDALRelationshipCardinality
Cardinality of relationship.
Definition: gdal.h:2114
@ GRC_ONE_TO_ONE
One-to-one.
Definition: gdal.h:2116
@ GRC_MANY_TO_ONE
Many-to-one.
Definition: gdal.h:2120
@ GRC_MANY_TO_MANY
Many-to-many.
Definition: gdal.h:2122
@ GRC_ONE_TO_MANY
One-to-many.
Definition: gdal.h:2118
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:1231
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:143
@ GRIORA_Mode
Definition: gdal.h:152
@ GRIORA_Lanczos
Definition: gdal.h:148
@ GRIORA_Cubic
Definition: gdal.h:146
@ GRIORA_CubicSpline
Definition: gdal.h:147
@ GRIORA_Average
Definition: gdal.h:149
@ GRIORA_RMS
RMS: Root Mean Square / Quadratic Mean.
Definition: gdal.h:163
@ GRIORA_NearestNeighbour
Definition: gdal.h:144
@ GRIORA_Gauss
Definition: gdal.h:153
@ GRIORA_Bilinear
Definition: gdal.h:145
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition: gdalrasterband.cpp:3195
GDALExtendedDataTypeSubType GDALExtendedDataTypeGetSubType(GDALExtendedDataTypeH hEDT)
Return the subtype of a type.
Definition: gdalmultidim.cpp:10698
bool GDALDatasetAddRelationship(GDALDatasetH hDS, GDALRelationshipH hRelationship, char **ppszFailureReason)
Add a relationship to the dataset.
Definition: gdaldataset.cpp:9495
const char * GDALRelationshipGetLeftTableName(GDALRelationshipH)
Get the name of the left (or base/origin) table in the relationship.
Definition: gdalrelationship.cpp:143
GDALExtendedDataTypeH GDALEDTComponentGetType(GDALEDTComponentH hComp)
Return the data type of the component.
Definition: gdalmultidim.cpp:10828
GDALGroupH GDALGroupOpenGroupFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a sub-group from its fully qualified name.
Definition: gdalmultidim.cpp:11078
const char * GDALMDArrayGetName(GDALMDArrayH hArray)
Return array name.
Definition: gdalmultidim.cpp:11462
void GDALRelationshipSetLeftTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the participating fields from the left table in the relationship.
Definition: gdalrelationship.cpp:292
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:2412
int GDALDataTypeIsInteger(GDALDataType)
Is data type integer? (might be complex)
Definition: gdal_misc.cpp:510
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition: gdal_rat.cpp:460
int GDALDimensionSetIndexingVariable(GDALDimensionH hDim, GDALMDArrayH hArray)
Set the variable that is used to index the dimension.
Definition: gdalmultidim.cpp:13388
bool GDALDatasetDeleteRelationship(GDALDatasetH hDS, const char *pszName, char **ppszFailureReason)
Removes a relationship from the dataset.
Definition: gdaldataset.cpp:9564
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition: gdaldataset.cpp:4907
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:2022
bool GDALDimensionRename(GDALDimensionH hDim, const char *pszNewName)
Rename the dimension.
Definition: gdalmultidim.cpp:13410
OGRSpatialReferenceH GDALMDArrayGetSpatialRef(GDALMDArrayH hArray)
Return the spatial reference system object associated with the array.
Definition: gdalmultidim.cpp:12476
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2649
GDALEDTComponentH GDALEDTComponentCreate(const char *pszName, size_t nOffset, GDALExtendedDataTypeH hType)
Create a new GDALEDTComponent.
Definition: gdalmultidim.cpp:10767
GDALAttributeH GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char *pszName)
Return an attribute by its name.
Definition: gdalmultidim.cpp:11689
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:2076
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:3353
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:3079
GDALDatasetH OGR_L_GetDataset(OGRLayerH hLayer)
Return the dataset associated with this layer.
Definition: ogrlayer.cpp:5819
GDALExtendedDataTypeH GDALAttributeGetDataType(GDALAttributeH hAttr)
Return the data type.
Definition: gdalmultidim.cpp:12792
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, CSLConstList papszOptions)
Dump the structure of a JPEG2000 file as a XML tree.
Definition: gdaljp2structure.cpp:2364
void GDALRelationshipSetRelatedTableType(GDALRelationshipH, const char *)
Sets the type string of the related table.
Definition: gdalrelationship.cpp:649
int GDALLoadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1900
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:3270
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition: gdaldefaultasync.cpp:255
char ** GDALGroupGetVectorLayerNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of layer names contained in this group.
Definition: gdalmultidim.cpp:11028
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:2028
const char * GDALRelationshipGetMappingTableName(GDALRelationshipH)
Get the name of the mapping table for many-to-many relationships.
Definition: gdalrelationship.cpp:190
int GDALExtendedDataTypeCanConvertTo(GDALExtendedDataTypeH hSourceEDT, GDALExtendedDataTypeH hTargetEDT)
Return whether this data type can be converted to the other one.
Definition: gdalmultidim.cpp:10657
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int, int)
Fetch field value as a integer.
Definition: gdal_rat.cpp:1564
GDALDataType GDALExtendedDataTypeGetNumericDataType(GDALExtendedDataTypeH hEDT)
Return numeric data type (only valid when GetClass() == GEDTC_NUMERIC)
Definition: gdalmultidim.cpp:10609
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:641
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1965
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:4173
OGRErr GDALDatasetAbortSQL(GDALDatasetH)
Abort any SQL statement running in the data store.
Definition: gdaldataset.cpp:5387
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition: gdal_rat.cpp:1205
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:3376
int GDALAttributeWriteString(GDALAttributeH hAttr, const char *)
Write an attribute from a string value.
Definition: gdalmultidim.cpp:13079
int GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:12016
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:1433
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition: gdalrasterband.cpp:854
CPLErr GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:4119
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:4421
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition: gdal_misc.cpp:1530
CPLErr GDALSetDefaultHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:6997
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:5165
GDALRelationshipH GDALDatasetGetRelationship(GDALDatasetH hDS, const char *pszName)
Get a relationship from its name.
Definition: gdaldataset.cpp:9417
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:1994
@ GFT_Real
Definition: gdal.h:1996
@ GFT_String
Definition: gdal.h:1997
@ GFT_Integer
Definition: gdal.h:1995
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition: gdaldataset.cpp:7569
struct GDALMDArrayHS * GDALMDArrayH
Opaque type for C++ GDALMDArray.
Definition: gdal.h:348
int GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *, size_t)
Write an attribute from an array of double.
Definition: gdalmultidim.cpp:13240
void * GDALRelationshipH
Opaque type used for the C bindings of the C++ GDALRelationship class.
Definition: gdal.h:312
bool GDALGroupDeleteMDArray(GDALGroupH hGroup, const char *pszName, CSLConstList papszOptions)
Delete an array from a group.
Definition: gdalmultidim.cpp:11333
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:1683
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:304
char ** GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of sub-groups contained in this group.
Definition: gdalmultidim.cpp:10983
void GDALRATRemoveStatistics(GDALRasterAttributeTableH)
Remove Statistics from RAT.
Definition: gdal_rat.cpp:2211
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:139
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition: gdal_misc.cpp:1125
OGRLayerH GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName, CSLConstList papszOptions)
Open and return a vector layer.
Definition: gdalmultidim.cpp:11056
int GDALMDArrayRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count, const GInt64 *arrayStep, const GPtrDiff_t *bufferStride, GDALExtendedDataTypeH bufferDatatype, void *pDstBuffer, const void *pDstBufferAllocStart, size_t nDstBufferllocSize)
Read part or totality of a multidimensional array.
Definition: gdalmultidim.cpp:11586
const char * GDALDimensionGetName(GDALDimensionH hDim)
Return dimension name.
Definition: gdalmultidim.cpp:13291
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition: gdalcolortable.cpp:182
int GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t)
Write an attribute from raw values expressed in GetDataType()
Definition: gdalmultidim.cpp:13057
size_t * GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray, size_t *pnCount, size_t nMaxChunkMemory)
Return an optimal chunk size for read/write operations, given the natural block size and memory const...
Definition: gdalmultidim.cpp:12235
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition: gdaldataset.cpp:4773
CPLErr GDALSetMetadata(GDALMajorObjectH, CSLConstList, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:315
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:4326
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition: gdaldataset.cpp:7901
GDALDimensionH * GDALMDArrayGetDimensions(GDALMDArrayH hArray, size_t *pnCount)
Return the dimensions of the array.
Definition: gdalmultidim.cpp:11528
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition: gdal.h:307
char * GDALSubdatasetInfoModifyPathComponent(GDALSubdatasetInfoH hInfo, const char *pszNewPath)
Replaces the path component of a subdataset descriptor.
Definition: gdalsubdatasetinfo.cpp:95
double GDALAdjustValueToDataType(GDALDataType eDT, double dfValue, int *pbClamped, int *pbRounded)
Adjust a value to the output data type.
Definition: gdal_misc.cpp:796
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition: gdaldataset.cpp:4472
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:1016
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:7606
GDALAttributeH GDALGroupCreateAttribute(GDALGroupH hGroup, const char *pszName, size_t nDimensions, const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions)
Create a attribute within a group.
Definition: gdalmultidim.cpp:11351
int GDALDatasetIsLayerPrivate(GDALDatasetH, int)
Returns true if the layer at the specified index is deemed a private or system table,...
Definition: gdaldataset.cpp:4876
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition: gdal_misc.cpp:337
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:1699
GDALSubdatasetInfoH GDALGetSubdatasetInfo(const char *pszFileName)
Returns a new GDALSubdatasetInfo object with methods to extract and manipulate subdataset information...
Definition: gdalsubdatasetinfo.cpp:38
void GDALExtendedDataTypeRelease(GDALExtendedDataTypeH hEDT)
Release the GDAL in-memory object associated with a GDALExtendedDataTypeH.
Definition: gdalmultidim.cpp:10567
bool GDALGroupRename(GDALGroupH hGroup, const char *pszNewName)
Rename the group.
Definition: gdalmultidim.cpp:11408
GDALMDArrayH GDALMDArrayTranspose(GDALMDArrayH hArray, size_t nNewAxisCount, const int *panMapNewAxisToOldAxis)
Return a view of the array whose axis have been reordered.
Definition: gdalmultidim.cpp:12299
bool GDALAttributeRename(GDALAttributeH hAttr, const char *pszNewName)
Rename the attribute.
Definition: gdalmultidim.cpp:13262
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int, int)
Fetch field value as a double.
Definition: gdal_rat.cpp:1622
GDALGroupH GDALDatasetGetRootGroup(GDALDatasetH hDS)
Return the root GDALGroup of this dataset.
Definition: gdalmultidim.cpp:13431
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:3569
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:127
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition: gdal_rat.cpp:1373
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1894
double GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:12138
void GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount)
Free the return of GDALMDArrayGetCoordinateVariables()
Definition: gdalmultidim.cpp:12633
GDALMDArrayH GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions)
Return an array that is a mask for the current array.
Definition: gdalmultidim.cpp:12353
const char * GDALAttributeGetName(GDALAttributeH hAttr)
Return the name of the attribute.
Definition: gdalmultidim.cpp:12706
GDALGroupH GDALGroupSubsetDimensionFromSelection(GDALGroupH hGroup, const char *pszSelection, CSLConstList papszOptions)
Return a virtual group whose one dimension has been subset according to a selection.
Definition: gdalmultidim.cpp:11427
uint64_t GDALMDArrayGetNoDataValueAsUInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a UInt64.
Definition: gdalmultidim.cpp:11882
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:380
char ** GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of multidimensional array names contained in this group.
Definition: gdalmultidim.cpp:10891
CPLErr GDALBuildOverviewsEx(GDALDatasetH, const char *, int, const int *, int, const int *, GDALProgressFunc, void *, CSLConstList papszOptions)
Build raster overview(s)
Definition: gdaldataset.cpp:2204
GDALExtendedDataTypeSubType
Enumeration giving the subtype of a GDALExtendedDataType.
Definition: gdal.h:334
@ GEDTST_JSON
JSon.
Definition: gdal.h:338
@ GEDTST_NONE
None.
Definition: gdal.h:336
char ** GDALRelationshipGetLeftTableFields(GDALRelationshipH)
Get the names of the participating fields from the left table in the relationship.
Definition: gdalrelationship.cpp:238
bool GDALMDArrayResize(GDALMDArrayH hArray, const GUInt64 *panNewDimSizes, CSLConstList papszOptions)
Resize an array to new dimensions.
Definition: gdalmultidim.cpp:11991
void GDALDestroyColorTable(GDALColorTableH)
Destroys a color table.
Definition: gdalcolortable.cpp:94
int GDALLoadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1645
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:308
void GDALDestroyRelationship(GDALRelationshipH)
Destroys a relationship.
Definition: gdalrelationship.cpp:88
GDALDatasetH GDALMDArrayAsClassicDataset(GDALMDArrayH hArray, size_t iXDim, size_t iYDim)
Return a view of this array as a "classic" GDALDataset (ie 2D)
Definition: gdalmultidim.cpp:13488
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:6228
GDALMDArrayH * GDALMDArrayGetCoordinateVariables(GDALMDArrayH hArray, size_t *pnCount)
Return coordinate variables.
Definition: gdalmultidim.cpp:12580
int GDALAttributeWriteStringArray(GDALAttributeH hAttr, CSLConstList)
Write an attribute from an array of strings.
Definition: gdalmultidim.cpp:13165
CPLErr GDALMDArrayGetStatistics(GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch statistics.
Definition: gdalmultidim.cpp:12495
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1854
const char * GDALDimensionGetType(GDALDimensionH hDim)
Return dimension type.
Definition: gdalmultidim.cpp:13319
CPLErr GDALRATSetTableType(GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType)
Set RAT Table Type.
Definition: gdal_rat.cpp:591
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: gdaldataset.cpp:5342
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:1184
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition: gdalrasterband.cpp:2993
char * GDALSubdatasetInfoGetSubdatasetComponent(GDALSubdatasetInfoH hInfo)
Returns the subdataset component of a subdataset descriptor descriptor.
Definition: gdalsubdatasetinfo.cpp:90
CSLConstList GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray)
Return structural information on the array.
Definition: gdalmultidim.cpp:12263
GUInt64 * GDALAttributeGetDimensionsSize(GDALAttributeH hAttr, size_t *pnCount)
Return the dimension sizes of the attribute.
Definition: gdalmultidim.cpp:12770
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition: gdal_misc.cpp:1503
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *)
Read a block of image data efficiently.
Definition: gdalrasterband.cpp:620
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:1731
GDALExtendedDataTypeH GDALExtendedDataTypeCreateString(size_t nMaxStringLength)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition: gdalmultidim.cpp:10495
double GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:12161
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:2519
CPLErr GDALDropRasterCache(GDALRasterBandH hBand)
Drop raster data cache.
Definition: gdalrasterband.cpp:1219
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, const int *, int, const int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition: gdaldataset.cpp:2177
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:2842
CPLErr GDALRegenerateOverviewsEx(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData, CSLConstList papszOptions)
Generate downsampled overviews.
Definition: overview.cpp:4239
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:249
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:2153
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:2561
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:5659
bool GDALMDArrayRename(GDALMDArrayH hArray, const char *pszNewName)
Rename the array.
Definition: gdalmultidim.cpp:12675
GDALExtendedDataTypeClass GDALExtendedDataTypeGetClass(GDALExtendedDataTypeH hEDT)
Return type class.
Definition: gdalmultidim.cpp:10595
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:224
GDALDimensionH GDALGroupCreateDimension(GDALGroupH hGroup, const char *pszName, const char *pszType, const char *pszDirection, GUInt64 nSize, CSLConstList papszOptions)
Create a dimension within a group.
Definition: gdalmultidim.cpp:11274
void GDALDestroy(void)
Finalize GDAL/OGR library.
Definition: gdaldllmain.cpp:75
int GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:12035
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:7041
GDALMDArrayH GDALMDArrayGetGridded(GDALMDArrayH hArray, const char *pszGridOptions, GDALMDArrayH hXArray, GDALMDArrayH hYArray, CSLConstList papszOptions)
Return a gridded array from scattered point data, that is from an array whose last dimension is the i...
Definition: gdalmultidim.cpp:12609
void GDALRelationshipSetBackwardPathLabel(GDALRelationshipH, const char *)
Sets the label of the backward path for the relationship.
Definition: gdalrelationship.cpp:593
OGRFieldDomainH GDALDatasetGetFieldDomain(GDALDatasetH hDS, const char *pszName)
Get a field domain from its name.
Definition: gdaldataset.cpp:9103
char ** GDALRelationshipGetRightTableFields(GDALRelationshipH)
Get the names of the participating fields from the right table in the relationship.
Definition: gdalrelationship.cpp:264
const char * GDALDimensionGetDirection(GDALDimensionH hDim)
Return dimension direction.
Definition: gdalmultidim.cpp:13333
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1606
double GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:12092
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:237
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition: gdalmajorobject.cpp:358
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition: gdaldataset.cpp:4744
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition: gdaldataset.cpp:1930
GDALRATTableType GDALRATGetTableType(GDALRasterAttributeTableH hRAT)
Get Rat Table Type.
Definition: gdal_rat.cpp:572
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1640
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:5410
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:583
void GDALInitGCPs(int, GDAL_GCP *)
Initialize an array of GCPs.
Definition: gdal_misc.cpp:1477
const char * GDALAttributeReadAsString(GDALAttributeH hAttr)
Return the value of an attribute as a string.
Definition: gdalmultidim.cpp:12871
struct GDALExtendedDataTypeHS * GDALExtendedDataTypeH
Opaque type for C++ GDALExtendedDataType.
Definition: gdal.h:342
const char * GDALRelationshipGetForwardPathLabel(GDALRelationshipH)
Get the label of the forward path for the relationship.
Definition: gdalrelationship.cpp:490
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition: gdaldataset.cpp:1568
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1723
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1253
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition: gdaldataset.cpp:1788
GDALRasterAttributeTableH GDALRATClone(const GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition: gdal_rat.cpp:2173
int GDALMDArraySetNoDataValueAsDouble(GDALMDArrayH hArray, double dfNoDataValue)
Set the nodata value as a double.
Definition: gdalmultidim.cpp:11923
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating? (might be complex)
Definition: gdal_misc.cpp:469
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2479
int GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom, GDALDataType eTypeTo)
Is conversion from eTypeFrom to eTypeTo potentially lossy.
Definition: gdal_misc.cpp:593
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition: gdalcolortable.cpp:353
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:2044
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition: gdal_rat.cpp:1441
bool GDALMDArrayDeleteAttribute(GDALMDArrayH hArray, const char *pszName, CSLConstList papszOptions)
Delete an attribute from an array.
Definition: gdalmultidim.cpp:11779
GDALExtendedDataTypeH GDALMDArrayGetDataType(GDALMDArrayH hArray)
Return the data type.
Definition: gdalmultidim.cpp:11569
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition: gdal.h:288
GDALAttributeH * GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this group.
Definition: gdalmultidim.cpp:11166
GDALColorInterp
Definition: gdal.h:227
@ GCI_YCbCr_YBand
Definition: gdal.h:242
@ GCI_Undefined
Definition: gdal.h:228
@ GCI_SaturationBand
Definition: gdal.h:236
@ GCI_LightnessBand
Definition: gdal.h:237
@ GCI_HueBand
Definition: gdal.h:235
@ GCI_CyanBand
Definition: gdal.h:238
@ GCI_MagentaBand
Definition: gdal.h:239
@ GCI_GrayIndex
Definition: gdal.h:229
@ GCI_BlueBand
Definition: gdal.h:233
@ GCI_PaletteIndex
Definition: gdal.h:230
@ GCI_RedBand
Definition: gdal.h:231
@ GCI_AlphaBand
Definition: gdal.h:234
@ GCI_Max
Definition: gdal.h:245
@ GCI_YCbCr_CrBand
Definition: gdal.h:244
@ GCI_GreenBand
Definition: gdal.h:232
@ GCI_YellowBand
Definition: gdal.h:240
@ GCI_BlackBand
Definition: gdal.h:241
@ GCI_YCbCr_CbBand
Definition: gdal.h:243
struct GDALGroupHS * GDALGroupH
Opaque type for C++ GDALGroup.
Definition: gdal.h:346
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition: gdalmajorobject.cpp:93
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:5240
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition: gdaldefaultasync.cpp:220
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:1155
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition: gdal_misc.cpp:1046
GDALRelationshipType
Type of relationship.
Definition: gdal.h:2130
@ GRT_AGGREGATION
Aggregation relationship.
Definition: gdal.h:2136
@ GRT_ASSOCIATION
Association relationship.
Definition: gdal.h:2134
@ GRT_COMPOSITE
Composite relationship.
Definition: gdal.h:2132
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:1493
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2815
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:2690
char * GDALSubdatasetInfoGetPathComponent(GDALSubdatasetInfoH hInfo)
Returns the file path component of a subdataset descriptor effectively stripping the information abou...
Definition: gdalsubdatasetinfo.cpp:85
GDALAttributeH * GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this array.
Definition: gdalmultidim.cpp:11718
int GDALExtendedDataTypeEquals(GDALExtendedDataTypeH hFirstEDT, GDALExtendedDataTypeH hSecondEDT)
Return whether this data type is equal to another one.
Definition: gdalmultidim.cpp:10677
GByte * GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize)
Return the raw value of an attribute.
Definition: gdalmultidim.cpp:12814
void * GDALRATSerializeJSON(GDALRasterAttributeTableH)
Serialize Raster Attribute Table in Json format.
Definition: gdal_rat.cpp:2191
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition: gdal_rat.cpp:1091
const char * GDALAttributeGetFullName(GDALAttributeH hAttr)
Return the full name of the attribute.
Definition: gdalmultidim.cpp:12722
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, CSLConstList)
Duplicate an existing layer.
Definition: gdaldataset.cpp:5287
int GDALMDArrayAdviseRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count)
Advise driver of upcoming read requests.
Definition: gdalmultidim.cpp:11653
GDALDataType GDALDataTypeUnionWithValue(GDALDataType eDT, double dValue, int bComplex)
Union a data type with the one found for a value.
Definition: gdal_misc.cpp:178
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:111
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:2049
GDALRelationshipType GDALRelationshipGetType(GDALRelationshipH)
Get the type of the relationship.
Definition: gdalrelationship.cpp:442
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition: gdal_misc.cpp:1006
void GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount)
Free the return of GDALGroupGetAttributes() or GDALMDArrayGetAttributes()
Definition: gdalmultidim.cpp:11210
CPLErr GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:611
int64_t GDALAttributeReadAsInt64(GDALAttributeH hAttr)
Return the value of an attribute as a int64_t.
Definition: gdalmultidim.cpp:12911
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:7096
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:1507
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:3292
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:2248
GDALMDArrayH GDALGroupCreateMDArray(GDALGroupH hGroup, const char *pszName, size_t nDimensions, GDALDimensionH *pahDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions)
Create a multidimensional array within a group.
Definition: gdalmultidim.cpp:11299
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition: gdaldataset.cpp:1647
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:409
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition: gdal_misc.cpp:551
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition: gdalrasterband.cpp:2613
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:1405
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:120
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:297
int GDALAttributeWriteInt(GDALAttributeH hAttr, int)
Write an attribute from a integer value.
Definition: gdalmultidim.cpp:13100
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition: gdalrasterblock.cpp:375
double GDALAttributeReadAsDouble(GDALAttributeH hAttr)
Return the value of an attribute as a double.
Definition: gdalmultidim.cpp:12931
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition: gdaldataset.cpp:989
void GDALEDTComponentRelease(GDALEDTComponentH hComp)
Release the GDAL in-memory object associated with a GDALEDTComponentH.
Definition: gdalmultidim.cpp:10785
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:266
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition: gdal_rat.cpp:1413
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition: gdaldataset.cpp:2940
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:3312
GDALDatasetH GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName, CSLConstList papszRootGroupOptions, CSLConstList papszOptions)
Create a new multidimensional dataset with this driver.
Definition: gdaldriver.cpp:422
GDALRWFlag
Definition: gdal.h:132
@ GF_Write
Definition: gdal.h:134
@ GF_Read
Definition: gdal.h:133
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK)
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:2747
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:3360
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:160
void GDALMDArrayRelease(GDALMDArrayH hMDArray)
Release the GDAL in-memory object associated with a GDALMDArray.
Definition: gdalmultidim.cpp:11449
void GDALDestroySubdatasetInfo(GDALSubdatasetInfoH hInfo)
Destroys a GDALSubdatasetInfo object.
Definition: gdalsubdatasetinfo.cpp:79
int GDALMDArraySetSpatialRef(GDALMDArrayH, OGRSpatialReferenceH)
Assign a spatial reference system object to the array.
Definition: gdalmultidim.cpp:12459
void(* GDALVRTProcessedDatasetFuncFree)(const char *pszFuncName, void *pUserData, VRTPDWorkingDataPtr pWorkingData)
Free function to pass to GDALVRTRegisterProcessedDatasetFunc.
Definition: gdal.h:1698
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition: gdaldrivermanager.cpp:691
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:1453
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess)
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3427
double * GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of doubles.
Definition: gdalmultidim.cpp:13022
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:2473
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:1469
bool GDALDatasetUpdateRelationship(GDALDatasetH hDS, GDALRelationshipH hRelationship, char **ppszFailureReason)
Updates an existing relationship by replacing its definition.
Definition: gdaldataset.cpp:9635
int GDALMDArrayComputeStatistics(GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount, GDALProgressFunc, void *pProgressData)
Compute statistics.
Definition: gdalmultidim.cpp:12521
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:3981
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:294
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:898
char ** GDALDatasetGetRelationshipNames(GDALDatasetH, CSLConstList)
Returns a list of the names of all relationships stored in the dataset.
Definition: gdaldataset.cpp:9374
GDALDriverH GDALCreateDriver(void)
Create a GDALDriver.
Definition: gdaldriver.cpp:78
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:2000
char ** GDALRelationshipGetLeftMappingTableFields(GDALRelationshipH)
Get the names of the mapping table fields which correspond to the participating fields from the left ...
Definition: gdalrelationship.cpp:341
double GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:12115
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:300
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:449
int64_t GDALGetRasterNoDataValueAsInt64(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1890
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, CSLConstList, GDALProgressFunc, void *)
Create a copy of a dataset.
Definition: gdaldriver.cpp:1403
int GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:12054
const char * GDALGroupGetName(GDALGroupH hGroup)
Return the name of the group.
Definition: gdalmultidim.cpp:10859
void GDALRelationshipSetRightTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the participating fields from the right table in the relationship.
Definition: gdalrelationship.cpp:317
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition: overview.cpp:4189
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void)
Construct empty table.
Definition: gdal_rat.cpp:1181
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:198
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition: gdal_misc.cpp:3042
const char * GDALRelationshipGetRelatedTableType(GDALRelationshipH)
Get the type string of the related table.
Definition: gdalrelationship.cpp:619
int GDALMDArrayAdviseReadEx(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition: gdalmultidim.cpp:11671
CPLErr GDALSetRasterNoDataValueAsUInt64(GDALRasterBandH, uint64_t)
Set the no data value for this band.
Definition: gdalrasterband.cpp:2172
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:5468
CPLErr GDALSetSpatialRef(GDALDatasetH, OGRSpatialReferenceH)
Set the spatial reference system for this dataset.
Definition: gdaldataset.cpp:1320
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:97
int64_t * GDALAttributeReadAsInt64Array(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of int64_t.
Definition: gdalmultidim.cpp:12993
size_t GDALEDTComponentGetOffset(GDALEDTComponentH hComp)
Return the offset (in bytes) of the component in the compound data type.
Definition: gdalmultidim.cpp:10814
GDALTileOrganization
! Enumeration to describe the tile organization
Definition: gdal.h:2213
@ GTO_BIT
Definition: gdal.h:2220
@ GTO_BSQ
Definition: gdal.h:2223
@ GTO_TIP
Definition: gdal.h:2216
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition: gdalcolortable.cpp:442
GDALExtendedDataTypeH GDALExtendedDataTypeCreateCompound(const char *pszName, size_t nTotalSize, size_t nComponents, const GDALEDTComponentH *comps)
Return a new GDALExtendedDataType of class GEDTC_COMPOUND.
Definition: gdalmultidim.cpp:10541
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition: gdal_misc.cpp:2673
GDALMDArrayH GDALMDArrayGetUnscaled(GDALMDArrayH hArray)
Return an array that is the unscaled version of the current one.
Definition: gdalmultidim.cpp:12331
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:6303
CPLErr GDALDropCache(GDALDatasetH hDS)
Drop all write cached data.
Definition: gdaldataset.cpp:664
double GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a double.
Definition: gdalmultidim.cpp:11830
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition: gdalcolortable.cpp:132
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:2706
GUInt64 * GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount)
Return the "natural" block size of the array along all dimensions.
Definition: gdalmultidim.cpp:12198
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition: gdal_misc.cpp:734
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:3586
bool GDALDatasetSetQueryLoggerFunc(GDALDatasetH hDS, GDALQueryLoggerFunc pfnQueryLoggerFunc, void *poQueryLoggerArg)
Sets the SQL query logger callback.
Definition: gdaldataset.cpp:9674
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes.
void * OGRGeometryH
Opaque type for a geometry.
Definition: ogr_api.h:66
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:81
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:691
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition: ogr_api.h:425
struct OGRFieldDomainHS * OGRFieldDomainH
Opaque type for a field domain definition (OGRFieldDomain)
Definition: ogr_api.h:433
struct OGRGeomFieldDefnHS * OGRGeomFieldDefnH
Opaque type for a geometry field definition (OGRGeomFieldDefn)
Definition: ogr_api.h:430
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition: ogr_api.h:427
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:416
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:387
Document node structure.
Definition: cpl_minixml.h:71
Color tuple.
Definition: gdal.h:1955
short c4
Definition: gdal.h:1966
short c2
Definition: gdal.h:1960
short c3
Definition: gdal.h:1963
short c1
Definition: gdal.h:1957
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition: gdal.h:1915
double dfLAT_OFF
Definition: gdal.h:1918
double dfLONG_SCALE
Definition: gdal.h:1925
double dfHEIGHT_OFF
Definition: gdal.h:1920
double dfMAX_LAT
Definition: gdal.h:1936
double dfMIN_LAT
Definition: gdal.h:1934
double dfLINE_OFF
Definition: gdal.h:1916
double dfLONG_OFF
Definition: gdal.h:1919
double dfSAMP_SCALE
Definition: gdal.h:1923
double dfMAX_LONG
Definition: gdal.h:1935
double dfERR_BIAS
Definition: gdal.h:1940
double dfERR_RAND
Definition: gdal.h:1941
double dfLINE_SCALE
Definition: gdal.h:1922
double dfHEIGHT_SCALE
Definition: gdal.h:1926
double dfMIN_LONG
Definition: gdal.h:1933
double dfLAT_SCALE
Definition: gdal.h:1924
double dfSAMP_OFF
Definition: gdal.h:1917
Structure to pass extra arguments to RasterIO() method, must be initialized with INIT_RASTERIO_EXTRA_...
Definition: gdal.h:176
void * pProgressData
Definition: gdal.h:186
GDALRIOResampleAlg eResampleAlg
Definition: gdal.h:181
double dfXOff
Definition: gdal.h:196
int nVersion
Definition: gdal.h:178
double dfYSize
Definition: gdal.h:205
double dfYOff
Definition: gdal.h:199
double dfXSize
Definition: gdal.h:202
GDALProgressFunc pfnProgress
Definition: gdal.h:184
int bFloatingPointWindowValidity
Definition: gdal.h:193
The GDALSubdatasetInfo abstract class provides methods to extract and manipulate subdataset informati...
Definition: gdalsubdatasetinfo.h:43
Ground Control Point.
Definition: gdal.h:1075
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:1085
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:1088
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:1077
char * pszInfo
Informational message or "".
Definition: gdal.h:1080
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition: gdal.h:1083
double dfGCPY
Y position of GCP in georeferenced space.
Definition: gdal.h:1091
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition: gdal.h:1094