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
63typedef enum
64{
GDT_Unknown = 0, GDT_Byte = 1, 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,
77 /* TODO?(#6879): GDT_CInt64 */
GDT_CFloat32 = 10, GDT_CFloat64 = 11,
80 GDT_TypeCount = 14 /* maximum type # + 1 */
82
83int CPL_DLL CPL_STDCALL GDALGetDataTypeSize(GDALDataType); // Deprecated.
84int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits(GDALDataType eDataType);
85int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes(GDALDataType);
86int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex(GDALDataType);
87int CPL_DLL CPL_STDCALL GDALDataTypeIsInteger(GDALDataType);
88int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating(GDALDataType);
89int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned(GDALDataType);
90const char CPL_DLL *CPL_STDCALL GDALGetDataTypeName(GDALDataType);
91GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName(const char *);
94 double dValue,
95 int bComplex);
96GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType(int nBits, int bSigned,
97 int bFloating, int bComplex);
98GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue(double dValue,
99 int bComplex);
100double CPL_DLL GDALAdjustValueToDataType(GDALDataType eDT, double dfValue,
101 int *pbClamped, int *pbRounded);
103int CPL_DLL CPL_STDCALL GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom,
104 GDALDataType eTypeTo);
105
109typedef enum
110{
111 GARIO_PENDING = 0,
112 GARIO_UPDATE = 1,
113 GARIO_ERROR = 2,
114 GARIO_COMPLETE = 3,
115 GARIO_TypeCount = 4
117
118const char CPL_DLL *CPL_STDCALL GDALGetAsyncStatusTypeName(GDALAsyncStatusType);
119GDALAsyncStatusType CPL_DLL CPL_STDCALL
120GDALGetAsyncStatusTypeByName(const char *);
121
123typedef enum
124{
GA_ReadOnly = 0, GA_Update = 1
128
130typedef enum
131{
GF_Read = 0, GF_Write = 1
135
136/* NOTE: values are selected to be consistent with GDALResampleAlg of
137 * alg/gdalwarper.h */
141typedef enum
142{
GRIORA_NearestNeighbour = 0, GRIORA_Bilinear = 1, GRIORA_Cubic = 2, GRIORA_CubicSpline = 3, GRIORA_Lanczos = 4, GRIORA_Average = 5, GRIORA_Gauss = 7,
153 /* NOTE: values 8 to 13 are reserved for max,min,med,Q1,Q3,sum */
155 GRIORA_RESERVED_START = 8,
156 GRIORA_RESERVED_END = 13,
164 GRIORA_LAST = GRIORA_RMS
167
168/* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG
169 */
206
207#ifndef DOXYGEN_SKIP
208#define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
209#endif
210
214#define INIT_RASTERIO_EXTRA_ARG(s) \
215 do \
216 { \
217 (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
218 (s).eResampleAlg = GRIORA_NearestNeighbour; \
219 (s).pfnProgress = CPL_NULLPTR; \
220 (s).pProgressData = CPL_NULLPTR; \
221 (s).bFloatingPointWindowValidity = FALSE; \
222 } while (0)
223
246
248GDALColorInterp CPL_DLL GDALGetColorInterpretationByName(const char *pszName);
249
251typedef enum
252{
GPI_Gray = 0, GPI_RGB = 1, GPI_CMYK = 2, GPI_HLS = 3
258
260
261/* "well known" metadata items. */
262
265#define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
268#define GDALMD_AOP_AREA "Area"
271#define GDALMD_AOP_POINT "Point"
272
273/* -------------------------------------------------------------------- */
274/* GDAL Specific error codes. */
275/* */
276/* error codes 100 to 299 reserved for GDAL. */
277/* -------------------------------------------------------------------- */
278#ifndef DOXYGEN_SKIP
279#define CPLE_WrongFormat CPL_STATIC_CAST(CPLErrorNum, 200)
280#endif
281
282/* -------------------------------------------------------------------- */
283/* Define handle types related to various internal classes. */
284/* -------------------------------------------------------------------- */
285
287typedef void *GDALMajorObjectH;
288
290typedef void *GDALDatasetH;
291
293typedef void *GDALRasterBandH;
294
296typedef void *GDALDriverH;
297
299typedef void *GDALColorTableH;
300
304
306typedef void *GDALAsyncReaderH;
307
311typedef void *GDALRelationshipH;
312
315
328
339
341typedef struct GDALExtendedDataTypeHS *GDALExtendedDataTypeH;
343typedef struct GDALEDTComponentHS *GDALEDTComponentH;
345typedef struct GDALGroupHS *GDALGroupH;
347typedef struct GDALMDArrayHS *GDALMDArrayH;
349typedef struct GDALAttributeHS *GDALAttributeH;
351typedef struct GDALDimensionHS *GDALDimensionH;
352
353/* ==================================================================== */
354/* Registration/driver related. */
355/* ==================================================================== */
356
358#define GDAL_DMD_LONGNAME "DMD_LONGNAME"
359
361#define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
362
364#define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
365
367#define GDAL_DMD_EXTENSION "DMD_EXTENSION"
368
373#define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
374
378#define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
379
381#define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
382
386#define GDAL_DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST \
387 "DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST"
388
392#define GDAL_DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST \
393 "DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST"
394
398#define GDAL_DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST \
399 "DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST"
400
404#define GDAL_DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST \
405 "DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST"
406
410#define GDAL_DMD_MULTIDIM_ARRAY_OPENOPTIONLIST \
411 "DMD_MULTIDIM_ARRAY_OPENOPTIONLIST"
412
416#define GDAL_DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST \
417 "DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST"
418
422#define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
423
426#define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
427
432#define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
433
438#define GDAL_DMD_CREATIONFIELDDATASUBTYPES "DMD_CREATIONFIELDDATASUBTYPES"
439
448#define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
449
451#define GDAL_DCAP_OPEN "DCAP_OPEN"
452
461#define GDAL_DCAP_CREATE "DCAP_CREATE"
462
467#define GDAL_DCAP_CREATE_MULTIDIMENSIONAL "DCAP_CREATE_MULTIDIMENSIONAL"
468
477#define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
478
484#define GDAL_DCAP_CREATECOPY_MULTIDIMENSIONAL "DCAP_CREATECOPY_MULTIDIMENSIONAL"
485
489#define GDAL_DCAP_MULTIDIM_RASTER "DCAP_MULTIDIM_RASTER"
490
492#define GDAL_DCAP_SUBCREATECOPY "DCAP_SUBCREATECOPY"
493
496#define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
497
501#define GDAL_DCAP_RASTER "DCAP_RASTER"
502
506#define GDAL_DCAP_VECTOR "DCAP_VECTOR"
507
511#define GDAL_DCAP_GNM "DCAP_GNM"
512
516#define GDAL_DCAP_CREATE_LAYER "DCAP_CREATE_LAYER"
517
521#define GDAL_DCAP_DELETE_LAYER "DCAP_DELETE_LAYER"
522
526#define GDAL_DCAP_CREATE_FIELD "DCAP_CREATE_FIELD"
527
531#define GDAL_DCAP_DELETE_FIELD "DCAP_DELETE_FIELD"
532
536#define GDAL_DCAP_REORDER_FIELDS "DCAP_REORDER_FIELDS"
537
553#define GDAL_DMD_ALTER_FIELD_DEFN_FLAGS "GDAL_DMD_ALTER_FIELD_DEFN_FLAGS"
554
558#define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
559
563#define GDAL_DCAP_UNIQUE_FIELDS "DCAP_UNIQUE_FIELDS"
564
568#define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
569
574#define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
575
581#define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
582
586#define GDAL_DCAP_CURVE_GEOMETRIES "DCAP_CURVE_GEOMETRIES"
587
592#define GDAL_DCAP_MEASURED_GEOMETRIES "DCAP_MEASURED_GEOMETRIES"
593
598#define GDAL_DCAP_Z_GEOMETRIES "DCAP_Z_GEOMETRIES"
599
612#define GDAL_DMD_GEOMETRY_FLAGS "GDAL_DMD_GEOMETRY_FLAGS"
613
617#define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
618
623#define GDAL_DCAP_COORDINATE_EPOCH "DCAP_COORDINATE_EPOCH"
624
633#define GDAL_DCAP_MULTIPLE_VECTOR_LAYERS "DCAP_MULTIPLE_VECTOR_LAYERS"
634
639#define GDAL_DCAP_FIELD_DOMAINS "DCAP_FIELD_DOMAINS"
640
646#define GDAL_DCAP_RELATIONSHIPS "DCAP_RELATIONSHIPS"
647
652#define GDAL_DCAP_CREATE_RELATIONSHIP "DCAP_CREATE_RELATIONSHIP"
653
658#define GDAL_DCAP_DELETE_RELATIONSHIP "DCAP_DELETE_RELATIONSHIP"
659
664#define GDAL_DCAP_UPDATE_RELATIONSHIP "DCAP_UPDATE_RELATIONSHIP"
665
692#define GDAL_DMD_RELATIONSHIP_FLAGS "GDAL_DMD_RELATIONSHIP_FLAGS"
693
698#define GDAL_DCAP_RENAME_LAYERS "DCAP_RENAME_LAYERS"
699
709#define GDAL_DMD_CREATION_FIELD_DOMAIN_TYPES "DMD_CREATION_FIELD_DOMAIN_TYPES"
710
726#define GDAL_DMD_ALTER_GEOM_FIELD_DEFN_FLAGS "DMD_ALTER_GEOM_FIELD_DEFN_FLAGS"
727
749#define GDAL_DMD_SUPPORTED_SQL_DIALECTS "DMD_SUPPORTED_SQL_DIALECTS"
750
755#define GDAL_DIM_TYPE_HORIZONTAL_X "HORIZONTAL_X"
756
761#define GDAL_DIM_TYPE_HORIZONTAL_Y "HORIZONTAL_Y"
762
766#define GDAL_DIM_TYPE_VERTICAL "VERTICAL"
767
771#define GDAL_DIM_TYPE_TEMPORAL "TEMPORAL"
772
776#define GDAL_DIM_TYPE_PARAMETRIC "PARAMETRIC"
777
778#define GDsCAddRelationship \
779 "AddRelationship"
781#define GDsCDeleteRelationship \
782 "DeleteRelationship"
784#define GDsCUpdateRelationship \
785 "UpdateRelationship"
788void CPL_DLL CPL_STDCALL GDALAllRegister(void);
789
790GDALDatasetH CPL_DLL CPL_STDCALL
791GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType,
793GDALDatasetH CPL_DLL CPL_STDCALL GDALCreateCopy(GDALDriverH, const char *,
795 GDALProgressFunc,
797
798GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver(const char *pszFilename,
799 CSLConstList papszFileList);
800
801GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
802 const char *pszFilename, unsigned int nIdentifyFlags,
803 const char *const *papszAllowedDrivers, const char *const *papszFileList);
804
805GDALDatasetH CPL_DLL CPL_STDCALL
806GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT;
807GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared(const char *, GDALAccess)
809
810/* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
811/* equals to GA_ReadOnly and GA_Update */
812
817#define GDAL_OF_READONLY 0x00
818
823#define GDAL_OF_UPDATE 0x01
824
829#define GDAL_OF_ALL 0x00
830
835#define GDAL_OF_RASTER 0x02
836
841#define GDAL_OF_VECTOR 0x04
842
847#define GDAL_OF_GNM 0x08
848
853#define GDAL_OF_MULTIDIM_RASTER 0x10
854
855#ifndef DOXYGEN_SKIP
856#define GDAL_OF_KIND_MASK 0x1E
857#endif
858
863#define GDAL_OF_SHARED 0x20
864
869#define GDAL_OF_VERBOSE_ERROR 0x40
870
877#define GDAL_OF_INTERNAL 0x80
878
888#define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
889
898#define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
899
908#define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
909
910#ifndef DOXYGEN_SKIP
911/* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
912 * and GDAL_OF_HASHSET_BLOCK_ACCESS */
913#define GDAL_OF_RESERVED_1 0x300
914
916#define GDAL_OF_BLOCK_ACCESS_MASK 0x300
917#endif
918
919GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx(
920 const char *pszFilename, unsigned int nOpenFlags,
921 const char *const *papszAllowedDrivers, const char *const *papszOpenOptions,
922 const char *const *papszSiblingFiles) CPL_WARN_UNUSED_RESULT;
923
924int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets(FILE *);
925
926GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName(const char *);
927int CPL_DLL CPL_STDCALL GDALGetDriverCount(void);
928GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver(int);
929GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver(void);
930void CPL_DLL CPL_STDCALL GDALDestroyDriver(GDALDriverH);
931int CPL_DLL CPL_STDCALL GDALRegisterDriver(GDALDriverH);
932void CPL_DLL CPL_STDCALL GDALDeregisterDriver(GDALDriverH);
933void CPL_DLL CPL_STDCALL GDALDestroyDriverManager(void);
934#ifndef DOXYGEN_SKIP
935void CPL_DLL GDALDestroy(void);
936#endif
937CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset(GDALDriverH, const char *);
938CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset(GDALDriverH,
939 const char *pszNewName,
940 const char *pszOldName);
941CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles(GDALDriverH,
942 const char *pszNewName,
943 const char *pszOldName);
944int CPL_DLL CPL_STDCALL
946
947/* The following are deprecated */
948const char CPL_DLL *CPL_STDCALL GDALGetDriverShortName(GDALDriverH);
949const char CPL_DLL *CPL_STDCALL GDALGetDriverLongName(GDALDriverH);
950const char CPL_DLL *CPL_STDCALL GDALGetDriverHelpTopic(GDALDriverH);
951const char CPL_DLL *CPL_STDCALL GDALGetDriverCreationOptionList(GDALDriverH);
952
953/* ==================================================================== */
954/* GDAL_GCP */
955/* ==================================================================== */
956
958typedef struct
959{
961 char *pszId;
962
964 char *pszInfo;
965
969 double dfGCPLine;
970
972 double dfGCPX;
973
975 double dfGCPY;
976
978 double dfGCPZ;
979} GDAL_GCP;
980
981void CPL_DLL CPL_STDCALL GDALInitGCPs(int, GDAL_GCP *);
982void CPL_DLL CPL_STDCALL GDALDeinitGCPs(int, GDAL_GCP *);
983GDAL_GCP CPL_DLL *CPL_STDCALL GDALDuplicateGCPs(int, const GDAL_GCP *);
984
985int CPL_DLL CPL_STDCALL GDALGCPsToGeoTransform(
986 int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform,
987 int bApproxOK) CPL_WARN_UNUSED_RESULT;
988int CPL_DLL CPL_STDCALL GDALInvGeoTransform(double *padfGeoTransformIn,
989 double *padfInvGeoTransformOut)
991void CPL_DLL CPL_STDCALL GDALApplyGeoTransform(double *, double, double,
992 double *, double *);
993void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
994 const double *padfGeoTransform2,
995 double *padfGeoTransformOut);
996
997/* ==================================================================== */
998/* major objects (dataset, and, driver, drivermanager). */
999/* ==================================================================== */
1000
1001char CPL_DLL **CPL_STDCALL GDALGetMetadataDomainList(GDALMajorObjectH hObject);
1002char CPL_DLL **CPL_STDCALL GDALGetMetadata(GDALMajorObjectH, const char *);
1004 const char *);
1005const char CPL_DLL *CPL_STDCALL GDALGetMetadataItem(GDALMajorObjectH,
1006 const char *, const char *);
1007CPLErr CPL_DLL CPL_STDCALL GDALSetMetadataItem(GDALMajorObjectH, const char *,
1008 const char *, const char *);
1009const char CPL_DLL *CPL_STDCALL GDALGetDescription(GDALMajorObjectH);
1010void CPL_DLL CPL_STDCALL GDALSetDescription(GDALMajorObjectH, const char *);
1011
1012/* ==================================================================== */
1013/* GDALDataset class ... normally this represents one file. */
1014/* ==================================================================== */
1015
1017#define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
1018
1019GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver(GDALDatasetH);
1020char CPL_DLL **CPL_STDCALL GDALGetFileList(GDALDatasetH);
1021void CPL_DLL CPL_STDCALL GDALClose(GDALDatasetH);
1022int CPL_DLL CPL_STDCALL GDALGetRasterXSize(GDALDatasetH);
1023int CPL_DLL CPL_STDCALL GDALGetRasterYSize(GDALDatasetH);
1024int CPL_DLL CPL_STDCALL GDALGetRasterCount(GDALDatasetH);
1025GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand(GDALDatasetH, int);
1026
1027CPLErr CPL_DLL CPL_STDCALL GDALAddBand(GDALDatasetH hDS, GDALDataType eType,
1028 CSLConstList papszOptions);
1029
1030GDALAsyncReaderH CPL_DLL CPL_STDCALL GDALBeginAsyncReader(
1031 GDALDatasetH hDS, int nXOff, int nYOff, int nXSize, int nYSize, void *pBuf,
1032 int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount,
1033 int *panBandMap, int nPixelSpace, int nLineSpace, int nBandSpace,
1035
1036void CPL_DLL CPL_STDCALL GDALEndAsyncReader(GDALDatasetH hDS,
1037 GDALAsyncReaderH hAsynchReaderH);
1038
1039CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
1040 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1041 int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1042 GDALDataType eBDataType, int nBandCount, int *panBandCount, int nPixelSpace,
1043 int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
1044
1045CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
1046 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1047 int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1048 GDALDataType eBDataType, int nBandCount, int *panBandCount,
1049 GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
1051
1052CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead(
1053 GDALDatasetH hDS, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
1054 int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount,
1055 int *panBandCount, CSLConstList papszOptions);
1056
1057const char CPL_DLL *CPL_STDCALL GDALGetProjectionRef(GDALDatasetH);
1059CPLErr CPL_DLL CPL_STDCALL GDALSetProjection(GDALDatasetH, const char *);
1061CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform(GDALDatasetH, double *);
1062CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform(GDALDatasetH, double *);
1063
1064int CPL_DLL CPL_STDCALL GDALGetGCPCount(GDALDatasetH);
1065const char CPL_DLL *CPL_STDCALL GDALGetGCPProjection(GDALDatasetH);
1067const GDAL_GCP CPL_DLL *CPL_STDCALL GDALGetGCPs(GDALDatasetH);
1068CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *,
1069 const char *);
1070CPLErr CPL_DLL GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *,
1072
1073void CPL_DLL *CPL_STDCALL GDALGetInternalHandle(GDALDatasetH, const char *);
1074int CPL_DLL CPL_STDCALL GDALReferenceDataset(GDALDatasetH);
1075int CPL_DLL CPL_STDCALL GDALDereferenceDataset(GDALDatasetH);
1076int CPL_DLL CPL_STDCALL GDALReleaseDataset(GDALDatasetH);
1077
1078CPLErr CPL_DLL CPL_STDCALL GDALBuildOverviews(GDALDatasetH, const char *, int,
1079 const int *, int, const int *,
1080 GDALProgressFunc,
1081 void *) CPL_WARN_UNUSED_RESULT;
1082CPLErr CPL_DLL CPL_STDCALL GDALBuildOverviewsEx(
1083 GDALDatasetH, const char *, int, const int *, int, const int *,
1084 GDALProgressFunc, void *, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1085void CPL_DLL CPL_STDCALL GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount);
1086int CPL_DLL CPL_STDCALL GDALGetAccess(GDALDatasetH hDS);
1087void CPL_DLL CPL_STDCALL GDALFlushCache(GDALDatasetH hDS);
1088
1089CPLErr CPL_DLL CPL_STDCALL GDALCreateDatasetMaskBand(GDALDatasetH hDS,
1090 int nFlags);
1091
1092CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
1093 GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
1094 GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT;
1095
1096CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
1097 GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
1098 const char *const *constpapszOptions, GDALProgressFunc pfnProgress,
1099 void *pProgressData) CPL_WARN_UNUSED_RESULT;
1100
1102 int nOverviewCount,
1103 GDALRasterBandH *pahOverviewBands,
1104 const char *pszResampling,
1105 GDALProgressFunc pfnProgress,
1106 void *pProgressData);
1107
1109 int nOverviewCount,
1110 GDALRasterBandH *pahOverviewBands,
1111 const char *pszResampling,
1112 GDALProgressFunc pfnProgress,
1113 void *pProgressData,
1114 CSLConstList papszOptions);
1115
1118OGRLayerH CPL_DLL GDALDatasetGetLayerByName(GDALDatasetH, const char *);
1119int CPL_DLL GDALDatasetIsLayerPrivate(GDALDatasetH, int);
1121OGRLayerH CPL_DLL GDALDatasetCreateLayer(GDALDatasetH, const char *,
1125 CSLConstList);
1128 OGRLayerH *phBelongingLayer,
1129 double *pdfProgressPct,
1130 GDALProgressFunc pfnProgress,
1131 void *pProgressData);
1132int CPL_DLL GDALDatasetTestCapability(GDALDatasetH, const char *);
1133OGRLayerH CPL_DLL GDALDatasetExecuteSQL(GDALDatasetH, const char *,
1134 OGRGeometryH, const char *);
1140OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
1144
1148 const char *pszName);
1150 OGRFieldDomainH hFieldDomain,
1151 char **ppszFailureReason);
1152bool CPL_DLL GDALDatasetDeleteFieldDomain(GDALDatasetH hDS, const char *pszName,
1153 char **ppszFailureReason);
1155 OGRFieldDomainH hFieldDomain,
1156 char **ppszFailureReason);
1157
1161 const char *pszName);
1162
1164 GDALRelationshipH hRelationship,
1165 char **ppszFailureReason);
1167 const char *pszName,
1168 char **ppszFailureReason);
1170 GDALRelationshipH hRelationship,
1171 char **ppszFailureReason);
1172
1173/* ==================================================================== */
1174/* GDALRasterBand ... one band/channel in a dataset. */
1175/* ==================================================================== */
1176
1177/* Note: the only user of SRCVAL() was frmts/vrt/pixelfunctions.cpp and we no */
1178/* longer use it. */
1179
1184#define SRCVAL(papoSource, eSrcType, ii) \
1185 (eSrcType == GDT_Byte \
1186 ? CPL_REINTERPRET_CAST(const GByte *, papoSource)[ii] \
1187 : (eSrcType == GDT_Float32 \
1188 ? CPL_REINTERPRET_CAST(const float *, papoSource)[ii] \
1189 : (eSrcType == GDT_Float64 \
1190 ? CPL_REINTERPRET_CAST(const double *, papoSource)[ii] \
1191 : (eSrcType == GDT_Int32 \
1192 ? CPL_REINTERPRET_CAST(const GInt32 *, \
1193 papoSource)[ii] \
1194 : (eSrcType == GDT_UInt16 \
1195 ? CPL_REINTERPRET_CAST(const GUInt16 *, \
1196 papoSource)[ii] \
1197 : (eSrcType == GDT_Int16 \
1198 ? CPL_REINTERPRET_CAST( \
1199 const GInt16 *, \
1200 papoSource)[ii] \
1201 : (eSrcType == GDT_UInt32 \
1202 ? CPL_REINTERPRET_CAST( \
1203 const GUInt32 *, \
1204 papoSource)[ii] \
1205 : (eSrcType == GDT_CInt16 \
1206 ? CPL_REINTERPRET_CAST( \
1207 const GInt16 \
1208 *, \
1209 papoSource)[( \
1210 ii)*2] \
1211 : (eSrcType == \
1212 GDT_CInt32 \
1213 ? CPL_REINTERPRET_CAST( \
1214 const GInt32 \
1215 *, \
1216 papoSource) \
1217 [(ii)*2] \
1218 : (eSrcType == \
1219 GDT_CFloat32 \
1220 ? CPL_REINTERPRET_CAST( \
1221 const float \
1222 *, \
1223 papoSource) \
1224 [(ii)*2] \
1225 : (eSrcType == \
1226 GDT_CFloat64 \
1227 ? CPL_REINTERPRET_CAST( \
1228 const double \
1229 *, \
1230 papoSource) \
1231 [(ii)*2] \
1232 : 0)))))))))))
1233
1236typedef CPLErr (*GDALDerivedPixelFunc)(void **papoSources, int nSources,
1237 void *pData, int nBufXSize,
1238 int nBufYSize, GDALDataType eSrcType,
1239 GDALDataType eBufType, int nPixelSpace,
1240 int nLineSpace);
1241
1245 void **papoSources, int nSources, void *pData, int nBufXSize, int nBufYSize,
1246 GDALDataType eSrcType, GDALDataType eBufType, int nPixelSpace,
1247 int nLineSpace, CSLConstList papszFunctionArgs);
1248
1250void CPL_DLL CPL_STDCALL GDALGetBlockSize(GDALRasterBandH, int *pnXSize,
1251 int *pnYSize);
1252
1254 int nXBlockOff,
1255 int nYBlockOff, int *pnXValid,
1256 int *pnYValid);
1257
1258CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead(GDALRasterBandH hRB,
1259 int nDSXOff, int nDSYOff,
1260 int nDSXSize, int nDSYSize,
1261 int nBXSize, int nBYSize,
1262 GDALDataType eBDataType,
1263 CSLConstList papszOptions);
1264
1265CPLErr CPL_DLL CPL_STDCALL GDALRasterIO(GDALRasterBandH hRBand,
1266 GDALRWFlag eRWFlag, int nDSXOff,
1267 int nDSYOff, int nDSXSize, int nDSYSize,
1268 void *pBuffer, int nBXSize, int nBYSize,
1269 GDALDataType eBDataType,
1270 int nPixelSpace,
1271 int nLineSpace) CPL_WARN_UNUSED_RESULT;
1272CPLErr CPL_DLL CPL_STDCALL GDALRasterIOEx(
1273 GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff,
1274 int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize,
1275 GDALDataType eBDataType, GSpacing nPixelSpace, GSpacing nLineSpace,
1277CPLErr CPL_DLL CPL_STDCALL GDALReadBlock(GDALRasterBandH, int, int,
1278 void *) CPL_WARN_UNUSED_RESULT;
1279CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock(GDALRasterBandH, int, int,
1280 void *) CPL_WARN_UNUSED_RESULT;
1281int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize(GDALRasterBandH);
1282int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize(GDALRasterBandH);
1284int CPL_DLL CPL_STDCALL GDALGetBandNumber(GDALRasterBandH);
1286
1294int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews(GDALRasterBandH);
1295int CPL_DLL CPL_STDCALL GDALGetOverviewCount(GDALRasterBandH);
1296GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview(GDALRasterBandH, int);
1297double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue(GDALRasterBandH, int *);
1298int64_t CPL_DLL CPL_STDCALL GDALGetRasterNoDataValueAsInt64(GDALRasterBandH,
1299 int *);
1300uint64_t CPL_DLL CPL_STDCALL GDALGetRasterNoDataValueAsUInt64(GDALRasterBandH,
1301 int *);
1302CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue(GDALRasterBandH, double);
1304 int64_t);
1306 uint64_t);
1308char CPL_DLL **CPL_STDCALL GDALGetRasterCategoryNames(GDALRasterBandH);
1310 CSLConstList);
1311double CPL_DLL CPL_STDCALL GDALGetRasterMinimum(GDALRasterBandH,
1312 int *pbSuccess);
1313double CPL_DLL CPL_STDCALL GDALGetRasterMaximum(GDALRasterBandH,
1314 int *pbSuccess);
1315CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
1316 GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax,
1317 double *pdfMean, double *pdfStdDev);
1318CPLErr CPL_DLL CPL_STDCALL
1319GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin,
1320 double *pdfMax, double *pdfMean, double *pdfStdDev,
1321 GDALProgressFunc pfnProgress, void *pProgressData);
1322CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(GDALRasterBandH hBand,
1323 double dfMin, double dfMax,
1324 double dfMean,
1325 double dfStdDev);
1326
1329
1330const char CPL_DLL *CPL_STDCALL GDALGetRasterUnitType(GDALRasterBandH);
1331CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType(GDALRasterBandH hBand,
1332 const char *pszNewValue);
1333double CPL_DLL CPL_STDCALL GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess);
1334CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset(GDALRasterBandH hBand,
1335 double dfNewOffset);
1336double CPL_DLL CPL_STDCALL GDALGetRasterScale(GDALRasterBandH, int *pbSuccess);
1337CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale(GDALRasterBandH hBand,
1338 double dfNewOffset);
1339CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterMinMax(GDALRasterBandH hBand,
1340 int bApproxOK,
1341 double adfMinMax[2]);
1342CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache(GDALRasterBandH hBand);
1343CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram(
1344 GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets,
1345 int *panHistogram, int bIncludeOutOfRange, int bApproxOK,
1346 GDALProgressFunc pfnProgress, void *pProgressData)
1348 CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead")
1350 ;
1351CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx(
1352 GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets,
1353 GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK,
1354 GDALProgressFunc pfnProgress, void *pProgressData);
1355CPLErr CPL_DLL CPL_STDCALL
1356GDALGetDefaultHistogram(GDALRasterBandH hBand, double *pdfMin, double *pdfMax,
1357 int *pnBuckets, int **ppanHistogram, int bForce,
1358 GDALProgressFunc pfnProgress, void *pProgressData)
1360 CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead")
1362 ;
1363CPLErr CPL_DLL CPL_STDCALL
1364GDALGetDefaultHistogramEx(GDALRasterBandH hBand, double *pdfMin, double *pdfMax,
1365 int *pnBuckets, GUIntBig **ppanHistogram, int bForce,
1366 GDALProgressFunc pfnProgress, void *pProgressData);
1367CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram(GDALRasterBandH hBand,
1368 double dfMin, double dfMax,
1369 int nBuckets,
1370 int *panHistogram)
1372 CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
1374 ;
1375CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx(GDALRasterBandH hBand,
1376 double dfMin, double dfMax,
1377 int nBuckets,
1378 GUIntBig *panHistogram);
1379int CPL_DLL CPL_STDCALL GDALGetRandomRasterSample(GDALRasterBandH, int,
1380 float *);
1382 int);
1383GDALRasterBandH CPL_DLL CPL_STDCALL
1385CPLErr CPL_DLL CPL_STDCALL GDALFillRaster(GDALRasterBandH hBand,
1386 double dfRealValue,
1387 double dfImaginaryValue);
1388CPLErr CPL_DLL CPL_STDCALL GDALComputeBandStats(
1389 GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev,
1390 GDALProgressFunc pfnProgress, void *pProgressData);
1392 int nOverviewCount,
1393 GDALRasterBandH *pahOverviews,
1394 GDALProgressFunc pfnProgress,
1395 void *pProgressData);
1396
1397GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1399CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT(GDALRasterBandH,
1401CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc(
1402 const char *pszName, GDALDerivedPixelFunc pfnPixelFunc);
1404 const char *pszName, GDALDerivedPixelFuncWithArgs pfnPixelFunc,
1405 const char *pszMetadata);
1406
1407GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand(GDALRasterBandH hBand);
1408int CPL_DLL CPL_STDCALL GDALGetMaskFlags(GDALRasterBandH hBand);
1409CPLErr CPL_DLL CPL_STDCALL GDALCreateMaskBand(GDALRasterBandH hBand,
1410 int nFlags);
1411bool CPL_DLL GDALIsMaskBand(GDALRasterBandH hBand);
1412
1414#define GMF_ALL_VALID 0x01
1417#define GMF_PER_DATASET 0x02
1420#define GMF_ALPHA 0x04
1423#define GMF_NODATA 0x08
1424
1428#define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
1429
1434#define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
1435
1441#define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
1442
1443int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus(GDALRasterBandH hBand,
1444 int nXOff, int nYOff,
1445 int nXSize, int nYSize,
1446 int nMaskFlagStop,
1447 double *pdfDataPct);
1448
1449/* ==================================================================== */
1450/* GDALAsyncReader */
1451/* ==================================================================== */
1452
1454 GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff,
1455 int *pnXBufSize, int *pnYBufSize);
1456int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
1457 double dfTimeout);
1458void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
1459
1460/* -------------------------------------------------------------------- */
1461/* Helper functions. */
1462/* -------------------------------------------------------------------- */
1463int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor(int nArgc,
1464 char ***ppapszArgv,
1465 int nOptions);
1466void CPL_DLL CPL_STDCALL GDALSwapWords(void *pData, int nWordSize,
1467 int nWordCount, int nWordSkip);
1468void CPL_DLL CPL_STDCALL GDALSwapWordsEx(void *pData, int nWordSize,
1469 size_t nWordCount, int nWordSkip);
1470
1471void CPL_DLL CPL_STDCALL GDALCopyWords(const void *CPL_RESTRICT pSrcData,
1472 GDALDataType eSrcType,
1473 int nSrcPixelOffset,
1474 void *CPL_RESTRICT pDstData,
1475 GDALDataType eDstType,
1476 int nDstPixelOffset, int nWordCount);
1477
1478void CPL_DLL CPL_STDCALL GDALCopyWords64(
1479 const void *CPL_RESTRICT pSrcData, GDALDataType eSrcType,
1480 int nSrcPixelOffset, void *CPL_RESTRICT pDstData, GDALDataType eDstType,
1481 int nDstPixelOffset, GPtrDiff_t nWordCount);
1482
1483void CPL_DLL GDALCopyBits(const GByte *pabySrcData, int nSrcOffset,
1484 int nSrcStep, GByte *pabyDstData, int nDstOffset,
1485 int nDstStep, int nBitCount, int nStepCount);
1486
1487void CPL_DLL GDALDeinterleave(const void *pSourceBuffer, GDALDataType eSourceDT,
1488 int nComponents, void **ppDestBuffer,
1489 GDALDataType eDestDT, size_t nIters);
1490
1491int CPL_DLL CPL_STDCALL GDALLoadWorldFile(const char *, double *);
1492int CPL_DLL CPL_STDCALL GDALReadWorldFile(const char *, const char *, double *);
1493int CPL_DLL CPL_STDCALL GDALWriteWorldFile(const char *, const char *,
1494 double *);
1495int CPL_DLL CPL_STDCALL GDALLoadTabFile(const char *, double *, char **, int *,
1496 GDAL_GCP **);
1497int CPL_DLL CPL_STDCALL GDALReadTabFile(const char *, double *, char **, int *,
1498 GDAL_GCP **);
1499int CPL_DLL CPL_STDCALL GDALLoadOziMapFile(const char *, double *, char **,
1500 int *, GDAL_GCP **);
1501int CPL_DLL CPL_STDCALL GDALReadOziMapFile(const char *, double *, char **,
1502 int *, GDAL_GCP **);
1503
1504const char CPL_DLL *CPL_STDCALL GDALDecToDMS(double, const char *, int);
1505double CPL_DLL CPL_STDCALL GDALPackedDMSToDec(double);
1506double CPL_DLL CPL_STDCALL GDALDecToPackedDMS(double);
1507
1508/* Note to developers : please keep this section in sync with ogr_core.h */
1509
1510#ifndef GDAL_VERSION_INFO_DEFINED
1511#ifndef DOXYGEN_SKIP
1512#define GDAL_VERSION_INFO_DEFINED
1513#endif
1514const char CPL_DLL *CPL_STDCALL GDALVersionInfo(const char *);
1515#endif
1516
1517#ifndef GDAL_CHECK_VERSION
1518
1519int CPL_DLL CPL_STDCALL GDALCheckVersion(int nVersionMajor, int nVersionMinor,
1520 const char *pszCallingComponentName);
1521
1525#define GDAL_CHECK_VERSION(pszCallingComponentName) \
1526 GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, \
1527 pszCallingComponentName)
1528
1529#endif
1530
1532#ifdef GDAL_COMPILATION
1533#define GDALExtractRPCInfoV1 GDALExtractRPCInfo
1534#else
1535#define GDALRPCInfo GDALRPCInfoV2
1536#define GDALExtractRPCInfo GDALExtractRPCInfoV2
1537#endif
1538
1539/* Deprecated: use GDALRPCInfoV2 */
1540typedef struct
1541{
1542 double dfLINE_OFF;
1543 double dfSAMP_OFF;
1544 double dfLAT_OFF;
1545 double dfLONG_OFF;
1546 double dfHEIGHT_OFF;
1548 double dfLINE_SCALE;
1549 double dfSAMP_SCALE;
1550 double dfLAT_SCALE;
1551 double dfLONG_SCALE;
1552 double dfHEIGHT_SCALE;
1554 double adfLINE_NUM_COEFF[20];
1555 double adfLINE_DEN_COEFF[20];
1556 double adfSAMP_NUM_COEFF[20];
1557 double adfSAMP_DEN_COEFF[20];
1559 double dfMIN_LONG;
1560 double dfMIN_LAT;
1561 double dfMAX_LONG;
1562 double dfMAX_LAT;
1563} GDALRPCInfoV1;
1568typedef struct
1569{
1570 double dfLINE_OFF;
1571 double dfSAMP_OFF;
1572 double dfLAT_OFF;
1573 double dfLONG_OFF;
1582 double adfLINE_NUM_COEFF[20];
1583 double adfLINE_DEN_COEFF[20];
1584 double adfSAMP_NUM_COEFF[20];
1585 double adfSAMP_DEN_COEFF[20];
1587 double dfMIN_LONG;
1588 double dfMIN_LAT;
1589 double dfMAX_LONG;
1590 double dfMAX_LAT;
1592 /* Those fields should be at the end. And all above fields should be the
1593 * same as in GDALRPCInfoV1 */
1594 double dfERR_BIAS;
1595 double dfERR_RAND;
1597
1599int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV1(CSLConstList, GDALRPCInfoV1 *);
1601int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *);
1602
1603/* ==================================================================== */
1604/* Color tables. */
1605/* ==================================================================== */
1606
1608typedef struct
1609{
1611 short c1;
1612
1614 short c2;
1615
1617 short c3;
1618
1620 short c4;
1622
1625void CPL_DLL CPL_STDCALL GDALDestroyColorTable(GDALColorTableH);
1628 CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation(GDALColorTableH);
1629int CPL_DLL CPL_STDCALL GDALGetColorEntryCount(GDALColorTableH);
1630const GDALColorEntry CPL_DLL *CPL_STDCALL GDALGetColorEntry(GDALColorTableH,
1631 int);
1632int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB(GDALColorTableH, int,
1633 GDALColorEntry *);
1634void CPL_DLL CPL_STDCALL GDALSetColorEntry(GDALColorTableH, int,
1635 const GDALColorEntry *);
1636void CPL_DLL CPL_STDCALL GDALCreateColorRamp(GDALColorTableH hTable,
1637 int nStartIndex,
1638 const GDALColorEntry *psStartColor,
1639 int nEndIndex,
1640 const GDALColorEntry *psEndColor);
1641
1642/* ==================================================================== */
1643/* Raster Attribute Table */
1644/* ==================================================================== */
1645
1653
1677
1686
1687GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1689
1690void CPL_DLL CPL_STDCALL
1692
1693int CPL_DLL CPL_STDCALL GDALRATGetColumnCount(GDALRasterAttributeTableH);
1694
1695const char CPL_DLL *CPL_STDCALL GDALRATGetNameOfCol(GDALRasterAttributeTableH,
1696 int);
1697GDALRATFieldUsage CPL_DLL CPL_STDCALL
1699GDALRATFieldType CPL_DLL CPL_STDCALL
1701
1702int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage(GDALRasterAttributeTableH,
1704int CPL_DLL CPL_STDCALL GDALRATGetRowCount(GDALRasterAttributeTableH);
1705
1706const char CPL_DLL *CPL_STDCALL
1708int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(GDALRasterAttributeTableH, int,
1709 int);
1710double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(GDALRasterAttributeTableH,
1711 int, int);
1712
1713void CPL_DLL CPL_STDCALL GDALRATSetValueAsString(GDALRasterAttributeTableH, int,
1714 int, const char *);
1715void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt(GDALRasterAttributeTableH, int,
1716 int, int);
1717void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int,
1718 int, double);
1719
1720int CPL_DLL CPL_STDCALL
1722
1723CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble(
1724 GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField,
1725 int iStartRow, int iLength, double *pdfData);
1726CPLErr CPL_DLL CPL_STDCALL
1728 int iField, int iStartRow, int iLength, int *pnData);
1729CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString(
1730 GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField,
1731 int iStartRow, int iLength, CSLConstList papszStrList);
1732
1733void CPL_DLL CPL_STDCALL GDALRATSetRowCount(GDALRasterAttributeTableH, int);
1735 const char *, GDALRATFieldType,
1738 double, double);
1740 double *, double *);
1741CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType(
1742 GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType);
1743GDALRATTableType CPL_DLL CPL_STDCALL
1745CPLErr CPL_DLL CPL_STDCALL
1747GDALColorTableH CPL_DLL CPL_STDCALL
1749void CPL_DLL CPL_STDCALL GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *);
1750GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1752
1753void CPL_DLL *CPL_STDCALL GDALRATSerializeJSON(GDALRasterAttributeTableH)
1755
1756int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue(GDALRasterAttributeTableH, double);
1757void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics(GDALRasterAttributeTableH);
1758
1759/* -------------------------------------------------------------------- */
1760/* Relationships */
1761/* -------------------------------------------------------------------- */
1762
1778
1792
1793GDALRelationshipH CPL_DLL GDALRelationshipCreate(const char *, const char *,
1794 const char *,
1796void CPL_DLL CPL_STDCALL GDALDestroyRelationship(GDALRelationshipH);
1797const char CPL_DLL *GDALRelationshipGetName(GDALRelationshipH);
1804 const char *);
1808 CSLConstList);
1810 CSLConstList);
1814 CSLConstList);
1816 CSLConstList);
1821 const char *);
1824 const char *);
1827 const char *);
1828
1829/* ==================================================================== */
1830/* GDAL Cache Management */
1831/* ==================================================================== */
1832
1833void CPL_DLL CPL_STDCALL GDALSetCacheMax(int nBytes);
1834int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1835int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1836void CPL_DLL CPL_STDCALL GDALSetCacheMax64(GIntBig nBytes);
1837GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1838GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1839
1840int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1841
1842/* ==================================================================== */
1843/* GDAL virtual memory */
1844/* ==================================================================== */
1845
1847 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
1848 int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType,
1849 int nBandCount, int *panBandMap, int nPixelSpace, GIntBig nLineSpace,
1850 GIntBig nBandSpace, size_t nCacheSize, size_t nPageSizeHint,
1851 int bSingleThreadUsage, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1852
1854 GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
1855 int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType,
1856 int nPixelSpace, GIntBig nLineSpace, size_t nCacheSize,
1857 size_t nPageSizeHint, int bSingleThreadUsage,
1859
1860CPLVirtualMem CPL_DLL *
1862 int *pnPixelSpace, GIntBig *pnLineSpace,
1864
1879
1881 GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
1882 int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType,
1883 int nBandCount, int *panBandMap, GDALTileOrganization eTileOrganization,
1884 size_t nCacheSize, int bSingleThreadUsage,
1886
1888 GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize,
1889 int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType,
1890 size_t nCacheSize, int bSingleThreadUsage,
1892
1893/* ==================================================================== */
1894/* VRTPansharpenedDataset class. */
1895/* ==================================================================== */
1896
1898 const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands,
1899 GDALRasterBandH *pahInputSpectralBands) CPL_WARN_UNUSED_RESULT;
1900
1901/* =================================================================== */
1902/* Misc API */
1903/* ==================================================================== */
1904
1905CPLXMLNode CPL_DLL *
1906GDALGetJPEG2000Structure(const char *pszFilename,
1908
1909/* ==================================================================== */
1910/* Multidimensional API_api */
1911/* ==================================================================== */
1912
1913GDALDatasetH CPL_DLL
1914GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName,
1915 CSLConstList papszRootGroupOptions,
1917
1921 size_t nMaxStringLength) CPL_WARN_UNUSED_RESULT;
1923 size_t nMaxStringLength,
1926 const char *pszName, size_t nTotalSize, size_t nComponents,
1929const char CPL_DLL *GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT);
1932GDALDataType CPL_DLL
1935size_t CPL_DLL
1937GDALEDTComponentH CPL_DLL *
1939 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
1941 size_t nCount);
1943 GDALExtendedDataTypeH hTargetEDT);
1945 GDALExtendedDataTypeH hSecondEDT);
1948
1949GDALEDTComponentH CPL_DLL
1950GDALEDTComponentCreate(const char *pszName, size_t nOffset,
1952void CPL_DLL GDALEDTComponentRelease(GDALEDTComponentH hComp);
1953const char CPL_DLL *GDALEDTComponentGetName(GDALEDTComponentH hComp);
1954size_t CPL_DLL GDALEDTComponentGetOffset(GDALEDTComponentH hComp);
1957
1960void CPL_DLL GDALGroupRelease(GDALGroupH hGroup);
1961const char CPL_DLL *GDALGroupGetName(GDALGroupH hGroup);
1962const char CPL_DLL *GDALGroupGetFullName(GDALGroupH hGroup);
1963char CPL_DLL **
1966GDALMDArrayH CPL_DLL
1967GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName,
1970 GDALGroupH hGroup, const char *pszMDArrayName,
1973 GDALGroupH hGroup, const char *pszName, const char *pszStartingPoint,
1975char CPL_DLL **
1978GDALGroupH CPL_DLL
1979GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName,
1982 GDALGroupH hGroup, const char *pszMDArrayName,
1984char CPL_DLL **
1987OGRLayerH CPL_DLL
1988GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName,
1990GDALDimensionH CPL_DLL *
1991GDALGroupGetDimensions(GDALGroupH hGroup, size_t *pnCount,
1994 GDALGroupH hGroup, const char *pszName) CPL_WARN_UNUSED_RESULT;
1995GDALAttributeH CPL_DLL *
1996GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount,
1999GDALGroupH CPL_DLL
2000GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName,
2003 GDALGroupH hGroup, const char *pszName, const char *pszType,
2004 const char *pszDirection, GUInt64 nSize,
2007 GDALGroupH hGroup, const char *pszName, size_t nDimensions,
2008 GDALDimensionH *pahDimensions, GDALExtendedDataTypeH hEDT,
2011 GDALGroupH hGroup, const char *pszName, size_t nDimensions,
2012 const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT,
2014
2015void CPL_DLL GDALMDArrayRelease(GDALMDArrayH hMDArray);
2016const char CPL_DLL *GDALMDArrayGetName(GDALMDArrayH hArray);
2017const char CPL_DLL *GDALMDArrayGetFullName(GDALMDArrayH hArray);
2019size_t CPL_DLL GDALMDArrayGetDimensionCount(GDALMDArrayH hArray);
2020GDALDimensionH CPL_DLL *
2022 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2025int CPL_DLL GDALMDArrayRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx,
2026 const size_t *count, const GInt64 *arrayStep,
2027 const GPtrDiff_t *bufferStride,
2028 GDALExtendedDataTypeH bufferDatatype,
2029 void *pDstBuffer, const void *pDstBufferAllocStart,
2030 size_t nDstBufferllocSize);
2031int CPL_DLL GDALMDArrayWrite(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx,
2032 const size_t *count, const GInt64 *arrayStep,
2033 const GPtrDiff_t *bufferStride,
2034 GDALExtendedDataTypeH bufferDatatype,
2035 const void *pSrcBuffer,
2036 const void *psrcBufferAllocStart,
2037 size_t nSrcBufferllocSize);
2038int CPL_DLL GDALMDArrayAdviseRead(GDALMDArrayH hArray,
2039 const GUInt64 *arrayStartIdx,
2040 const size_t *count);
2041int CPL_DLL GDALMDArrayAdviseReadEx(GDALMDArrayH hArray,
2042 const GUInt64 *arrayStartIdx,
2043 const size_t *count,
2044 CSLConstList papszOptions);
2046 GDALMDArrayH hArray, const char *pszName) CPL_WARN_UNUSED_RESULT;
2047GDALAttributeH CPL_DLL *
2048GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount,
2051 GDALMDArrayH hArray, const char *pszName, size_t nDimensions,
2052 const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT,
2054const void CPL_DLL *GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray);
2056 int *pbHasNoDataValue);
2057int64_t CPL_DLL GDALMDArrayGetNoDataValueAsInt64(GDALMDArrayH hArray,
2058 int *pbHasNoDataValue);
2059uint64_t CPL_DLL GDALMDArrayGetNoDataValueAsUInt64(GDALMDArrayH hArray,
2060 int *pbHasNoDataValue);
2061int CPL_DLL GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *);
2063 double dfNoDataValue);
2065 int64_t nNoDataValue);
2067 uint64_t nNoDataValue);
2068int CPL_DLL GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale);
2069int CPL_DLL GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale,
2070 GDALDataType eStorageType);
2071double CPL_DLL GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue);
2072double CPL_DLL GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue,
2073 GDALDataType *peStorageType);
2074int CPL_DLL GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset);
2075int CPL_DLL GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset,
2076 GDALDataType eStorageType);
2077double CPL_DLL GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue);
2078double CPL_DLL GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue,
2079 GDALDataType *peStorageType);
2080GUInt64 CPL_DLL *GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount);
2081int CPL_DLL GDALMDArraySetUnit(GDALMDArrayH hArray, const char *);
2082const char CPL_DLL *GDALMDArrayGetUnit(GDALMDArrayH hArray);
2085size_t CPL_DLL *GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray,
2086 size_t *pnCount,
2087 size_t nMaxChunkMemory);
2090 const char *pszViewExpr);
2092 size_t nNewAxisCount,
2093 const int *panMapNewAxisToOldAxis);
2096 CSLConstList papszOptions);
2098 size_t iXDim, size_t iYDim);
2100 GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, int bForce,
2101 double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
2102 GUInt64 *pnValidCount, GDALProgressFunc pfnProgress, void *pProgressData);
2104 int bApproxOK, double *pdfMin,
2105 double *pdfMax, double *pdfMean,
2106 double *pdfStdDev,
2107 GUInt64 *pnValidCount,
2108 GDALProgressFunc, void *pProgressData);
2110 size_t nNewDimCount,
2111 const GDALDimensionH *pahNewDims,
2112 GDALRIOResampleAlg resampleAlg,
2113 OGRSpatialReferenceH hTargetSRS,
2114 CSLConstList papszOptions);
2115GDALMDArrayH CPL_DLL *
2117 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2118void CPL_DLL GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount);
2119int CPL_DLL GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions);
2120
2121void CPL_DLL GDALAttributeRelease(GDALAttributeH hAttr);
2122void CPL_DLL GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount);
2123const char CPL_DLL *GDALAttributeGetName(GDALAttributeH hAttr);
2124const char CPL_DLL *GDALAttributeGetFullName(GDALAttributeH hAttr);
2127GUInt64 CPL_DLL *
2129 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2133 size_t *pnSize) CPL_WARN_UNUSED_RESULT;
2134void CPL_DLL GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw,
2135 size_t nSize);
2136const char CPL_DLL *GDALAttributeReadAsString(GDALAttributeH hAttr);
2137int CPL_DLL GDALAttributeReadAsInt(GDALAttributeH hAttr);
2138double CPL_DLL GDALAttributeReadAsDouble(GDALAttributeH hAttr);
2139char CPL_DLL **
2141int CPL_DLL *GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
2143double CPL_DLL *
2145 size_t *pnCount) CPL_WARN_UNUSED_RESULT;
2146int CPL_DLL GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t);
2147int CPL_DLL GDALAttributeWriteString(GDALAttributeH hAttr, const char *);
2149int CPL_DLL GDALAttributeWriteInt(GDALAttributeH hAttr, int);
2150int CPL_DLL GDALAttributeWriteDouble(GDALAttributeH hAttr, double);
2151int CPL_DLL GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *,
2152 size_t);
2153
2154void CPL_DLL GDALDimensionRelease(GDALDimensionH hDim);
2155void CPL_DLL GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount);
2156const char CPL_DLL *GDALDimensionGetName(GDALDimensionH hDim);
2157const char CPL_DLL *GDALDimensionGetFullName(GDALDimensionH hDim);
2158const char CPL_DLL *GDALDimensionGetType(GDALDimensionH hDim);
2159const char CPL_DLL *GDALDimensionGetDirection(GDALDimensionH hDim);
2164 GDALMDArrayH hArray);
2165
2167
2168#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:274
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition cpl_port.h:1029
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition cpl_port.h:236
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:317
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:313
GIntBig GInt64
Signed 64 bit integer type.
Definition cpl_port.h:254
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1190
GUIntBig GUInt64
Unsigned 64 bit integer type.
Definition cpl_port.h:256
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition cpl_port.h:983
unsigned char GByte
Unsigned byte type.
Definition cpl_port.h:205
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition cpl_port.h:233
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:314
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition gdalrasterband.cpp:2592
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition gdaldriver.cpp:1723
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all dataset raster data.
Definition rasterio.cpp:4536
GDALRATTableType
RAT table type (thematic or athematic)
Definition gdal.h:1682
@ GRTT_THEMATIC
Definition gdal.h:1683
@ GRTT_ATHEMATIC
Definition gdal.h:1684
const char * GDALEDTComponentGetName(GDALEDTComponentH hComp)
Return the name.
Definition gdalmultidim.cpp:9195
GDALAccess
Definition gdal.h:124
@ GA_ReadOnly
Definition gdal.h:125
@ GA_Update
Definition gdal.h:126
GDALDriverH GDALIdentifyDriver(const char *pszFilename, CSLConstList papszFileList)
Identify the driver that can open a raster file.
Definition gdaldriver.cpp:2277
const char * GDALGroupGetFullName(GDALGroupH hGroup)
Return the full name of the group.
Definition gdalmultidim.cpp:9270
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:2950
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:351
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition gdaldataset.cpp:4381
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *)
Write a block of image data efficiently.
Definition gdalrasterband.cpp:728
GDALDatasetH GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType, CSLConstList)
Create a new dataset with this driver.
Definition gdaldriver.cpp:266
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition gdalrasterband.cpp:1711
int GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *)
Set the nodata value as a "raw" value.
Definition gdalmultidim.cpp:10161
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition gdal_misc.cpp:376
void GDALDatasetClearStatistics(GDALDatasetH hDS)
Clear statistics.
Definition gdaldataset.cpp:8362
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition gdaldataset.cpp:3658
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition gdal_misc.cpp:1064
const char * GDALRelationshipGetForwardPathLabel(GDALRelationshipH)
Get the label of the forward path for the relationship.
Definition gdalrelationship.cpp:540
int GDALGetCacheUsed(void)
Get cache memory used.
Definition gdalrasterblock.cpp:322
struct GDALAttributeHS * GDALAttributeH
Opaque type for C++ GDALAttribute.
Definition gdal.h:349
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition gdal_rat.cpp:381
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition gdalrasterblock.cpp:145
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:1534
void GDALDeinterleave(const void *pSourceBuffer, GDALDataType eSourceDT, int nComponents, void **ppDestBuffer, GDALDataType eDestDT, size_t nIters)
Definition rasterio.cpp:5469
GDALMDArrayH GDALRasterBandAsMDArray(GDALRasterBandH)
Return a view of this raster band as a 2D multidimensional GDALMDArray.
Definition gdalmultidim.cpp:11438
bool GDALDatasetAddFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Add a field domain to the dataset.
Definition gdaldataset.cpp:8525
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition gdalmajorobject.cpp:263
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition gdaldataset.cpp:1256
GDALAttributeH GDALGroupGetAttribute(GDALGroupH hGroup, const char *pszName)
Return an attribute by its name.
Definition gdalmultidim.cpp:9532
const char * GDALDimensionGetDirection(GDALDimensionH hDim)
Return dimension direction.
Definition gdalmultidim.cpp:11334
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:9506
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:1428
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:9308
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition gdalrasterband.cpp:7063
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:10599
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition gdaldataset.cpp:1065
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, const char *const *constpapszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy a whole raster band.
Definition rasterio.cpp:4860
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition gdal_misc.cpp:842
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:509
GUInt64 GDALMDArrayGetTotalElementsCount(GDALMDArrayH hArray)
Return the total number of values in the array.
Definition gdalmultidim.cpp:9771
OGRSpatialReferenceH GDALGetSpatialRef(GDALDatasetH)
Fetch the spatial reference for this dataset.
Definition gdaldataset.cpp:938
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition rasterio.cpp:2072
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:9354
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition gdalrasterband.cpp:2549
void GDALAttributeRelease(GDALAttributeH hAttr)
Release the GDAL in-memory object associated with a GDALAttribute.
Definition gdalmultidim.cpp:10834
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition gdalrasterband.cpp:952
GDALMDArrayH GDALMDArrayGetView(GDALMDArrayH hArray, const char *pszViewExpr)
Return a view of the array using slicing or field access.
Definition gdalmultidim.cpp:10502
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition gdalmajorobject.cpp:217
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition gdaldriver.cpp:1799
GDALPaletteInterp
Definition gdal.h:252
@ GPI_CMYK
Definition gdal.h:255
@ GPI_HLS
Definition gdal.h:256
@ GPI_Gray
Definition gdal.h:253
@ GPI_RGB
Definition gdal.h:254
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:3806
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition gdalmajorobject.cpp:134
void GDALDimensionRelease(GDALDimensionH hDim)
Release the GDAL in-memory object associated with a GDALDimension.
Definition gdalmultidim.cpp:11279
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition gdaldataset.cpp:842
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition gdalrasterband.cpp:2688
size_t GDALAttributeGetDimensionCount(GDALAttributeH hAttr)
Return the number of dimensions.
Definition gdalmultidim.cpp:10894
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition gdalrasterband.cpp:4211
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition gdal_rat.cpp:984
size_t GDALMDArrayGetDimensionCount(GDALMDArrayH hArray)
Return the number of dimensions.
Definition gdalmultidim.cpp:9785
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:7601
char ** GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of multidimensional array names contained in this group.
Definition gdalmultidim.cpp:9286
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition gdalrasterblock.cpp:352
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition gdaldataset.cpp:4819
GDALDataType
Definition gdal.h:64
@ GDT_UInt32
Definition gdal.h:69
@ GDT_UInt64
Definition gdal.h:71
@ GDT_CInt32
Definition gdal.h:76
@ GDT_Int64
Definition gdal.h:72
@ GDT_Byte
Definition gdal.h:66
@ GDT_CFloat32
Definition gdal.h:78
@ GDT_CFloat64
Definition gdal.h:79
@ GDT_Float64
Definition gdal.h:74
@ GDT_UInt16
Definition gdal.h:67
@ GDT_Int16
Definition gdal.h:68
@ GDT_CInt16
Definition gdal.h:75
@ GDT_Int32
Definition gdal.h:70
@ GDT_Unknown
Definition gdal.h:65
@ GDT_Float32
Definition gdal.h:73
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition gdalrasterband.cpp:2794
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition gdaldataset.cpp:7444
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition gdal.h:290
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition gdalrasterband.cpp:2508
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition gdalcolortable.cpp:132
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition gdaldataset.cpp:2671
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition gdalrasterband.cpp:3083
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:11034
GDALExtendedDataTypeH GDALExtendedDataTypeCreate(GDALDataType eType)
Return a new GDALExtendedDataType of class GEDTC_NUMERIC.
Definition gdalmultidim.cpp:8872
GDALRATFieldUsage
Field usage of raster attribute table.
Definition gdal.h:1656
@ GFU_Min
Definition gdal.h:1660
@ GFU_AlphaMin
Definition gdal.h:1670
@ GFU_GreenMin
Definition gdal.h:1668
@ GFU_Red
Definition gdal.h:1663
@ GFU_Alpha
Definition gdal.h:1666
@ GFU_MaxCount
Definition gdal.h:1675
@ GFU_MinMax
Definition gdal.h:1662
@ GFU_RedMin
Definition gdal.h:1667
@ GFU_GreenMax
Definition gdal.h:1672
@ GFU_Name
Definition gdal.h:1659
@ GFU_BlueMax
Definition gdal.h:1673
@ GFU_BlueMin
Definition gdal.h:1669
@ GFU_RedMax
Definition gdal.h:1671
@ GFU_Green
Definition gdal.h:1664
@ GFU_Blue
Definition gdal.h:1665
@ GFU_AlphaMax
Definition gdal.h:1674
@ GFU_PixelCount
Definition gdal.h:1658
@ GFU_Generic
Definition gdal.h:1657
@ GFU_Max
Definition gdal.h:1661
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition gdalrasterband.cpp:2900
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition gdalcolortable.cpp:314
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition gdaldataset.cpp:806
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition gdalrasterband.cpp:1558
int64_t GDALMDArrayGetNoDataValueAsInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a Int64.
Definition gdalmultidim.cpp:10113
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition gdal_misc.cpp:2957
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:1589
const void * GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray)
Return the nodata value as a "raw" value.
Definition gdalmultidim.cpp:10061
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:9898
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition gdaldataset.cpp:3761
void GDALExtendedDataTypeFreeComponents(GDALEDTComponentH *components, size_t nCount)
Free the return of GDALExtendedDataTypeGetComponents().
Definition gdalmultidim.cpp:9142
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition gdaldataset.cpp:1644
GByte * GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize)
Return the raw value of an attribute.
Definition gdalmultidim.cpp:10957
size_t GDALExtendedDataTypeGetSize(GDALExtendedDataTypeH hEDT)
Return data type size in bytes.
Definition gdalmultidim.cpp:9018
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition gdalrasterband.cpp:885
struct GDALEDTComponentHS * GDALEDTComponentH
Opaque type for C++ GDALEDTComponent.
Definition gdal.h:343
int GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition gdal_misc.cpp:3599
GDALMDArrayH GDALGroupOpenMDArrayFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array from its fully qualified name.
Definition gdalmultidim.cpp:9332
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:7211
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition gdalrasterband.cpp:6976
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:10024
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:10200
int GDALMDArraySetNoDataValueAsUInt64(GDALMDArrayH hArray, uint64_t nNoDataValue)
Set the nodata value as a UInt64.
Definition gdalmultidim.cpp:10220
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition overview.cpp:5551
bool GDALDatasetDeleteFieldDomain(GDALDatasetH hDS, const char *pszName, char **ppszFailureReason)
Removes a field domain from the dataset.
Definition gdaldataset.cpp:8602
void GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount)
Free the return of GDALGroupGetDimensions() or GDALMDArrayGetDimensions()
Definition gdalmultidim.cpp:9832
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition gdal_rat.cpp:335
GDALDatasetH GDALOpenShared(const char *, GDALAccess)
Open a raster file as a GDALDataset.
Definition gdaldataset.cpp:3632
CPLErr GDALSetRasterNoDataValueAsInt64(GDALRasterBandH, int64_t)
Set the no data value for this band.
Definition gdalrasterband.cpp:1981
void GDALRelationshipSetForwardPathLabel(GDALRelationshipH, const char *)
Sets the label of the forward path for the relationship.
Definition gdalrelationship.cpp:575
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition gdaldriver.cpp:1775
GDALDriverH GDALIdentifyDriverEx(const char *pszFilename, unsigned int nIdentifyFlags, const char *const *papszAllowedDrivers, const char *const *papszFileList)
Identify the driver that can open a raster file.
Definition gdaldriver.cpp:2326
GDALExtendedDataTypeH GDALExtendedDataTypeCreateStringEx(size_t nMaxStringLength, GDALExtendedDataTypeSubType eSubType)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition gdalmultidim.cpp:8910
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition rasterio.cpp:1979
void GDALRelationshipSetLeftMappingTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the mapping table fields which correspond to the participating fields from the left...
Definition gdalrelationship.cpp:430
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition gdaldrivermanager.cpp:400
void GDALGroupRelease(GDALGroupH hGroup)
Release the GDAL in-memory object associated with a GDALGroupH.
Definition gdalmultidim.cpp:9239
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition gdal_misc.cpp:1321
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int, int, int)
Set field value from integer.
Definition gdal_rat.cpp:1794
const char * GDALMDArrayGetFullName(GDALMDArrayH hArray)
Return array full name.
Definition gdalmultidim.cpp:9756
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition gdalrasterband.cpp:2281
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, CSLConstList)
Set the category names for this band.
Definition gdalrasterband.cpp:1655
CPLErr GDALRATValuesIOAsString(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, CSLConstList papszStrList)
Read or Write a block of strings to/from the Attribute Table.
Definition gdal_rat.cpp:290
GUInt64 GDALDimensionGetSize(GDALDimensionH hDim)
Return the size, that is the number of values along the dimension.
Definition gdalmultidim.cpp:11348
int GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:10296
int GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions)
Cache the content of the array into an auxiliary filename.
Definition gdalmultidim.cpp:10819
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition gdal_misc.cpp:811
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition gdalrasterband.cpp:2193
const char * GDALDimensionGetType(GDALDimensionH hDim)
Return dimension type.
Definition gdalmultidim.cpp:11320
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition gdaldriver.cpp:1745
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition gdal_misc.cpp:416
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition gdal_misc.cpp:956
void GDALRelationshipSetRightMappingTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the mapping table fields which correspond to the participating fields from the righ...
Definition gdalrelationship.cpp:463
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition gdaldrivermanager.cpp:1042
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:430
int GDALMDArraySetUnit(GDALMDArrayH hArray, const char *)
Set the variable unit.
Definition gdalmultidim.cpp:10641
const char * GDALRelationshipGetBackwardPathLabel(GDALRelationshipH)
Get the label of the backward path for the relationship.
Definition gdalrelationship.cpp:608
char ** GDALDatasetGetFieldDomainNames(GDALDatasetH, CSLConstList)
Returns a list of the names of all field domains stored in the dataset.
Definition gdaldataset.cpp:8413
int GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition gdaldriver.cpp:1840
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:6468
const char * GDALRelationshipGetMappingTableName(GDALRelationshipH)
Get the name of the mapping table for many-to-many relationships.
Definition gdalrelationship.cpp:190
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition gdaldataset.cpp:4345
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition gdaldriver.cpp:1563
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:1780
size_t GDALExtendedDataTypeGetMaxStringLength(GDALExtendedDataTypeH hEDT)
Return the maximum length of a string in bytes.
Definition gdalmultidim.cpp:9034
GDALMDArrayH GDALDimensionGetIndexingVariable(GDALDimensionH hDim)
Return the variable that is used to index the dimension (if there is one).
Definition gdalmultidim.cpp:11367
char ** GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of sub-groups contained in this group.
Definition gdalmultidim.cpp:9378
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition gdaldataset.cpp:7496
int GDALAttributeWriteDouble(GDALAttributeH hAttr, double)
Write an attribute from a double value.
Definition gdalmultidim.cpp:11216
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition gdaldataset.cpp:715
void * GDALRATSerializeJSON(GDALRasterAttributeTableH)
Serialize Raster Attribute Table in Json format.
Definition gdal_rat.cpp:2191
const char * GDALAttributeReadAsString(GDALAttributeH hAttr)
Return the value of an attribute as a string.
Definition gdalmultidim.cpp:11014
CSLConstList GDALGroupGetStructuralInfo(GDALGroupH hGroup)
Return structural information on the group.
Definition gdalmultidim.cpp:9590
GDALExtendedDataTypeClass
Enumeration giving the class of a GDALExtendedDataType.
Definition gdal.h:320
@ GEDTC_STRING
String value.
Definition gdal.h:324
@ GEDTC_COMPOUND
Compound data type.
Definition gdal.h:326
@ GEDTC_NUMERIC
Numeric value.
Definition gdal.h:322
bool GDALDatasetUpdateFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Updates an existing field domain by replacing its definition.
Definition gdaldataset.cpp:8675
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition gdalrasterband.cpp:2101
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:306
GDALGroupH GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Open and return a sub-group.
Definition gdalmultidim.cpp:9400
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition gdaldataset.cpp:7164
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition gdaldataset.cpp:7386
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:1244
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:7695
GDALGroupH GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Create a sub-group within a group.
Definition gdalmultidim.cpp:9624
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition gdal_misc.cpp:916
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition gdal_misc.cpp:878
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:1832
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:3999
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, CSLConstList papszOptions)
Add a band to a dataset.
Definition gdaldataset.cpp:607
void GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw, size_t nSize)
Free the return of GDALAttributeAsRaw()
Definition gdalmultidim.cpp:10978
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition gdalrasterband.cpp:6516
GDALRelationshipCardinality GDALRelationshipGetCardinality(GDALRelationshipH)
Get the cardinality of the relationship.
Definition gdalrelationship.cpp:126
char ** GDALRelationshipGetLeftTableFields(GDALRelationshipH)
Get the names of the participating fields from the left table in the relationship.
Definition gdalrelationship.cpp:238
GUInt64 GDALAttributeGetTotalElementsCount(GDALAttributeH hAttr)
Return the total number of values in the attribute.
Definition gdalmultidim.cpp:10880
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition gdalcolortable.cpp:277
GDALRelationshipCardinality
Cardinality of relationship.
Definition gdal.h:1768
@ GRC_ONE_TO_ONE
One-to-one.
Definition gdal.h:1770
@ GRC_MANY_TO_ONE
Many-to-one.
Definition gdal.h:1774
@ GRC_MANY_TO_MANY
Many-to-many.
Definition gdal.h:1776
@ GRC_ONE_TO_MANY
One-to-many.
Definition gdal.h:1772
GDALRIOResampleAlg
RasterIO() resampling method.
Definition gdal.h:142
@ GRIORA_Mode
Definition gdal.h:151
@ GRIORA_Lanczos
Definition gdal.h:147
@ GRIORA_Cubic
Definition gdal.h:145
@ GRIORA_CubicSpline
Definition gdal.h:146
@ GRIORA_Average
Definition gdal.h:148
@ GRIORA_RMS
RMS: Root Mean Square / Quadratic Mean.
Definition gdal.h:162
@ GRIORA_NearestNeighbour
Definition gdal.h:143
@ GRIORA_Gauss
Definition gdal.h:152
@ GRIORA_Bilinear
Definition gdal.h:144
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition gdalrasterband.cpp:3045
GDALExtendedDataTypeSubType GDALExtendedDataTypeGetSubType(GDALExtendedDataTypeH hEDT)
Return the subtype of a type.
Definition gdalmultidim.cpp:9093
bool GDALDatasetAddRelationship(GDALDatasetH hDS, GDALRelationshipH hRelationship, char **ppszFailureReason)
Add a relationship to the dataset.
Definition gdaldataset.cpp:8850
GDALExtendedDataTypeH GDALEDTComponentGetType(GDALEDTComponentH hComp)
Return the data type of the component.
Definition gdalmultidim.cpp:9223
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition gdalrasterband.cpp:1604
GDALGroupH GDALGroupOpenGroupFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a sub-group from its fully qualified name.
Definition gdalmultidim.cpp:9473
void GDALRelationshipSetLeftTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the participating fields from the left table in the relationship.
Definition gdalrelationship.cpp:302
void GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition gdaldataset.cpp:477
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition gdal_misc.cpp:2196
int GDALDataTypeIsInteger(GDALDataType)
Is data type integer? (might be complex)
Definition gdal_misc.cpp:471
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:11389
bool GDALDatasetDeleteRelationship(GDALDatasetH hDS, const char *pszName, char **ppszFailureReason)
Removes a relationship from the dataset.
Definition gdaldataset.cpp:8919
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition gdaldataset.cpp:4446
OGRSpatialReferenceH GDALMDArrayGetSpatialRef(GDALMDArrayH hArray)
Return the spatial reference system object associated with the array.
Definition gdalmultidim.cpp:10698
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition gdal_misc.cpp:2424
GDALEDTComponentH GDALEDTComponentCreate(const char *pszName, size_t nOffset, GDALExtendedDataTypeH hType)
Create a new GDALEDTComponent.
Definition gdalmultidim.cpp:9162
GDALAttributeH GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char *pszName)
Return an attribute by its name.
Definition gdalmultidim.cpp:9969
char ** GDALAttributeReadAsStringArray(GDALAttributeH hAttr)
Return the value of an attribute as an array of strings.
Definition gdalmultidim.cpp:11070
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition gdalrasterband.cpp:3203
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:2776
GDALExtendedDataTypeH GDALAttributeGetDataType(GDALAttributeH hAttr)
Return the data type.
Definition gdalmultidim.cpp:10935
void GDALRelationshipSetRelatedTableType(GDALRelationshipH, const char *)
Sets the type string of the related table.
Definition gdalrelationship.cpp:699
int GDALLoadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition gdal_misc.cpp:1690
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition gdalrasterband.cpp:3120
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition gdaldefaultasync.cpp:255
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition gdalrasterband.cpp:1909
CPLErr GDALDatasetRasterIO(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, int nPixelSpace, int nLineSpace, int nBandSpace)
Read/write a region of image data from multiple bands.
Definition gdaldataset.cpp:2542
int GDALExtendedDataTypeCanConvertTo(GDALExtendedDataTypeH hSourceEDT, GDALExtendedDataTypeH hTargetEDT)
Return whether this data type can be converted to the other one.
Definition gdalmultidim.cpp:9052
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int, int)
Fetch field value as a integer.
Definition gdal_rat.cpp:1564
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition gdal_misc.cpp:2448
GDALDataType GDALExtendedDataTypeGetNumericDataType(GDALExtendedDataTypeH hEDT)
Return numeric data type (only valid when GetClass() == GEDTC_NUMERIC)
Definition gdalmultidim.cpp:9004
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition gdaldrivermanager.cpp:577
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition gdaldriver.cpp:1688
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:3929
OGRErr GDALDatasetAbortSQL(GDALDatasetH)
Abort any SQL statement running in the data store.
Definition gdaldataset.cpp:4767
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:3077
int GDALAttributeWriteString(GDALAttributeH hAttr, const char *)
Write an attribute from a string value.
Definition gdalmultidim.cpp:11173
int GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:10239
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition gdalrasterband.cpp:806
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:1014
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:3957
char ** GDALRelationshipGetRightTableFields(GDALRelationshipH)
Get the names of the participating fields from the right table in the relationship.
Definition gdalrelationship.cpp:269
CPLErr GDALSetDefaultHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition gdalrasterband.cpp:6559
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:4612
const char * GDALAttributeGetFullName(GDALAttributeH hAttr)
Return the full name of the attribute.
Definition gdalmultidim.cpp:10865
GDALRelationshipH GDALDatasetGetRelationship(GDALDatasetH hDS, const char *pszName)
Get a relationship from its name.
Definition gdaldataset.cpp:8772
GDALRATFieldType
Field type of raster attribute table.
Definition gdal.h:1648
@ GFT_Real
Definition gdal.h:1650
@ GFT_String
Definition gdal.h:1651
@ GFT_Integer
Definition gdal.h:1649
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition gdaldataset.cpp:6936
struct GDALMDArrayHS * GDALMDArrayH
Opaque type for C++ GDALMDArray.
Definition gdal.h:347
const char * GDALMDArrayGetUnit(GDALMDArrayH hArray)
Return the array unit.
Definition gdalmultidim.cpp:10666
int GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *, size_t)
Write an attribute from an array of double.
Definition gdalmultidim.cpp:11263
void * GDALRelationshipH
Opaque type used for the C bindings of the C++ GDALRelationship class.
Definition gdal.h:311
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition gdal.h:303
void GDALRATRemoveStatistics(GDALRasterAttributeTableH)
Remove Statistics from RAT.
Definition gdal_rat.cpp:2211
const char * GDALDimensionGetName(GDALDimensionH hDim)
Return dimension name.
Definition gdalmultidim.cpp:11292
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition gdaldataset.cpp:1608
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition gdal_misc.cpp:131
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition gdal_misc.cpp:1035
OGRLayerH GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName, CSLConstList papszOptions)
Open and return a vector layer.
Definition gdalmultidim.cpp:9451
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:9866
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition gdalcolortable.cpp:182
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition gdaldataset.cpp:3000
const char * GDALRelationshipGetRightTableName(GDALRelationshipH)
Get the name of the right (or related/destination) table in the relationship.
Definition gdalrelationship.cpp:166
char ** GDALDatasetGetRelationshipNames(GDALDatasetH, CSLConstList)
Returns a list of the names of all relationships stored in the dataset.
Definition gdaldataset.cpp:8729
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition gdal_misc.cpp:2261
int GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t)
Write an attribute from raw values expressed in GetDataType()
Definition gdalmultidim.cpp:11151
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition gdaldataset.cpp:4312
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:4081
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition gdaldataset.cpp:7268
const char * GDALDimensionGetFullName(GDALDimensionH hDim)
Return dimension full name.
Definition gdalmultidim.cpp:11306
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition gdal.h:306
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, CSLConstList papszOptions)
Dump the structure of a JPEG2000 file as a XML tree.
Definition gdaljp2structure.cpp:2362
double GDALAdjustValueToDataType(GDALDataType eDT, double dfValue, int *pbClamped, int *pbRounded)
Adjust a value to the output data type.
Definition gdal_misc.cpp:730
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition gdaldataset.cpp:4008
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition gdalrasterband.cpp:7152
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:9701
int GDALDatasetIsLayerPrivate(GDALDatasetH, int)
Returns true if the layer at the specified index is deemed a private or system table,...
Definition gdaldataset.cpp:4415
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition gdal_misc.cpp:329
GDALMDArrayH * GDALMDArrayGetCoordinateVariables(GDALMDArrayH hArray, size_t *pnCount)
Return coordinate variables.
Definition gdalmultidim.cpp:10773
const char * GDALAttributeGetName(GDALAttributeH hAttr)
Return the name of the attribute.
Definition gdalmultidim.cpp:10849
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition gdaldriver.cpp:1437
const char * GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT)
Return type name.
Definition gdalmultidim.cpp:8975
void GDALExtendedDataTypeRelease(GDALExtendedDataTypeH hEDT)
Release the GDAL in-memory object associated with a GDALExtendedDataTypeH.
Definition gdalmultidim.cpp:8962
GDALMDArrayH GDALMDArrayTranspose(GDALMDArrayH hArray, size_t nNewAxisCount, const int *panMapNewAxisToOldAxis)
Return a view of the array whose axis have been reordered.
Definition gdalmultidim.cpp:10522
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:11410
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:3232
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition gdal_misc.cpp:601
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition gdalallregister.cpp:60
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition gdal_rat.cpp:1373
CPLErr GDALDatasetRasterIOEx(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace, GDALRasterIOExtraArg *psExtraArg)
Read/write a region of image data from multiple bands.
Definition gdaldataset.cpp:2572
double GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:10361
void GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount)
Free the return of GDALMDArrayGetCoordinateVariables()
Definition gdalmultidim.cpp:10798
GDALMDArrayH GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions)
Return an array that is a mask for the current array.
Definition gdalmultidim.cpp:10576
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition gdalmajorobject.cpp:93
double * GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of doubles.
Definition gdalmultidim.cpp:11116
uint64_t GDALMDArrayGetNoDataValueAsUInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a UInt64.
Definition gdalmultidim.cpp:10139
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition gdaldrivermanager.cpp:362
CPLErr GDALBuildOverviewsEx(GDALDatasetH, const char *, int, const int *, int, const int *, GDALProgressFunc, void *, CSLConstList papszOptions)
Build raster overview(s)
Definition gdaldataset.cpp:1926
GDALExtendedDataTypeSubType
Enumeration giving the subtype of a GDALExtendedDataType.
Definition gdal.h:333
@ GEDTST_JSON
JSon.
Definition gdal.h:337
@ GEDTST_NONE
None.
Definition gdal.h:335
GDALEDTComponentH * GDALExtendedDataTypeGetComponents(GDALExtendedDataTypeH hEDT, size_t *pnCount)
Return the components of the data type (only valid when GetClass() == GEDTC_COMPOUND)
Definition gdalmultidim.cpp:9117
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:1435
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:293
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:11467
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition gdalrasterband.cpp:5889
int * GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of integers.
Definition gdalmultidim.cpp:11088
int GDALAttributeWriteStringArray(GDALAttributeH hAttr, CSLConstList)
Write an attribute from an array of strings.
Definition gdalmultidim.cpp:11238
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:10717
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition gdal_misc.cpp:1644
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:4722
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition gdalrasterband.cpp:2843
CSLConstList GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray)
Return structural information on the array.
Definition gdalmultidim.cpp:10486
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition gdal_misc.cpp:1294
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *)
Read a block of image data efficiently.
Definition gdalrasterband.cpp:573
const char * GDALMDArrayGetName(GDALMDArrayH hArray)
Return array name.
Definition gdalmultidim.cpp:9742
GDALExtendedDataTypeH GDALExtendedDataTypeCreateString(size_t nMaxStringLength)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition gdalmultidim.cpp:8890
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition gdalmajorobject.cpp:358
double GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:10384
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition gdalrasterband.cpp:2369
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, const int *, int, const int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition gdaldataset.cpp:1899
CPLErr GDALRegenerateOverviewsEx(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData, CSLConstList papszOptions)
Generate downsampled overviews.
Definition overview.cpp:4145
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:237
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition gdal_misc.cpp:1941
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition gdalrasterband.cpp:2411
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition overview.cpp:5418
GDALExtendedDataTypeClass GDALExtendedDataTypeGetClass(GDALExtendedDataTypeH hEDT)
Return type class.
Definition gdalmultidim.cpp:8990
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:9646
int GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:10258
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition gdalrasterband.cpp:6603
const char * GDALRelationshipGetName(GDALRelationshipH)
Get the name of the relationship.
Definition gdalrelationship.cpp:106
GDALAttributeH * GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this array.
Definition gdalmultidim.cpp:9998
void GDALRelationshipSetBackwardPathLabel(GDALRelationshipH, const char *)
Sets the label of the backward path for the relationship.
Definition gdalrelationship.cpp:643
OGRFieldDomainH GDALDatasetGetFieldDomain(GDALDatasetH hDS, const char *pszName)
Get a field domain from its name.
Definition gdaldataset.cpp:8458
const char * GDALRelationshipGetRelatedTableType(GDALRelationshipH)
Get the type string of the related table.
Definition gdalrelationship.cpp:669
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition gdaldataset.cpp:1332
GDALDimensionH * GDALMDArrayGetDimensions(GDALMDArrayH hArray, size_t *pnCount)
Return the dimensions of the array.
Definition gdalmultidim.cpp:9808
double GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:10315
GUInt64 * GDALAttributeGetDimensionsSize(GDALAttributeH hAttr, size_t *pnCount)
Return the dimension sizes of the attribute.
Definition gdalmultidim.cpp:10913
char ** GDALRelationshipGetLeftMappingTableFields(GDALRelationshipH)
Get the names of the mapping table fields which correspond to the participating fields from the left ...
Definition gdalrelationship.cpp:365
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition gdalrasterblock.cpp:238
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition gdaldataset.cpp:4283
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:896
GDALRATTableType GDALRATGetTableType(GDALRasterAttributeTableH hRAT)
Get Rat Table Type.
Definition gdal_rat.cpp:572
GDALAttributeH * GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this group.
Definition gdalmultidim.cpp:9561
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition gdalrasterband.cpp:1521
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition gdaldataset.cpp:4790
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition gdaldrivermanager.cpp:519
void GDALInitGCPs(int, GDAL_GCP *)
Initialize an array of GCPs.
Definition gdal_misc.cpp:1268
struct GDALExtendedDataTypeHS * GDALExtendedDataTypeH
Opaque type for C++ GDALExtendedDataType.
Definition gdal.h:341
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:10458
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition gdaldataset.cpp:1294
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition gdal_rat.cpp:1253
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition gdaldataset.cpp:1501
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:10180
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating? (might be complex)
Definition gdal_misc.cpp:444
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition gdaldataset.cpp:957
int GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom, GDALDataType eTypeTo)
Is conversion from eTypeFrom to eTypeTo potentially lossy.
Definition gdal_misc.cpp:531
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition gdalcolortable.cpp:353
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition gdaldataset.cpp:1758
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition gdal_rat.cpp:1441
GDALExtendedDataTypeH GDALMDArrayGetDataType(GDALMDArrayH hArray)
Return the data type.
Definition gdalmultidim.cpp:9849
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition gdal.h:287
GDALColorInterp
Definition gdal.h:226
@ GCI_YCbCr_YBand
Definition gdal.h:241
@ GCI_Undefined
Definition gdal.h:227
@ GCI_SaturationBand
Definition gdal.h:235
@ GCI_LightnessBand
Definition gdal.h:236
@ GCI_HueBand
Definition gdal.h:234
@ GCI_CyanBand
Definition gdal.h:237
@ GCI_MagentaBand
Definition gdal.h:238
@ GCI_GrayIndex
Definition gdal.h:228
@ GCI_BlueBand
Definition gdal.h:232
@ GCI_PaletteIndex
Definition gdal.h:229
@ GCI_RedBand
Definition gdal.h:230
@ GCI_AlphaBand
Definition gdal.h:233
@ GCI_Max
Definition gdal.h:244
@ GCI_YCbCr_CrBand
Definition gdal.h:243
@ GCI_GreenBand
Definition gdal.h:231
@ GCI_YellowBand
Definition gdal.h:239
@ GCI_BlackBand
Definition gdal.h:240
@ GCI_YCbCr_CbBand
Definition gdal.h:242
struct GDALGroupHS * GDALGroupH
Opaque type for C++ GDALGroup.
Definition gdal.h:345
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition gdaldefaultasync.cpp:220
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition gdalrasterband.cpp:2992
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition gdalrasterband.cpp:1101
GDALRelationshipType
Type of relationship.
Definition gdal.h:1784
@ GRT_AGGREGATION
Aggregation relationship.
Definition gdal.h:1790
@ GRT_ASSOCIATION
Association relationship.
Definition gdal.h:1788
@ GRT_COMPOSITE
Composite relationship.
Definition gdal.h:1786
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition gdalrasterband.cpp:2665
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition gdal_misc.cpp:2465
int GDALExtendedDataTypeEquals(GDALExtendedDataTypeH hFirstEDT, GDALExtendedDataTypeH hSecondEDT)
Return whether this data type is equal to another one.
Definition gdalmultidim.cpp:9072
void GDALApplyGeoTransform(double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition gdaltransformer.cpp:4128
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition gdal_rat.cpp:1091
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, CSLConstList)
Duplicate an existing layer.
Definition gdaldataset.cpp:4667
int GDALMDArrayAdviseRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count)
Advise driver of upcoming read requests.
Definition gdalmultidim.cpp:9933
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition gdal_rat.cpp:1291
GDALDataType GDALDataTypeUnionWithValue(GDALDataType eDT, double dValue, int bComplex)
Union a data type with the one found for a value.
Definition gdal_misc.cpp:170
GDALAsyncStatusType
status of the asynchronous stream
Definition gdal.h:110
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition gdal_misc.cpp:1839
GDALRelationshipType GDALRelationshipGetType(GDALRelationshipH)
Get the type of the relationship.
Definition gdalrelationship.cpp:492
void GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount)
Free the return of GDALGroupGetAttributes() or GDALMDArrayGetAttributes()
Definition gdalmultidim.cpp:9605
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition gdalrasterband.cpp:6658
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:3243
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition gdal_misc.cpp:2036
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:9671
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition gdaldataset.cpp:1373
GUInt64 * GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount)
Return the "natural" block size of the array along all dimensions.
Definition gdalmultidim.cpp:10421
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition gdal_misc.cpp:398
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition gdal_misc.cpp:503
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition gdalrasterband.cpp:2463
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition gdaldataset.cpp:1131
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition gdalrasterblock.cpp:119
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition gdal.h:296
int GDALAttributeWriteInt(GDALAttributeH hAttr, int)
Write an attribute from a integer value.
Definition gdalmultidim.cpp:11194
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition gdalrasterblock.cpp:372
double GDALAttributeReadAsDouble(GDALAttributeH hAttr)
Return the value of an attribute as a double.
Definition gdalmultidim.cpp:11054
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition gdaldataset.cpp:752
void GDALEDTComponentRelease(GDALEDTComponentH hComp)
Release the GDAL in-memory object associated with a GDALEDTComponentH.
Definition gdalmultidim.cpp:9180
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:251
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:2637
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition gdalrasterband.cpp:3162
GDALDatasetH GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName, CSLConstList papszRootGroupOptions, CSLConstList papszOptions)
Create a new multidimensional dataset with this driver.
Definition gdaldriver.cpp:359
char ** GDALRelationshipGetRightMappingTableFields(GDALRelationshipH)
Get the names of the mapping table fields which correspond to the participating fields from the right...
Definition gdalrelationship.cpp:397
GDALRWFlag
Definition gdal.h:131
@ GF_Write
Definition gdal.h:133
@ GF_Read
Definition gdal.h:132
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK)
Generate Geotransform from GCPs.
Definition gdal_misc.cpp:2522
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut)
Invert Geotransform.
Definition gdaltransformer.cpp:4154
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:3299
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:9729
int GDALMDArraySetSpatialRef(GDALMDArrayH, OGRSpatialReferenceH)
Assign a spatial reference system object to the the array.
Definition gdalmultidim.cpp:10681
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition gdaldrivermanager.cpp:622
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition gdaldataset.cpp:1179
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess)
Open a raster file as a GDALDataset.
Definition gdaldataset.cpp:3128
const char * GDALRelationshipGetLeftTableName(GDALRelationshipH)
Get the name of the left (or base/origin) table in the relationship.
Definition gdalrelationship.cpp:143
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition gdal_rat.cpp:1507
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition gdalrasterband.cpp:2323
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:1236
bool GDALDatasetUpdateRelationship(GDALDatasetH hDS, GDALRelationshipH hRelationship, char **ppszFailureReason)
Updates an existing relationship by replacing its definition.
Definition gdaldataset.cpp:8990
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:10742
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:3744
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition gdal.h:293
GDALDriverH GDALCreateDriver(void)
Create a GDALDriver.
Definition gdaldriver.cpp:85
char ** GDALGroupGetVectorLayerNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of layer names contained in this group.
Definition gdalmultidim.cpp:9423
double GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:10338
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition gdal.h:299
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:403
int64_t GDALGetRasterNoDataValueAsInt64(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition gdalrasterband.cpp:1771
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, CSLConstList, GDALProgressFunc, void *)
Create a copy of a dataset.
Definition gdaldriver.cpp:1236
const char * GDALGroupGetName(GDALGroupH hGroup)
Return the name of the group.
Definition gdalmultidim.cpp:9254
int GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:10277
void GDALRelationshipSetRightTableFields(GDALRelationshipH, CSLConstList)
Sets the names of the participating fields from the right table in the relationship.
Definition gdalrelationship.cpp:334
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition overview.cpp:4095
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void)
Construct empty table.
Definition gdal_rat.cpp:1181
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition gdalrasterblock.cpp:199
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition gdal_misc.cpp:2817
int GDALMDArrayAdviseReadEx(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition gdalmultidim.cpp:9951
CPLErr GDALSetRasterNoDataValueAsUInt64(GDALRasterBandH, uint64_t)
Set the no data value for this band.
Definition gdalrasterband.cpp:2053
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition gdaldataset.cpp:4848
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition gdaldataset.cpp:1219
CPLErr GDALSetSpatialRef(GDALDatasetH, OGRSpatialReferenceH)
Set the spatial reference system for this dataset.
Definition gdaldataset.cpp:1046
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition gdaldriver.cpp:104
size_t GDALEDTComponentGetOffset(GDALEDTComponentH hComp)
Return the offset (in bytes) of the component in the compound data type.
Definition gdalmultidim.cpp:9209
GDALTileOrganization
! Enumeration to describe the tile organization
Definition gdal.h:1867
@ GTO_BIT
Definition gdal.h:1874
@ GTO_BSQ
Definition gdal.h:1877
@ GTO_TIP
Definition gdal.h:1870
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:8936
GDALMDArrayH GDALMDArrayGetUnscaled(GDALMDArrayH hArray)
Return an array that is the unscaled version of the current one.
Definition gdalmultidim.cpp:10554
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition gdalrasterband.cpp:5964
double GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a double.
Definition gdalmultidim.cpp:10087
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition gdal_misc.cpp:2481
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition gdal_misc.cpp:668
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:3520
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:613
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition ogr_api.h:360
struct OGRFieldDomainHS * OGRFieldDomainH
Opaque type for a field domain definition (OGRFieldDomain)
Definition ogr_api.h:368
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition ogr_api.h:362
OGRwkbGeometryType
List of well known binary geometry types.
Definition ogr_core.h:407
int OGRErr
Type for a OGR error.
Definition ogr_core.h:378
Document node structure.
Definition cpl_minixml.h:70
Color tuple.
Definition gdal.h:1609
short c4
Definition gdal.h:1620
short c2
Definition gdal.h:1614
short c3
Definition gdal.h:1617
short c1
Definition gdal.h:1611
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition gdal.h:1569
double dfLAT_OFF
Definition gdal.h:1572
double dfLONG_SCALE
Definition gdal.h:1579
double dfHEIGHT_OFF
Definition gdal.h:1574
double dfMAX_LAT
Definition gdal.h:1590
double dfMIN_LAT
Definition gdal.h:1588
double dfLINE_OFF
Definition gdal.h:1570
double dfLONG_OFF
Definition gdal.h:1573
double dfSAMP_SCALE
Definition gdal.h:1577
double dfMAX_LONG
Definition gdal.h:1589
double dfERR_BIAS
Definition gdal.h:1594
double dfERR_RAND
Definition gdal.h:1595
double dfLINE_SCALE
Definition gdal.h:1576
double dfHEIGHT_SCALE
Definition gdal.h:1580
double dfMIN_LONG
Definition gdal.h:1587
double dfLAT_SCALE
Definition gdal.h:1578
double dfSAMP_OFF
Definition gdal.h:1571
Structure to pass extra arguments to RasterIO() method, must be initialized with INIT_RASTERIO_EXTRA_...
Definition gdal.h:175
void * pProgressData
Definition gdal.h:185
GDALRIOResampleAlg eResampleAlg
Definition gdal.h:180
double dfXOff
Definition gdal.h:195
int nVersion
Definition gdal.h:177
double dfYSize
Definition gdal.h:204
double dfYOff
Definition gdal.h:198
double dfXSize
Definition gdal.h:201
GDALProgressFunc pfnProgress
Definition gdal.h:183
int bFloatingPointWindowValidity
Definition gdal.h:192
Ground Control Point.
Definition gdal.h:959
double dfGCPLine
Line (y) location of GCP on raster.
Definition gdal.h:969
double dfGCPX
X position of GCP in georeferenced space.
Definition gdal.h:972
char * pszId
Unique identifier, often numeric.
Definition gdal.h:961
char * pszInfo
Informational message or "".
Definition gdal.h:964
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition gdal.h:967
double dfGCPY
Y position of GCP in georeferenced space.
Definition gdal.h:975
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition gdal.h:978