GDAL
gdal.h
Go to the documentation of this file.
1/******************************************************************************
2 * $Id: gdal.h 9048844951bd8b31f179f709126a1c3fb0cd4cc1 2021-09-05 14:11:10 +0200 Even Rouault $
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
39
40#ifndef DOXYGEN_SKIP
41#if defined(GDAL_COMPILATION)
42#define DO_NOT_DEFINE_GDAL_RELEASE_DATE_AND_GDAL_RELEASE_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
55/* -------------------------------------------------------------------- */
56/* Significant constants. */
57/* -------------------------------------------------------------------- */
58
60
62typedef enum { GDT_Unknown = 0, GDT_Byte = 1, GDT_UInt16 = 2, GDT_Int16 = 3, GDT_UInt32 = 4, GDT_Int32 = 5,
69 /* TODO?(#6879): GDT_UInt64 */
70 /* TODO?(#6879): GDT_Int64 */ GDT_Float32 = 6, GDT_Float64 = 7, GDT_CInt16 = 8, GDT_CInt32 = 9,
75 /* TODO?(#6879): GDT_CInt64 */ GDT_CFloat32 = 10, GDT_CFloat64 = 11,
78 GDT_TypeCount = 12 /* maximum type # + 1 */
80
81int CPL_DLL CPL_STDCALL GDALGetDataTypeSize( GDALDataType ); // Deprecated.
82int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits( GDALDataType eDataType );
83int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes( GDALDataType );
84int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex( GDALDataType );
85int CPL_DLL CPL_STDCALL GDALDataTypeIsInteger( GDALDataType );
86int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating( GDALDataType );
87int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned( GDALDataType );
88const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType );
89GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * );
91GDALDataType CPL_DLL CPL_STDCALL GDALDataTypeUnionWithValue( GDALDataType eDT, double dValue, int bComplex );
92GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType( int nBits, int bSigned, int bFloating, int bComplex );
93GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue( double dValue, int bComplex );
94double CPL_DLL GDALAdjustValueToDataType( GDALDataType eDT, double dfValue, int* pbClamped, int* pbRounded );
96int CPL_DLL CPL_STDCALL GDALDataTypeIsConversionLossy( GDALDataType eTypeFrom,
97 GDALDataType eTypeTo );
98
102typedef enum
103{
104 GARIO_PENDING = 0,
105 GARIO_UPDATE = 1,
106 GARIO_ERROR = 2,
107 GARIO_COMPLETE = 3,
108 GARIO_TypeCount = 4
110
111const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType );
112GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * );
113
115typedef enum { GA_ReadOnly = 0, GA_Update = 1
118} GDALAccess;
119
121typedef enum { GF_Read = 0, GF_Write = 1
124} GDALRWFlag;
125
126/* NOTE: values are selected to be consistent with GDALResampleAlg of alg/gdalwarper.h */
130typedef enum
141 /* NOTE: values 8 to 13 are reserved for max,min,med,Q1,Q3,sum */
143 GRIORA_RESERVED_START = 8,
144 GRIORA_RESERVED_END = 13,
151 GRIORA_LAST = GRIORA_RMS
154
155/* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */
187
188#ifndef DOXYGEN_SKIP
189#define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
190#endif
191
195#define INIT_RASTERIO_EXTRA_ARG(s) \
196 do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
197 (s).eResampleAlg = GRIORA_NearestNeighbour; \
198 (s).pfnProgress = CPL_NULLPTR; \
199 (s).pProgressData = CPL_NULLPTR; \
200 (s).bFloatingPointWindowValidity = FALSE; } while(0)
201
224
226GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
227
229typedef enum
230{ GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
236
238
239/* "well known" metadata items. */
240
243#define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
246# define GDALMD_AOP_AREA "Area"
249# define GDALMD_AOP_POINT "Point"
250
251/* -------------------------------------------------------------------- */
252/* GDAL Specific error codes. */
253/* */
254/* error codes 100 to 299 reserved for GDAL. */
255/* -------------------------------------------------------------------- */
256#ifndef DOXYGEN_SKIP
257#define CPLE_WrongFormat CPL_STATIC_CAST(CPLErrorNum, 200)
258#endif
259
260/* -------------------------------------------------------------------- */
261/* Define handle types related to various internal classes. */
262/* -------------------------------------------------------------------- */
263
265typedef void *GDALMajorObjectH;
266
268typedef void *GDALDatasetH;
269
271typedef void *GDALRasterBandH;
272
274typedef void *GDALDriverH;
275
277typedef void *GDALColorTableH;
278
281
283typedef void *GDALAsyncReaderH;
284
287
299
309
311typedef struct GDALExtendedDataTypeHS* GDALExtendedDataTypeH;
313typedef struct GDALEDTComponentHS* GDALEDTComponentH;
315typedef struct GDALGroupHS* GDALGroupH;
317typedef struct GDALMDArrayHS* GDALMDArrayH;
319typedef struct GDALAttributeHS* GDALAttributeH;
321typedef struct GDALDimensionHS* GDALDimensionH;
322
323/* ==================================================================== */
324/* Registration/driver related. */
325/* ==================================================================== */
326
328#define GDAL_DMD_LONGNAME "DMD_LONGNAME"
329
331#define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
332
334#define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
335
337#define GDAL_DMD_EXTENSION "DMD_EXTENSION"
338
343#define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
344
348#define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
349
351#define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
352
356#define GDAL_DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST "DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST"
357
361#define GDAL_DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST "DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST"
362
366#define GDAL_DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST "DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST"
367
371#define GDAL_DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST "DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST"
372
376#define GDAL_DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST "DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST"
377
381#define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
382
384#define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
385
389#define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
390
394#define GDAL_DMD_CREATIONFIELDDATASUBTYPES "DMD_CREATIONFIELDDATASUBTYPES"
395
404#define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
405
407#define GDAL_DCAP_OPEN "DCAP_OPEN"
408
417#define GDAL_DCAP_CREATE "DCAP_CREATE"
418
423#define GDAL_DCAP_CREATE_MULTIDIMENSIONAL "DCAP_CREATE_MULTIDIMENSIONAL"
424
433#define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
434
440#define GDAL_DCAP_CREATECOPY_MULTIDIMENSIONAL "DCAP_CREATECOPY_MULTIDIMENSIONAL"
441
445#define GDAL_DCAP_MULTIDIM_RASTER "DCAP_MULTIDIM_RASTER"
446
448#define GDAL_DCAP_SUBCREATECOPY "DCAP_SUBCREATECOPY"
449
451#define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
452
456#define GDAL_DCAP_RASTER "DCAP_RASTER"
457
461#define GDAL_DCAP_VECTOR "DCAP_VECTOR"
462
466#define GDAL_DCAP_GNM "DCAP_GNM"
467
471#define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
472
476#define GDAL_DCAP_UNIQUE_FIELDS "DCAP_UNIQUE_FIELDS"
477
481#define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
482
486#define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
487
493#define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
494
498#define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
499
503#define GDAL_DCAP_COORDINATE_EPOCH "DCAP_COORDINATE_EPOCH"
504
513#define GDAL_DCAP_MULTIPLE_VECTOR_LAYERS "DCAP_MULTIPLE_VECTOR_LAYERS"
514
518#define GDAL_DIM_TYPE_HORIZONTAL_X "HORIZONTAL_X"
519
523#define GDAL_DIM_TYPE_HORIZONTAL_Y "HORIZONTAL_Y"
524
528#define GDAL_DIM_TYPE_VERTICAL "VERTICAL"
529
533#define GDAL_DIM_TYPE_TEMPORAL "TEMPORAL"
534
538#define GDAL_DIM_TYPE_PARAMETRIC "PARAMETRIC"
539
540
541void CPL_DLL CPL_STDCALL GDALAllRegister( void );
542
543GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
544 const char *, int, int, int, GDALDataType,
546GDALDatasetH CPL_DLL CPL_STDCALL
548 int, CSLConstList, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
549
550GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
551 CSLConstList papszFileList );
552
553GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
554 const char *pszFilename, unsigned int nIdentifyFlags,
555 const char *const *papszAllowedDrivers, const char *const *papszFileList);
556
557GDALDatasetH CPL_DLL CPL_STDCALL
558GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
559GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
560
561/* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
562/* equals to GA_ReadOnly and GA_Update */
563
568#define GDAL_OF_READONLY 0x00
569
574#define GDAL_OF_UPDATE 0x01
575
580#define GDAL_OF_ALL 0x00
581
586#define GDAL_OF_RASTER 0x02
587
592#define GDAL_OF_VECTOR 0x04
593
598#define GDAL_OF_GNM 0x08
599
604#define GDAL_OF_MULTIDIM_RASTER 0x10
605
606#ifndef DOXYGEN_SKIP
607#define GDAL_OF_KIND_MASK 0x1E
608#endif
609
614#define GDAL_OF_SHARED 0x20
615
620#define GDAL_OF_VERBOSE_ERROR 0x40
621
628#define GDAL_OF_INTERNAL 0x80
629
639#define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
640
649#define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
650
659#define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
660
661#ifndef DOXYGEN_SKIP
662/* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
663 * and GDAL_OF_HASHSET_BLOCK_ACCESS */
664#define GDAL_OF_RESERVED_1 0x300
665
667#define GDAL_OF_BLOCK_ACCESS_MASK 0x300
668#endif
669
670GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
671 unsigned int nOpenFlags,
672 const char* const* papszAllowedDrivers,
673 const char* const* papszOpenOptions,
674 const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
675
676int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
677
678GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
679int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
680GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
681GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver( void );
682void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
683int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
684void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
685void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
686#ifndef DOXYGEN_SKIP
687void CPL_DLL GDALDestroy( void );
688#endif
689CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
690CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
691 const char * pszNewName,
692 const char * pszOldName );
693CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
694 const char * pszNewName,
695 const char * pszOldName);
696int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
697 CSLConstList papszCreationOptions);
698
699/* The following are deprecated */
700const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
701const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
702const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
703const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
704
705/* ==================================================================== */
706/* GDAL_GCP */
707/* ==================================================================== */
708
710typedef struct
711{
713 char *pszId;
714
716 char *pszInfo;
717
721 double dfGCPLine;
722
724 double dfGCPX;
725
727 double dfGCPY;
728
730 double dfGCPZ;
731} GDAL_GCP;
732
733void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
734void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
735GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
736
737int CPL_DLL CPL_STDCALL
738GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
739 double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
740int CPL_DLL CPL_STDCALL
741GDALInvGeoTransform( double *padfGeoTransformIn,
742 double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
743void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
744 double *, double * );
745void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
746 const double *padfGeoTransform2,
747 double *padfGeoTransformOut);
748
749/* ==================================================================== */
750/* major objects (dataset, and, driver, drivermanager). */
751/* ==================================================================== */
752
753char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
754char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
756 const char * );
757const char CPL_DLL * CPL_STDCALL
758GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
759CPLErr CPL_DLL CPL_STDCALL
760GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
761 const char * );
762const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
763void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
764
765/* ==================================================================== */
766/* GDALDataset class ... normally this represents one file. */
767/* ==================================================================== */
768
770#define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
771
772GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
773char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
774void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
775int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
776int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
777int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
778GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
779
780CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
781 CSLConstList papszOptions );
782
783GDALAsyncReaderH CPL_DLL CPL_STDCALL
784GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
785 int nXSize, int nYSize,
786 void *pBuf, int nBufXSize, int nBufYSize,
787 GDALDataType eBufType, int nBandCount, int* panBandMap,
788 int nPixelSpace, int nLineSpace, int nBandSpace,
790
791void CPL_DLL CPL_STDCALL
793
794CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
795 GDALDatasetH hDS, GDALRWFlag eRWFlag,
796 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
797 void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
798 int nBandCount, int *panBandCount,
799 int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
800
801CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
802 GDALDatasetH hDS, GDALRWFlag eRWFlag,
803 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
804 void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
805 int nBandCount, int *panBandCount,
806 GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
808
809CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
810 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
811 int nBXSize, int nBYSize, GDALDataType eBDataType,
812 int nBandCount, int *panBandCount, CSLConstList papszOptions );
813
814const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
816CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
818CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
819CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
820
821int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
822const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
824const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
825CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
826 const char * );
827CPLErr CPL_DLL GDALSetGCPs2( GDALDatasetH, int, const GDAL_GCP *,
829
830void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
831int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
832int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
833int CPL_DLL CPL_STDCALL GDALReleaseDataset( GDALDatasetH );
834
835CPLErr CPL_DLL CPL_STDCALL
836GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
837 int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
838void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
839int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
840void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
841
842CPLErr CPL_DLL CPL_STDCALL
843 GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
844
845CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
846 GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
847 GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
848
849CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
850 GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
851 const char * const * constpapszOptions,
852 GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
853
854CPLErr CPL_DLL
856 int nOverviewCount, GDALRasterBandH *pahOverviewBands,
857 const char *pszResampling,
858 GDALProgressFunc pfnProgress, void *pProgressData );
859
862OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
863int CPL_DLL GDALDatasetIsLayerPrivate( GDALDatasetH, int );
865OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
867 CSLConstList );
869 CSLConstList );
872 OGRLayerH* phBelongingLayer,
873 double* pdfProgressPct,
874 GDALProgressFunc pfnProgress,
875 void* pProgressData );
876int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
877OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
878 OGRGeometryH, const char * );
884OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
888
890 const char* pszName);
892 OGRFieldDomainH hFieldDomain,
893 char** ppszFailureReason);
894
895/* ==================================================================== */
896/* GDALRasterBand ... one band/channel in a dataset. */
897/* ==================================================================== */
898
899/* Note: the only user of SRCVAL() was frmts/vrt/pixelfunctions.cpp and we no */
900/* longer use it. */
901
906#define SRCVAL(papoSource, eSrcType, ii) \
907 (eSrcType == GDT_Byte ? \
908 CPL_REINTERPRET_CAST(const GByte*,papoSource)[ii] : \
909 (eSrcType == GDT_Float32 ? \
910 CPL_REINTERPRET_CAST(const float*,papoSource)[ii] : \
911 (eSrcType == GDT_Float64 ? \
912 CPL_REINTERPRET_CAST(const double*,papoSource)[ii] : \
913 (eSrcType == GDT_Int32 ? \
914 CPL_REINTERPRET_CAST(const GInt32*,papoSource)[ii] : \
915 (eSrcType == GDT_UInt16 ? \
916 CPL_REINTERPRET_CAST(const GUInt16*,papoSource)[ii] : \
917 (eSrcType == GDT_Int16 ? \
918 CPL_REINTERPRET_CAST(const GInt16*,papoSource)[ii] : \
919 (eSrcType == GDT_UInt32 ? \
920 CPL_REINTERPRET_CAST(const GUInt32*,papoSource)[ii] : \
921 (eSrcType == GDT_CInt16 ? \
922 CPL_REINTERPRET_CAST(const GInt16*,papoSource)[(ii) * 2] : \
923 (eSrcType == GDT_CInt32 ? \
924 CPL_REINTERPRET_CAST(const GInt32*,papoSource)[(ii) * 2] : \
925 (eSrcType == GDT_CFloat32 ? \
926 CPL_REINTERPRET_CAST(const float*,papoSource)[(ii) * 2] : \
927 (eSrcType == GDT_CFloat64 ? \
928 CPL_REINTERPRET_CAST(const double*,papoSource)[(ii) * 2] : 0)))))))))))
929
932typedef CPLErr
933(*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
934 int nBufXSize, int nBufYSize,
935 GDALDataType eSrcType, GDALDataType eBufType,
936 int nPixelSpace, int nLineSpace);
937
940typedef CPLErr
941(*GDALDerivedPixelFuncWithArgs)(void **papoSources, int nSources, void *pData,
942 int nBufXSize, int nBufYSize,
943 GDALDataType eSrcType, GDALDataType eBufType,
944 int nPixelSpace, int nLineSpace,
945 CSLConstList papszFunctionArgs);
946
948void CPL_DLL CPL_STDCALL
949GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
950
951CPLErr CPL_DLL CPL_STDCALL
952GDALGetActualBlockSize( GDALRasterBandH, int nXBlockOff, int nYBlockOff,
953 int *pnXValid, int *pnYValid );
954
955CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
956 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
957 int nBXSize, int nBYSize, GDALDataType eBDataType, CSLConstList papszOptions );
958
959CPLErr CPL_DLL CPL_STDCALL
961 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
962 void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
963 int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT;
964CPLErr CPL_DLL CPL_STDCALL
966 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
967 void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
968 GSpacing nPixelSpace, GSpacing nLineSpace,
970CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
971CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
972int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
973int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
974GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
975int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
976GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
977
978GDALColorInterp CPL_DLL CPL_STDCALL
980CPLErr CPL_DLL CPL_STDCALL
984int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
985int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
986GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
987double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
988CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
990char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
992double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
993double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
994CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
995 GDALRasterBandH, int bApproxOK, int bForce,
996 double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
997CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
998 GDALRasterBandH, int bApproxOK,
999 double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
1000 GDALProgressFunc pfnProgress, void *pProgressData );
1001CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
1002 GDALRasterBandH hBand,
1003 double dfMin, double dfMax, double dfMean, double dfStdDev );
1004
1006
1007const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
1008CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
1009double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
1010CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
1011double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
1012CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
1013void CPL_DLL CPL_STDCALL
1014GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
1015 double adfMinMax[2] );
1016CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
1017CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
1018 double dfMin, double dfMax,
1019 int nBuckets, int *panHistogram,
1020 int bIncludeOutOfRange, int bApproxOK,
1021 GDALProgressFunc pfnProgress,
1022 void * pProgressData )
1024 CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead")
1026 ;
1027CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
1028 double dfMin, double dfMax,
1029 int nBuckets, GUIntBig *panHistogram,
1030 int bIncludeOutOfRange, int bApproxOK,
1031 GDALProgressFunc pfnProgress,
1032 void * pProgressData );
1033CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
1034 double *pdfMin, double *pdfMax,
1035 int *pnBuckets, int **ppanHistogram,
1036 int bForce,
1037 GDALProgressFunc pfnProgress,
1038 void * pProgressData )
1040 CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead")
1042 ;
1043CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
1044 double *pdfMin, double *pdfMax,
1045 int *pnBuckets, GUIntBig **ppanHistogram,
1046 int bForce,
1047 GDALProgressFunc pfnProgress,
1048 void * pProgressData );
1049CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
1050 double dfMin, double dfMax,
1051 int nBuckets, int *panHistogram )
1053 CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
1055 ;
1056CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
1057 double dfMin, double dfMax,
1058 int nBuckets, GUIntBig *panHistogram );
1059int CPL_DLL CPL_STDCALL
1061GDALRasterBandH CPL_DLL CPL_STDCALL
1063GDALRasterBandH CPL_DLL CPL_STDCALL
1065CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
1066 double dfRealValue, double dfImaginaryValue );
1067CPLErr CPL_DLL CPL_STDCALL
1068GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
1069 double *pdfMean, double *pdfStdDev,
1070 GDALProgressFunc pfnProgress,
1071 void *pProgressData );
1073 int nOverviewCount,
1074 GDALRasterBandH *pahOverviews,
1075 GDALProgressFunc pfnProgress,
1076 void *pProgressData );
1077
1079 GDALRasterBandH hBand );
1080CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
1082CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
1083 GDALDerivedPixelFunc pfnPixelFunc );
1084CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFuncWithArgs( const char *pszName,
1085 GDALDerivedPixelFuncWithArgs pfnPixelFunc,
1086 const char *pszMetadata);
1087
1088GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
1089int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
1090CPLErr CPL_DLL CPL_STDCALL
1091 GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
1092
1094#define GMF_ALL_VALID 0x01
1097#define GMF_PER_DATASET 0x02
1100#define GMF_ALPHA 0x04
1103#define GMF_NODATA 0x08
1104
1108#define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
1109
1114#define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
1115
1121#define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
1122
1123int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus( GDALRasterBandH hBand,
1124 int nXOff, int nYOff,
1125 int nXSize, int nYSize,
1126 int nMaskFlagStop,
1127 double* pdfDataPct );
1128
1129/* ==================================================================== */
1130/* GDALAsyncReader */
1131/* ==================================================================== */
1132
1133GDALAsyncStatusType CPL_DLL CPL_STDCALL
1134GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
1135 int* pnXBufOff, int* pnYBufOff,
1136 int* pnXBufSize, int* pnYBufSize );
1137int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
1138 double dfTimeout);
1139void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
1140
1141/* -------------------------------------------------------------------- */
1142/* Helper functions. */
1143/* -------------------------------------------------------------------- */
1144int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
1145 int nOptions );
1146void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
1147 int nWordSkip );
1148void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount,
1149 int nWordSkip );
1150
1151void CPL_DLL CPL_STDCALL
1152 GDALCopyWords( const void * CPL_RESTRICT pSrcData,
1153 GDALDataType eSrcType, int nSrcPixelOffset,
1154 void * CPL_RESTRICT pDstData,
1155 GDALDataType eDstType, int nDstPixelOffset,
1156 int nWordCount );
1157
1158void CPL_DLL CPL_STDCALL
1159 GDALCopyWords64( const void * CPL_RESTRICT pSrcData,
1160 GDALDataType eSrcType, int nSrcPixelOffset,
1161 void * CPL_RESTRICT pDstData,
1162 GDALDataType eDstType, int nDstPixelOffset,
1163 GPtrDiff_t nWordCount );
1164
1165void CPL_DLL
1166GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
1167 GByte *pabyDstData, int nDstOffset, int nDstStep,
1168 int nBitCount, int nStepCount );
1169
1170int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
1171int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
1172 double * );
1173int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
1174 double * );
1175int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
1176 int *, GDAL_GCP ** );
1177int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
1178 int *, GDAL_GCP ** );
1179int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
1180 int *, GDAL_GCP ** );
1181int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *,
1182 char **, int *, GDAL_GCP ** );
1183
1184const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
1185double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
1186double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
1187
1188/* Note to developers : please keep this section in sync with ogr_core.h */
1189
1190#ifndef GDAL_VERSION_INFO_DEFINED
1191#ifndef DOXYGEN_SKIP
1192#define GDAL_VERSION_INFO_DEFINED
1193#endif
1194const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
1195#endif
1196
1197#ifndef GDAL_CHECK_VERSION
1198
1199int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
1200 const char* pszCallingComponentName);
1201
1205#define GDAL_CHECK_VERSION(pszCallingComponentName) \
1206 GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
1207
1208#endif
1209
1211#ifdef GDAL_COMPILATION
1212#define GDALExtractRPCInfoV1 GDALExtractRPCInfo
1213#else
1214#define GDALRPCInfo GDALRPCInfoV2
1215#define GDALExtractRPCInfo GDALExtractRPCInfoV2
1216#endif
1217
1218/* Deprecated: use GDALRPCInfoV2 */
1219typedef struct
1220{
1221 double dfLINE_OFF;
1222 double dfSAMP_OFF;
1223 double dfLAT_OFF;
1224 double dfLONG_OFF;
1225 double dfHEIGHT_OFF;
1226
1227 double dfLINE_SCALE;
1228 double dfSAMP_SCALE;
1229 double dfLAT_SCALE;
1230 double dfLONG_SCALE;
1231 double dfHEIGHT_SCALE;
1232
1233 double adfLINE_NUM_COEFF[20];
1234 double adfLINE_DEN_COEFF[20];
1235 double adfSAMP_NUM_COEFF[20];
1236 double adfSAMP_DEN_COEFF[20];
1237
1238 double dfMIN_LONG;
1239 double dfMIN_LAT;
1240 double dfMAX_LONG;
1241 double dfMAX_LAT;
1242} GDALRPCInfoV1;
1244
1247typedef struct
1248{
1249 double dfLINE_OFF;
1250 double dfSAMP_OFF;
1251 double dfLAT_OFF;
1252 double dfLONG_OFF;
1254
1260
1265
1266 double dfMIN_LONG;
1267 double dfMIN_LAT;
1268 double dfMAX_LONG;
1269 double dfMAX_LAT;
1270
1271 /* Those fields should be at the end. And all above fields should be the same as in GDALRPCInfoV1 */
1272 double dfERR_BIAS;
1273 double dfERR_RAND;
1275
1277int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV1( CSLConstList, GDALRPCInfoV1 * );
1279int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV2( CSLConstList, GDALRPCInfoV2 * );
1280
1281/* ==================================================================== */
1282/* Color tables. */
1283/* ==================================================================== */
1284
1286typedef struct
1287{
1289 short c1;
1290
1292 short c2;
1293
1295 short c3;
1296
1298 short c4;
1300
1302void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
1305int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
1306const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
1307int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
1308void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
1309void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
1310 int nStartIndex, const GDALColorEntry *psStartColor,
1311 int nEndIndex, const GDALColorEntry *psEndColor );
1312
1313/* ==================================================================== */
1314/* Raster Attribute Table */
1315/* ==================================================================== */
1316
1323
1346
1354
1355GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1357
1358void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
1360
1361int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
1362
1363const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
1365GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
1367GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
1369
1370int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
1372int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
1373
1374const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
1375 GDALRasterAttributeTableH, int, int);
1376int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
1377 GDALRasterAttributeTableH, int, int);
1378double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
1379 GDALRasterAttributeTableH, int, int);
1380
1381void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
1382 const char * );
1383void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
1384 int );
1385void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
1386 double );
1387
1388int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
1389
1390CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1391 int iField, int iStartRow, int iLength, double *pdfData );
1392CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1393 int iField, int iStartRow, int iLength, int *pnData);
1394CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1395 int iField, int iStartRow, int iLength, CSLConstList papszStrList);
1396
1397void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
1398 int );
1400 const char *,
1404 double, double );
1405int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
1406 double *, double * );
1407CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType( GDALRasterAttributeTableH hRAT,
1408 const GDALRATTableType eInTableType );
1410CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
1413 GDALRasterAttributeTableH, int nEntryCount );
1414void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
1415 FILE * );
1416GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1418
1419void CPL_DLL* CPL_STDCALL
1421
1422int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double );
1423void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics( GDALRasterAttributeTableH );
1424
1425/* ==================================================================== */
1426/* GDAL Cache Management */
1427/* ==================================================================== */
1428
1429void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1430int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1431int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1432void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1433GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1434GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1435
1436int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1437
1438/* ==================================================================== */
1439/* GDAL virtual memory */
1440/* ==================================================================== */
1441
1442CPLVirtualMem CPL_DLL* GDALDatasetGetVirtualMem( GDALDatasetH hDS,
1443 GDALRWFlag eRWFlag,
1444 int nXOff, int nYOff,
1445 int nXSize, int nYSize,
1446 int nBufXSize, int nBufYSize,
1447 GDALDataType eBufType,
1448 int nBandCount, int* panBandMap,
1449 int nPixelSpace,
1450 GIntBig nLineSpace,
1451 GIntBig nBandSpace,
1452 size_t nCacheSize,
1453 size_t nPageSizeHint,
1454 int bSingleThreadUsage,
1455 CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1456
1457CPLVirtualMem CPL_DLL* GDALRasterBandGetVirtualMem( GDALRasterBandH hBand,
1458 GDALRWFlag eRWFlag,
1459 int nXOff, int nYOff,
1460 int nXSize, int nYSize,
1461 int nBufXSize, int nBufYSize,
1462 GDALDataType eBufType,
1463 int nPixelSpace,
1464 GIntBig nLineSpace,
1465 size_t nCacheSize,
1466 size_t nPageSizeHint,
1467 int bSingleThreadUsage,
1468 CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1469
1470CPLVirtualMem CPL_DLL* GDALGetVirtualMemAuto( GDALRasterBandH hBand,
1471 GDALRWFlag eRWFlag,
1472 int *pnPixelSpace,
1473 GIntBig *pnLineSpace,
1474 CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1475
1486
1487CPLVirtualMem CPL_DLL* GDALDatasetGetTiledVirtualMem( GDALDatasetH hDS,
1488 GDALRWFlag eRWFlag,
1489 int nXOff, int nYOff,
1490 int nXSize, int nYSize,
1491 int nTileXSize, int nTileYSize,
1492 GDALDataType eBufType,
1493 int nBandCount, int* panBandMap,
1494 GDALTileOrganization eTileOrganization,
1495 size_t nCacheSize,
1496 int bSingleThreadUsage,
1497 CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1498
1499CPLVirtualMem CPL_DLL* GDALRasterBandGetTiledVirtualMem( GDALRasterBandH hBand,
1500 GDALRWFlag eRWFlag,
1501 int nXOff, int nYOff,
1502 int nXSize, int nYSize,
1503 int nTileXSize, int nTileYSize,
1504 GDALDataType eBufType,
1505 size_t nCacheSize,
1506 int bSingleThreadUsage,
1507 CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1508
1509/* ==================================================================== */
1510/* VRTPansharpenedDataset class. */
1511/* ==================================================================== */
1512
1513GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML,
1514 GDALRasterBandH hPanchroBand,
1515 int nInputSpectralBands,
1516 GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT;
1517
1518/* =================================================================== */
1519/* Misc API */
1520/* ==================================================================== */
1521
1522CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1524
1525/* ==================================================================== */
1526/* Multidimensional API_api */
1527/* ==================================================================== */
1528
1530 const char * pszName,
1531 CSLConstList papszRootGroupOptions,
1532 CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1533
1538 const char* pszName, size_t nTotalSize,
1539 size_t nComponents, const GDALEDTComponentH* comps) CPL_WARN_UNUSED_RESULT;
1541const char CPL_DLL* GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT);
1547void CPL_DLL GDALExtendedDataTypeFreeComponents(GDALEDTComponentH* components, size_t nCount);
1549 GDALExtendedDataTypeH hTargetEDT);
1551 GDALExtendedDataTypeH hSecondEDT);
1553
1554GDALEDTComponentH CPL_DLL GDALEDTComponentCreate(const char* pszName, size_t nOffset, GDALExtendedDataTypeH hType) CPL_WARN_UNUSED_RESULT;
1555void CPL_DLL GDALEDTComponentRelease(GDALEDTComponentH hComp);
1556const char CPL_DLL* GDALEDTComponentGetName(GDALEDTComponentH hComp);
1557size_t CPL_DLL GDALEDTComponentGetOffset(GDALEDTComponentH hComp);
1559
1561void CPL_DLL GDALGroupRelease(GDALGroupH hGroup);
1562const char CPL_DLL *GDALGroupGetName(GDALGroupH hGroup);
1563const char CPL_DLL *GDALGroupGetFullName(GDALGroupH hGroup);
1564char CPL_DLL **GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1565GDALMDArrayH CPL_DLL GDALGroupOpenMDArray(GDALGroupH hGroup, const char* pszMDArrayName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1566GDALMDArrayH CPL_DLL GDALGroupOpenMDArrayFromFullname(GDALGroupH hGroup, const char* pszMDArrayName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1568 const char* pszName,
1569 const char* pszStartingPoint,
1571char CPL_DLL **GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1572GDALGroupH CPL_DLL GDALGroupOpenGroup(GDALGroupH hGroup, const char* pszSubGroupName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1573GDALGroupH CPL_DLL GDALGroupOpenGroupFromFullname(GDALGroupH hGroup, const char* pszMDArrayName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1575OGRLayerH CPL_DLL GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char* pszVectorLayerName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1576GDALDimensionH CPL_DLL *GDALGroupGetDimensions(GDALGroupH hGroup, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1577GDALAttributeH CPL_DLL GDALGroupGetAttribute(GDALGroupH hGroup, const char* pszName) CPL_WARN_UNUSED_RESULT;
1578GDALAttributeH CPL_DLL *GDALGroupGetAttributes(GDALGroupH hGroup, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1581 const char* pszSubGroupName,
1584 const char* pszName,
1585 const char* pszType,
1586 const char* pszDirection,
1587 GUInt64 nSize,
1590 const char* pszName,
1591 size_t nDimensions,
1592 GDALDimensionH* pahDimensions,
1596 const char* pszName,
1597 size_t nDimensions,
1598 const GUInt64* panDimensions,
1601
1602void CPL_DLL GDALMDArrayRelease(GDALMDArrayH hMDArray);
1603const char CPL_DLL* GDALMDArrayGetName(GDALMDArrayH hArray);
1604const char CPL_DLL* GDALMDArrayGetFullName(GDALMDArrayH hArray);
1606size_t CPL_DLL GDALMDArrayGetDimensionCount(GDALMDArrayH hArray);
1609int CPL_DLL GDALMDArrayRead(GDALMDArrayH hArray,
1610 const GUInt64* arrayStartIdx,
1611 const size_t* count,
1612 const GInt64* arrayStep,
1613 const GPtrDiff_t* bufferStride,
1614 GDALExtendedDataTypeH bufferDatatype,
1615 void* pDstBuffer,
1616 const void* pDstBufferAllocStart,
1617 size_t nDstBufferllocSize);
1618int CPL_DLL GDALMDArrayWrite(GDALMDArrayH hArray,
1619 const GUInt64* arrayStartIdx,
1620 const size_t* count,
1621 const GInt64* arrayStep,
1622 const GPtrDiff_t* bufferStride,
1623 GDALExtendedDataTypeH bufferDatatype,
1624 const void* pSrcBuffer,
1625 const void* psrcBufferAllocStart,
1626 size_t nSrcBufferllocSize);
1627int CPL_DLL GDALMDArrayAdviseRead(GDALMDArrayH hArray,
1628 const GUInt64* arrayStartIdx,
1629 const size_t* count);
1630int CPL_DLL GDALMDArrayAdviseReadEx(GDALMDArrayH hArray,
1631 const GUInt64* arrayStartIdx,
1632 const size_t* count,
1633 CSLConstList papszOptions);
1635GDALAttributeH CPL_DLL *GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1637 const char* pszName,
1638 size_t nDimensions,
1639 const GUInt64* panDimensions,
1642const void CPL_DLL *GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray);
1644 int* pbHasNoDataValue);
1645int CPL_DLL GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void*);
1647 double dfNoDataValue);
1648int CPL_DLL GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale);
1649int CPL_DLL GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale, GDALDataType eStorageType);
1650double CPL_DLL GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue);
1651double CPL_DLL GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType* peStorageType);
1652int CPL_DLL GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset);
1653int CPL_DLL GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset, GDALDataType eStorageType);
1654double CPL_DLL GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue);
1655double CPL_DLL GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType* peStorageType);
1656GUInt64 CPL_DLL *GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount);
1657int CPL_DLL GDALMDArraySetUnit(GDALMDArrayH hArray, const char*);
1658const char CPL_DLL *GDALMDArrayGetUnit(GDALMDArrayH hArray);
1661size_t CPL_DLL *GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray, size_t *pnCount,
1662 size_t nMaxChunkMemory);
1664GDALMDArrayH CPL_DLL GDALMDArrayGetView(GDALMDArrayH hArray, const char* pszViewExpr);
1666 size_t nNewAxisCount,
1667 const int *panMapNewAxisToOldAxis);
1669GDALMDArrayH CPL_DLL GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions);
1671 size_t iXDim, size_t iYDim);
1673 GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, int bForce,
1674 double *pdfMin, double *pdfMax,
1675 double *pdfMean, double *pdfStdDev,
1676 GUInt64* pnValidCount,
1677 GDALProgressFunc pfnProgress, void *pProgressData );
1679 int bApproxOK,
1680 double *pdfMin, double *pdfMax,
1681 double *pdfMean, double *pdfStdDev,
1682 GUInt64* pnValidCount,
1683 GDALProgressFunc, void *pProgressData );
1685 size_t nNewDimCount,
1686 const GDALDimensionH* pahNewDims,
1687 GDALRIOResampleAlg resampleAlg,
1688 OGRSpatialReferenceH hTargetSRS,
1689 CSLConstList papszOptions);
1691void CPL_DLL GDALReleaseArrays(GDALMDArrayH* arrays, size_t nCount);
1692int CPL_DLL GDALMDArrayCache( GDALMDArrayH hArray, CSLConstList papszOptions );
1693
1694void CPL_DLL GDALAttributeRelease(GDALAttributeH hAttr);
1695void CPL_DLL GDALReleaseAttributes(GDALAttributeH* attributes, size_t nCount);
1696const char CPL_DLL* GDALAttributeGetName(GDALAttributeH hAttr);
1697const char CPL_DLL* GDALAttributeGetFullName(GDALAttributeH hAttr);
1703void CPL_DLL GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte* raw, size_t nSize);
1704const char CPL_DLL* GDALAttributeReadAsString(GDALAttributeH hAttr);
1705int CPL_DLL GDALAttributeReadAsInt(GDALAttributeH hAttr);
1706double CPL_DLL GDALAttributeReadAsDouble(GDALAttributeH hAttr);
1708int CPL_DLL *GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t* pnCount) CPL_WARN_UNUSED_RESULT;
1709double CPL_DLL *GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t* pnCount) CPL_WARN_UNUSED_RESULT;
1710int CPL_DLL GDALAttributeWriteRaw(GDALAttributeH hAttr, const void*, size_t);
1711int CPL_DLL GDALAttributeWriteString(GDALAttributeH hAttr, const char*);
1713int CPL_DLL GDALAttributeWriteInt(GDALAttributeH hAttr, int);
1714int CPL_DLL GDALAttributeWriteDouble(GDALAttributeH hAttr, double);
1715int CPL_DLL GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double*, size_t);
1716
1717void CPL_DLL GDALDimensionRelease(GDALDimensionH hDim);
1718void CPL_DLL GDALReleaseDimensions(GDALDimensionH* dims, size_t nCount);
1719const char CPL_DLL *GDALDimensionGetName(GDALDimensionH hDim);
1720const char CPL_DLL *GDALDimensionGetFullName(GDALDimensionH hDim);
1721const char CPL_DLL *GDALDimensionGetType(GDALDimensionH hDim);
1722const char CPL_DLL *GDALDimensionGetDirection(GDALDimensionH hDim);
1726
1728
1729#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:285
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition cpl_port.h:935
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition cpl_port.h:247
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:331
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:329
GIntBig GInt64
Signed 64 bit integer type.
Definition cpl_port.h:263
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition cpl_port.h:1169
GUIntBig GUInt64
Unsigned 64 bit integer type.
Definition cpl_port.h:265
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition cpl_port.h:894
unsigned char GByte
Unsigned byte type.
Definition cpl_port.h:215
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition cpl_port.h:244
Virtual memory management.
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition gdal.h:286
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition gdalrasterband.cpp:2255
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition gdaldriver.cpp:1584
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all dataset raster data.
Definition rasterio.cpp:4652
GDALRATTableType
RAT table type (thematic or athematic)
Definition gdal.h:1350
@ GRTT_THEMATIC
Definition gdal.h:1351
@ GRTT_ATHEMATIC
Definition gdal.h:1352
const char * GDALEDTComponentGetName(GDALEDTComponentH hComp)
Return the name.
Definition gdalmultidim.cpp:8443
GDALAccess
Definition gdal.h:115
@ GA_ReadOnly
Definition gdal.h:116
@ GA_Update
Definition gdal.h:117
GDALDriverH GDALIdentifyDriver(const char *pszFilename, CSLConstList papszFileList)
Identify the driver that can open a raster file.
Definition gdaldriver.cpp:2124
const char * GDALGroupGetFullName(GDALGroupH hGroup)
Return the full name of the group.
Definition gdalmultidim.cpp:8518
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition gdalcolortable.cpp:245
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition gdalrasterband.cpp:2611
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition gdal_rat.cpp:505
struct GDALDimensionHS * GDALDimensionH
Opaque type for C++ GDALDimension.
Definition gdal.h:321
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition gdaldataset.cpp:4475
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:275
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition gdalrasterband.cpp:1645
int GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *)
Set the nodata value as a "raw" value.
Definition gdalmultidim.cpp:9387
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition gdal_misc.cpp:353
void GDALDatasetClearStatistics(GDALDatasetH hDS)
Clear statistics.
Definition gdaldataset.cpp:8432
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition gdal_misc.cpp:1015
int GDALGetCacheUsed(void)
Get cache memory used.
Definition gdalrasterblock.cpp:325
struct GDALAttributeHS * GDALAttributeH
Opaque type for C++ GDALAttribute.
Definition gdal.h:319
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition gdal_rat.cpp:379
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition gdalrasterblock.cpp:146
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:1669
GDALMDArrayH GDALRasterBandAsMDArray(GDALRasterBandH)
Return a view of this raster band as a 2D multidimensional GDALMDArray.
Definition gdalmultidim.cpp:10629
bool GDALDatasetAddFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Add a field domain to the dataset.
Definition gdaldataset.cpp:8530
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition gdalmajorobject.cpp:266
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition gdaldataset.cpp:1327
GDALAttributeH GDALGroupGetAttribute(GDALGroupH hGroup, const char *pszName)
Return an attribute by its name.
Definition gdalmultidim.cpp:8777
const char * GDALDimensionGetDirection(GDALDimensionH hDim)
Return dimension direction.
Definition gdalmultidim.cpp:10525
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:8751
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:1554
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int, int, double)
Set field value from double.
Definition gdal_rat.cpp:1897
GDALMDArrayH GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array.
Definition gdalmultidim.cpp:8556
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition gdalrasterband.cpp:6244
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:9785
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition gdaldataset.cpp:1137
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, const char *const *constpapszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy a whole raster band.
Definition rasterio.cpp:4979
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition gdal_misc.cpp:793
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int, int, const char *)
Set field value from string.
Definition gdal_rat.cpp:1759
GUInt64 GDALMDArrayGetTotalElementsCount(GDALMDArrayH hArray)
Return the total number of values in the array.
Definition gdalmultidim.cpp:9026
OGRSpatialReferenceH GDALGetSpatialRef(GDALDatasetH)
Fetch the spatial reference for this dataset.
Definition gdaldataset.cpp:945
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition rasterio.cpp:2151
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:8601
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition gdalrasterband.cpp:2213
void GDALAttributeRelease(GDALAttributeH hAttr)
Release the GDAL in-memory object associated with a GDALAttribute.
Definition gdalmultidim.cpp:10026
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition gdalrasterband.cpp:911
GDALMDArrayH GDALMDArrayGetView(GDALMDArrayH hArray, const char *pszViewExpr)
Return a view of the array using slicing or field access.
Definition gdalmultidim.cpp:9687
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition gdalmajorobject.cpp:219
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition gdaldriver.cpp:1662
GDALPaletteInterp
Definition gdal.h:230
@ GPI_CMYK
Definition gdal.h:233
@ GPI_HLS
Definition gdal.h:234
@ GPI_Gray
Definition gdal.h:231
@ GPI_RGB
Definition gdal.h:232
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:3428
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition gdalmajorobject.cpp:136
void GDALDimensionRelease(GDALDimensionH hDim)
Release the GDAL in-memory object associated with a GDALDimension.
Definition gdalmultidim.cpp:10470
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition gdaldataset.cpp:833
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition gdalrasterband.cpp:2352
size_t GDALAttributeGetDimensionCount(GDALAttributeH hAttr)
Return the number of dimensions.
Definition gdalmultidim.cpp:10085
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition gdalrasterband.cpp:3844
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition gdal_rat.cpp:1000
size_t GDALMDArrayGetDimensionCount(GDALMDArrayH hArray)
Return the number of dimensions.
Definition gdalmultidim.cpp:9040
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:6706
char ** GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of multidimensional array names contained in this group.
Definition gdalmultidim.cpp:8534
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition gdalrasterblock.cpp:355
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition gdaldataset.cpp:4906
GDALDataType
Definition gdal.h:62
@ GDT_UInt32
Definition gdal.h:67
@ GDT_CInt32
Definition gdal.h:74
@ GDT_Byte
Definition gdal.h:64
@ GDT_CFloat32
Definition gdal.h:76
@ GDT_CFloat64
Definition gdal.h:77
@ GDT_Float64
Definition gdal.h:72
@ GDT_UInt16
Definition gdal.h:65
@ GDT_Int16
Definition gdal.h:66
@ GDT_CInt16
Definition gdal.h:73
@ GDT_Int32
Definition gdal.h:68
@ GDT_Unknown
Definition gdal.h:63
@ GDT_Float32
Definition gdal.h:71
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition gdalrasterband.cpp:2454
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition gdaldataset.cpp:7521
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition gdal.h:268
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition gdalrasterband.cpp:2173
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition gdalcolortable.cpp:135
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition gdaldataset.cpp:2783
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition gdalrasterband.cpp:2743
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition gdal_rat.cpp:1358
int GDALAttributeReadAsInt(GDALAttributeH hAttr)
Return the value of an attribute as a integer.
Definition gdalmultidim.cpp:10226
GDALExtendedDataTypeH GDALExtendedDataTypeCreate(GDALDataType eType)
Return a new GDALExtendedDataType of class GEDTC_NUMERIC.
Definition gdalmultidim.cpp:8126
GDALRATFieldUsage
Field usage of raster attribute table.
Definition gdal.h:1325
@ GFU_Min
Definition gdal.h:1329
@ GFU_AlphaMin
Definition gdal.h:1339
@ GFU_GreenMin
Definition gdal.h:1337
@ GFU_Red
Definition gdal.h:1332
@ GFU_Alpha
Definition gdal.h:1335
@ GFU_MaxCount
Definition gdal.h:1344
@ GFU_MinMax
Definition gdal.h:1331
@ GFU_RedMin
Definition gdal.h:1336
@ GFU_GreenMax
Definition gdal.h:1341
@ GFU_Name
Definition gdal.h:1328
@ GFU_BlueMax
Definition gdal.h:1342
@ GFU_BlueMin
Definition gdal.h:1338
@ GFU_RedMax
Definition gdal.h:1340
@ GFU_Green
Definition gdal.h:1333
@ GFU_Blue
Definition gdal.h:1334
@ GFU_AlphaMax
Definition gdal.h:1343
@ GFU_PixelCount
Definition gdal.h:1327
@ GFU_Generic
Definition gdal.h:1326
@ GFU_Max
Definition gdal.h:1330
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition gdalrasterband.cpp:2560
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition gdalcolortable.cpp:317
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition gdaldataset.cpp:800
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition gdalrasterband.cpp:1495
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition gdalrasterband.cpp:5704
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition gdal_misc.cpp:2865
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset.
Definition gdal_rat.cpp:1930
OGRSpatialReferenceH GDALGetGCPSpatialRef(GDALDatasetH)
Get output spatial reference system for GCPs.
Definition gdaldataset.cpp:1663
const void * GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray)
Return the nodata value as a "raw" value.
Definition gdalmultidim.cpp:9336
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:9161
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition gdaldataset.cpp:3858
void GDALExtendedDataTypeFreeComponents(GDALEDTComponentH *components, size_t nCount)
Free the return of GDALExtendedDataTypeGetComponents().
Definition gdalmultidim.cpp:8393
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition gdaldataset.cpp:1741
GByte * GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize)
Return the raw value of an attribute.
Definition gdalmultidim.cpp:10149
size_t GDALExtendedDataTypeGetSize(GDALExtendedDataTypeH hEDT)
Return data type size in bytes.
Definition gdalmultidim.cpp:8271
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition gdalrasterband.cpp:844
struct GDALEDTComponentHS * GDALEDTComponentH
Opaque type for C++ GDALEDTComponent.
Definition gdal.h:313
int GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition gdal_misc.cpp:3445
GDALMDArrayH GDALGroupOpenMDArrayFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array from its fully qualified name.
Definition gdalmultidim.cpp:8579
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp)
Construct a new color table.
Definition gdalcolortable.cpp:69
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition gdalrasterband.cpp:6154
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:9297
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition overview.cpp:5540
void GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount)
Free the return of GDALGroupGetDimensions() or GDALMDArrayGetDimensions()
Definition gdalmultidim.cpp:9087
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition gdal_rat.cpp:333
GDALDatasetH GDALOpenShared(const char *, GDALAccess)
Open a raster file as a GDALDataset.
Definition gdaldataset.cpp:3732
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition gdaldriver.cpp:1637
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:2173
GDALExtendedDataTypeH GDALExtendedDataTypeCreateStringEx(size_t nMaxStringLength, GDALExtendedDataTypeSubType eSubType)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition gdalmultidim.cpp:8165
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition rasterio.cpp:2060
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition gdaldrivermanager.cpp:403
void GDALGroupRelease(GDALGroupH hGroup)
Release the GDAL in-memory object associated with a GDALGroupH.
Definition gdalmultidim.cpp:8487
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition gdal_misc.cpp:1247
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int, int, int)
Set field value from integer.
Definition gdal_rat.cpp:1828
const char * GDALMDArrayGetFullName(GDALMDArrayH hArray)
Return array full name.
Definition gdalmultidim.cpp:9012
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition gdalrasterband.cpp:1943
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, CSLConstList)
Set the category names for this band.
Definition gdalrasterband.cpp:1593
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:289
GUInt64 GDALDimensionGetSize(GDALDimensionH hDim)
Return the size, that is the number of values along the dimension.
Definition gdalmultidim.cpp:10539
int GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:9482
int GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions)
Cache the content of the array into an auxiliary filename.
Definition gdalmultidim.cpp:10011
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition gdal_misc.cpp:763
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition gdalrasterband.cpp:1854
const char * GDALDimensionGetType(GDALDimensionH hDim)
Return dimension type.
Definition gdalmultidim.cpp:10511
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition gdaldriver.cpp:1606
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition gdal_misc.cpp:393
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition gdal_misc.cpp:907
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition gdaldrivermanager.cpp:903
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:429
int GDALMDArraySetUnit(GDALMDArrayH hArray, const char *)
Set the variable unit.
Definition gdalmultidim.cpp:9827
int GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition gdaldriver.cpp:1703
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition gdaldataset.cpp:4439
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition gdaldriver.cpp:1422
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition gdal_rat.cpp:1160
CPLErr GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *, OGRSpatialReferenceH)
Assign GCPs.
Definition gdaldataset.cpp:1922
size_t GDALExtendedDataTypeGetMaxStringLength(GDALExtendedDataTypeH hEDT)
Return the maximum length of a string in bytes.
Definition gdalmultidim.cpp:8287
GDALMDArrayH GDALDimensionGetIndexingVariable(GDALDimensionH hDim)
Return the variable that is used to index the dimension (if there is one).
Definition gdalmultidim.cpp:10558
char ** GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of sub-groups contained in this group.
Definition gdalmultidim.cpp:8627
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition gdaldataset.cpp:7573
int GDALAttributeWriteDouble(GDALAttributeH hAttr, double)
Write an attribute from a double value.
Definition gdalmultidim.cpp:10408
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition gdaldataset.cpp:712
void * GDALRATSerializeJSON(GDALRasterAttributeTableH)
Serialize Raster Attribute Table in Json format.
Definition gdal_rat.cpp:2232
const char * GDALAttributeReadAsString(GDALAttributeH hAttr)
Return the value of an attribute as a string.
Definition gdalmultidim.cpp:10206
CSLConstList GDALGroupGetStructuralInfo(GDALGroupH hGroup)
Return structural information on the group.
Definition gdalmultidim.cpp:8835
GDALExtendedDataTypeClass
Enumeration giving the class of a GDALExtendedDataType.
Definition gdal.h:291
@ GEDTC_STRING
String value.
Definition gdal.h:295
@ GEDTC_COMPOUND
Compound data type.
Definition gdal.h:297
@ GEDTC_NUMERIC
Numeric value.
Definition gdal.h:293
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition gdalrasterband.cpp:1761
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition gdalmajorobject.cpp:415
GDALDataType GDALFindDataTypeForValue(double dValue, int bComplex)
Finds the smallest data type able to support the provided value.
Definition gdal_misc.cpp:284
GDALGroupH GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Open and return a sub-group.
Definition gdalmultidim.cpp:8649
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition gdaldataset.cpp:7246
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition gdaldataset.cpp:7466
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:941
GDALDatasetH GDALCreatePansharpenedVRT(const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands, GDALRasterBandH *pahInputSpectralBands)
Create a virtual pansharpened dataset.
Definition vrtpansharpened.cpp:93
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:6804
GDALGroupH GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Create a sub-group within a group.
Definition gdalmultidim.cpp:8869
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition gdal_misc.cpp:867
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition gdal_misc.cpp:828
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:174
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:3626
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, CSLConstList papszOptions)
Add a band to a dataset.
Definition gdaldataset.cpp:607
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition gdaldataset.cpp:3757
void GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw, size_t nSize)
Free the return of GDALAttributeAsRaw()
Definition gdalmultidim.cpp:10170
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition gdalrasterband.cpp:5752
GUInt64 GDALAttributeGetTotalElementsCount(GDALAttributeH hAttr)
Return the total number of values in the attribute.
Definition gdalmultidim.cpp:10071
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition gdalcolortable.cpp:280
GDALRIOResampleAlg
RasterIO() resampling method.
Definition gdal.h:131
@ GRIORA_Mode
Definition gdal.h:139
@ GRIORA_Lanczos
Definition gdal.h:136
@ GRIORA_Cubic
Definition gdal.h:134
@ GRIORA_CubicSpline
Definition gdal.h:135
@ GRIORA_Average
Definition gdal.h:137
@ GRIORA_RMS
RMS: Root Mean Square / Quadratic Mean.
Definition gdal.h:149
@ GRIORA_NearestNeighbour
Definition gdal.h:132
@ GRIORA_Gauss
Definition gdal.h:140
@ GRIORA_Bilinear
Definition gdal.h:133
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition gdalrasterband.cpp:2706
GDALExtendedDataTypeSubType GDALExtendedDataTypeGetSubType(GDALExtendedDataTypeH hEDT)
Return the subtype of a type.
Definition gdalmultidim.cpp:8345
GDALExtendedDataTypeH GDALEDTComponentGetType(GDALEDTComponentH hComp)
Return the data type of the component.
Definition gdalmultidim.cpp:8471
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition gdalrasterband.cpp:1541
GDALGroupH GDALGroupOpenGroupFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a sub-group from its fully qualified name.
Definition gdalmultidim.cpp:8720
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:2119
int GDALDataTypeIsInteger(GDALDataType)
Is data type integer?
Definition gdal_misc.cpp:448
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition gdal_rat.cpp:457
int GDALDimensionSetIndexingVariable(GDALDimensionH hDim, GDALMDArrayH hArray)
Set the variable that is used to index the dimension.
Definition gdalmultidim.cpp:10580
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition gdaldataset.cpp:4540
OGRSpatialReferenceH GDALMDArrayGetSpatialRef(GDALMDArrayH hArray)
Return the spatial reference system object associated with the array.
Definition gdalmultidim.cpp:9885
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition gdal_misc.cpp:2311
GDALEDTComponentH GDALEDTComponentCreate(const char *pszName, size_t nOffset, GDALExtendedDataTypeH hType)
Create a new GDALEDTComponent.
Definition gdalmultidim.cpp:8412
GDALAttributeH GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char *pszName)
Return an attribute by its name.
Definition gdalmultidim.cpp:9242
char ** GDALAttributeReadAsStringArray(GDALAttributeH hAttr)
Return the value of an attribute as an array of strings.
Definition gdalmultidim.cpp:10262
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition gdalrasterband.cpp:2863
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:2890
GDALExtendedDataTypeH GDALAttributeGetDataType(GDALAttributeH hAttr)
Return the data type.
Definition gdalmultidim.cpp:10127
int GDALLoadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition gdal_misc.cpp:1613
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition gdalrasterband.cpp:2780
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition gdaldefaultasync.cpp:268
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition gdalrasterband.cpp:1713
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:2654
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition gdaldataset.cpp:2023
int GDALExtendedDataTypeCanConvertTo(GDALExtendedDataTypeH hSourceEDT, GDALExtendedDataTypeH hTargetEDT)
Return whether this data type can be converted to the other one.
Definition gdalmultidim.cpp:8305
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int, int)
Fetch field value as a integer.
Definition gdal_rat.cpp:1594
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition gdal_misc.cpp:2335
GDALDataType GDALExtendedDataTypeGetNumericDataType(GDALExtendedDataTypeH hEDT)
Return numeric data type (only valid when GetClass() == GEDTC_NUMERIC)
Definition gdalmultidim.cpp:8257
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition gdaldrivermanager.cpp:580
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition gdaldriver.cpp:1547
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:3555
OGRErr GDALDatasetAbortSQL(GDALDatasetH)
Abort any SQL statement running in the data store.
Definition gdaldataset.cpp:4853
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition gdal_rat.cpp:1229
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition gdaldataset.cpp:3183
int GDALAttributeWriteString(GDALAttributeH hAttr, const char *)
Write an attribute from a string value.
Definition gdalmultidim.cpp:10365
int GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:9425
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition gdalrasterband.cpp:803
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:1086
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:4055
CPLErr GDALSetDefaultHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition gdalrasterband.cpp:5796
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:4700
const char * GDALAttributeGetFullName(GDALAttributeH hAttr)
Return the full name of the attribute.
Definition gdalmultidim.cpp:10057
GDALRATFieldType
Field type of raster attribute table.
Definition gdal.h:1318
@ GFT_Real
Definition gdal.h:1320
@ GFT_String
Definition gdal.h:1321
@ GFT_Integer
Definition gdal.h:1319
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition gdaldataset.cpp:7019
struct GDALMDArrayHS * GDALMDArrayH
Opaque type for C++ GDALMDArray.
Definition gdal.h:317
const char * GDALMDArrayGetUnit(GDALMDArrayH hArray)
Return the array unit.
Definition gdalmultidim.cpp:9852
int GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *, size_t)
Write an attribute from an array of double.
Definition gdalmultidim.cpp:10454
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition gdal.h:280
void GDALRATRemoveStatistics(GDALRasterAttributeTableH)
Remove Statistics from RAT.
Definition gdal_rat.cpp:2253
const char * GDALDimensionGetName(GDALDimensionH hDim)
Return dimension name.
Definition gdalmultidim.cpp:10483
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition gdaldataset.cpp:1708
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition gdal_misc.cpp:130
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition gdal_misc.cpp:986
OGRLayerH GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName, CSLConstList papszOptions)
Open and return a vector layer.
Definition gdalmultidim.cpp:8698
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:9121
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition gdalcolortable.cpp:184
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition gdaldataset.cpp:3106
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition gdal_misc.cpp:2189
int GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t)
Write an attribute from raw values expressed in GetDataType()
Definition gdalmultidim.cpp:10344
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition gdaldataset.cpp:4406
CPLErr GDALSetMetadata(GDALMajorObjectH, CSLConstList, const char *)
Set metadata.
Definition gdalmajorobject.cpp:318
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:3718
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition gdaldataset.cpp:7348
const char * GDALDimensionGetFullName(GDALDimensionH hDim)
Return dimension full name.
Definition gdalmultidim.cpp:10497
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition gdal.h:283
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, CSLConstList papszOptions)
Dump the structure of a JPEG2000 file as a XML tree.
Definition gdaljp2structure.cpp:1996
double GDALAdjustValueToDataType(GDALDataType eDT, double dfValue, int *pbClamped, int *pbRounded)
Adjust a value to the output data type.
Definition gdal_misc.cpp:688
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition gdaldataset.cpp:4107
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition gdalrasterband.cpp:6333
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:8954
int GDALDatasetIsLayerPrivate(GDALDatasetH, int)
Returns true if the layer at the specified index is deemed a private or system table,...
Definition gdaldataset.cpp:4509
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition gdal_misc.cpp:308
GDALMDArrayH * GDALMDArrayGetCoordinateVariables(GDALMDArrayH hArray, size_t *pnCount)
Return coordinate variables.
Definition gdalmultidim.cpp:9966
const char * GDALAttributeGetName(GDALAttributeH hAttr)
Return the name of the attribute.
Definition gdalmultidim.cpp:10041
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition gdaldriver.cpp:1295
const char * GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT)
Return type name.
Definition gdalmultidim.cpp:8229
void GDALExtendedDataTypeRelease(GDALExtendedDataTypeH hEDT)
Release the GDAL in-memory object associated with a GDALExtendedDataTypeH.
Definition gdalmultidim.cpp:8216
GDALMDArrayH GDALMDArrayTranspose(GDALMDArrayH hArray, size_t nNewAxisCount, const int *panMapNewAxisToOldAxis)
Return a view of the array whose axis have been reordered.
Definition gdalmultidim.cpp:9707
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int, int)
Fetch field value as a double.
Definition gdal_rat.cpp:1653
GDALGroupH GDALDatasetGetRootGroup(GDALDatasetH hDS)
Return the root GDALGroup of this dataset.
Definition gdalmultidim.cpp:10600
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:3338
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition gdal_misc.cpp:568
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition gdalallregister.cpp:62
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition gdal_rat.cpp:1399
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:2683
double GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:9547
void GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount)
Free the return of GDALMDArrayGetCoordinateVariables()
Definition gdalmultidim.cpp:9990
GDALMDArrayH GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions)
Return an array that is a mask for the current array.
Definition gdalmultidim.cpp:9762
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition gdalmajorobject.cpp:95
double * GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of doubles.
Definition gdalmultidim.cpp:10309
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition gdaldrivermanager.cpp:365
GDALExtendedDataTypeSubType
Enumeration giving the subtype of a GDALExtendedDataType.
Definition gdal.h:303
@ GEDTST_JSON
JSon.
Definition gdal.h:307
@ GEDTST_NONE
None.
Definition gdal.h:305
GDALEDTComponentH * GDALExtendedDataTypeGetComponents(GDALExtendedDataTypeH hEDT, size_t *pnCount)
Return the components of the data type (only valid when GetClass() == GEDTC_COMPOUND)
Definition gdalmultidim.cpp:8368
void GDALDestroyColorTable(GDALColorTableH)
Destroys a color table.
Definition gdalcolortable.cpp:96
int GDALLoadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition gdal_misc.cpp:1360
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:279
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:10659
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition gdalrasterband.cpp:5380
int * GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of integers.
Definition gdalmultidim.cpp:10280
int GDALAttributeWriteStringArray(GDALAttributeH hAttr, CSLConstList)
Write an attribute from an array of strings.
Definition gdalmultidim.cpp:10430
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:9904
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition gdal_misc.cpp:1568
CPLErr GDALRATSetTableType(GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType)
Set RAT Table Type.
Definition gdal_rat.cpp:592
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition gdaldataset.cpp:4809
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition gdalrasterband.cpp:2504
CSLConstList GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray)
Return structural information on the array.
Definition gdalmultidim.cpp:9671
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition gdal_misc.cpp:1220
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *)
Read a block of image data efficiently.
Definition gdalrasterband.cpp:572
const char * GDALMDArrayGetName(GDALMDArrayH hArray)
Return array name.
Definition gdalmultidim.cpp:8998
GDALExtendedDataTypeH GDALExtendedDataTypeCreateString(size_t nMaxStringLength)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition gdalmultidim.cpp:8145
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition gdalmajorobject.cpp:361
double GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:9570
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition gdalrasterband.cpp:2034
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:236
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition gdal_misc.cpp:1867
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition gdalrasterband.cpp:2076
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition overview.cpp:5405
GDALExtendedDataTypeClass GDALExtendedDataTypeGetClass(GDALExtendedDataTypeH hEDT)
Return type class.
Definition gdalmultidim.cpp:8243
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:8892
int GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:9444
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition gdalrasterband.cpp:5840
GDALAttributeH * GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this array.
Definition gdalmultidim.cpp:9271
OGRFieldDomainH GDALDatasetGetFieldDomain(GDALDatasetH hDS, const char *pszName)
Get a field domain from its name.
Definition gdaldataset.cpp:8468
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition gdaldataset.cpp:1397
GDALDimensionH * GDALMDArrayGetDimensions(GDALMDArrayH hArray, size_t *pnCount)
Return the dimensions of the array.
Definition gdalmultidim.cpp:9063
double GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:9501
GUInt64 * GDALAttributeGetDimensionsSize(GDALAttributeH hAttr, size_t *pnCount)
Return the dimension sizes of the attribute.
Definition gdalmultidim.cpp:10104
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition gdalrasterblock.cpp:239
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition gdaldataset.cpp:4377
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:959
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:8806
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition gdalrasterband.cpp:1458
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition gdaldataset.cpp:4877
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition gdaldrivermanager.cpp:522
void GDALInitGCPs(int, GDAL_GCP *)
Initialize an array of GCPs.
Definition gdal_misc.cpp:1194
struct GDALExtendedDataTypeHS * GDALExtendedDataTypeH
Opaque type for C++ GDALExtendedDataType.
Definition gdal.h:311
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:9642
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition gdaldataset.cpp:1362
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition gdal_rat.cpp:1277
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition gdaldataset.cpp:1561
GDALRasterAttributeTableH GDALRATClone(const GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition gdal_rat.cpp:2213
int GDALMDArraySetNoDataValueAsDouble(GDALMDArrayH hArray, double dfNoDataValue)
Set the nodata value as a double.
Definition gdalmultidim.cpp:9406
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating?
Definition gdal_misc.cpp:421
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition gdaldataset.cpp:990
int GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom, GDALDataType eTypeTo)
Is conversion from eTypeFrom to eTypeTo potentially lossy.
Definition gdal_misc.cpp:505
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition gdalcolortable.cpp:356
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition gdaldataset.cpp:1900
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition gdal_rat.cpp:1468
GDALExtendedDataTypeH GDALMDArrayGetDataType(GDALMDArrayH hArray)
Return the data type.
Definition gdalmultidim.cpp:9104
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition gdal.h:265
GDALColorInterp
Definition gdal.h:204
@ GCI_YCbCr_YBand
Definition gdal.h:219
@ GCI_Undefined
Definition gdal.h:205
@ GCI_SaturationBand
Definition gdal.h:213
@ GCI_LightnessBand
Definition gdal.h:214
@ GCI_HueBand
Definition gdal.h:212
@ GCI_CyanBand
Definition gdal.h:215
@ GCI_MagentaBand
Definition gdal.h:216
@ GCI_GrayIndex
Definition gdal.h:206
@ GCI_BlueBand
Definition gdal.h:210
@ GCI_PaletteIndex
Definition gdal.h:207
@ GCI_RedBand
Definition gdal.h:208
@ GCI_AlphaBand
Definition gdal.h:211
@ GCI_Max
Definition gdal.h:222
@ GCI_YCbCr_CrBand
Definition gdal.h:221
@ GCI_GreenBand
Definition gdal.h:209
@ GCI_YellowBand
Definition gdal.h:217
@ GCI_BlackBand
Definition gdal.h:218
@ GCI_YCbCr_CbBand
Definition gdal.h:220
struct GDALGroupHS * GDALGroupH
Opaque type for C++ GDALGroup.
Definition gdal.h:315
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition gdaldefaultasync.cpp:233
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition gdalrasterband.cpp:2653
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition gdalrasterband.cpp:1054
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition gdalrasterband.cpp:2329
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition gdal_misc.cpp:2352
int GDALExtendedDataTypeEquals(GDALExtendedDataTypeH hFirstEDT, GDALExtendedDataTypeH hSecondEDT)
Return whether this data type is equal to another one.
Definition gdalmultidim.cpp:8325
void GDALApplyGeoTransform(double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition gdaltransformer.cpp:4082
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition gdal_rat.cpp:1108
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, CSLConstList)
Duplicate an existing layer.
Definition gdaldataset.cpp:4755
int GDALMDArrayAdviseRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count)
Advise driver of upcoming read requests.
Definition gdalmultidim.cpp:9203
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition gdal_rat.cpp:1315
GDALDataType GDALDataTypeUnionWithValue(GDALDataType eDT, double dValue, int bComplex)
Union a data type with the one found for a value.
Definition gdal_misc.cpp:175
GDALAsyncStatusType
status of the asynchronous stream
Definition gdal.h:103
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition gdal_misc.cpp:1764
void GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount)
Free the return of GDALGroupGetAttributes() or GDALMDArrayGetAttributes()
Definition gdalmultidim.cpp:8850
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition gdalrasterband.cpp:5895
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:3323
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition gdal_misc.cpp:1961
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:8921
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition gdaldataset.cpp:1439
GUInt64 * GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount)
Return the "natural" block size of the array along all dimensions.
Definition gdalmultidim.cpp:9606
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition gdal_misc.cpp:375
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition gdal_misc.cpp:478
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition gdalrasterband.cpp:2129
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition gdaldataset.cpp:1203
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition gdalrasterblock.cpp:120
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition gdal.h:274
int GDALAttributeWriteInt(GDALAttributeH hAttr, int)
Write an attribute from a integer value.
Definition gdalmultidim.cpp:10386
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:10246
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition gdaldataset.cpp:746
void GDALEDTComponentRelease(GDALEDTComponentH hComp)
Release the GDAL in-memory object associated with a GDALEDTComponentH.
Definition gdalmultidim.cpp:8428
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:239
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition gdal_rat.cpp:1439
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition gdaldataset.cpp:2749
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition gdalrasterband.cpp:2822
GDALDatasetH GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName, CSLConstList papszRootGroupOptions, CSLConstList papszOptions)
Create a new multidimensional dataset with this driver.
Definition gdaldriver.cpp:368
GDALRWFlag
Definition gdal.h:121
@ GF_Write
Definition gdal.h:123
@ GF_Read
Definition gdal.h:122
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK)
Generate Geotransform from GCPs.
Definition gdal_misc.cpp:2410
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut)
Invert Geotransform.
Definition gdaltransformer.cpp:4108
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:3383
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:162
void GDALMDArrayRelease(GDALMDArrayH hMDArray)
Release the GDAL in-memory object associated with a GDALMDArray.
Definition gdalmultidim.cpp:8985
int GDALMDArraySetSpatialRef(GDALMDArrayH, OGRSpatialReferenceH)
Assign a spatial reference system object to the the array.
Definition gdalmultidim.cpp:9868
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition gdaldrivermanager.cpp:624
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition gdaldataset.cpp:1253
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess)
Open a raster file as a GDALDataset.
Definition gdaldataset.cpp:3235
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition gdal_rat.cpp:1535
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition gdalrasterband.cpp:1985
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:933
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:9932
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:3362
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition gdal.h:271
GDALDriverH GDALCreateDriver(void)
Create a GDALDriver.
Definition gdaldriver.cpp:94
char ** GDALGroupGetVectorLayerNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of layer names contained in this group.
Definition gdalmultidim.cpp:8671
double GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition gdalmultidim.cpp:9524
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition gdal.h:277
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:401
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, CSLConstList, GDALProgressFunc, void *)
Create a copy of a dataset.
Definition gdaldriver.cpp:1093
const char * GDALGroupGetName(GDALGroupH hGroup)
Return the name of the group.
Definition gdalmultidim.cpp:8502
int GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset)
Set the scale value to apply to raw values.
Definition gdalmultidim.cpp:9463
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition overview.cpp:4079
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void)
Construct empty table.
Definition gdal_rat.cpp:1204
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition gdalrasterblock.cpp:200
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition gdal_misc.cpp:2711
int GDALMDArrayAdviseReadEx(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition gdalmultidim.cpp:9222
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition gdaldataset.cpp:4935
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition gdaldataset.cpp:1294
CPLErr GDALSetSpatialRef(GDALDatasetH, OGRSpatialReferenceH)
Set the spatial reference system for this dataset.
Definition gdaldataset.cpp:1079
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition gdaldriver.cpp:113
size_t GDALEDTComponentGetOffset(GDALEDTComponentH hComp)
Return the offset (in bytes) of the component in the compound data type.
Definition gdalmultidim.cpp:8457
GDALTileOrganization
!
Definition gdal.h:1478
@ GTO_BIT
Definition gdal.h:1482
@ GTO_BSQ
Definition gdal.h:1484
@ GTO_TIP
Definition gdal.h:1480
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition gdalcolortable.cpp:447
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:8190
GDALMDArrayH GDALMDArrayGetUnscaled(GDALMDArrayH hArray)
Return an array that is the unscaled version of the current one.
Definition gdalmultidim.cpp:9740
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition gdalrasterband.cpp:5454
double GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a double.
Definition gdalmultidim.cpp:9362
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition gdal_misc.cpp:2368
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition gdal_misc.cpp:629
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:3612
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes.
void * OGRGeometryH
Opaque type for a geometry.
Definition ogr_api.h:65
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition ogr_api.h:80
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition ogr_api.h:589
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition ogr_api.h:335
struct OGRFieldDomainHS * OGRFieldDomainH
Opaque type for a field domain definition (OGRFieldDomain)
Definition ogr_api.h:343
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition ogr_api.h:337
OGRwkbGeometryType
List of well known binary geometry types.
Definition ogr_core.h:369
int OGRErr
Type for a OGR error.
Definition ogr_core.h:341
Document node structure.
Definition cpl_minixml.h:70
Color tuple.
Definition gdal.h:1287
short c4
Definition gdal.h:1298
short c2
Definition gdal.h:1292
short c3
Definition gdal.h:1295
short c1
Definition gdal.h:1289
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition gdal.h:1248
double dfLAT_OFF
Definition gdal.h:1251
double dfLONG_SCALE
Definition gdal.h:1258
double adfLINE_NUM_COEFF[20]
Definition gdal.h:1261
double dfHEIGHT_OFF
Definition gdal.h:1253
double dfMAX_LAT
Definition gdal.h:1269
double dfMIN_LAT
Definition gdal.h:1267
double dfLINE_OFF
Definition gdal.h:1249
double dfLONG_OFF
Definition gdal.h:1252
double dfSAMP_SCALE
Definition gdal.h:1256
double dfMAX_LONG
Definition gdal.h:1268
double dfERR_BIAS
Definition gdal.h:1272
double dfERR_RAND
Definition gdal.h:1273
double dfLINE_SCALE
Definition gdal.h:1255
double adfSAMP_NUM_COEFF[20]
Definition gdal.h:1263
double dfHEIGHT_SCALE
Definition gdal.h:1259
double dfMIN_LONG
Definition gdal.h:1266
double dfLAT_SCALE
Definition gdal.h:1257
double adfSAMP_DEN_COEFF[20]
Definition gdal.h:1264
double dfSAMP_OFF
Definition gdal.h:1250
double adfLINE_DEN_COEFF[20]
Definition gdal.h:1262
Structure to pass extra arguments to RasterIO() method, must be initialized with INIT_RASTERIO_EXTRA_...
Definition gdal.h:161
void * pProgressData
Definition gdal.h:171
GDALRIOResampleAlg eResampleAlg
Definition gdal.h:166
double dfXOff
Definition gdal.h:179
int nVersion
Definition gdal.h:163
double dfYSize
Definition gdal.h:185
double dfYOff
Definition gdal.h:181
double dfXSize
Definition gdal.h:183
GDALProgressFunc pfnProgress
Definition gdal.h:169
int bFloatingPointWindowValidity
Definition gdal.h:177
Ground Control Point.
Definition gdal.h:711
double dfGCPLine
Line (y) location of GCP on raster.
Definition gdal.h:721
double dfGCPX
X position of GCP in georeferenced space.
Definition gdal.h:724
char * pszId
Unique identifier, often numeric.
Definition gdal.h:713
char * pszInfo
Informational message or "".
Definition gdal.h:716
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition gdal.h:719
double dfGCPY
Y position of GCP in georeferenced space.
Definition gdal.h:727
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition gdal.h:730